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

        ?

        基于FPGA的USB-HDLC協(xié)議轉(zhuǎn)換器的設計與實現(xiàn)

        2014-11-09 10:57:40秦兆濤
        遙測遙控 2014年4期
        關鍵詞:PC機校驗編程

        楊 峰, 秦兆濤

        (1北京遙感設備研究所 北京 100854 2北京航空航天大學 北京 100191)

        引 言

        在現(xiàn)代信息社會,數(shù)據(jù)通信占據(jù)著重要的地位,對實時通信數(shù)據(jù)的存儲也不可或缺。很多電子產(chǎn)品都通過HDLC協(xié)議[1]進行通信,然而PC機上卻沒有與之對應的接口,所以需要一種“轉(zhuǎn)換”設備將依該協(xié)議通信的數(shù)據(jù)存儲于PC機中。本文所論述的正是這種“轉(zhuǎn)換”設備:基于FPGA設計和實現(xiàn)的USBHDLC協(xié)議轉(zhuǎn)換器。通過該系統(tǒng),便可將RS-485接口轉(zhuǎn)換為USB端口,實現(xiàn)外設與PC機的數(shù)據(jù)通信。

        以往的轉(zhuǎn)換器系統(tǒng)采用的是專用芯片+單片機+接口電路的結構,由專用ASIC芯片實現(xiàn)HDLC協(xié)議[2],但存在如下問題:ASIC器件出于專用性目的難以通用不同版本,缺乏靈活性;器件片內(nèi)存儲器容量有限,不適合大數(shù)據(jù)量傳輸;為追求功能完備,芯片控制復雜[3]。本文系統(tǒng)采用FPGA的單片解決方案,可有效利用片內(nèi)硬件資源,無需外圍電路,高度集成且操作簡單,能夠兼顧速度和靈活性。FPGA既適合完成計算控制,又適合完成接口協(xié)議的編寫,所以本文通過FPGA硬件編程,實現(xiàn)了單片高度集成的USBHDLC協(xié)議轉(zhuǎn)換系統(tǒng)。

        本文系統(tǒng)主要包括FPGA控制器、HDLC模塊和USB模塊三部分。系統(tǒng)由FPGA芯片控制實現(xiàn)HDLC通信協(xié)議,通過RS-485接口與外接設備進行通信。系統(tǒng)配備USB端口,通過FPGA編程配置USB芯片實現(xiàn)系統(tǒng)與PC機的通信,進而實現(xiàn)對數(shù)據(jù)的讀取、存儲和事后分析,亦或?qū)C機上的指令和數(shù)據(jù)發(fā)送出去。

        本文系統(tǒng)設計簡單、靈活,可靠性高,較易實現(xiàn)HDLC通信協(xié)議,USB接口通用性強,具有較強的兼容性和廣泛的適用性,能夠很好地應用于各種中小型通信設備[4]。

        1 HDLC協(xié)議簡述

        高級數(shù)據(jù)鏈路控制規(guī)程HDLC[5](High-Level Data Link Control Procedures)是一種面向比特位的同步數(shù)據(jù)鏈路層協(xié)議,由國際標準化組織ISO制定,廣泛應用于數(shù)據(jù)通信領域。該協(xié)議使用統(tǒng)一的幀格式,運用方便;采用零比特插入法,易于硬件實現(xiàn),且支持任意的位流傳輸,實現(xiàn)信息的透明傳輸;全雙工通信,吞吐率高,在未收到應答幀的情況下,可連續(xù)發(fā)送信息幀,提高數(shù)據(jù)鏈路傳輸?shù)男?采用CRC幀校驗序列,可防止漏幀,提高信息傳輸?shù)目煽啃浴?/p>

        HDLC以幀作為傳輸?shù)幕締挝?,其結構如圖1所示。

        圖1 HDLC幀結構

        結合圖1,標志位“F”作為幀頭和幀尾,各1個字節(jié),設定為十六進制“7E”。為防止數(shù)據(jù)傳輸誤判,提高可靠性,可發(fā)送多個“7E”?!癐NFO”為有效數(shù)據(jù)信息,為字節(jié)的整數(shù)倍。對圖1所示的校驗區(qū)間采用CRC方式校驗,即循環(huán)冗余校驗,得到2個字節(jié)的幀校驗序列“FCS”。為防止傳輸?shù)挠行?shù)據(jù)被誤判為幀標志位“F”,協(xié)議采用零比特插入和刪除法[6],即規(guī)定:在發(fā)送數(shù)據(jù)時,當比特流中連續(xù)出現(xiàn)5個“1”bit時,在后面自動插入一個“0”bit;在接收數(shù)據(jù)時,當比特流中連續(xù)出現(xiàn)5個“1”bit時,自動刪除后面的“0”bit。

        本文系統(tǒng)采用HDLC協(xié)議與外接設備進行數(shù)據(jù)通信。由于FPGA可重復性編程,設計開發(fā)靈活,可多路并行處理,程序移植性強,能實時仿真,可在眾多通信產(chǎn)品中設計實現(xiàn)HDLC協(xié)議功能[7],因此本文基于可編程器件FPGA實現(xiàn)HDLC通信協(xié)議。

        2 系統(tǒng)結構

        本文所論述的系統(tǒng)為基于FPGA的USB-HDLC協(xié)議轉(zhuǎn)換器,系統(tǒng)結構如圖2所示。系統(tǒng)主要由FPGA控制模塊、HDLC模塊和USB模塊三部分組成。此外,系統(tǒng)通過RS-485接口與外接設備連接,通過USB端口與PC機相連。

        圖2 系統(tǒng)結構

        當發(fā)送數(shù)據(jù)時,PC機上的數(shù)據(jù)信息或指令通過USB接口傳輸進入系統(tǒng),將數(shù)據(jù)暫存于USB芯片中,再進入系統(tǒng)緩存RAM,緩存中的數(shù)據(jù)按HDLC協(xié)議通過RS-485接口傳輸至外接設備;當接收數(shù)據(jù)時,外接設備的數(shù)據(jù)通過RS-485接口進入系統(tǒng),按照內(nèi)部HDLC協(xié)議對數(shù)據(jù)進行解析并存入FPGA緩存中,USB芯片經(jīng)FPGA配置控制,可接收來自緩存中的外部數(shù)據(jù),進而將其通過USB接口傳入PC機中。

        HDLC協(xié)議是通過可編程邏輯器件FPGA編程實現(xiàn)的,而USB模塊功能的實現(xiàn)則依賴于USB芯片和FPGA對它的配置控制。

        本文系統(tǒng)采用的 USB芯片為 Cypress公司生產(chǎn)的 EZ-USB芯片 CY7C68013[8]。CY7C68013采用USB2.0協(xié)議,主要有端口模式、GPIF模式和Slave FIFO模式三種工作模式。該芯片全速信號速率最大為12Mb/s,高速信號速率可達480Mb/s。端口模式下的傳輸速率較慢,這是因為其I/O口為8051通用I/O口,需要CPU的參與;在GPIF模式下,GPIF作為主控制器,產(chǎn)生可編程的控制信號,可與外部接口通信;在Slave FIFO模式下,外部處理器可以直接與FIFO連接。

        USB芯片CY7C68013的功能如圖3所示。

        本文中CY7C68013采用Slave FIFO工作模式,便于系統(tǒng)間通信和協(xié)同合作。該芯片受主控器件FPGA的配置,可控制芯片的數(shù)據(jù)總線讀寫使能,即圖3中的EP2和EP6,進而實現(xiàn)數(shù)據(jù)的高速傳輸。

        圖3 USB模塊功能

        3 FPGA設計與實現(xiàn)

        可編程邏輯器件FPGA芯片作為主控器件,控制數(shù)據(jù)通信時的USB模塊和HDLC通信協(xié)議模塊,進而實現(xiàn)USB-HDLC協(xié)議轉(zhuǎn)換器功能,其原理如圖4所示。

        FPGA編程實現(xiàn)USB譯碼模塊、USB控制模塊和HDLC協(xié)議發(fā)送、接收模塊,緩存RAM可在芯片內(nèi)調(diào)用;USB控制模塊通過控制總線對USB芯片進行配置,經(jīng)USB接口實現(xiàn)與PC機的通信互聯(lián)。USB譯碼模塊對接收或發(fā)送的數(shù)據(jù)進行解析譯碼處理,譯碼后的數(shù)據(jù)信息或經(jīng)USB模塊數(shù)據(jù)總線進入USB芯片上傳到PC機,或緩存到RAM中按HDLC協(xié)議通過RS-485接口發(fā)送給外接設備。

        圖4 FPGA控制實現(xiàn)USB-HDLC協(xié)議轉(zhuǎn)換器原理

        下面具體敘述FPGA是如何設計實現(xiàn)HDLC協(xié)議和控制USB模塊的。

        3.1 HDLC 協(xié)議的 FPGA 實現(xiàn)[9]

        FPGA實現(xiàn)HDLC協(xié)議的流程如圖5所示。在發(fā)送端,數(shù)據(jù)由發(fā)送緩存RAM經(jīng)并/串轉(zhuǎn)換、CRC校驗、插零和包裝幀頭幀尾標志字等操作將數(shù)據(jù)發(fā)送出去;接收端,檢測接收數(shù)據(jù)的幀頭標志字,然后經(jīng)CRC校驗檢測、刪零操作后對數(shù)據(jù)串/并轉(zhuǎn)換,并存儲到接收緩存單元RAM中,檢測到幀尾標志字后停止接收過程。

        具體來講,發(fā)送端首先發(fā)送標志字“7E”,然后將緩存中待發(fā)送的并行數(shù)據(jù)并/串轉(zhuǎn)換,同時系統(tǒng)自動完成CRC編碼、“0”比特插入等操作,再將處理后的數(shù)據(jù)按同步串行傳輸方式發(fā)送。在接收端,系統(tǒng)自動完成標志字“7E”的檢測、刪“0”及CRC校驗操作,再將同步串行數(shù)據(jù)串/并轉(zhuǎn)換,轉(zhuǎn)換成8位并行數(shù)據(jù)存儲至接收緩存中。整個系統(tǒng)采用同一個全局時鐘。

        圖5 HDLC協(xié)議的FPGA設計實現(xiàn)流程

        RS-485接口選用 J30J-21ZKP,通過連接線纜與外設相連。發(fā)送數(shù)據(jù)時,首先經(jīng)過光耦合器件進行電氣性能隔離,然后經(jīng)過單端電平轉(zhuǎn)差分電平芯片輸出到發(fā)送總線上,這樣的設計能夠在保證外部通信的同時,有效地保護系統(tǒng)硬件平臺。接收數(shù)據(jù)端,信號經(jīng)過差分電平轉(zhuǎn)單端電平芯片,將差分信號轉(zhuǎn)換為單端信號,然后經(jīng)過光耦合器件輸入到FPGA芯片。本設計中選擇HCPL-063L光耦隔離芯片以及MAX3485電平轉(zhuǎn)換芯片,理論上此電平轉(zhuǎn)換芯片可以達到10Mb/s的傳輸速率。為滿足不同設計的需要,F(xiàn)PGA內(nèi)部設有專門的波特率寄存器,可以通過PC機界面環(huán)境裝訂選擇發(fā)送數(shù)據(jù)的波特率,如2Mb/s或4Mb/s。

        3.2 USB控制模塊的FPGA實現(xiàn)

        USB控制模塊主要實現(xiàn)對PC機下發(fā)指令的譯碼解析,傳輸下發(fā)數(shù)據(jù)信息以及將系統(tǒng)接收的內(nèi)部數(shù)據(jù)上傳給PC機。系統(tǒng)與PC機連接時,用戶可以從PC機界面環(huán)境向系統(tǒng)發(fā)送指令,進行指令裝訂、保存接收數(shù)據(jù)等操作。

        FPGA對USB模塊的控制流程如圖6所示。

        如圖6所示,在發(fā)送數(shù)據(jù)時,F(xiàn)PGA編程控制選擇USB FIFO通道EP2,系統(tǒng)接收PC機下發(fā)的指令并對其進行解析、譯碼操作,或通過配置寄存器實現(xiàn)復位、波特率選擇和觸發(fā)發(fā)送等功能,或?qū)C機下發(fā)的數(shù)據(jù)信息寫入發(fā)送緩存RAM;在接收數(shù)據(jù)時,通過狀態(tài)寄存器判斷接收RAM中是否有數(shù)據(jù),若有,F(xiàn)PGA編程控制選擇USB FIFO通道EP6,上行數(shù)據(jù)通過USB接口傳入PC機中,經(jīng)解析使之顯示在PC機界面環(huán)境中或存儲于PC機內(nèi)部。

        圖6 USB控制模塊的FPGA實現(xiàn)流程

        4 仿真結果

        本系統(tǒng)FPGA控制實現(xiàn)HDLC協(xié)議部分采用VHDL語言進行編程,并通過第三方軟件Signal TapⅡLogic Analyzer顯示數(shù)據(jù)的通信傳輸過程,用行為級仿真驗證轉(zhuǎn)換器功能。

        圖7為FPGA配置控制USB芯片CY7C68013,PC機下發(fā)數(shù)據(jù)時的測試圖。系統(tǒng)采用40MHz時鐘信號采樣,F(xiàn)IFOData為并行數(shù)據(jù),SLRD、SLWR為讀寫信號。從仿真圖中FIFOData信號可以看出,系統(tǒng)設計發(fā)送 EE、FF、02、01、00 數(shù)據(jù)指令,44、55、33、00、01 等為需要發(fā)送的有效數(shù)據(jù),說明 PC 機中數(shù)據(jù)已進入USB芯片緩存中。接下來的工作是將該數(shù)據(jù)轉(zhuǎn)換為符合HDLC協(xié)議的數(shù)據(jù),并通過RS-485接口發(fā)送出去。

        圖7 PC機下發(fā)USB數(shù)據(jù)仿真測試

        圖8 為FPGA實現(xiàn)HDLC通信協(xié)議發(fā)送數(shù)據(jù)時的仿真測試。其中TX_Reg為預備發(fā)送PC機下行并行數(shù)據(jù)的寄存器,SPI_Dat_Out_R為HDLC數(shù)據(jù)總線發(fā)送的串行數(shù)據(jù)。如圖所示,首先發(fā)送幀頭標志4個“7E”,然后發(fā)送寄存器中的數(shù)據(jù)44、55、33、00、01等,以及兩個 CRC 校驗字節(jié)“BC”和“A1”。最后,發(fā)送幀尾標志4個“7E”。由于設計規(guī)定,數(shù)據(jù)發(fā)送為先發(fā)低位再發(fā)高位,所以在串行數(shù)據(jù)線上讀取信息時需將數(shù)據(jù)倒置讀取。

        圖8 HDLC協(xié)議數(shù)據(jù)傳輸仿真測試

        根據(jù)上述兩圖FIFOData、TX_Reg和SPI_Dat_Out_R信號數(shù)據(jù)內(nèi)容的對比,系統(tǒng)實現(xiàn)了將PC機數(shù)據(jù)通過USB接口轉(zhuǎn)入FPGA緩存中并通過RS-485接口并行輸出的功能,即完成了USB-FPGA協(xié)議轉(zhuǎn)換器的功能。

        HDLC協(xié)議模塊中,HCPL-063L光耦隔離芯片能達到的最高傳輸速率為15Mb/s,MAX3485電平轉(zhuǎn)換芯片可以達到10Mb/s的傳輸速率;USB模塊中,CY7C68013芯片數(shù)據(jù)傳輸速率可達到480Mb/s,片內(nèi)擁有8kB的RAM,完全可以滿足系統(tǒng)傳輸數(shù)據(jù)的需要。

        當系統(tǒng)FPGA芯片EP1C6T144C8工作時,資源占用情況如表1所示。

        表1 資源使用情況

        5 結束語

        本文系統(tǒng)地介紹了基于FPGA的USB-HDLC協(xié)議轉(zhuǎn)換器的設計與實現(xiàn)。系統(tǒng)采用HDLC總線接口與外接設備連接,通過USB接口與PC機通信傳輸信息。通過可編程邏輯器件FPGA編程代替專用芯片實現(xiàn)HDLC協(xié)議,編程簡單,易于修改,數(shù)據(jù)傳輸可靠,實時性和穩(wěn)定性較高[10];采用USB2.0協(xié)議接口與PC機進行通信,通用簡便,接口設計靈活,具有較高的數(shù)據(jù)傳輸率。該USB-HDLC協(xié)議轉(zhuǎn)換器實現(xiàn)了PC機與外接設備的信息通信和數(shù)據(jù)存儲,采用HDLC協(xié)議和USB接口,使系統(tǒng)具有更強的兼容性和廣泛的應用性,具有一定的實用價值。

        [1]彭圻平,胡國慶,等.基于FPGA的HDLC規(guī)程模塊實現(xiàn)[J].計算機與網(wǎng)絡,2013,(10):64~67.

        [2]劉振宇,陳 禾,等.低功耗RS-485總線HDLC控制器的ASIC設計[J].微電子學,2002,32(6):469~472.

        [3]張文昊,王 俊,等.基于FPGA的HDLC規(guī)程的設計與實現(xiàn)[J].電子器件,2009,(3):696~699.

        [4]應三叢,張 行.基于FPGA的HDLC協(xié)議控制器[J].四川大學學報,2008,40(3):116~120.

        [5]ISO/IEC 13239.Information Technology—Telecommunication Exchange between Systems— High-level Data Link Control(HDLC)Procedures[S].

        [6]鄧風軍,張 龍,等.基于PCI總線的HDLC通信卡的設計與實現(xiàn)[J].電子技術應用,2012,38(8):30~33.

        [7]張 偉.基于FPGA的HDLC規(guī)程控制系統(tǒng)實現(xiàn)[J].指揮信息系統(tǒng)與技術,2011,(2):48~52.

        [8]鄢 濤,杜小丹,等.基于RS485的數(shù)據(jù)通信協(xié)議的設計與實現(xiàn)[J].電子設計工程,2013,21(17):19~22.

        [9]劉文學,郭玉忠,等.HDLC協(xié)議的FPGA實現(xiàn)方法[J].航空計算技術,2011,41(3):93~96.

        [10]劉杰宇.基于FPGA技術的HDLC幀收發(fā)器的設計與實現(xiàn)[D].北京交通大學,2010.

        猜你喜歡
        PC機校驗編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        基于PC機與單片機的多機通信技術及抗干擾方法
        爐溫均勻性校驗在鑄鍛企業(yè)的應用
        基于三菱FXPLC的感應淬火機床與PC機的串行通信實現(xiàn)
        VC.NET下實現(xiàn)dsPIC單片機與PC機的通信
        電子制作(2017年23期)2017-02-02 07:16:47
        大型電動機高阻抗差動保護穩(wěn)定校驗研究
        電測與儀表(2015年1期)2015-04-09 12:03:02
        基于加窗插值FFT的PMU校驗方法
        特黄三级一区二区三区| 水蜜桃精品一二三| 国产免费一区二区三区在线观看| 亚洲va在线va天堂va四虎| 青青草成人原视频在线播放视频| 老熟女的中文字幕欲望| 俺去俺来也在线www色官网| 无码AV高潮喷水无码专区线| 中文字幕精品亚洲一区二区三区| 大陆老熟女自拍自偷露脸| 国产精品亚洲欧美大片在线看| 亚洲丁香婷婷综合久久小说| 高清亚洲成av人片乱码色午夜| 免费av网站大全亚洲一区| 欧美俄罗斯40老熟妇| √最新版天堂资源在线| 日本一区二区日韩在线| 狂猛欧美激情性xxxx大豆行情| 日本不卡一区二区三区在线| 国产亚洲欧美精品一区| 精品亚洲av一区二区| 精品福利一区二区三区免费视频| 116美女极品a级毛片| 最新手机国产在线小视频| 久久精品国产69国产精品亚洲| 久久精品亚洲一区二区三区浴池| 久久中文字幕乱码免费| 国产内射视频在线播放| 国产成人自拍视频播放| 国产激情视频一区二区三区| 日韩高清无码中文字幕综合一二三区 | 日本老熟妇毛茸茸| 无码一区二区三区不卡AV| 99久久婷婷国产精品综合网站| 中文字幕色av一区二区三区| 国产成人精品日本亚洲18| 久久爱91精品国产一区| 国产精品一区二区久久国产| 国内揄拍国内精品人妻浪潮av | 国产一区二区三区av在线无码观看| 开心激情站开心激情网六月婷婷|