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

HDLC控制協議的FPGA設計與實現

發布時間:2010-11-8 11:17    發布者:eetech
關鍵詞: FPGA , HDLC , 控制協議
1 引言

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

2 HDLC協議簡介

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

表1 HDLC幀格式示意圖

標志字地址段控制段信息段CRC校驗標志字
011111108bit/16bit8bit/16bit可變長度16bit01111110


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

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





(3) 地址段及控制段地址字段為8位,也可以8的倍數進行擴展,用于標識接收該幀的棧地址;控制字段為8位,發送方的控制字段用來表示命令和響應的類別和功能. (4) CRC校驗 HDLC采用16位循環冗余校驗碼(CRC-16)進行差錯控制,其生成多項式為 x16+x12+x5+1 HDLC差錯校驗指對整個幀的內容作CRC循環冗余校驗,即對在糾錯范圍內的錯碼進行糾正,對在校錯范圍內的錯碼進行校驗,但不能糾正.標志位和按透明規則插入的所有“0”不在校驗的范圍內.

3 HDLC協議的FPGA實現

基于FPGA實現的HDLC協議控制器包括接收和發送兩個模塊,其總體結構如圖1所示. 發送端先將待發送的并行數據進行并/串轉換,然后由系統自動完成CRC編碼、“0”比特插入和標志字插入,再將處理后的數據按同步串行傳輸方式發送;接收端先接收同步串行數據,然后由系統自動完成標志字的檢測、去“0”及CRC校驗,再將同步串行數據轉換成8位并行方式輸出.整個系統收發端使用同一個全局時鐘.下面分別對關鍵部分進行介紹.





3.1 并/串及串/并轉換模塊

數據發送時,為了平滑處理機和HDLC協議控制器之間的數據傳輸速率,發送端配有一個25×8的FIFO作為兩者的接口模塊,該模塊可將數據總線送入的并行數據轉換成串行數據輸出.同樣,接收端也配有一接收FIFO,可將接收到的數據進行串并轉換并送入數據總線.

3.2 CRC校驗

HDLC協議使用循環冗余校驗,在發送端對信息進行CRC編碼,其生成多項式為 g(x)=x16+x12+x5+1 CRC校驗模塊實際為根據生成多項式所設計的編碼電路.根據循環系統碼編碼原理,該編碼電路實際上是乘x16除g(x)的電路,其示意圖如圖2所示.電路的工作過程如下:

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

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

(3)門1關、門2開,再經過16次移位后,把移位寄存器的校驗元全部輸出;

(4)門1開、門2關,送入第二組信息組重復上述過程. 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;
......





發送端通過上述的CRC編碼電路產生16比特的校驗位.接收方通過CRC譯碼檢驗該幀信息是否傳送出錯.在滿足系統要求的情況下,CRC譯碼只檢錯,不糾錯.其功能示意圖如圖3所示. 輸入信息通過16比特的移位寄存器后,一路作為數據信息輸出,另一路流入CRC編碼器對信息進行編碼,并產生16比特校驗位.當信息位全部移出后,16比特移位寄存器中的信息即為發送端發送的16位CRC校驗位,CRC編碼器(16Bit)的內容為接收到的信息根據生成多項式g(x)所生成的16比特校驗碼.然后將兩個寄存器進行比較,如果內容相同,說明信息傳送正確;否則報錯,丟棄該幀. 3.3 “0”比特插入及刪除模塊發送端信息經CRC編碼后,要進行插“0”操作,即遇到連續的5個“1”時在其后插入一個“0”;同樣,接收端同步建立后提取出的信息要去“0”,即遇到連續的5個“1”時要將其后的“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是信息時鐘,dout是去“0”后的信息,clk out是去“0”操作后的信息時鐘.從圖4中可看出,去“0”前的信息為“1111101”,通過去“0”操作后,信息為“111111”,將5個“1”后的“0”去掉了.

4 結束語

本文提出了一種基于FPGA的HDLC協議控制器設計方案,并利用Altera公司的FLEX10K芯片EPF10K20RC240-3來實現,占該芯片內部單元的70%左右.實踐表明,該協議控制器操作簡單、使用靈活,能夠很好地應用于各種小型通信設備.

本系統的硬件實現采用VHDL設計,通過建立VHDL行為模型和進行VHDL行為仿真,可以及早發現設計中潛在的問題,縮短了設計周期,提高了設計的可靠性和效率.
本文地址:http://m.qingdxww.cn/thread-37301-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 青草视频污| 亚洲性综合| 亚洲国产激情在线一区| xxx在线播放| 美女被男人撕衣舔胸| 亚洲色图影院| 亚洲精品国产精品国自产观看| 青娱乐在线观看| 亚洲成a v人片在线看片| 无人区在线观看免费国语完整版 | 亚洲欧洲在线视频| 日韩欧美在线观看一区| 天美传媒影视在线网址| 四虎亚洲国产成人久久精品| 欲海记 高h| 交换娇妻呻吟声不停中文字幕| 无套内射纹身女视频| 日韩一级片在线播放| 人人做天天爱夜夜爽中字| 亚洲国产精品久久久久| 亚洲男人天堂2022| 国产 亚洲 日韩 欧美 在线观看 | 五月婷婷丁香久久| 亚洲国产精品免费视频| 出租屋交换人妻 全文| 欧美日韩另类在线专区| 亚洲视频福利| 欧美污视频| 亚洲精品第三页| 夜夜爽影院| 国精产品一区一区三区M| 午夜视频在线网站| 午夜激情福利| 色一情一乱一伦| 天天色一色| GOGOGO高清在线播放韩国| 欧美精品专区第1页| 亚洲综合在线成人一区| 青草免费在线观看| 一级做a爰片久久毛片看看| 国产午夜精品久久久久婷婷|