国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

HDLC控制協(xié)議的FPGA設(shè)計(jì)與實(shí)現(xiàn)

發(fā)布時(shí)間:2010-11-8 11:17    發(fā)布者:eetech
關(guān)鍵詞: FPGA , HDLC , 控制協(xié)議
1 引言

HDLC(High Level Data Link Control)協(xié)議是通信領(lǐng)域中應(yīng)用最廣泛的協(xié)議之一,它是面向比特的高級(jí)數(shù)據(jù)鏈路控制規(guī)程,具有差錯(cuò)檢測(cè)功能強(qiáng)大、高效和同步傳輸?shù)奶攸c(diǎn).目前市場(chǎng)上有很多專用的HDLC芯片,但這些芯片大多因追求功能的完備,而使芯片的控制變得復(fù)雜.實(shí)際上,對(duì)于某些特殊場(chǎng)合的特殊用途(如手持式設(shè)備),我們只需選擇HDLC協(xié)議中最符合系統(tǒng)要求的部分功能,設(shè)計(jì)一種功能相對(duì)簡(jiǎn)單、使用靈活的小型化HDLC協(xié)議控制器.另一方面,隨著深亞微米工藝技術(shù)的發(fā)展,FP-GA(Field Programmable Gate Array)芯片的規(guī)模越來(lái)越大,其單片邏輯門數(shù)已超過(guò)上百萬(wàn)門.同時(shí)它還具有設(shè)計(jì)開發(fā)周期短、設(shè)計(jì)制造成本低、可實(shí)時(shí)在線檢驗(yàn)等優(yōu)點(diǎn),因此被廣泛用于特殊芯片設(shè)計(jì)中.本設(shè)計(jì)中采用Altera公司的FLEX10K芯片EPF10K20RC240-3來(lái)實(shí)現(xiàn)HDLC協(xié)議控制器.

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

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

表1 HDLC幀格式示意圖

標(biāo)志字地址段控制段信息段CRC校驗(yàn)標(biāo)志字
011111108bit/16bit8bit/16bit可變長(zhǎng)度16bit01111110


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

(2) 信息段及“0”比特插入技術(shù) HDLC幀的信息長(zhǎng)度是可變的,可傳送標(biāo)志字以外的任意二進(jìn)制信息.為了確保標(biāo)志字是獨(dú)一無(wú)二的,發(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”刪掉.“0”比特插入和刪除技術(shù)也使得HDLC具有良好的傳輸透明性,任何比特代碼都可傳輸.





(3) 地址段及控制段地址字段為8位,也可以8的倍數(shù)進(jìn)行擴(kuò)展,用于標(biāo)識(shí)接收該幀的棧地址;控制字段為8位,發(fā)送方的控制字段用來(lái)表示命令和響應(yīng)的類別和功能. (4) CRC校驗(yàn) HDLC采用16位循環(huán)冗余校驗(yàn)碼(CRC-16)進(jìn)行差錯(cuò)控制,其生成多項(xiàng)式為 x16+x12+x5+1 HDLC差錯(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).

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

基于FPGA實(shí)現(xiàn)的HDLC協(xié)議控制器包括接收和發(fā)送兩個(gè)模塊,其總體結(jié)構(gòu)如圖1所示. 發(fā)送端先將待發(fā)送的并行數(shù)據(jù)進(jìn)行并/串轉(zhuǎn)換,然后由系統(tǒng)自動(dòng)完成CRC編碼、“0”比特插入和標(biāo)志字插入,再將處理后的數(shù)據(jù)按同步串行傳輸方式發(fā)送;接收端先接收同步串行數(shù)據(jù),然后由系統(tǒng)自動(dòng)完成標(biāo)志字的檢測(cè)、去“0”及CRC校驗(yàn),再將同步串行數(shù)據(jù)轉(zhuǎn)換成8位并行方式輸出.整個(gè)系統(tǒng)收發(fā)端使用同一個(gè)全局時(shí)鐘.下面分別對(duì)關(guān)鍵部分進(jìn)行介紹.





3.1 并/串及串/并轉(zhuǎn)換模塊

數(shù)據(jù)發(fā)送時(shí),為了平滑處理機(jī)和HDLC協(xié)議控制器之間的數(shù)據(jù)傳輸速率,發(fā)送端配有一個(gè)25×8的FIFO作為兩者的接口模塊,該模塊可將數(shù)據(jù)總線送入的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)輸出.同樣,接收端也配有一接收FIFO,可將接收到的數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換并送入數(shù)據(jù)總線.

3.2 CRC校驗(yàn)

HDLC協(xié)議使用循環(huán)冗余校驗(yàn),在發(fā)送端對(duì)信息進(jìn)行CRC編碼,其生成多項(xiàng)式為 g(x)=x16+x12+x5+1 CRC校驗(yàn)?zāi)K實(shí)際為根據(jù)生成多項(xiàng)式所設(shè)計(jì)的編碼電路.根據(jù)循環(huán)系統(tǒng)碼編碼原理,該編碼電路實(shí)際上是乘x16除g(x)的電路,其示意圖如圖2所示.電路的工作過(guò)程如下:

(1)16級(jí)移位寄存器的初始狀態(tài)全清零,門1開、門2關(guān),然后進(jìn)行移位.信息位移入編碼電路后,一方面經(jīng)或門輸出,一方面則自動(dòng)乘以x16后進(jìn)入除g(x)除法電路,從而完成乘x16除g(x)的功能;

(2)信息位全部移入編碼電路后除法完成,此時(shí)16位移位寄存器中的內(nèi)容就是除法的余式的系數(shù),即校驗(yàn)元;

(3)門1關(guān)、門2開,再經(jīng)過(guò)16次移位后,把移位寄存器的校驗(yàn)元全部輸出;

(4)門1開、門2關(guān),送入第二組信息組重復(fù)上述過(guò)程. CRC編碼器的核心VHDL源代碼如下:......
D0 <=din xor D(15);
for i in 0 to 3 loop
D(i+1)<=D(i)
end loop;
D(5)<=D(4) xor D(15) xor din;
for i in 5 to 10 loop;
D(i+1)<=D(i);
end loop;
D(12)<=D(11) xor D(15) xor din;
for i in 12 to 14 loop
D(i+1)<=D(i);
end loop;
......





發(fā)送端通過(guò)上述的CRC編碼電路產(chǎn)生16比特的校驗(yàn)位.接收方通過(guò)CRC譯碼檢驗(yàn)該幀信息是否傳送出錯(cuò).在滿足系統(tǒng)要求的情況下,CRC譯碼只檢錯(cuò),不糾錯(cuò).其功能示意圖如圖3所示. 輸入信息通過(guò)16比特的移位寄存器后,一路作為數(shù)據(jù)信息輸出,另一路流入CRC編碼器對(duì)信息進(jìn)行編碼,并產(chǎn)生16比特校驗(yàn)位.當(dāng)信息位全部移出后,16比特移位寄存器中的信息即為發(fā)送端發(fā)送的16位CRC校驗(yàn)位,CRC編碼器(16Bit)的內(nèi)容為接收到的信息根據(jù)生成多項(xiàng)式g(x)所生成的16比特校驗(yàn)碼.然后將兩個(gè)寄存器進(jìn)行比較,如果內(nèi)容相同,說(shuō)明信息傳送正確;否則報(bào)錯(cuò),丟棄該幀. 3.3 “0”比特插入及刪除模塊發(fā)送端信息經(jīng)CRC編碼后,要進(jìn)行插“0”操作,即遇到連續(xù)的5個(gè)“1”時(shí)在其后插入一個(gè)“0”;同樣,接收端同步建立后提取出的信息要去“0”,即遇到連續(xù)的5個(gè)“1”時(shí)要將其后的“0”去掉. 去“0”模塊的VHDL代碼如下:......

if din=“1” then
if cnt=5 then
cnt:=0;
end if;
cnt:=cnt+1;
else
cnt:=0;
end if;
if cnt=5 then
zero del<=′0′;
else
zero del<=′1′;
end if;
......





去“0”模塊的功能仿真波形如圖4所示,其中din是提取同步后的信息,clk是信息時(shí)鐘,dout是去“0”后的信息,clk out是去“0”操作后的信息時(shí)鐘.從圖4中可看出,去“0”前的信息為“1111101”,通過(guò)去“0”操作后,信息為“111111”,將5個(gè)“1”后的“0”去掉了.

4 結(jié)束語(yǔ)

本文提出了一種基于FPGA的HDLC協(xié)議控制器設(shè)計(jì)方案,并利用Altera公司的FLEX10K芯片EPF10K20RC240-3來(lái)實(shí)現(xiàn),占該芯片內(nèi)部單元的70%左右.實(shí)踐表明,該協(xié)議控制器操作簡(jiǎn)單、使用靈活,能夠很好地應(yīng)用于各種小型通信設(shè)備.

本系統(tǒng)的硬件實(shí)現(xiàn)采用VHDL設(shè)計(jì),通過(guò)建立VHDL行為模型和進(jìn)行VHDL行為仿真,可以及早發(fā)現(xiàn)設(shè)計(jì)中潛在的問(wèn)題,縮短了設(shè)計(jì)周期,提高了設(shè)計(jì)的可靠性和效率.
本文地址:http://m.qingdxww.cn/thread-37301-1-1.html     【打印本頁(yè)】

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

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點(diǎn)宏來(lái)節(jié)省時(shí)間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項(xiàng)目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進(jìn)行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 色欧美亚洲| 国产一级又色又爽又黄大片 | 久久香蕉精品成人 | 91华人在线视频 | 亚洲欧洲精品国产区 | 欧美精品做人一级爱免费 | 亚洲狠狠ady亚洲精品大秀 | 欧美大片天天免费看视频 | 天天做天天爱天天做天天吃中 | 最新日韩在线 | 综合图区亚洲网友自拍 | 高清国产激情视频在线观看 | 天美麻豆国产传媒免费视频 | 免费在线亚洲 | 国产三级视频在线 | 欧美日韩一区二区三区在线 | 亚洲欧美日韩国产综合 | h在线视频免费观看完整版 h在线视频 | 动漫免费观看网站 | 国产特黄特色a级在线视 | 国产产一区二区三区久久毛片国语 | 亚洲日本中文字幕永久 | 91app在线观看 | 四虎国产在线 | 国产网站免费观看 | 亚洲欧美视屏 | 亚洲欧美日韩精品中文乱码 | 麻豆精品久久久一区二区 | 久久精品国产国语对白 | 欧美+日本+国产+在线观看 | 欧美有码视频 | 国产二三区 | 日本欧美中文字幕人在线 | 国产精品自拍视频 | 成人看片黄a在线观看 | 在线看av的网址 | 婷婷尹人香蕉久久天堂 | 婷婷热 | 国产69精品久久久久999 | 国产aⅴ一区二区 | 激情影院在线视频永久观看 |