国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

支持PCI總線的HDLC協(xié)議專用控制器設計

2014-06-07 05:53:34錢黎明劉富發(fā)魏敬和
中國電子科學研究院學報 2014年6期
關鍵詞:狀態(tài)機板卡校驗

錢黎明,劉富發(fā),魏敬和

(中國電子科技集團公司第58研究所,江蘇 無錫 214005)

支持PCI總線的HDLC協(xié)議專用控制器設計

錢黎明,劉富發(fā),魏敬和

(中國電子科技集團公司第58研究所,江蘇 無錫 214005)

在地面衛(wèi)星通訊中,為了滿足上位機更快、更可靠的接收外部設備通信數(shù)據(jù)的要求,設計了一款支持外圍部件互聯(lián)(PCI,Peripheral Component Interconnect)總線的高級數(shù)據(jù)鏈路控制(High-level data link control,HDLC)協(xié)議專用控制器電路。詳細描述了電路系統(tǒng)構成及具體模塊的實現(xiàn),并給出了仿真波形圖。經仿真測試表明該電路可滿足系統(tǒng)要求,同時PCI接口速率可達到132 Mbyte/s。

高級數(shù)據(jù)鏈路控制(HDLC);PCI總線;控制器

0 引 言

在地面衛(wèi)星通訊領域中,大型地面通訊設備的測試數(shù)據(jù)具有傳輸量大、實時性要求高的特點。為了解測試設備與上位機的通信狀況,需采用一種大容量高速傳輸?shù)耐ㄐ艆f(xié)議,實現(xiàn)數(shù)據(jù)傳輸過程的完全透明。設計了一款支持PCI總線的高級數(shù)據(jù)鏈路控制(HDLC,high level data link control)協(xié)議專用控制器,除了能夠滿足高速度、透明傳輸?shù)囊?,同時還具有差錯控制、同步傳輸、功耗低等優(yōu)點,能夠應用于任何高速數(shù)據(jù)傳輸系統(tǒng)中。

1 PCI和HDLC協(xié)議簡介

1.1 PCI總線概述

PCI總線是一種傳輸速率可高達132Mb ytes/s的高速局部外設總線,可應用在高速率和低功耗領域。該總線共有100根信號,當PCI接口作為從設備時最少應有47根,作為主設備時最少應有49根[1]。根據(jù)實際應用場合實現(xiàn)最基本的功能,根據(jù)信號功能可將總線信號大致分為系統(tǒng)信號、數(shù)據(jù)地址信號、控制信號、中斷、仲裁及錯誤等幾類。其中系統(tǒng)信號為CLK、RST;數(shù)據(jù)地址信號為AD、C/BE、PAR;控制信號包括FRAME、IRDY、TRDY、STOP、LOCK、ID+ SEL、DEVSEL,下面主要采用上述信號進行PCI接口通信研究設計。

1.2 HDLC協(xié)議簡介

HDLC協(xié)議是在通信鏈路層中應用較廣泛的協(xié)議,所有數(shù)據(jù)均以信息幀的形式傳送,采用面向比特型規(guī)程使其具有強大的差錯檢測功能和高可靠、高效率透明傳輸?shù)奶攸c,該協(xié)議適用于中高速同步半雙工和全雙工通信領域中。典型的HDLC信息幀結構,如圖1所示。

圖1 HDLC幀結構

根據(jù)HDLC協(xié)議規(guī)定,所有信息幀必須以標志字“0x7E”開始和結束。接收設備不斷的搜尋“0x7E”以實現(xiàn)幀同步,從而確定一幀的開始和結束。另外,在幀與幀的空載期間,可以連續(xù)的發(fā)送標志序列用作時間填充[2,3]。地址字段表示鏈路上站的地址,當站點較多時,可按字節(jié)進行擴充。控制字段表示幀類型、幀編號及命令等,也可按字節(jié)進行擴充。信息字段包含用戶的數(shù)據(jù)信息和來自上層的各種控制信息。幀校驗序列采用循環(huán)冗余校驗(CRC)對地址、控制、信息字段進行差錯控制。

在一幀數(shù)據(jù)中,HDLC協(xié)議采用“0”比特插入技術,地址、控制、信息、校驗碼字段中有可能出現(xiàn)與標志字相同的字節(jié),為了保證標志字的唯一性,在發(fā)送除標志外的其它信息時,只要遇到連續(xù)5個“1”,在其后自動插入一個“0”。反之,在接收方遇到連續(xù)5個“1”,自動刪除其后的“0”[4]。采用上述操作可實現(xiàn)任何代碼的傳送,即實現(xiàn)傳輸?shù)耐该餍浴?/p>

HDLC協(xié)議中加入幀校驗序列來保證數(shù)據(jù)傳輸?shù)目煽啃?,采用循環(huán)冗余校驗碼對所傳送的數(shù)據(jù)進行檢錯和糾錯,校驗范圍包括地址、控制、信息字段。HDLC規(guī)程規(guī)定了三種長度幀校驗序列,即8位、16位、32位,設計中采用16位幀校驗序列,對應CRC校驗碼的生成多項式[5]為:

P(X)=X16+X12+X5+1

2 HDLC專用控制器電路設計

HDLC協(xié)議控制器的系統(tǒng)框圖如圖2所示。電路工作在數(shù)據(jù)接收狀態(tài)時,首先經過接收處理模塊處理,當CRC校驗正確后,數(shù)據(jù)經過串并轉換后傳送給FIFO,然后經過DMA方式讀取后通過PCI接口傳送給上位機;電路工作在數(shù)據(jù)發(fā)送狀態(tài)時,首先上位機通過PCI傳輸控制模塊將數(shù)據(jù)傳送給接收FIFO,然后數(shù)據(jù)并串轉換后分兩路,一路進入發(fā)送處理模塊進行數(shù)據(jù)的發(fā)送,另一路經過CRC模塊生成CRC校驗碼,而后附加在數(shù)據(jù)通路進行發(fā)送。其中根據(jù)實際應用接收FIFO和發(fā)送FIFO大小均為128雙字節(jié),通過FIFO電路實現(xiàn)HDLC串行數(shù)據(jù)和PCI總線并行數(shù)據(jù)的交互;控制模塊實現(xiàn)對其它模塊的控制,僅在其它模塊電路需要工作時才將其打開,從而達到降低功耗的目的;由于CRC校驗和生成機理相似,因此在CRC校驗/生成模塊通過電路的復用實現(xiàn)差錯控制,從而降低電路的功耗和減小電路的面積。HDLC協(xié)議處理部分的工作時鐘由外部晶振時鐘經過振蕩器、波特率產生器、數(shù)字鎖相環(huán)后產生的穩(wěn)定時鐘提供,PCI傳輸控制模塊時鐘由PCI總線提供。

圖2 HDLC控制器系統(tǒng)框圖

2.1 數(shù)據(jù)接收處理

接收處理模塊由同步模塊、幀頭檢測、比特解碼、數(shù)據(jù)接收緩沖等模塊電路構成,主要采用狀態(tài)機完成HDLC協(xié)議數(shù)據(jù)的接收,電路狀態(tài)轉換圖如圖3所示。由于采用外部時鐘作為工作頻率,且HDLC協(xié)議為面向比特型,因此首先采用同步模塊對接收數(shù)據(jù)作同步處理,防止亞穩(wěn)態(tài)產生,提高電路的可靠性。其次進入狀態(tài)機進行幀頭檢測,當檢測到“0x7E”,開始數(shù)據(jù)的接收處理。同時比特解碼模塊開始檢測,當檢測到連續(xù)5個“1”時,產生去0標志,數(shù)據(jù)接收緩沖模塊舍棄下一位的接收;CRC校驗模塊進行數(shù)據(jù)校驗,當CRC接收完成之后進行CRC校驗碼的比較,若校驗碼正確則進入幀尾的檢測。此時若檢測到“0x7E”則完成一幀數(shù)據(jù)的接收操作。

2.2 數(shù)據(jù)發(fā)送處理

發(fā)送處理模塊包括數(shù)據(jù)發(fā)送緩沖、幀標志生成、比特編碼等模塊電路構成。該過程即為數(shù)據(jù)接收處理的逆過程,同樣采用狀態(tài)機實現(xiàn)HDLC協(xié)議數(shù)據(jù)的發(fā)送,狀態(tài)轉換圖如圖4所示。當檢測到上位機傳來的幀發(fā)送標志時,開始一幀數(shù)據(jù)的發(fā)送,該模塊從發(fā)送FIFO讀取發(fā)送數(shù)據(jù),然后依次完成幀起始標志、數(shù)據(jù)段、CRC校驗碼、幀結尾標志的發(fā)送,在數(shù)據(jù)發(fā)送期間使用比特編碼模塊對數(shù)據(jù)進行“0”填充編碼。同時該模塊在幀與幀的空載期還可連續(xù)發(fā)送幀標志,作為時間填充。

圖3 HDLC接收模塊狀態(tài)機

圖4 HDLC發(fā)送模塊狀態(tài)機

2.3 PCI接口設計

該模塊電路核心部分為狀態(tài)機設計[6,7],通過狀態(tài)機接收并判斷PCI總線上的信號確定當前狀態(tài),從而控制PCI存儲器、I/O口、配置寄存器的讀寫和中斷等主要操作。本文根據(jù)PCI總線時序邏輯定義狀態(tài)機各個狀態(tài)從設備狀態(tài)轉換圖,如圖5所示。該狀態(tài)機共分為11個狀態(tài),分別為idle、rw_ wait1、rw_wait2、read_wait、rd_wr、last_rw、configwait1、configwait2、config、return和abort。主設備通過仲裁后選定從設備并開始通信;從設備地址譯碼匹配時,開始轉入數(shù)據(jù)處理操作,可進行配置寄存器操作、IO/存儲器的一次讀寫、猝發(fā)讀寫,以及中止傳輸?shù)炔僮?。當用戶要求中止傳輸且Frame無效時,狀態(tài)機通過return狀態(tài)轉到初始狀態(tài)idle。

2.4 仿真和驗證

圖5 PCI狀態(tài)轉換圖

采用VerilogHDL語言[8]進行了電路設計,使用VCS、DC、Encounter、Calibre等EDA工具進行電路的功能仿真、邏輯綜合、布局布線和物理驗證等設計。設計需對PCI配置方式迸發(fā)數(shù)據(jù)傳輸、PCI配置方式單個數(shù)據(jù)傳輸、PCI存儲器方式迸發(fā)數(shù)據(jù)傳輸、PCI存儲器方式單個數(shù)據(jù)傳輸、基于HDLC協(xié)議的數(shù)據(jù)發(fā)送和接收等過程進行仿真驗證。

基于HDLC協(xié)議的數(shù)據(jù)發(fā)送時序如圖6所示,復位后,PCI工作在從模式,F(xiàn)RAME拉低表示PCI一幀數(shù)據(jù)開始傳輸,IDSEL拉高使得PCI工作在配置方式,對PCI總線控制器內部的命令/狀態(tài)、基址等寄存器進行配置;IDSEL拉低使得PCI工作在存儲器方式,對HDLC協(xié)議控制器內部的全局、中斷隊列、中央FIFO、發(fā)送FIFO、時鐘模式、發(fā)送時鐘波特率、中斷使能/屏蔽、發(fā)射器復位、發(fā)射描述符、請求發(fā)射等寄存器進行配置;PCI切換到主模式,根據(jù)發(fā)射描述符中的基址信息,通過DMA方式從外部存儲器將要發(fā)送的數(shù)據(jù)讀入內部發(fā)送FIFO,經過HDLC協(xié)議處理后以串行的方式從TXD1發(fā)送出去。

基于HDLC協(xié)議的數(shù)據(jù)發(fā)送和接收時序如圖7所示,接收采用閉環(huán)方式,即接收發(fā)送端TXD1的串行輸出數(shù)據(jù),經過HDLC協(xié)議處理后,32位的并行數(shù)據(jù)寫入接收FIFO中,PCI通過DMA的方式將接收到的數(shù)據(jù)存入外部存儲的另一段地址空間,地址空間以及長度由接收描述符決定。

圖6仿真波形表明,PCI數(shù)據(jù)傳輸速率132Mbyte/s,外部存儲空間的數(shù)據(jù)可以被 PCI以DMA的方式讀取,經過HDLC協(xié)議處理后,以串行的方式發(fā)送出去;圖7仿真波形表明,外部存儲空間的數(shù)據(jù)可以被PCI以DMA的方式從一塊地址空間拷貝到另一塊地址空間,即基于HDLC協(xié)議、數(shù)據(jù)能被正確的發(fā)送和接收。

圖6 數(shù)據(jù)發(fā)送時序

圖7 數(shù)據(jù)發(fā)送與閉環(huán)接收時序

2.5 整機實裝測試

HDLC協(xié)議專用控制器電路采用四面引腳扁平方式封裝,HDLC串行通訊模塊板卡貼裝了2片HDLC協(xié)議專用控制器電路,位于板卡的最左側,如圖8所示。

圖9 整機實裝

圖8 HDLC串行通訊板

2塊HDLC串行通訊模塊板卡插入主機架,和其他模塊板卡一起構成整機系統(tǒng),如圖9所示。

系統(tǒng)測試數(shù)據(jù)流如下,處理器通過北橋電路擴展出PCI總線,通過接插件,并行信號進入HDLC串行通訊模塊板卡,通過PCI橋電路擴展出2路PCI分別接到2只HDLC協(xié)議專用控制器電路上,經過HDLC協(xié)議處理與組幀后變?yōu)榇袛?shù)據(jù),串行數(shù)據(jù)經過光藕電路隔離后從接插件輸出,信號離開HDLC串行通訊模塊板卡進入后IO板卡輸出到外部設備。

實測結果通過串口上報給上位機,與HDLC協(xié)議專用控制器電路相關的測試結果從序號133開始到161結束,如圖10所示。進行了下列類別的功能實測:PCI配置方式迸發(fā)數(shù)據(jù)傳輸、PCI配置方式單個數(shù)據(jù)傳輸、PCI存儲器方式迸發(fā)數(shù)據(jù)傳輸、PCI存儲器方式單個數(shù)據(jù)傳輸、基于HDLC協(xié)議的數(shù)據(jù)接收、基于HDLC協(xié)議的數(shù)據(jù)發(fā)射。測試結果證實了從前向通道輸入的132 Mbyte/s并行輸入數(shù)據(jù),經過HDLC協(xié)議專用控制器電路處理后,輸出了25 Mbit/s的串行數(shù)據(jù);反之,25 Mbit/s的串行輸入數(shù)據(jù),經過專用控制器電路處理后,得到132 Mbyte/s的并行輸出數(shù)據(jù)。2塊HDLC串行通訊模塊板卡共擴展出了4路通道,100 Mbit/s的串行數(shù)據(jù)吞吐率了滿足了整機系統(tǒng)對帶寬的要求。

圖10 實測結果

3 結 語

為了滿足地面衛(wèi)星通訊等高速數(shù)據(jù)傳輸領域的要求,設計了一款支持PCI總線的HDLC協(xié)議專用控制器電路,PCI接口速率可達到132Mbyte/s,該電路可實現(xiàn)上位機和外部通訊設備數(shù)據(jù)的高速、透明傳輸,已成功應用于整機系統(tǒng)中。

[1]PCISpecial Interest Group.PCI Local Bus Specification Revision2.3[S].2001.

[2]ISO/IEC 13239,Information Technology+Telecommunica tion Exchange between Systems+High+Level Data Link Control(HDLC)Procedures[S].Switzerland:Jul,2002.

[3]應三叢.基于FPGA的HDLC協(xié)議控制器[J].四川大學學報:自然科學版,2008(40):116+120.

[4]謝希仁.計算機網(wǎng)絡[M].第二版,北京:電子工業(yè)出版社,1999.

[5]HENRIKSSON T,LIU DAKE.Implementation of Fast CRC Calcul+ation[C]//Proceedings of t he Asia and South Pacific,DesignAutomatation Conference.2003:563+564.

[6]FAWCETT B K.DESIGNING PCIBus InterfaceswithPro+ grammable Logic[C].//Proceedings of the Eighth Annu+ al IEEE International,1995.321+324.

[7]張煒,沈德剛.基于FPGA的PCI總線接口設計與實現(xiàn)[J].計算機與數(shù)字工程,2009,37(5):174+177.

[8]IEEE.Hardware Description Language Based on the Ver+ ilog Hardware Description Language[S].IEEE Std 1364+1995,1955.

E+mail:limingic@163.com

劉富發(fā)(1987—)男,河南濮陽人,碩士,主要研究方向為ASIC設計;

魏敬和(1971—)男,安徽安慶人,博士,主要研究方向為系統(tǒng)芯片SoC設計。

Design of HDLC Protocol Controller w ith PCI Bus

QIAN Lin+ming,LIU Fu+fa,WEIJing+he
(The 58th Research Institute of CETC,Jiangsu Wuxi214005,China)

In terrestrial satellite communications,in order tomeet the demands of the faster PC andmore reliable receive external communicationdata,a high+level data link control(HDLC)Protocol Controller with Peripheral Component Interconnect(PCI)bus is designed.The structure of circuit system and the achieved of specific modules are described and the simulation waveforms is given.The simulation tests show that the circuit can meet the system requirements and PCI interface rates up to 132 Mbyte/s.

HDLC;PCIbus;controller

TN47

:A

:1673+5692(2014)06+648+05

錢黎明(1981—),男,安徽蕪湖人,碩士,主要研究方向為系統(tǒng)芯片SoC設計;

10.3969/j.issn.1673+5692.2014.06.019

2014+08+19

2014+10+24

猜你喜歡
狀態(tài)機板卡校驗
基于有限狀態(tài)機的交會對接飛行任務規(guī)劃方法
基于PCI9054的多總線通信板卡的研制
測控技術(2018年3期)2018-11-25 09:45:46
基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
測控技術(2018年12期)2018-11-25 09:37:42
爐溫均勻性校驗在鑄鍛企業(yè)的應用
一種基于光纖數(shù)據(jù)傳輸?shù)亩喟蹇ㄜ浖绦驘龑懠夹g
大型電動機高阻抗差動保護穩(wěn)定校驗研究
電測與儀表(2015年1期)2015-04-09 12:03:02
基于加窗插值FFT的PMU校驗方法
鍋爐安全閥在線校驗不確定度評定
一種通用模擬量及開關量信號采集板卡的設計
FPGA設計中狀態(tài)機安全性研究
黑龍江科學(2011年2期)2011-03-14 00:39:36
巫山县| 南江县| 宜兴市| 阳城县| 富川| 渝中区| 大邑县| 西城区| 双桥区| 新巴尔虎右旗| 旅游| 商城县| 凭祥市| 花莲县| 襄汾县| 繁昌县| 赣州市| 竹山县| 冕宁县| 弥勒县| 上思县| 通城县| 宣城市| 手游| 汉阴县| 牟定县| 会昌县| 板桥市| 汕尾市| 涿鹿县| 香格里拉县| 团风县| 柏乡县| 辉县市| 久治县| 三门峡市| 昭苏县| 桓台县| 公安县| 连云港市| 成武县|