當(dāng)前位置:首頁 > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]摘要:高級(jí)數(shù)據(jù)鏈路控制HDLC協(xié)議是一種面向比特的鏈路層協(xié)議,具有同步傳輸數(shù)據(jù)、冗余度低等特點(diǎn),是在通信領(lǐng)域中應(yīng)用最廣泛的鏈路層協(xié)議之一。提出實(shí)現(xiàn)HDLC通信協(xié)議的主要模塊——CRC校驗(yàn)?zāi)K及‘0&

摘要:高級(jí)數(shù)據(jù)鏈路控制HDLC協(xié)議是一種面向比特的鏈路層協(xié)議,具有同步傳輸數(shù)據(jù)、冗余度低等特點(diǎn),是在通信領(lǐng)域中應(yīng)用最廣泛的鏈路層協(xié)議之一。提出實(shí)現(xiàn)HDLC通信協(xié)議的主要模塊——CRC校驗(yàn)?zāi)K及‘0’比特插入模塊的FPGA實(shí)現(xiàn)方法。CRC校驗(yàn)?zāi)K采用狀態(tài)機(jī)設(shè)計(jì)方,而‘0’比特插入模塊是利用FIFO實(shí)現(xiàn),為HDLC通信控制器的設(shè)計(jì)提供新的思路。該方法已在Spartan3s400開發(fā)板上實(shí)現(xiàn),并能正確傳輸。
關(guān)鍵詞:HDLC協(xié)議;CRC校驗(yàn);‘0’比特插入;FPGA

    高級(jí)數(shù)據(jù)鏈路控制HDLC(High-level Data Link Control)廣泛應(yīng)用于數(shù)據(jù)通信領(lǐng)域,是確保數(shù)據(jù)信息可靠互通的重要技術(shù)。實(shí)施HDLC的一般方法通常是采用ASIC器件和軟件編程等。HDLC的ASIC芯片使用簡易,功能針對(duì)性強(qiáng),性能可靠,適合應(yīng)用于特定用途的大批量產(chǎn)品中。但由于HDLC標(biāo)準(zhǔn)的文本較多,ASIC芯片出于專用性的目的難以通用于不同版本,缺乏應(yīng)用靈活性。例如CCITT、ANSI、ISO/IEC等都有各種版本的HDLC標(biāo)準(zhǔn),器件生產(chǎn)商都還有各自的標(biāo)準(zhǔn),對(duì)HDLC的CRC序列生成多項(xiàng)式等有不同的規(guī)定。況且,專用于HDLC的ASIC芯片其片內(nèi)數(shù)據(jù)存儲(chǔ)器容量有限,通常只有不多字節(jié)的FIFO可用。對(duì)于某些應(yīng)用來說,當(dāng)需要擴(kuò)大數(shù)據(jù)緩存的容量時(shí),只能對(duì)ASIC芯片再外接存儲(chǔ)器或其他電
路,ASIC的簡單易用性就被抵銷掉了。
    FPGA是現(xiàn)場可編程門陣列,屬于超大規(guī)模集成電路,具有豐富的系統(tǒng)門、邏輯單元、塊RAM和IO引腳等硬件資源。由于FPGA具有重裝載功能,可以在其內(nèi)部靈活實(shí)現(xiàn)各種數(shù)字電路設(shè)計(jì),甚至可以動(dòng)態(tài)改變其內(nèi)部設(shè)計(jì),動(dòng)態(tài)實(shí)現(xiàn)不同的功能。
    因此,采用FPGA實(shí)現(xiàn)HDLC是一種可行的方法。HDLC通信控制器主要是對(duì)數(shù)據(jù)進(jìn)行CRC校驗(yàn)、‘0’比特插入和加幀頭幀尾操作。

1 “0”比特插入模塊
    HDLC規(guī)程規(guī)定信息的傳送以幀為單位,每一幀的基本格式如圖1所示。


    HDLC規(guī)程指定采用8 bit的01111110為標(biāo)志序列,稱為F標(biāo)志。用于幀同步,表示1幀的開始和結(jié)束,相鄰2幀之間的F,既可作為上一幀的結(jié)束,又可作為下一幀的開始。標(biāo)志序列也可以作為幀間填充字符,因而在數(shù)據(jù)鏈路上的各個(gè)數(shù)據(jù)站都要不斷搜索F標(biāo)志,以判斷幀的開始和結(jié)束。
    由于HDLC具有固定的幀格式,以7EH為幀頭和幀尾,為了保證透明傳輸,即只有幀頭和幀尾出現(xiàn)連續(xù)的6個(gè)‘l’,其他地方不允許有連續(xù)5個(gè)以上的‘l’出現(xiàn),否則就要進(jìn)行‘0’比特插入,即只要遇到連續(xù)5個(gè)‘1’,就在其后插入1個(gè)‘O’。根據(jù)傳輸數(shù)據(jù)量的大小可采用以下2種思路實(shí)現(xiàn)‘0’比特插入操作。
1.1 遇‘O’緩沖實(shí)現(xiàn)法
    由于數(shù)據(jù)中出現(xiàn)多少個(gè)連續(xù)的‘1’是不可控的,故最終插入‘0’的個(gè)數(shù)也是不可控的。例如要發(fā)送的“有效數(shù)據(jù)”(包含地址字段、控制字段、信息字段、幀校驗(yàn)字段)為320 bit,則最多會(huì)插入64個(gè)‘0’。數(shù)據(jù)是串行輸入,每插入1個(gè)‘0’,則數(shù)據(jù)由5位變成6位,則插‘0’后要輸入的數(shù)據(jù)就被“積壓”來,插入的‘0’越多,“積壓”的數(shù)據(jù)就越多。如果采用文獻(xiàn)中的插‘0’方法,簡單的將‘O’插入,將會(huì)丟失1位數(shù)據(jù),設(shè)置1個(gè)64位的緩沖,每插入1個(gè)‘0’就把后面數(shù)據(jù)做為1位延時(shí),插‘0’后在把已經(jīng)延時(shí)1個(gè)時(shí)鐘周期的數(shù)據(jù)加進(jìn)來,就保證不丟失數(shù)據(jù)。實(shí)際利用VHDL語言編譯時(shí),其VHDL代碼為:
    


    
    上述VHDL的思路:矢量a的第64位到第l位分別為datain延時(shí)64個(gè)時(shí)鐘周期的串行數(shù)據(jù)到延時(shí)1個(gè)時(shí)鐘周期的串行數(shù)據(jù),i的初始數(shù)據(jù)為O,每遇到連續(xù)5個(gè)‘1’,插入1個(gè)‘0’后,dataout輸出為datain延時(shí)i個(gè)時(shí)鐘周期的數(shù)據(jù)。這樣就做到了不丟失數(shù)據(jù)。圖2是利用ISE 9.1i仿真的波形圖。


    由圖2可看到插‘0’操作后,數(shù)據(jù)比未插‘0’前變長了,而且變長了多少位是由數(shù)據(jù)內(nèi)容決定的。
    該方法編程簡單,占用FPGA資源少,在一個(gè)模塊內(nèi)就能完成‘0’比特插入操作。
1.2 利用FIFO實(shí)現(xiàn)
    遇‘0’緩沖實(shí)現(xiàn)法在傳輸大容量數(shù)據(jù)時(shí),需要設(shè)置許多位緩沖,這樣就耗費(fèi)大量的FPGA內(nèi)部資源,而且隨著延時(shí)位數(shù)增加,門延時(shí)呈指數(shù)增長,累積到一定程度就會(huì)產(chǎn)生誤差,所有當(dāng)數(shù)據(jù)量大時(shí),上述的方法就不再適用,可以利用FIFO實(shí)現(xiàn)。
    當(dāng)數(shù)據(jù)量大時(shí),“積壓”的數(shù)據(jù)相應(yīng)也變大,可以利用FPGA內(nèi)部資源FIFO節(jié)省邏輯資源,提高邏輯速度。選擇異步FIFO,即讀/寫時(shí)鐘不是同一個(gè),這樣可高速寫入數(shù)據(jù),再通過控制讀時(shí)鐘控制讀的信息。
    利用FPGA實(shí)現(xiàn)的VHDL代碼為:

    其基本思想是,一旦遇到5個(gè)連續(xù)的‘1’,就“抹掉”1個(gè)時(shí)鐘,利用ISE 9.1i仿真的波形圖如圖3所示。


    設(shè)計(jì)一個(gè)FIFO與上述VHDL代碼產(chǎn)生的模塊相連,電路圖如圖4所示。


    利用ISE 9.1i仿真得到的波形圖如圖5所示。可看到對(duì)datain進(jìn)行了‘0’比特插入操作,保證數(shù)據(jù)不丟失。而且該方法可根據(jù)所選器件的片內(nèi)資源設(shè)置任意大容量的FIFO,并且當(dāng)片內(nèi)FIFO的存儲(chǔ)量不夠時(shí),可先存入一部分?jǐn)?shù)據(jù),等FIFO讀取一部分后,不滿時(shí)再存入一部分?jǐn)?shù)據(jù)。


    ‘O’比特刪除操作是‘0’比特插入操作的反過程。在接收時(shí)為了還原原本的信息,就要?jiǎng)h除發(fā)送時(shí)插入的‘O’。以逐位延時(shí)法為例,dataout最一開始輸出延時(shí)了64個(gè)時(shí)鐘周期的串行數(shù)據(jù),i的初始值為64,當(dāng)遇到‘lllll’時(shí),i減1,輸出延時(shí)了i個(gè)時(shí)鐘周期的串行數(shù)據(jù)。而利用FIFO的方法就是遇到‘lllll’,抹去1個(gè)寫時(shí)鐘,將數(shù)據(jù)寫入FIFO,再按規(guī)定的時(shí)鐘把數(shù)據(jù)讀取,當(dāng)然寫入的時(shí)鐘可用較高的時(shí)鐘周期。

2 CRC校驗(yàn)?zāi)K
    幀校驗(yàn)字段用于對(duì)幀進(jìn)行循環(huán)冗余校驗(yàn),校驗(yàn)的范圍從地址字段的第1個(gè)比特到信息字段的最后1個(gè)比特,但為了透明傳輸而插入的‘0’比特不在校驗(yàn)范圍內(nèi)。
    CRC原理實(shí)際上就是在一個(gè)p位二進(jìn)制數(shù)據(jù)序列之后附加一個(gè)r位二進(jìn)制校驗(yàn)碼,從而構(gòu)成一個(gè)總長為n=p+r位的二進(jìn)制序列,例如,P位二進(jìn)制數(shù)據(jù)序列,r位二進(jìn)制校驗(yàn)碼,所得到的二進(jìn)制序列就是,附加在數(shù)據(jù)序列之后的這個(gè)校驗(yàn)碼與數(shù)據(jù)序列的內(nèi)容之間存在著某種特定的關(guān)系。如果因干擾等原因使數(shù)據(jù)序列中的某一位或某些位發(fā)生錯(cuò)誤,這種特定關(guān)系破壞,因此,通過檢查這一關(guān)系,實(shí)現(xiàn)對(duì)數(shù)據(jù)正確性的檢驗(yàn)。
    要傳輸p=16位數(shù)據(jù)1001011010101011,選定的r=16的校驗(yàn)序列為10001000000100001,對(duì)應(yīng)的FCS幀校驗(yàn)列是用100101101010101100000 00000000000(共p+r=32位)對(duì)2取模整除以10001000000100001后的余數(shù)1010100011000001(共有r=16位)。因此,發(fā)送方應(yīng)發(fā)送的全部數(shù)據(jù)列為
10010110101010111010100011000001。接收方將收到的32位數(shù)據(jù)對(duì)2取模整除以r校驗(yàn)二進(jìn)制位列10001000000100001,如余數(shù)非O,則認(rèn)為有傳輸錯(cuò)誤位。
    而多項(xiàng)式乘除法運(yùn)算過程與普通代數(shù)多項(xiàng)式的乘除法相同。多項(xiàng)式的加減法運(yùn)算以2為模,加減時(shí)不進(jìn)位或錯(cuò)位,和邏輯異或運(yùn)算一致,即加法和減法等價(jià)。則對(duì)上述例舉的數(shù)據(jù)的CRC計(jì)算過程如圖6所示。


    模擬上述計(jì)算CRC校驗(yàn)值的方法,不難想到可用狀態(tài)機(jī)實(shí)現(xiàn),設(shè)置一個(gè)17位的矢量,檢驗(yàn)最高位是否為零。如果為零,則跳轉(zhuǎn)到狀態(tài)1,即所有位左移,最低位補(bǔ)1位數(shù)據(jù);如果不為零,則跳轉(zhuǎn)到狀態(tài)0,最低位補(bǔ)1位數(shù)據(jù),與“00010000001000010”異或,(以CRC-CCITT為例,由于y16與‘1’異或必為‘0’,datain與‘0’異或還為datain),這種思路的VHDL代碼如下:


    圖7為該VHDL代碼的仿真波形,可看到該方法模擬對(duì)2取模整除的一步步計(jì)算。


    該方法思想簡單,是對(duì)2取模整除方法的模擬,直觀,易于理解,由于是串行輸入,不受需要CRC計(jì)算的數(shù)據(jù)位數(shù)限制。由于HDLC通信協(xié)議的最大優(yōu)點(diǎn)是對(duì)要傳輸?shù)男畔⑽碾姳忍亟Y(jié)構(gòu)無任何限制,也就是說,信息文電可以是任意的比特串,不會(huì)影響鏈路的監(jiān)控操作。因此,這里給出的CRC串行算法符合HDLC傳輸文電比特結(jié)構(gòu)任意的特點(diǎn)。

3 程序加載驗(yàn)證
    經(jīng)過邏輯綜合和時(shí)序仿真后,利用ISE 9.1i集成開發(fā)軟件將程序燒入FPGA,利用示波器觀測FPGA按HDLC通信協(xié)議標(biāo)準(zhǔn)發(fā)出的信號(hào)。如要發(fā)送的“有效信號(hào)”(不含幀頭幀尾,未進(jìn)行CRC校驗(yàn)及‘O’比特插入之前的原始數(shù)據(jù))為“llll llll”,則經(jīng)過FPGA處理后應(yīng)發(fā)出的數(shù)據(jù)為“0111 1110 1111 1011 1000 1111 0111 1000 0011 1111 0”,利用示波器檢測到的信號(hào)波形如圖8所示。


    由圖8可知,對(duì)數(shù)據(jù)進(jìn)行CRC校驗(yàn),‘0’比特插入及加幀頭幀尾操作,發(fā)送數(shù)據(jù)正確,符合HDLC通信協(xié)議標(biāo)準(zhǔn)。

4 結(jié)束語
    由于HDLC通信協(xié)議具有透明傳輸、可靠性高等優(yōu)點(diǎn),在數(shù)據(jù)鏈路層應(yīng)用廣泛,而FPGA更具有靈活、高性能、低成本、平臺(tái)化、可定制等優(yōu)點(diǎn),具有系統(tǒng)級(jí)能的復(fù)雜可編程邏輯器件和現(xiàn)場可編程門陣列實(shí)現(xiàn)可編程片上系統(tǒng)也成為今后的發(fā)展方向。本文提出的基于FPGA實(shí)現(xiàn)HDL-C/SDLC協(xié)議方法采用ISE 9.1i編譯、綜合、仿真、布線、燒寫,ISE軟件支持器件多,功能強(qiáng)大,操作更方便,因此,該實(shí)現(xiàn)方法具有很強(qiáng)的實(shí)用性,另外,程序加載入FPGA后發(fā)送數(shù)據(jù)正確,說明該實(shí)現(xiàn)方法實(shí)用、有效。
 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(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)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

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