基于FPGA的多通道HDLC收發(fā)電路設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第1頁
基于FPGA的多通道HDLC收發(fā)電路設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第2頁
基于FPGA的多通道HDLC收發(fā)電路設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第3頁
基于FPGA的多通道HDLC收發(fā)電路設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第4頁
基于FPGA的多通道HDLC收發(fā)電路設(shè)計(jì)-設(shè)計(jì)應(yīng)用_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔-下載后可編輯基于FPGA的多通道HDLC收發(fā)電路設(shè)計(jì)-設(shè)計(jì)應(yīng)用HDLC(HighLevelDateLinkControl)協(xié)議是通信領(lǐng)域中應(yīng)用廣泛的協(xié)議之一,它是面向比特的數(shù)據(jù)鏈路控制規(guī)程,具有差錯(cuò)檢測(cè)功能強(qiáng)大、高效和同步傳輸?shù)奶攸c(diǎn)。目前市場(chǎng)上有很多專用的HDLC芯片,但這些芯片大多控制復(fù)雜,通道數(shù)目有限;另一方面,專用芯片的使用會(huì)有效增大PCB板面積,不利于設(shè)備的小型化,而且?guī)砀叱杀镜葐栴}。

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

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

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

(1)標(biāo)志字。

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

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

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

(3)地址段及控制段。

地址字段為8位,也可以8的倍數(shù)進(jìn)行擴(kuò)展,用于標(biāo)識(shí)接收該幀的棧地址;控制字段為8位,發(fā)送方的控制字段用來表示命令和響應(yīng)的類別和功能。

(4)幀校驗(yàn)。

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

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

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

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

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

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

3實(shí)驗(yàn)結(jié)果和分析

首先,在FPGA中實(shí)現(xiàn)一對(duì)HDLC數(shù)據(jù)收發(fā)電路,并在對(duì)收發(fā)電路進(jìn)行仿真和相關(guān)測(cè)試。通過在Matlab開發(fā)環(huán)境下,生成相關(guān)的數(shù)據(jù)文件作為HDLC的數(shù)據(jù)源,在ModelSimSE6.1的測(cè)試文件中直接調(diào)用,對(duì)比仿真結(jié)果和Matlab生成的數(shù)據(jù)源,可以得到滿意的結(jié)果。仿真的測(cè)試代碼覆蓋率為100%,仿真結(jié)果和數(shù)據(jù)源完全吻合,可以認(rèn)定電路的正確性及良好的可靠性。圖4,圖5分別為HDLC數(shù)據(jù)收發(fā)模塊在ModelSimSE6.1中的仿真圖。

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

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

4結(jié)束語

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

參考文獻(xiàn):

[1].PCBdatasheet/datasheet/PCB_1202240.html.[2].EP2C70F672C8

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論