當前位置:首頁 > EDA > 電子設計自動化
[導讀]設計了一種基于FPGA的HDLC協(xié)議控制系統(tǒng)?該系統(tǒng)可有效利用FPGA片內(nèi)硬件資源,無需外圍電路,高度集成且操作簡單。重點對協(xié)議的CRC校驗及“0”比特插入模塊進行了介紹,給出了相應的VHDL代碼及功能仿真波形圖。

    摘要:設計了一種基于FPGA的HDLC協(xié)議控制系統(tǒng)?該系統(tǒng)可有效利用FPGA片內(nèi)硬件資源,無需外圍電路,高度集成且操作簡單。重點對協(xié)議的CRC校驗及“0”比特插入模塊進行了介紹,給出了相應的VHDL代碼及功能仿真波形圖。

    關(guān)鍵詞:高級數(shù)據(jù)鏈路控制; 現(xiàn)場可編程門陣列; 循環(huán)冗余碼校驗

1 引言

HDLC(High Level Data Link Control)協(xié)議是通信領域中應用最廣泛的協(xié)議之一,它是面向比特的高級數(shù)據(jù)鏈路控制規(guī)程,具有差錯檢測功能強大、高效和同步傳輸?shù)奶攸c。目前市場上有很多專用的HDLC芯片,但這些芯片大多因追求功能的完備,而使芯片的控制變得復雜。實際上,對于某些特殊場合的特殊用途(如手持式設備),我們只需選擇HDLC協(xié)議中最符合系統(tǒng)要求的部分功能,設計一種功能相對簡單、使用靈活的小型化HDLC協(xié)議控制器。

另一方面,隨著深亞微米工藝技術(shù)的發(fā)展,FP-GA(Field Programmable Gate Array)芯片的規(guī)模越來越大,其單片邏輯門數(shù)已超過上百萬門。同時它還具有設計開發(fā)周期短、設計制造成本低、可實時在線檢驗等優(yōu)點,因此被廣泛用于特殊芯片設計中。本設計中采用Altera公司的FLEX10K芯片EPF10K20RC240-3來實現(xiàn)HDLC協(xié)議控制器。

2?。龋模蹋脜f(xié)議簡介

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

表1 HDLC幀格式示意圖

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

(1) 標志字

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

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

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

    (3) 地址段及控制段

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

(4) CRC校驗

HDLC采用16位循環(huán)冗余校驗碼(CRC-16)進行差錯控制,其生成多項式為

x16+x12+x5+1  

HDLC差錯校驗指對整個幀的內(nèi)容作CRC循環(huán)冗余校驗,即對在糾錯范圍內(nèi)的錯碼進行糾正,對在校錯范圍內(nèi)的錯碼進行校驗,但不能糾正。標志位和按透明規(guī)則插入的所有“0”不在校驗的范圍內(nèi)。

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

基于FPGA實現(xiàn)的HDLC協(xié)議控制器包括接收和發(fā)送兩個模塊,其總體結(jié)構(gòu)如圖1所示。

發(fā)送端先將待發(fā)送的并行數(shù)據(jù)進行并/串轉(zhuǎn)換,然后由系統(tǒng)自動完成CRC編碼、“0”比特插入和標志字插入,再將處理后的數(shù)據(jù)按同步串行傳輸方式發(fā)送;接收端先接收同步串行數(shù)據(jù),然后由系統(tǒng)自動完成標志字的檢測、去“0”及CRC校驗,再將同步串行數(shù)據(jù)轉(zhuǎn)換成8位并行方式輸出。整個系統(tǒng)收發(fā)端使用同一個全局時鐘。下面分別對關(guān)鍵部分進行介紹。

圖2

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

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

3.2 CRC校驗

HDLC協(xié)議使用循環(huán)冗余校驗,在發(fā)送端對信息進行CRC編碼,其生成多項式為

g(x)=x16+x12+x5+1   

CRC校驗模塊實際為根據(jù)生成多項式所設計的編碼電路。根據(jù)循環(huán)系統(tǒng)碼編碼原理,該編碼電路實際上是乘x16除g(x)的電路,其示意圖如圖2所示。電路的工作過程如下:

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

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

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

(4)門1開、門2關(guān),送入第二組信息組重復上述過程。

CRC編碼器的核心VHDL源代碼如下:

......

D?0?<=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ā)送端通過上述的CRC編碼電路產(chǎn)生16比特的校驗位。接收方通過CRC譯碼檢驗該幀信息是否傳送出錯。在滿足系統(tǒng)要求的情況下,CRC譯碼只檢錯,不糾錯。其功能示意圖如圖3所示。

輸入信息通過16比特的移位寄存器后,一路作為數(shù)據(jù)信息輸出,另一路流入CRC編碼器對信息進行編碼,并產(chǎn)生16比特校驗位。當信息位全部移出后,16比特移位寄存器中的信息即為發(fā)送端發(fā)送的16位CRC校驗位,CRC編碼器(16Bit)的內(nèi)容為接收到的信息根據(jù)生成多項式g(x)所生成的16比特校驗碼。然后將兩個寄存器進行比較,如果內(nèi)容相同,說明信息傳送正確;否則報錯,丟棄該幀。

3.3 “0”比特插入及刪除模塊

發(fā)送端信息經(jīng)CRC編碼后,要進行插“0”操作,即遇到連續(xù)的5個“1”時在其后插入一個“0”;同樣,接收端同步建立后提取出的信息要去“0”,即遇到連續(xù)的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 結(jié)束語

本文提出了一種基于FPGA的HDLC協(xié)議控制器設計方案,并利用Altera公司的FLEX10K芯片EPF10K20RC240-3來實現(xiàn),占該芯片內(nèi)部單元的70%左右。實踐表明,該協(xié)議控制器操作簡單、使用靈活,能夠很好地應用于各種小型通信設備。本系統(tǒng)的硬件實現(xiàn)采用VHDL設計,通過建立VHDL行為模型和進行VHDL行為仿真,可以及早發(fā)現(xiàn)設計中潛在的問題,縮短了設計周期,提高了設計的可靠性和效率。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉