劉光祖??,張強,仲雅莉
(南京理工大學電子工程與光電技術學院,南京210014)
基于RapidIO協(xié)議的光纖通信系統(tǒng)設計與實現(xiàn)?
劉光祖??,張強,仲雅莉
(南京理工大學電子工程與光電技術學院,南京210014)
為了滿足嵌入式系統(tǒng)對高速數(shù)據(jù)傳輸?shù)男枨?,提出了一種基于RapidIO協(xié)議的光纖通信系統(tǒng)解決方案。利用光模塊實現(xiàn)光、電信號的轉換,高速收發(fā)器實現(xiàn)物理層協(xié)議,現(xiàn)場可編程門陣列芯片實現(xiàn)邏輯層協(xié)議。測試結果表明,所提方案成本低,性能可靠,數(shù)據(jù)吞吐率達到1.25 Gb/s。該方案已成功應用于電子不停車收費系統(tǒng)中。
光纖通信;高速收發(fā)器;嵌入式系統(tǒng);電子不停車收費
近年來,隨著嵌入式多核處理器的涌現(xiàn)以及處理器主頻的迅速提高,嵌入式系統(tǒng)的數(shù)據(jù)吞吐率越來越高,對寬帶數(shù)據(jù)傳輸?shù)男枨笠苍絹碓狡惹?。由于光纖通信具有通信容量大、傳輸距離遠、抗干擾能力強等優(yōu)點,使其從多種通信方式中脫穎而出,成為寬帶數(shù)據(jù)通信系統(tǒng)的首選。光纖通信可以采用多種協(xié)議來實現(xiàn),如RapidIO、PCIE(Peripheral Component
Interconnect Express)和以太網(wǎng)。RapidIO最大的優(yōu)勢在于其專門應用于嵌入式系統(tǒng),與以太網(wǎng)復雜的多層協(xié)議相比,其協(xié)議更為簡單,占用的系統(tǒng)資源更少;與PCIE相比,RapidIO支持多種類型的拓撲結構,靈活性更強。正因為這些獨有的優(yōu)勢,使得RapidIO協(xié)議在嵌入式系統(tǒng)中的應用越來越廣泛。
本文提出了一種基于RapidIO協(xié)議的點對點光纖通信系統(tǒng),系統(tǒng)包括SFP(Small Form-factor Pluggables)模塊、高速收發(fā)器和現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)3部分。SFP模塊實現(xiàn)光、電信號的轉換,高速收發(fā)器實現(xiàn)RapidIO物理層協(xié)議,參考RapidIO的請求-響應機制,在FPGA中實現(xiàn)了邏輯層協(xié)議。本方案的優(yōu)點是能最大限度地降低FPGA資源的使用,且數(shù)據(jù)傳輸穩(wěn)定可靠。
RapidIO技術是具有可擴展性的、基于包交換的新型互連技術,它是專門應用于無線應用框架、邊緣網(wǎng)絡、科學、軍用和工業(yè)市場的高性能網(wǎng)絡結構。如圖1所示[1],RapidIO協(xié)議分為3層,即邏輯層、傳輸層和物理層。邏輯層定義了一系列的I/O邏輯操作。傳輸層就是系統(tǒng)級的尋址,這個傳輸規(guī)范獨立于任何RapidIO物理層或邏輯層規(guī)范,在使用器件ID作為系統(tǒng)級尋址方案的基礎上,RapidIO幾乎可以支持任何系統(tǒng)拓撲結構[2-3]。串行物理層包括物理編碼子層(Physical Coding Sublayer,PCS)和物理媒介附屬子層(Physical Media Attachment,PMA),進行對包的分析和定界。
圖1RapidIO協(xié)議層次結構Fig.1 The hierarchy structure of RapidIO protocol
3.1 系統(tǒng)整體架構與硬件設計
系統(tǒng)的整體架構如圖2所示,上層協(xié)議由FPGA邏輯實現(xiàn),RapidIO物理層主要由可配置的高速收發(fā)器實現(xiàn),高速收發(fā)器串行輸出和輸入分別為一對差分信號,通過交流耦合與SFP光模塊相連,SFP光模塊為收發(fā)一體模塊,完成電信號和光信號的相互轉換。
圖2 系統(tǒng)整體架構Fig.2 Architecture of the entire system
FPGA選擇Altera公司的Cyclone IV GX系列,提供更低的功耗和更低的成本,由于GX系列內部集成收發(fā)器,簡化了PCB設計,縮小了PCB面積。電路板布局簡圖如圖3所示,5 V電源輸入產(chǎn)生1.2 V、2.5 V和3.3 V 3個輸出電壓,其中1.2 V供給FPGA的核電壓和收發(fā)器,2.5 V供給收發(fā)器,3.3 V供給FPGA的I/O電壓和SFP光模塊。光模塊對電源要求較高,電源上的雜波將影響激光驅動器的輸出波形,導致眼圖變差,甚至不能正常通信,而且光模塊的接收端是小信號處理電路,很容易受到外界的干擾,潔凈的電源有助于提高接收靈敏度。所以,必須合理地設計電源濾波電路。在光模塊的電源接入端放置一個至少10μF的電容,濾除低頻噪聲;在電源與地之間放置一個0.01~0.1μF的電容,濾除高頻噪聲。時鐘和配置調試部分中,50 MHz有源晶振為FPGA提供用戶時鐘,時鐘芯片產(chǎn)生的156.25 MHz差分時鐘用于收發(fā)器的工作時鐘,配置則采用JTAG+AS的配置方式,調試電路是RS232串口調試。另外,圖中512 Mb容量的SDRAM提供數(shù)據(jù)存儲,接插件提供與上位機的交互操作。
圖3 硬件電路板結構圖Fig.3 Diagram of hardware circuit board
3.2 光模塊與高速收發(fā)器接口設計
本系統(tǒng)采用的光模塊接口電平標準為PECL或LVPECL,Cyclone IV GX高速收發(fā)器輸出支持1.5 V PCML電平標準,輸入支持1.4 V PCML、1.5 V PCML、2.5 V PCML、LVDS和LVPECL電平標準。由于交流耦合可以減少光模塊與其他芯片之間偏置電位上的牽連,耦合方式使用交流耦合。光模塊輸出提供LVPECL電平標準,而收發(fā)器輸入支持LVPECL電平的交流耦合。如圖4所示,光模塊輸入端差分信號擺幅VOD支持200~1 100 mV,而收發(fā)器輸出端VOD可配置為從400 mV到1 200 mV 6個等級,默認配置為800 mV即可。
圖4 差分信號波形Fig.4 Waveform of differential signal
3.3 高速收發(fā)器
如圖2所示,Cyclone IV GX高速收發(fā)器由PCS和PMA構成。發(fā)送通道PMA負責將并行信號串化為比特流,接收PMA在把串行數(shù)據(jù)轉換為并行數(shù)據(jù)之前要先進行時鐘數(shù)據(jù)恢復,從而產(chǎn)生接收并行數(shù)據(jù)所需的時鐘信號。發(fā)送通道PCS首先要經(jīng)過一個FIFO補償FPGA內核和發(fā)送通道PCS之間的相位差,這是因為收發(fā)器所需的時鐘要求較高,外部輸入的參考時鐘會經(jīng)過收發(fā)器專用的鎖相環(huán)電路產(chǎn)生收發(fā)器所需的各個時鐘(低速的并行數(shù)據(jù)時鐘和高速的串行數(shù)據(jù)時鐘),經(jīng)過相位補償FIFO,就能保證收發(fā)器內并行數(shù)據(jù)和串行數(shù)據(jù)保持高度同步。PCS內的8b/10b編碼器是RapidIO協(xié)議所規(guī)定的部分,它將8 b的數(shù)據(jù)編碼為10 b的數(shù)據(jù),一方面平衡了位流中0與1的個數(shù)即直流平衡,另一方面,編碼后的10 b可分為數(shù)據(jù)字和控制字。接收通道PCS就是利用控制字K28.5(RapidIO協(xié)議所規(guī)定)進行字節(jié)同步,然后8b/10b解碼后同樣經(jīng)過相位補償FIFO進入FPGA。在Quartus II軟件中調用ALTGX IP核,可以配置收發(fā)器各種參數(shù),本方案輸入?yún)⒖紩r鐘為50 MHz,位寬為8,輸出串行數(shù)據(jù)率為1.25 Gb/s。
3.4 FPGA邏輯功能
由于是點對點的通信,RapidIO的傳輸層和邏輯層占用過多的資源,本方案在參考RapidIO協(xié)議的基礎上,自定義了基于發(fā)送和響應的上層協(xié)議,在保證可靠性的前提下占用最少的資源,將更多的資源留作其他的信號處理功能。如圖5所示,上層協(xié)議可以分為3個模塊。
圖5 上層協(xié)議結構Fig.5 Structure of the upper layer protocol
3.4.1 收發(fā)器復位時序
為了保證收發(fā)器正常穩(wěn)定地工作,除了良好的電源和時鐘外還需要對其進行合理的復位操作。收發(fā)器一共有4個復位信號,pll-areset信號用于復位收發(fā)器內部鎖相環(huán)電路,tx-digitalreset信號用于復位發(fā)送PCS內部的數(shù)字邏輯電路,rx-digitalreset用于復位接收PCS內部的數(shù)字邏輯電路,rx-analogreset信號用于復位接收通道的時鐘恢復電路。收發(fā)器復位時序如圖6所示,首先同時拉高4個復位信號,pll-areset拉高至少1μs,pll-locked變高時立即拉低tx-digitalreset,busy變低后至少兩個并行時鐘拉低rx-analogreset,rx-freqlocked變高后至少4μs拉低rx-digitalreset,至此結束復位時序。
圖6 收發(fā)器復位時序Fig.6 Reset timing of transceiver
3.4.2 發(fā)送模塊設計
圖5所示,發(fā)送模塊包括發(fā)送時序控制、循環(huán)冗余校驗(Cyclical Redundancy Check,CRC)校驗值產(chǎn)生和發(fā)送緩沖區(qū)3個部分。
發(fā)送幀格式如圖7所示。同步字、幀頭和幀類型字段各占用一個字節(jié),其中同步字為上文提到的K28.5,即0xBC,幀頭為0xFB(參考RapidIO協(xié)議),幀類型包括控制幀、控制響應幀、數(shù)據(jù)幀、數(shù)據(jù)響應幀4種,對應的值分別為0x02、0x07、0x01、0x06,控制響應幀和數(shù)據(jù)響應幀都屬于響應幀,也可分為數(shù)據(jù)幀、控制幀和響應幀3種;數(shù)據(jù)長度字段占用2個字節(jié),其值為數(shù)據(jù)長度字段和數(shù)據(jù)字段的總字節(jié)長度;CRC字段占用2個字節(jié),其值為數(shù)據(jù)長度和數(shù)據(jù)的CRC-16校驗值;幀尾字段占用一個字節(jié),為0xFD(參考RapidIO協(xié)議)??刂茙晚憫獛瑳]有數(shù)據(jù)長度字段、數(shù)據(jù)字段以及CRC字段。
圖7 發(fā)送幀格式Fig.7 Format of send frame
發(fā)送程序流程圖如圖8所示,當發(fā)送模塊檢測到“發(fā)送有效”信號的上升沿時,啟動發(fā)送流程。發(fā)送模塊首先判斷幀類型,根據(jù)幀類型來選取不同的組幀的方式。對于數(shù)據(jù)幀來說,發(fā)送緩沖區(qū)的前兩個字節(jié)存放了待發(fā)送數(shù)據(jù)的長度,發(fā)送模塊根據(jù)這個長度信息完成數(shù)據(jù)幀的組幀。組幀的同時,產(chǎn)生CRC校驗值,并利用延時模塊配合發(fā)送的時序,使得數(shù)據(jù)字段與CRC校驗值字段準確拼接。對于控制和響應幀來說,由于沒有實際數(shù)據(jù),只需簡單地組幀即可完成發(fā)送流程。發(fā)送完成后會通知總控制模塊并返回空閑狀態(tài),此時發(fā)送模塊的所有相關寄存器清零,等待下一次的“發(fā)送有效”信號。
圖8 發(fā)送程序流程圖Fig.8 Flowchart of send program
3.4.3 接收模塊設計
如圖5所示,接收模塊包括接收時序控制、CRC校驗和接收緩沖區(qū)3個部分。
接收程序的流程圖如圖9所示,在接收使能的情況下,只要檢測到幀頭0xFB便開始接收數(shù)據(jù)。對于數(shù)據(jù)幀,首先計算幀長度,根據(jù)接收數(shù)據(jù)長度并將數(shù)據(jù)寫入接收緩沖區(qū),同時開始CRC校驗,若CRC校驗正確,則完成接收,若CRC校驗錯誤,則通知總控制模塊,返回空閑狀態(tài)。對于控制幀和響應幀,無需其他處理即可完成接收。接收完成后接收模塊會發(fā)送響應的信號通知總控制模塊,此時接收模塊清零相關寄存器的值并返回空閑狀態(tài)。提供與外部模塊接口的模塊。細分下來,主要有如下幾大功能。
圖9 接收程序流程圖Fig.9 Flowchart of receive program
(1)外部發(fā)送信號響應
除了對發(fā)送緩沖區(qū)寫數(shù)據(jù),總控制模塊負責所有對外的輸入接口,外部所有的發(fā)送需求全部通過總控制模塊“翻譯”給發(fā)送模塊。
(2)對外輸出信號發(fā)送
除了從接收緩沖區(qū)讀數(shù)據(jù),總控制模塊負責所有對外輸出接口,如發(fā)送是否完成、是否接收到遠端的響應和是否超時等信息。
(3)超時重傳
總控制模塊內有超時計數(shù)器,一個數(shù)據(jù)幀發(fā)送時開始計數(shù),正確接收到這個幀對應的響應幀時停止計數(shù)并清零,否則產(chǎn)生超時信號并重傳這個幀。
(4)控制接收使能
接收模塊接收數(shù)據(jù)時必須保證之前接收到接收緩沖區(qū)的數(shù)據(jù)已經(jīng)被上位模塊讀取完畢,否則會導致錯誤。因此,總控制模塊控制接收使能,在上位模塊讀取接收緩沖區(qū)數(shù)據(jù)時停止接收模塊接收數(shù)據(jù),讀取完成后繼續(xù)使能接收模塊,即是起到了保護接收緩沖區(qū)的作用。
(5)優(yōu)先級控制
總控制模塊不可避免的會同時收到多個發(fā)送需求,可能是外部需求也可能是內部需求,總控制模塊必須一個不落的響應它們并解決沖突,所以總控制模塊需要給每一種發(fā)送需求定義優(yōu)先級。在這里,總控制模塊并不是立刻響應外部或者內部的發(fā)送需求,而是把它們放入發(fā)送等待區(qū),只有在發(fā)送模塊空閑時才去發(fā)送等待區(qū)響應優(yōu)先級最高的發(fā)送需求。
本方案的邏輯層協(xié)議規(guī)定,發(fā)送方必須接收到接收方正確接收數(shù)據(jù)幀的響應,即完成一次成功通信的握手才能發(fā)送下一幀數(shù)據(jù),這樣的通信方式在滿足數(shù)據(jù)傳輸速率的要求下,是最為簡單穩(wěn)定的。
3.4.4 總控制模塊設計
總控制模塊是控制發(fā)送和接收模塊合理工作并
由于是點對點通信,本方案自定義了上層邏輯以節(jié)省FPGA的邏輯資源,綜合結果顯示,在EP4CGX110中,帶有三層協(xié)議的RapidIO的IP核占用8%的邏輯資源,而本方案占用邏輯資源僅為4%。
圖10和圖11為SignalTap軟件在時鐘頻率125 MHz抓取的數(shù)據(jù)。圖10所示為一個完整的發(fā)送過程,“txvalid”信號上升沿指示開始發(fā)送數(shù)據(jù),發(fā)送數(shù)據(jù)按圖7所示的幀結構組幀,同時和CRC數(shù)據(jù)時序相配合。圖11所示為在接收到數(shù)據(jù)幀并且CRC校驗正確后(“crcvalid”變高時“crcbad”為低)會發(fā)送一個對應的響應幀。
圖10 發(fā)送時序圖Fig.10 Diagram of send timing
圖11 接收時序圖Fig.11 Diagram of receive timing
為測試光纖通信系統(tǒng)的性能,兩塊光通信板通過200 m的光纖連接,兩邊同時循環(huán)發(fā)送1 kB的數(shù)據(jù),超時時間設置為0x11FF(為正常通信最長時間的3倍),測試時間為24 h。結果顯示兩邊超時均沒有發(fā)生,說明此系統(tǒng)有較強的可靠性。
光纖通信系統(tǒng)實物如圖12所示,通過接插件架在上位機板上與之連接,光纖通信協(xié)議是對上位機不可見的,上位機只需通過簡單的接口即可讀寫光纖收發(fā)的數(shù)據(jù)。
圖12 光纖通信系統(tǒng)照片F(xiàn)ig.12 Picture of the optical fiber communication system
本文實現(xiàn)的光纖通信系統(tǒng)已應用于電子不停車收費系統(tǒng)(Electronic Toll Collection,ETC)中,也可應用于其他要求大帶寬、高可靠性、遠距離數(shù)據(jù)傳輸?shù)南到y(tǒng)中,具有一定的普適性。本方案的優(yōu)點是實現(xiàn)成本低,性能可靠,數(shù)據(jù)吞吐率達到1.25 Gb/s。如今的雷達與通信系統(tǒng)中,信號處理的數(shù)據(jù)量越來越大,所需的FPGA資源越來越多,本系統(tǒng)在保證數(shù)據(jù)傳輸穩(wěn)定快速的同時,還能最大限度地降低FPGA的資源占用,為信號處理留出更多的資源。
今后的研究重點是組建基于RapidIO協(xié)議的光纖互連網(wǎng)絡,通過交換設備實現(xiàn)一個星型的互連系統(tǒng)。在本文的基礎上,還要加入傳輸層協(xié)議[4]和更加復雜的邏輯層協(xié)議。
[1]史為民,施春輝,柴小麗,等.基于FPGA的RapidIO-FC轉接橋設計[J].計算機工程,2010,36(19):291-293. SHI Wei-min,SHI Chun-hui,CHAI Xiao-li,et al.Design of RapidIO-FC Switching Bridge Based on FPGA[J].Computer Engineering,2010,36(19):291-293.(in Chinese)
[2]施春輝,柴小麗,宋慰軍,等.基于SoPC的前端RapidIO接口設計[J].計算機工程,2011,37(20):239-245. SHI Chun-hui,CHAI Xiao-li,SONG Wei-jun,et al.Design of Front RapidIO Interface Based on SoPC[J].Computer Engineering,2011,37(20):239-245.(in Chinese)
[3]Fuller S.RapidIO:嵌入式互聯(lián)系統(tǒng)[M].王勇,林粵偉,吳冰冰,等,譯.北京:電子工業(yè)出版社,2006. Fuller S.RapidIO:The Embedded System Interconnect[M]. Translated by WANG Yong,LIN Yue-wei,WU Bing-bing,et al.Beijing:Publishing House of Electronic Industry,2006.(in Chinese)
[4]ZHANG Yong,WANG Yong,ZHANG Ping.Research on physical layer traffic management schemes in serial RapidIO interconnect[J].Journal of China Universities of Posts and Telecommunication,2011(01):64-69.
LIU Guang-zu was born in Jinan,Shandong Province,in 1978.He is now a lecturer and currently working toward the Ph.D.degree.His research interests include communication signal processing and software defined radio.
Email:hilda2004@163.com
張強(1988—),男,江蘇無錫人,2010年于南京理工大學獲學士學位,現(xiàn)為南京理工大學碩士研究生,主要研究方向為通信與信息系統(tǒng);
ZHANG Qiang was born in Wuxi,Jiangsu Province,in 1988. He received the B.S.degree from Nanjing University of Science and Technology in 2010.He is now a graduate student.His research interests include communication and information system.
仲雅莉(1987—),女,江蘇徐州人,2010年于南京理工大學獲學士學位,現(xiàn)為南京理工大學碩士研究生,主要研究方向為通信與信息系統(tǒng)。
ZHONG Ya-li was born in Xuzhou,Jiangsu Province,in 1987.She received the B.S.degree from Nanjing University of Science and Technology in 2010.She is now a graduate student.Her research interests include communication and information system.
Design and Implementation of a Fiber-optic Communication System Based on RapidIO Protocol
LIU Guang-zu,ZHANG Qiang,ZHONG Ya-li
(School of Electronic Engineering and Optoelectronic Technology,Nanjing University of Science and Technology,Nanjing 210014,China)
In order to meet the demands of high-speed data transmission in embedded systems,a fiber optic communication system solution is proposed based on RapidIO protocol.The conversion of the optical to electrical signals is executed by optical modules.The high-speed transceiver is employed to realize the physical layer protocol and Field-Programmable Gate Array(FPGA)is adopted to acheive the logic layer protocol.The test results demonstrate that the program is cost-effective and reliable.With the data throughput of 1.25 Gb/s,the proposed scheme has been successfully applied in an electronic toll collection(ETC)system.
fiber-optic communication;high-speed transceiver;embedded system;ETC
date:2012-11-09;Revised date:2013-03-14
??通訊作者:hilda2004@163.comCorresponding author:hilda2004@163.com
TN929.11
A
1001-893X(2013)07-0840-05
劉光祖(1978—),男,山東濟南人,講師,博士研究生,主要研究方向為通信信號處理、軟件無線電;
10.3969/j.issn.1001-893x.2013.07.003
2012-11-09;
2013-03-14