基于FPGA的多通道HDLC收發(fā)電路設計

發(fā)布時(shí)間:2010-8-17 16:33    發(fā)布者:lavida
關(guān)鍵詞: FPGA , HDLC , 多通道 , 收發(fā)電路
HDLC(High Level Date Link Control)協(xié)議是通信領(lǐng)域中應用最廣泛的協(xié)議之一,它是面向比特的高級數據鏈路控制規程,具有差錯檢測功能強大、高效和同步傳輸的特點(diǎn)。目前市場(chǎng)上有很多專(zhuān)用的HDLC芯片,但這些芯片大多控制復雜,通道數目有限;另一方面,專(zhuān)用芯片的使用會(huì )有效增大PCB板面積,不利于設備的小型化,而且帶來(lái)高成本等問(wèn)題。  

FPGA能對任意數據寬度的信號進(jìn)行處理,內部的功能模塊可以并行處理。因此,采用FPGA技術(shù)設計HDLC協(xié)議控制器可以均衡整個(gè)系統的負荷,實(shí)現多通道的高性能HDLC協(xié)議控制器,保證通信的可靠性。同時(shí)它還具有設計開(kāi)發(fā)周期短、設計制造成本低、可實(shí)時(shí)在線(xiàn)檢驗等優(yōu)點(diǎn),因此被廣泛用于特殊芯片設計中。本設計中采用Altera公司的EP2C70F672C8芯片來(lái)實(shí)現HDLC協(xié)議控制器。  

1 HDLC協(xié)議簡(jiǎn)介  

在HDLC通信方式中,所有信息都是以幀的形式傳送,HDLC幀格式,如表1所示。  


  
(1)標志字。  

皿LC協(xié)議規定,所有信息傳輸必須以—個(gè)標志字開(kāi)始,且以同一個(gè)標志字結束,這個(gè)標志字是01111110。開(kāi)始標志到結束標志之間構成—個(gè)完整的信息單位,稱(chēng)為一幀。接收方可以通過(guò)搜索01111110來(lái)探知幀的開(kāi)始和結束,以此建立幀同步。在幀與幀之間的空載期,可連續發(fā)送標志字來(lái)做填充。  


  
(2)信息段及“0”比特插入技術(shù)。  

HDLC幀的信息長(cháng)度是可變的,可傳送標志字以外的任意二進(jìn)制信息。為了確保標志字是獨一無(wú)二的,發(fā)送方在發(fā)送信息時(shí)采用“0”比特插入技術(shù),即發(fā)送方在發(fā)送除標志字符外的所有信息時(shí)(包括校驗位),只要遇到連續的5個(gè)“1”,就自動(dòng)插入一個(gè)“0”;反之,接收方在接收數據時(shí),只要遇到連續的5個(gè)“1”,就自動(dòng)將其后的“0”刪掉!0”比特插入和刪除技術(shù)也使得’HDLC具有良好的傳輸透明性,任何比特代碼都可傳輸。  

(3)地址段及控制段。  

地址字段為8位,也可以8的倍數進(jìn)行擴展,用于標識接收該幀的棧地址;控制字段為8位,發(fā)送方的控制字段用來(lái)表示命令和響應的類(lèi)別和功能。  


  
(4)幀校驗。  

HDLC采用16位循環(huán)冗余校驗碼(CRC-16)進(jìn)行差錯控制,其生成多項式為x16+x12+x5+1,差錯校驗指對整個(gè)幀的內容作CRC循環(huán)冗余校驗,即對在糾錯范圍內的錯碼進(jìn)行糾正,對在校錯范圍內的錯碼進(jìn)行校驗,但不能糾正。標志位和按透明規則插入的所有“0”不在校驗的范圍內。  

2 HDLC協(xié)議的FPGA實(shí)現  

某遙控遙測平臺為確保滿(mǎn)足高速通訊、多通道收發(fā)、功能易于擴展配置的任務(wù)要求,中心控制器采用了以高性能的ARM7為CPU數據處理核心、采用FPGA設計串行通信控制器來(lái)收發(fā)多通道HDLC數據的一體化設計。  

FPGA按照HDLC協(xié)議規程,接收并存儲來(lái)自集成處理器等8個(gè)獨立通道的數字量。系統先將外部輸入的HDLC數據流由RS485電氣特性轉換為T(mén)TL電平,在此過(guò)程中用光耦進(jìn)行隔離,以避免與外部設備之間的相互干擾,并且RS485芯片與光耦器件的相關(guān)電源使用由電氣供給的獨立5 V和5 V地。 HDLC協(xié)議總體結構框圖,如圖2所示,每個(gè)控制模塊由時(shí)鐘控制、編碼/沖突檢測、發(fā)送和接收FIFO等功能模塊組成。在發(fā)送方向和接收方向,各有一個(gè)128 bit的FIFO,用于串行通道和CPU總線(xiàn)接口之間的數據緩沖。發(fā)送是接收的逆過(guò)程,這里以HDLC數據接收為例進(jìn)行說(shuō)明。  

FPGA串行通信控制器接收HDLC數據的原理為:首先,將接收到的數據幀的消息字段和附加的狀態(tài)字段移入,然后根據選定的尋址模式,對接收幀中的目的地址進(jìn)行識別,確認數據幀的發(fā)送地址是否為本設備(站地址=77H),是本設備數據幀則進(jìn)行接收數據并存儲在FIFO中,當接收數據幀結束時(shí),發(fā)出中斷信號給ARM系統,請求接收HDLC數據。  

目的地址不是本設備的數據幀將被拋棄,流程圖如圖3所示。  


  
3 實(shí)驗結果和分析  

首先,在FPGA中實(shí)現一對HDLC數據收發(fā)電路,并在對收發(fā)電路進(jìn)行仿真和相關(guān)測試。通過(guò)在Matlab開(kāi)發(fā)環(huán)境下,生成相關(guān)的數據文件作為HDLC的數據源,在ModelSim SE 6.1的測試文件中直接調用,最后對比仿真結果和Matlab生成的數據源,可以得到滿(mǎn)意的結果。仿真的測試代碼覆蓋率為100%,仿真結果和數據源完全吻合,可以認定電路的正確性及良好的可靠性。圖4,圖5分別為HDLC數據收發(fā)模塊在ModelSim SE 6.1中的仿真圖。  


  
為合理利用FPGA內部的邏輯資源,對設計進(jìn)行一系列布局布線(xiàn)約束:(1)由前期的論證可知,設計的矛盾主要集中在資源的消耗上,所有模塊的優(yōu)化目標定位為“Area”,除FIFO外,其他模塊規劃在一起;(2)將FIFO劃分為獨立的模塊;(3)全局時(shí)鐘綁定在Global資源上,并/串、串/并模塊中的衍生時(shí)鐘,根據和全局時(shí)鐘的關(guān)系,設定為多周期路徑。  

實(shí)際數據收發(fā)的穩定性和可靠性,也跟單板、溫度等有關(guān)系。仿真完成后,在單板上進(jìn)行飛線(xiàn),對特定的收發(fā)電路進(jìn)行電氣連接,進(jìn)行回環(huán)測試法,即發(fā)送端輸出的數據由其接收端接收回來(lái)進(jìn)行測試。在常溫下,經(jīng)過(guò)30小時(shí)的長(cháng)時(shí)間運行測試后,接收和發(fā)送的數據做了對比,沒(méi)有發(fā)現丟數據包和錯數據包的情況。由測試結果可知,該HDLC收發(fā)電路的具有穩定性和可靠性。高低溫實(shí)驗由于條件所限未進(jìn)行,單板的溫度特性可由器件的溫度特性大概推知,這里不做討論。  

4 結束語(yǔ)  

針對某遙控遙測平臺的要求,文中提出了一種基于FPGA的多通道HDLC收發(fā)電路設計方案,并利用Altera公司的P2C70F672C8芯片來(lái)實(shí)現。目前,實(shí)現該電路的單板已經(jīng)完成調試,并成功地應用于整機試驗。實(shí)踐表明,該電路實(shí)現簡(jiǎn)單、可靠性高、使用靈活等優(yōu)點(diǎn),具有一定的推廣價(jià)值。
本文地址:http://selenalain.com/thread-21985-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页