《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于PCI總線的HDLC通信卡的設計與實現
基于PCI總線的HDLC通信卡的設計與實現
來源:電子技術應用2012年第8期
鄧鳳軍,張 龍,王益忠
中國衛星海上測控部,江蘇 江陰214431
摘要: 一種基于PCI9054和FPGA的HDLC通信卡設計方案和功能實現。介紹了該HDLC通信板卡的設計思路和系統組成、PCI總線設計的關鍵技術和FPGA的選型、簡化HDLC協議的FPGA實現及接口控制邏輯,給出了該HDLC通信卡數據收發的時序圖。
關鍵詞: HDLC PCI9054 PCI總線 FPGA
中圖分類號: TN47
文獻標識碼: A
文章編號: 0258-7998(2012)08-0030-03
Design and implementation of HDLC communication card based on PCI-bus
Deng Fengjun,Zhang Long,Wang Yizhong
China Satellite Maritime Tracking & Control Department, Jiangyin 214431,China
Abstract: A design project and function implementation of a kind of HDLC communication card based on PCI bus is introduced in the paper. It introduces the system architecture of the card firstly. Then, it descript the key technology of PCI bus and the choice of FPGA chip. Lastly, the hardware implementation of the simple HDLC protocol and the interface control logic have been introduced in detail, and the timing diagrams of data transmitting and receiving of the HDLC communication card are given.
Key words : HDLC;FPGA;PCI9054;PCI bus

    PCI總線及在其基礎上發展起來的CPCI總線,在工業控制、數據采集、信息通信、航空航天等領域得到了廣泛的應用。高級數據鏈路控制(HDLC)是一個在同步網上傳輸數據并面向位的數據鏈路層協議,具有透明傳輸、 可靠性高、傳輸效率高以及靈活性高等特點,可以實現點到點或者點到多點的數據傳輸,在路由器、網關等通信或者網絡設備中應用廣泛[1]。為了滿足實際工作的需要,并為后續系統升級提供拓展空間,本文設計并實現了一款基于PCI總線、符合HDLC協議的通信卡,以滿足高速數據傳輸的需要。通信卡采用PCI總線控制器實現PCI總線接口設計,采用FPGA實現HDLC通信協議及接口邏輯設計,采用RS-422標準對外通信,實現與外系統的互連。

1 HDLC通信卡總體方案
    通信卡主要采用PCI9054和FPGA構成硬件系統,其硬件結構圖如圖1所示。數據傳輸流程為:接收數據時,通過RS-422接口芯片接收數據,數據格式滿足簡化的HDLC協議;通過FPGA內部的HDLC模塊進行數據接收和串并轉換;然后在本地控制邏輯的控制下通過PCI9054以DMA方式傳給上位機,實現數據的接收和判讀;發送數據時,上位機軟件將數據以DMA方式傳給PCI9054再輸入FPGA,在其內部HDLC模塊的作用下,進行數據并串轉換和HDLC協議轉換,最后通過RS-422發送器進行電平轉換和數據發送。預留SDRAM以滿足大容量數據通信需要。

2 HDLC通信卡電路設計
2.1 總線接口設計

    PCI總線具有高性能、低成本、開放性、兼容性良好等優點,但PCI總線具有嚴格的時序關系和電氣規范,使得開發工作量和難度比較大。PCI總線一般都采用各IC生產商設計的PCI專用接口芯片進行PCI總線設備的開發,以減少開發難度、降低工作量?;诖丝紤],在本設計中,采用PLX公司的PCI9054芯片進行總線開發[2]。
    PCI9054芯片滿足PCI V2.2協議,可作為橋接芯片在PCI總線和本地總線(local bus)之間提供信息傳輸,既可以作為兩個總線的主控設備去控制總線,也可以作為兩個總線的目標設備去響應總線。其本地總線可工作在M、C、J三種模式,可方便地與多種微處理器連接。在C模式下,因本地總線的地址線和數據線分開,時序與控制邏輯比較簡單,得到了廣泛應用[3]。因此本通信卡中,PCI9054工作于C模式從設備方式,本地總線時鐘采用40 MHz恒溫補償晶振。PCI9054的PCI總線端引腳按照對應關系與PCI總線金手指連接器相連,本地端地址總線為15 bit,數據總線為32 bit,控制總線包括ADS、BLAST、LHOLD、LHOLDA、LW/R#、READY、EOT#引腳,將它們分別與FPGA的IO口互連。
2.2 FPGA芯片選型與設計
    HDLC協議是面向比特的高級數據鏈路控制規程,具有強大的差錯檢測功能、高效和同步傳輸的特點,利用它可以確保數據信息可靠互通。市場上有許多使用簡單的專用HDLC芯片,但由于HDLC標準的文本較多,這些芯片出于專用目的難以通用于不同版本,缺乏應用靈活性,且其片內存儲器容量有限。另一種方法是通過軟件對MCU編程實現HDLC協議,雖然功能靈活、適應性強,但處理速度慢、占用處理器資源多,難以高速實現對HDLC數據的插“0”和去“0”操作,一般只適用于路數較少的低速場合[4]。
    為了實現與當前系統HDLC協議的兼容,本通信卡采用FPGA實現HDLC收發功能模塊,充分利用FPGA硬件可編程的特點,發揮其速度快、靈活性高、并行處理信號、實時性能夠預測的優勢。同時,考慮到通信卡傳輸一幀數據的長度通常為512 KB~1 KB,而PCI9054的DMA只有32長字FIFO,且PCI讀寫速度與HDLC收發速度不一致,需要利用FIFO進行數據緩存,達到時序匹配的目的。為了提高系統集成度及其可靠性,采用FPGA內部存儲單元實現FIFO功能。因此,綜合考慮FPGA內部存儲單元數量、IO引腳數量等,選擇Altera公司的EP2C20-F240用于功能模塊開發。EP2C20F240為QFP封裝,可用IO口142個,內部LE 18 752個,內部RAM為239 616 bit,可以滿足系統開發需要。
2.3 差分接口設計
    通信卡對外通信采用RS-422方式傳輸數據,傳輸頻率最高為768 kHz。因此,選用MAXIM公司的RS-422發送器MAX3032E和接收器MAX3094E,其數據傳輸率最高分別可達20 Mb/s和10 Mb/s,滿足數據高速傳輸需要。
3 HDLC通信卡邏輯設計
    通信卡上的FPGA完成PCI9054本地總線數據讀寫時序邏輯的轉換,實現HDLC收發模塊和FIFO數據緩存功能。設計中采用VHDL硬件描述語言實現各功能模塊,利用Altera公司的集成開發環境Quartus II(11.0)完成相關的編譯、調試、下載等開發工作。
3.1 本地總線數據讀寫模塊
    PCI9054工作于C模式從設備方式,采用分散/聚合(Scatter-Gather)DMA方式進行數據快速傳輸,以發揮其速度快的優勢。根據PCI9054讀寫時序圖可知,在C模式從設備方式下,FPGA讀取PCI9054本地端ads_n和blast_n的引腳狀態,判斷是單周期讀寫狀態還是猝發讀寫狀態,實現地址獲取和數據讀寫,其狀態機如圖2所示。同時,在上位機讀數據完畢后,如果讀FIFO為空則將EOT#引腳拉低,將數據傳輸結束信號上傳,強行停止主機數據讀操作。這就需要在DMA初始化過程中,設置DMAMODE寄存器的第14位為EOT#有效模式。

3.2 HDLC通信模塊實現
    HDLC的標準幀格式如表1所示,但HDLC也有由用戶定義的非標準幀格式,常用于點對點的通信中。在非標準格式中,地址段、控制段、CRC段是可選的。本通信卡主要用于點對點通信,且采用簡化的HDLC協議,即省略地址段、控制段、CRC段。其中CRC校驗功能由上位機軟件實現[4-5]。

    HDLC是面向位的,在待傳數據中出現與標志字一樣的數據時,如果不進行處理,就會被誤認為是幀邊界。為了避免此錯誤,HDLC規定采用“零比特填充法”使一幀中兩個字段之間不會出現6個連續1。具體做法是:發送數據時,先進行幀數據掃描,只要發現有連續的5個1,則立即插入一個0,以此保證數據中不會出現連續6個1;接收數據時,先找到3E字段以確定幀的邊界,接著對其后的比特流進行掃描,每發現5個連續1就將其后的0刪除,以此保證所傳比特流中不出現幀標志,直到幀尾標志出現,從而實現HDLC在鏈路層的“透明傳輸”,保證發送端可以發送任意組合的比特流信息,而接收端都能準確無誤地接收到[6]。
    FPGA中實現的簡化HDLC模塊總體框圖如圖3所示。讀寫FIFO采用Altera公司的LPM功能模塊實現,大小可根據需要設置,本通信卡設為512×32 bit。發送數據時,寫FIFO接收PC數據(總線寬度為32 bit),首先進行并串轉換,再進行插“0”操作,最后插入標志字按位發送出去,輸出數據Tx和輸出時鐘Tx_Clk保持同步,整個過程由發送控制狀態機進行控制。接收數據與發送數據過程相反,由接收控制狀態機進行控制。其中輸入、輸出時鐘可以設置為68 kHz或者768 kHz。

    發送控制狀態機和接收控制狀態機分別如圖4、圖5所示。發送數據時,發送狀態機首先判斷寫FIFO是否有數據,若有數據,則插入幀頭,依次讀取FIFO數據,完成插“0”操作和插幀尾操作,并按照從低到高的順序發送數據,直至寫FIFO為空。接收數據時,首先搜索幀頭,為了防止接收到連續兩個標志字而把后一個標志字誤認為是數據,設置搜索數據狀態(Data_find),若不是標志字,則作為數據進行去“0”操作,完成串并轉換和幀尾檢測,并將接收到的數據以32 bit為單位,逐次寫入讀FIFO中。當一幀傳輸結束,采用中斷信號通知上位機及時讀取數據。一旦檢測到丟棄序列(0x7F),則結束對此幀數據的處理,并清空讀FIFO里的數據,同時上報PC機錯誤信息,請求發送方重新發送數據。

3.3 功能時序圖
    圖6、圖7分別給出了利用Quartus II的在線邏輯分析儀SignalTap II獲取的PCI寫數據、HDLC數據發送和HDLC接收、PCI讀數據的時序波形圖。從圖中可以看到,HDLC模塊正確實現了插“0”和去“0”操作,并能與PCI9054進行正確的數據收發。

 

 


    本文采用PCI總線控制器PCI9054和FPGA技術設計實現了一款符合簡化HDLC協議的通信卡,并已成功應用于實際工作中。實際應用表明收發數據正確,可以滿足高速數據通信要求。同時,該通信卡設計中預留了一定的擴展空間,能夠根據需要進行功能拓展。本通信卡可應用于信號處理、數據通信等場合,對PCI總線應用設計有一定的參考價值。
參考文獻
[1] 羅文翰,張劍鋒.基于MPC860的HDLC通道驅動程序的設計與實現[J].電子技術應用,2005,31(15):66-68.
[2] 張素蘭,余國輝.基于PCI總線的高速串行通信模擬系統的設計與實現[J].計算機工程與設計,2007,28(15):3617-3620.
[3] 陳斌,王成華,夏永君.基于DSP和PCI的通用數據采集及處理卡實現[J].計算機應用研究,2005(1):171-173.
[4] 羅力凡,常春藤.基于VHDL的FPG開發快速入門·技巧·實例[M].北京:人民郵電出版社,2009.
[5] 陸園琳,喬廬峰,王志功.多通道高速HDLC處理器的設計與實現[J].電子學報,2003,31(11):1630-1634.
[6] 馬萍,唐衛華,李緒志.基于PCIExpress總線高速數采卡的設計與實現[J].微計算機信息,2008,28(9-1):116-118.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲丶国产丶欧美一区二区三区| 亚洲精品一线二线三线无人区| 亚洲第一中文字幕在线观看| 欧美中在线观看| 美女免费视频一区| 欧美一区在线直播| 亚洲成色最大综合在线| 亚洲国产视频a| 亚洲精品在线观看视频| 国外成人在线| 亚洲视频在线观看一区| 欧美精品亚洲一区二区在线播放| 久久综合伊人77777尤物| 久久综合五月天婷婷伊人| 夜色激情一区二区| 精品999在线观看| 国产美女精品免费电影| 亚洲男女自偷自拍图片另类| 亚洲黄色三级| 欧美三区不卡| 久久精品91久久久久久再现| 欧美日韩中文字幕综合视频| 性久久久久久| 亚洲精品久久久久久久久| 宅男66日本亚洲欧美视频| 亚洲电影第1页| 久久精品国产一区二区电影| 欧美日韩性生活视频| 国产日韩欧美| 亚洲国产日韩欧美在线99| 免费观看亚洲视频大全| 国产精品久久久久毛片软件| 欧美日韩国产va另类| 一区二区三区国产精品| 久久国产精品久久精品国产| 国产一区高清视频| 在线观看日韩欧美| 欧美一区二区三区在线播放| 亚洲精品国久久99热| 国产日韩精品久久久| 国产精品xxx在线观看www| 久久精品一二三| 欧美日韩国产综合一区二区| 国产精品免费福利| 欧美性一二三区| 欧美精品自拍| 久久综合一区二区三区| 欧美久久影院| 亚洲激情校园春色| 午夜在线播放视频欧美| 日韩亚洲一区二区| 免费成人毛片| 欧美激情网友自拍| 欧美三区在线| 欧美激情网站在线观看| 伊人成年综合电影网| 亚洲毛片在线看| 久久久五月天| 欧美三日本三级少妇三2023| 久久成人免费日本黄色| 久久影视三级福利片| 亚洲美女少妇无套啪啪呻吟| 欧美一级黄色录像| 亚洲欧美变态国产另类| 欧美久久成人| 欧美精品情趣视频| 香蕉久久夜色精品国产| 国产精品美女久久久| 国产综合香蕉五月婷在线| 欧美一级网站| 在线日本成人| 久久网站免费| 韩国av一区| 亚洲视频www| 亚洲综合导航| 欧美日韩一区在线播放| 好男人免费精品视频| 尤物99国产成人精品视频| 欧美成人午夜激情视频| 国产一二精品视频| 亚洲少妇中出一区| 国产精品不卡在线| 亚洲精品少妇30p| 国产伦理一区| 欧美精品免费在线| 国模一区二区三区| 国产精品男女猛烈高潮激情| 久久亚洲色图| 亚洲另类视频| 欧美日韩一区二区在线观看视频| 韩国成人理伦片免费播放| 欧美精品日日鲁夜夜添| 久久久久综合网| 国产精品一区二区女厕厕| 日韩一区二区久久| 午夜亚洲福利| 日韩一区二区精品葵司在线| 一本久道久久综合中文字幕| 国产精品美女久久久久aⅴ国产馆| 国产一区自拍视频| 亚洲春色另类小说| 亚洲国产婷婷香蕉久久久久久| 午夜精品久久久久| 久久综合久久美利坚合众国| 欧美激情欧美狂野欧美精品| 亚洲精品欧洲| 在线视频国内自拍亚洲视频| 亚洲一区激情| 亚洲午夜免费视频| 国产精品每日更新| 久久综合九色综合久99| 又紧又大又爽精品一区二区| 激情五月***国产精品| 一区二区三区视频免费在线观看| 国产一区二区三区在线免费观看| 国产精品天天看| 韩国三级在线一区| 嫩草影视亚洲| 国产综合精品| 欧美肥婆在线| 免费日本视频一区| 亚洲免费av网站| 亚洲国产日韩欧美综合久久| 欧美激情综合色综合啪啪| 国产精品99久久久久久白浆小说| 午夜精品视频一区| 麻豆成人精品| 久久在线免费观看| 国产在线国偷精品产拍免费yy| 国产亚洲一本大道中文在线| 亚洲精品在线视频| 国产亚洲高清视频| 亚洲第一福利社区| 亚洲欧洲日本一区二区三区| 久久久999| 亚洲国产天堂久久综合| 国产精品午夜久久| 国产在线高清精品| 精品二区久久| 国产精品夜夜嗨| 欧美精品国产精品日韩精品| 午夜精品久久久久久久男人的天堂| 欧美h视频在线| 欧美一激情一区二区三区| 欧美激情一级片一区二区| 欧美成人午夜激情| 亚洲第一精品在线| 欧美日韩日本视频| 国产视频欧美| 亚洲国产成人tv| 亚洲一区二区三区四区五区午夜| 欧美国产亚洲精品久久久8v| 日韩天堂在线观看| 久久一区二区三区超碰国产精品| 欧美午夜剧场| 中文在线一区| 久久久蜜桃精品| 亚洲欧洲美洲综合色网| 欧美国产精品久久| 在线亚洲精品| 日韩视频在线免费| 一区二区久久久久| 女人香蕉久久**毛片精品| 亚洲高清一二三区| 欧美激情综合色综合啪啪| 国产精品午夜春色av| 国产精品伦一区| 亚洲免费在线精品一区| 欧美99在线视频观看| 欧美日韩精品高清| 欧美国产亚洲精品久久久8v| 亚洲第一成人在线| 香蕉久久国产| 国产精品一二一区| 女仆av观看一区| 欧美三级日韩三级国产三级| 国产精品美女黄网| 亚洲欧美日韩国产综合精品二区| 欧美理论电影网| 亚洲大胆美女视频| 狠狠操狠狠色综合网| 国产精品亚洲网站| 欧美日韩三区| 国产精品久久久久999| 国产日韩欧美在线一区| 国内成人精品视频| 欧美精选午夜久久久乱码6080| 亚洲电影一级黄| 亚洲二区在线视频| 欧美电影免费观看高清完整版| 麻豆精品一区二区av白丝在线| 久久久综合精品| 99热免费精品在线观看| 韩国自拍一区| 1204国产成人精品视频| 欧美一区二区三区在线播放| 久久久久久一区二区三区| 午夜激情亚洲| 在线欧美日韩精品| 亚洲午夜未删减在线观看| 欧美激情在线观看| 精品动漫3d一区二区三区免费版| 亚洲视频在线观看三级| 在线精品福利| 国产色视频一区| 黑丝一区二区三区| 欧美成人综合网站| 亚洲国产成人精品久久久国产成人一区| 国产揄拍国内精品对白| 狠狠色综合色综合网络| 欧美大色视频| 欧美三级日韩三级国产三级| 一本色道久久综合狠狠躁篇的优点| 国产精品入口尤物| 精品成人免费| 一区二区三区久久精品| 亚洲国产一区二区三区a毛片| 亚洲电影欧美电影有声小说| 在线观看中文字幕亚洲| 一区二区三区.www| 亚洲一区二区视频| 亚洲高清av在线| 精品成人乱色一区二区| 亚洲片在线观看| 欧美精品激情| 欧美激情精品久久久久| 欧美区一区二区三区| 黄色av成人| 亚洲欧洲日产国产综合网| 欧美另类99xxxxx| 亚洲国产日韩综合一区| 欧美成人一区二区在线| 伊人狠狠色j香婷婷综合| 国产精品户外野外| 香蕉久久精品日日躁夜夜躁| 国内外成人免费激情在线视频| 一区二区三区我不卡| 1000部精品久久久久久久久| 欧美激情精品久久久久久免费印度| 欧美国产一区在线| 国产精品爱啪在线线免费观看| 亚洲欧美在线播放| 亚洲午夜一二三区视频| 久久免费视频在线| 在线综合亚洲欧美在线视频| 久久精品99国产精品| 亚洲视频中文字幕| 欧美精品久久久久久久久老牛影院| 久久久7777| 欧美一区二区在线免费观看| 亚洲自拍电影| 欧美激情精品久久久久久黑人| 国产一区视频在线观看免费| 国产视频不卡| 欧美在线观看天堂一区二区三区| 欧美va天堂va视频va在线| 国产一区二区激情| 日韩视频精品在线| 欧美日韩大片一区二区三区| 美国成人毛片| 国产农村妇女毛片精品久久麻豆| 国产精品最新自拍| 欧美日韩国产色视频| 国产日韩亚洲欧美精品| 亚洲国产美女| 久久久五月婷婷| 亚洲国产精品久久久久秋霞影院| 你懂的一区二区| 国产一区二区三区在线观看网站| 国内精品免费在线观看| 亚洲黄色免费网站| 欧美一区二区三区在线视频| 久久国产精品高清| 国产精品99久久久久久久久| 久久国产欧美日韩精品| 久热精品视频在线观看一区| 亚洲国产成人精品久久久国产成人一区| 亚洲国产欧美一区二区三区久久| 久久国产一区| 国产在线观看一区| 韩日欧美一区| 国产一区二区三区日韩| 国产欧美日本| 你懂的国产精品| 免费观看一区| 免费成人美女女| 亚洲字幕在线观看| 国产三级精品三级| 在线综合欧美| 黄色一区二区在线| 久久精品国产第一区二区三区| 激情久久五月| 91久久久久久久久久久久久| 亚洲二区在线视频| 韩国一区二区在线观看| 亚洲电影下载| 欧美在线播放视频| 91久久精品一区二区别| 欧美国产日产韩国视频| 国产精品视频一区二区高潮| 伊人成人在线| 老妇喷水一区二区三区| 欧美午夜视频一区二区| 亚洲国产成人av| 欧美一区二区在线看| 欧美精品成人一区二区在线观看| 亚洲性夜色噜噜噜7777| 亚洲精品少妇30p| 欧美日韩国产区一| 国产精品99久久久久久有的能看| 欧美成人免费观看| 欧美成人官网二区| 国产欧美一区二区三区在线看蜜臀| 欧美天堂亚洲电影院在线播放| 欧美凹凸一区二区三区视频| 亚洲国产aⅴ天堂久久| 国产精品成人在线观看| 亚洲国产日韩在线一区模特| 国产精品视频久久一区| 性欧美暴力猛交另类hd| 国产欧美日韩视频一区二区三区| 欧美人妖在线观看| 影音国产精品| 久久久久欧美精品| 午夜精品一区二区三区在线播放| 亚欧美中日韩视频| 麻豆精品国产91久久久久久| 欧美激情aaaa|