亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA+ARM的HDLC協(xié)議控制器的設(shè)計與實現(xiàn)

        2014-03-16 09:23:02趙立立侯翔昊
        電子設(shè)計工程 2014年10期
        關(guān)鍵詞:信息設(shè)計

        楊 堯,趙立立,侯翔昊

        (西北工業(yè)大學(xué) 航天學(xué)院,陜西 西安 710072)

        高級數(shù)據(jù)鏈路控制 (HDLC,High-Level Data Control)是一種同步數(shù)據(jù)傳輸、面向比特的數(shù)據(jù)鏈路層協(xié)議,具有差錯檢測功能強大、高效和同步傳輸?shù)奶攸c,目前HDLC協(xié)議已成為是通信領(lǐng)域中應(yīng)用最廣泛的協(xié)議之一,在飛行器設(shè)計領(lǐng)域經(jīng)常用作飛控與舵機,助推器等之間通信的通信協(xié)議。

        飛行控制模擬裝置是在飛行器研制的方案階段,用于飛行控制系統(tǒng)軟件開發(fā)及仿真評估,飛行控制軟件往往是A級軟件,它的任何問題都將造成飛行失效,進而引起整個系統(tǒng)的癱瘓。采取飛行器控制系統(tǒng)模擬裝置進行軟件算法驗證,對各個分系統(tǒng)軟件調(diào)試和系統(tǒng)驗證,能夠加快飛行器設(shè)計進度,減少設(shè)計風(fēng)險和成本。

        本文研究的HDLC協(xié)議控制器用于某型飛行器的飛控模擬裝置與舵機控制器之間的通信。一般而言HDLC協(xié)議主要是通過使用專用芯片和軟件編程的方式來實現(xiàn)[1]。目前在市場上有很多專用的HDLC協(xié)議處理芯片如MT8952B、MK5025,這些芯片性能可靠但功能針對性太強,適合應(yīng)用于特定用途的大批量產(chǎn)品中[2]。軟件編程方式是通過針對微控制器或信號處理器進行編程,但是由于微控制器或信號處理器是基于字節(jié)(8位、16位等)的處理,而HDLC協(xié)議幀的解析和生成是面向比特的處理,因而這種方法會大大增加微處理器或信號處理器的負荷[3]??紤]到本設(shè)計中針對的飛控模擬裝置中存在大量不同總線接口需要處理,其處理器為FPGA+ARM,F(xiàn)PGA能對任意數(shù)據(jù)寬度的信號進行處理,ARM具備編程簡單,修改靈活的優(yōu)點,為此本文在此基礎(chǔ)上采用FPGA+ARM的方式利用FPGA完成符合HDLC協(xié)議的數(shù)據(jù)傳輸控制,ARM完成CRC校驗和信息幀解包,最終實現(xiàn)HDLC協(xié)議控制器的設(shè)計。

        1 HDLC協(xié)議及CRC原理介紹

        HDLC是高級鏈路層控制協(xié)議,面向位的數(shù)據(jù)鏈路層協(xié)議。HDLC通常為點—點或點一多點結(jié)構(gòu),可用于半雙工或全雙工通信,采用同步傳輸方式,常用于中高速數(shù)據(jù)傳輸場合。HDLC采用滑動窗口協(xié)議,可以同時確認幾個幀;另外,每個幀都含有地址地段,這樣在多點結(jié)構(gòu)中,主站可以同時和多個從站建立連接,而每個從站只接收含有本站地址的幀,因此HDLC的傳輸效率比較高,具有較高的吞吐率。在HDLC協(xié)議控制器中,其實現(xiàn)的關(guān)鍵在于兩個方面,一方面為保證幀間隔標志的唯一性,在后續(xù)的字段中采用“0”比特插入/刪除技術(shù)。發(fā)送時,幀間隔標志之外的所有信息,只要出現(xiàn)連續(xù)的5個“1”,則自動插入一個“0”;同樣,接收方在接收數(shù)據(jù)時,只要遇到連續(xù)的 5個“1”,則自動將其后的“0”刪除掉;另一方面是CRC碼的產(chǎn)生及校驗,即在發(fā)送端,利用生成多項式自動生成一幀數(shù)據(jù)的CRC校驗碼并附在信息段后發(fā)送出去;在接收端,對接受到的一幀數(shù)據(jù)作CRC碼的校驗[4]。

        CRC的全稱為Cyclic Redundancy Check,中文名稱為循環(huán)冗余校驗[5-6]。它是一類重要的線性分組碼。編碼和解碼方法簡單,檢錯和糾錯能力強,在通信領(lǐng)域廣泛地用于實現(xiàn)差錯控制。其基本原理是:對于一個給定的(N,K)碼(在K位信息碼后再拼接R位的校驗碼,N=R+K),可以證明存在一個最高次冪為N-K=R的多項式G(x)。根據(jù)G(x)可以生成K位信息的校驗碼,而G(x)叫做這個CRC碼的生成多項式。 校驗碼的具體生成過程為:假設(shè)要發(fā)送的信息用多項式C(X)表示,將 C(x)左移 R 位(可表示成 C(x)*2R),這樣 C(x)的右邊就會空出R位,這就是校驗碼的位置。用 C(x)*2R除以生成多項式G(x)得到的余數(shù)就是校驗碼。根據(jù)R的不同,形成多種不同的 CRC標準,如CRC-4:x4+x+1、CRC-8:x8+x6+x4+x3+x2+x1、CRC16-CCITT:x16+x12+x5+1等。本文采用的即是CRC16-CCITT標準。

        2 HDLC控制器設(shè)計

        2.1 HDLC協(xié)議處理電路設(shè)計

        為滿足飛行器設(shè)計驗證需求,可以實現(xiàn)基于HDLC協(xié)議傳輸?shù)撵`活配置,其功能和技術(shù)指標要求如下:422全雙工;傳輸速率可調(diào),最大達到2 Mbps;通信距離不超過5 m;通訊誤碼率小于10-7;幀頭7E與幀尾個數(shù)可調(diào),CRC校驗方式采用CCITT-CRC16。根據(jù)功能和技術(shù)指標要求以及飛控模擬裝置總體配置狀況,控制器總體框圖如圖1所示。

        圖1 HDLC控制器總體框圖Fig.1 The general frame of HDLC controller

        其中數(shù)據(jù)處理單元采用ARM實現(xiàn),完成數(shù)據(jù)幀的CRC校驗和信息提取,并根據(jù)設(shè)定初始化傳輸控制單元的參數(shù),包括波特率,7E有效個數(shù);傳輸控制單元采用FPGA實現(xiàn),主要功能是實現(xiàn)HDLC傳輸控制邏輯和數(shù)據(jù)緩存;接口總線采用全雙工RS422數(shù)據(jù)總線,由于RS422傳輸線為差分電壓,因此需要進行電平轉(zhuǎn)化,為此根據(jù)設(shè)計要求本文設(shè)計的控制器選用MAX3491作為電平轉(zhuǎn)換芯片,其轉(zhuǎn)換速度達到10Mbps以滿足需要。文中將針對HDLC控制器設(shè)計重點介紹數(shù)據(jù)處理單元、輸出控制邏輯兩部分。

        2.2 HDLC傳輸控制單元

        HDLC傳輸是按位操作,因此采用FPGA完成,F(xiàn)PGA采用altera公司的CYCLONE II系列的FPGA,開發(fā)平臺基于QuartusII 6.0開發(fā)環(huán)境,利用有限狀態(tài)機設(shè)計實現(xiàn)HDLC協(xié)議的傳輸控制部分,并最終以IP核的方式給出設(shè)計實現(xiàn),便于開發(fā)人員進行維護和升級。

        由于HDLC協(xié)議控制器是全雙工通信,即包含了HDLC同步比特數(shù)據(jù)的接收電路設(shè)計和HDLC同步比特數(shù)據(jù)幀的發(fā)送電路設(shè)計。在FPGA的設(shè)計中,接收端和發(fā)送端都是基于比特的處理,其功能框圖如圖2所示。

        圖2 HDLC協(xié)議控制器傳輸控制單元功能框圖Fig.2 Function block diagram of HDLC controller transmission control unit

        在接收端,一直根據(jù)接收時鐘RCLK信號的上升沿接收數(shù)據(jù),在信息幀發(fā)出以前,判斷幀頭“7E”,并記錄“7E”個數(shù),當“7E”個數(shù)滿足設(shè)定要求,開始啟動信息幀的接收,并開啟數(shù) 1計數(shù)器,當遇到連續(xù) 5個“1”時刪除其后的“0”,同時進行串并轉(zhuǎn)換,將數(shù)據(jù)按8BIT組成一字節(jié),存入FIFO中,整字節(jié)接收完畢后,如接收到“7E”表明該信息幀結(jié)束,并開始記錄“7E”個數(shù),當“7E”個數(shù)滿足幀尾設(shè)定要求,表明該幀接收完畢,否則表示接收出錯,拋棄該幀。圖3即為接收幀狀態(tài)轉(zhuǎn)移圖。

        圖3 接收幀狀態(tài)轉(zhuǎn)移圖Fig.3 The statemachine of receive frame

        在發(fā)送端,接收到ARM啟動發(fā)送指令后,發(fā)送相應(yīng)個數(shù)幀頭0x7E,然后將數(shù)據(jù)從發(fā)送FIFO中取出,進行并串轉(zhuǎn)換,在根據(jù)設(shè)置的時鐘TCLK的下降沿,逐位發(fā)送數(shù)據(jù)到Tx線路上,并且在連續(xù)發(fā)送了5個比特“1”后,自動插入比特“0”,發(fā)送結(jié)束后發(fā)送相應(yīng)個數(shù)幀尾0x7E,結(jié)束該次發(fā)送。發(fā)送幀狀態(tài)轉(zhuǎn)移圖如圖4所示。

        2.3 HDLC數(shù)據(jù)處理單元

        HDLC數(shù)據(jù)處理單元主要完成信息的幀的CRC校驗和打包解包任務(wù),其處理芯片采用意法半導(dǎo)體的STM32F103系列ARM芯片,該芯片具有開發(fā)簡單靈活,成本較低的優(yōu)勢。數(shù)據(jù)處理單元對數(shù)據(jù)的處理同樣包括接收和發(fā)送兩部分,以接收為例,具體工作流程圖如圖5所示。

        圖4 發(fā)送幀狀態(tài)轉(zhuǎn)移圖Fig.4 The statemachine of send frame

        圖5 HDLC數(shù)據(jù)處理單元數(shù)據(jù)接收流程圖Fig.5 The receives data flow diagram of the data processing unit

        當進入接收中斷進程時,首先讀空接收FIFO,其中最后兩次讀出的數(shù)據(jù)為該幀信息的CRC校驗碼,利用該校驗碼進行CRC校驗,校驗采用CRC-16-CCITT標準,生成r取值為 16,其生成多項式為:G(X)=x16+x12+x2+1

        傳統(tǒng)CRC校驗是對消息逐位處理,對于ARM來說,這樣效率是很低的。為了提高時間效率,通常的思想是以空間換時間??紤]到內(nèi)循環(huán)只與當前的消息字節(jié)和crc_reg的低字節(jié)有關(guān),針對crc_reg低字節(jié)建立數(shù)表進行查詢相應(yīng)的CRC校驗碼,最終循環(huán)完畢如果沒有差錯發(fā)生則結(jié)果應(yīng)為0。

        發(fā)送單元與接收單元類似,為其逆過程,首先將信息按約定幀格式打包,然后進行CRC校驗,將校驗碼放入信息幀的最后2個字節(jié),并將該信息幀通過數(shù)據(jù)總線存入FPGA的發(fā)送FIFO中,最后寫入發(fā)送標志字,啟動FPGA發(fā)送傳輸控制邏輯。

        3 驗證及結(jié)果

        為完成設(shè)計,首先采用ModelSim進行仿真驗證,如圖6所示通過激勵文件生成ARM與FPGA的讀寫時序,給出符合HDLC幀格式的一組數(shù)據(jù)寫入FPGA發(fā)送FIFO,并啟動發(fā)送,在激勵文件中將RX/RCLK與TX/TCLK短接,形成回環(huán),F(xiàn)PGA根據(jù)協(xié)議控制器接收到數(shù)據(jù),并將數(shù)據(jù)存入接收FIFO,完成驗證。其邏輯時序滿足HDLC協(xié)議幀格式和通信時序要求。

        最后按照設(shè)計要求將設(shè)計好的HDLC通信協(xié)議控制器加載至FPGA與ARM上,并與串口通信卡 BST23109進行回環(huán)測試,該卡能夠?qū)崿F(xiàn)串口同步模式,通信滿足HDLC協(xié)議要求。試驗結(jié)果表明在5m通信距離內(nèi),波特率可達2Mb/s,誤碼率為10-8。

        圖6 HDLC協(xié)議控制器ModelSim仿真驗證圖Fig.6 The HDLC protocol controller ModelSim simulation diagram

        4 結(jié)論

        文中針對飛行模擬裝置中HDLC協(xié)議的應(yīng)用需求開展了HDLC協(xié)議控制器的設(shè)計,文中首先介紹了HDLC協(xié)議的相關(guān)內(nèi)容,然后重點介紹了HDLC協(xié)議控制器軟硬件實現(xiàn),詳細給出于HDLC協(xié)議控制器的設(shè)計實現(xiàn)過程。通過仿真和實測試驗表明在5 m通信距離內(nèi),波特率可達2 Mb/s,誤碼率為10-8。在該飛行模擬裝置交付使用過程中,該控制器功能完整,能夠很好地滿足各項指標的技術(shù)要求。

        [1]陳金華.基于HDLC協(xié)議的RS485通信設(shè)備的研制[J],測控技術(shù),2010,29(6):98-101.CHEN Jin-hua.Design of RS485 communication equipment based on HDLC protocol[J].Measurement& Control Technology,2010,29(6):98-101.

        [2]應(yīng)三叢,張行.基于FPGA的HDLC協(xié)議控制[J].四川大學(xué)學(xué)報,2008,40(3):116-120.YING San-cong,ZHANG Xing.New HDLC Protocol Controller Based on the FPGA[J].Journal of Sichuan University,2008,40(3):116-120.

        [3]王鵬,呂志剛,杜衛(wèi)東.基于FPGA與ARM的多路時序控制系統(tǒng)設(shè)計與實現(xiàn)[J].計算機測量與控制,2012(6):1540-1543.WANG Peng,LV Zhi-gang,DU Wei-dong.Design and implementation ofmulti-channel timing control system based on FPGA and ARM7[J].Computer Measurement&Control,2012(6):1540-1543.

        [4]鄧鳳軍,張龍,王益忠.基于PCI總線的HDLC通信卡的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2012,38(8):30-32.DENG Feng-jun,ZHANG Long,WANG Yi-zhong.Design and implement-tation of HDLC communication card based on PCI-bus[J].Application of Electronic Technique,2012,38(8):30-32.

        [5]王新梅,肖國鎮(zhèn).糾錯碼—原理與方法(修訂版)[M].西安:西安電子科技大學(xué)出版社,2001.

        [6]代玉梅,張彬,張瑞玲.高級數(shù)據(jù)鏈路控制(HDLC)的操作行為研究[J].現(xiàn)代電子技術(shù),2013,36(8):10-12.WANG Xin-mei,ZHANG Bin,ZHANG Rui-ling.Research on HDLC operantbehavior[J].Modern Electroincs Techniqus,2013,36(8):10-12.

        猜你喜歡
        信息設(shè)計
        何為設(shè)計的守護之道?
        《豐收的喜悅展示設(shè)計》
        流行色(2020年1期)2020-04-28 11:16:38
        瞞天過?!律O(shè)計萌到家
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        設(shè)計之味
        舒適廣告(2008年9期)2008-09-22 10:02:48
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        久久影院午夜理论片无码| 色偷偷亚洲av男人的天堂| 国产一区二区三区尤物| 99久久无码一区人妻| 少妇无码一区二区三区免费| 久久国产亚洲高清观看5388| 精品视频一区二区在线观看| 人妻丰满熟妇av一区二区| 在线视频观看一区二区| 国内精品久久久久久久97牛牛| 亚洲色偷偷综合亚洲av伊人| 国产亚洲精久久久久久无码苍井空| 日韩少妇高潮在线视频| 中文字幕女同系列在线看一| 国产探花在线精品一区二区| 国产精品乱码在线观看| 国产激情一区二区三区在线蜜臀| 加勒比婷婷色综合久久| 久久精品中文字幕大胸| 久草视频福利| 无码人妻精品中文字幕免费| 中文字幕亚洲高清视频| 成人做受黄大片| 99热这里只有精品3| 国产亚洲激情av一区二区| 日本精品免费看99久久| a级毛片免费观看在线播放| 久久久久无码国产精品不卡| 日韩极品视频在线观看免费| 亚洲视频免费一区二区| 久久亚洲国产成人精品性色| 久久一日本道色综合久久大香| 成人大片在线观看视频| 国产成人无码a区在线观看导航| 亚洲欧洲无码av不卡在线| 久久亚洲aⅴ精品网站婷婷| 国产不卡在线观看视频| 日韩精品区一区二区三vr| 国产精品99久久久精品免费观看| 极品少妇一区二区三区| 国产精品多人p群无码|