余暉冬,龔昊龑,王書磊
應用研究
基于FPGA+DSP架構的RapidIO接口硬件技術與實現
余暉冬,龔昊龑,王書磊
(中國人民解放軍92145部隊,上海 200080)
RapidIO傳輸效率高、系統成本低、系統穩定性好,在高性能嵌入式系統中得到了廣泛的應用。傳統的RapidIO總線致力于解決器件間、板間和子系統間等同一機箱內或同一系統內的背板互連問題。為使多個嵌入式系統互聯保持總線的一致性,并能在機箱間使用RapidIO總線,需要對RapidIO總線的使用范圍進行擴展。本文提出了基于FPGA+DSP架構的通用RapidIO接口硬件實現方案。通過引入光電模塊,將RapidIO的LVDS信號轉換成光信號,在機箱間傳輸信號,成功拓展了RapidIO傳輸距離,解決了RapidIO傳輸距離局限于一個機箱內的問題主要從硬件方面對RapidIO接口實現方案進行闡述。最后搭建實驗平臺對所實現的RapidIO總線進行了連通性測試,證明了此種方案的可行性。
RapidIO 嵌入式互連 FPGA DSP
嵌入式總線的總體發展迅猛,新的總線不斷推出,其中具有代表性的總線有:Hyper Transport、PCI Express、InfiniBand、RapidIO等[1]。經過不斷地發展,RapidIO已經成為嵌入式互連技術方面唯一一個得到授權的標準。RapidIO己經成為電信、通信行業以及高性能嵌入式系統中的芯片與芯片之間、板間、背板間互連技術的主要手段,幾乎所有嵌入式系統芯片設備供應商都加入了RapidIO行業協會[2]。RapidIO總線被最廣泛地應用于嵌入式系統中[3]。
隨著嵌入式系統的不斷發展,所支持的系統不再局限于一個機箱內,如何擴展RapidIO,使之適應較遠距離嵌入式系統的互聯,是亟待解決的問題。對于如何擴展RapidIO的傳輸距離,我們將RapidIO底層的差分電信號轉換成光信號,成功地延伸了RapidIO的傳輸距離,并解決了RapidIO僅能在一個機箱內使用的問題。至今,人們對如何實現RapidIO軟件協議研究較多,對RapidIO的硬件平臺的實現研究較少。對于希望使用RapidIO接口的設備來說,硬件實現具有一定的靈活性,使用FPGA+DSP結構是現代嵌入式系統的流行框架,在該框架上實現RapidIO接口具有重大的現實意義。
RapidIO接口分為兩大部分,第一部分由FPGA、DSP得到實現RapidIO接口的高速串口,FPGA通過其本身的引腳加相應的外接耦合電路構成物理接口,DSP與FPGA通過EMIF接口互聯,DSP使用FPGA中的邏輯資源實現RapidIO的軟件協議;第二部分為光電電路,通過引入光電轉換器將高速串口的差分電信號轉換成可以遠程高速穩定傳輸的光信號,實現RapidIO接口的傳輸距離的擴展。
由FPGA和DSP協同實現的RapidIO接口硬件設計原理如圖1所示。

圖1 RapidIO接口硬件設計原理
DSP通過EMIF接口對FPGA內部邏輯資源及硬核進行控制,靈活實現RapidIO物理層以上的協議,并能根據需要靈活擴展多個其他類型接口。FPGA提供豐富的硬件資源,如高速串口、邏輯資源、布線資源、硬核資源等。二者配合起來實現RapidIO數據到電信號的轉換,提供高速串口接口。光電電路負責解決高速串口與其他接口連接時的匹配問題,使電路的設計符合高速串口規范要求,實現穩定的通信,并最終將電信號轉換成光信號,實現遠距離傳輸。
該系統采用Altera公司的StratixⅡ GX系列芯片[4]。Altera公司的StratixⅡ GX系列芯片內嵌專用硬核[5]能極大提高工程效率。并且在相同的成本下能提供更多的邏輯容量及更好的穩定性。StratixⅡ GX系列FPGA采用先進的90 nm技術構建,與同類產品相比,DSP資源多出4倍,I/O資源多出21%,邏輯資源多出5%,存儲資源多出50%。運算速度更快,邏輯占用率降低25%。是市面上主流的FPGA之一。DSP芯片選用TI公司的TMS320C6000系列芯片[6]。TMS320C6000系列DSP采用VelociTI超長指令字的體系結構,可以在單周期內執行多條指令[7]。性能上遠遠超越傳統的DSP。
RapidIO接口模塊的DSP相關硬件設計主要包括電源設計、時鐘設計、復位設計等。
DSP工作電源需要穩定的直流1.2 V和3.3 V,1.2 V是DSP中實現邏輯處理的電壓值,而為DSP提供時鐘的DSP內部鎖相環(PLL)的驅動電壓需要3.3 V。
DSP的3.3 V電壓供電原理如圖2所示。

圖2 DSP中3.3 V電壓供電設計
由外部電源提供的正5 V電源經過LC電路(由電感和電容組合而成的電路)濾波,再經過電源轉換芯片TOS0605SM轉換后得到3.3 V電壓值輸出,輸出再經過電容濾波,濾除高頻分量,得到穩定的3.3 V電壓值。在轉換好的3.3 V電壓和供給DSP的3.3 V電源之間有一個電阻,阻值為0,當通過該電阻的電流過大時,電阻燒毀,形成斷路。這樣主要是避免電路中有短路現象時,電流過大而引起DSP損壞,起到保險絲的作用。同時電阻值很小,由電阻上引起的電壓的變化也較小,不會影響到正常工作情況下提供給DSP的電壓值。
與DSP的3.3 V供電不同,DSP的1.2 V電壓由電源轉換芯片TPS74901經過轉換得到。TPS74901是一款能夠提供穩定電壓轉換的電源芯片[8],具有很好的性能。外部3.3 V電源輸入,配置好外部電阻參數后可以得到1.2 V輸出電壓。TPS74901的說明書中列舉了R107和R101的不同電阻值組合對應的輸出電壓值。理論上R101的阻值為2.49,R107的阻值為4.99。為減少高頻干擾,在電源轉換芯片的輸入和輸出端加入對地電容。DSP的1.2 V電源供電原理如圖3所示。

圖3 DSP中1.2V電壓供電設計
DSP的時鐘供給硬件設計如圖4所示。DSP的時鐘由本地晶振產生一個25 MHz的時鐘,經過倍頻芯片CY2308SI[9]得到DSP需要的三個時鐘:BECLKIN、DSPCLK、AECLKIN。CY2308SI的輸出經過阻值很小的電阻之后與DSP的輸入引腳相連。

圖4 DSP中時鐘設計
DSP的復位主要有人工復位和軟件復位。二者任意一個有效即可對DSP進行復位。復位原理如圖5所示:

圖5 DSP中復位設計
DSP復位要求低電平持續10個周期,否則不復位,軟件復位可以人工編程控制低電平持續時間,無需特殊考慮。而人工復位無法準確控制低電平持續時間,在復位按鍵和DSP的3.3 V之間加入兩個電容,當復位鍵按下之后,電容放電,復位鍵松開后,電容充電,使得74HC08的第1個和第2個管腳能保持一定時間的低電平,從而使得低電平持續時間達到要求。通過調整電容的大小來調整低電平持續的時間,不需要人為地長按復位鍵,更加方便簡潔,減少調試過程中不必要的麻煩。
RapidIO接口模塊的FPGA的相關硬件設計主要包括電源設計、時鐘設計、復位設計和高速串口設計等。
FPGA工作電源需要穩定的直流1.2 V和3.3 V,1.2 V是FPGA中實現邏輯處理的電壓值,而為FPGA提供時鐘的FPGA內部鎖相環(PLL)[10]的驅動電壓以及相關管腳上的邏輯1的電平需要3.3 V。
FPGA的3.3 V電壓的設計與DSP相同,均由同一個芯片轉換得到,具體設計參考DSP電壓設計,此處不再贅述。
FPGA的1.2 V電壓供電設計如圖6所示。FPGA的功耗相對DSP較大,選用芯片TOS0605SM芯片作為電源轉換芯片,該芯片最大輸出電流達到6 A,可以滿足FPGA工作時對電流的要求。該設計和3.3 V電源設計類似,通過改變外圍電路的參數,調整輸出電壓,得到要求的輸出電壓值。

圖6 FPGA中1.2 V電壓供電設計
FPGA內部集成有鎖相環,需要外部輸入一個差分時鐘作為時鐘源。FPGA時鐘設計如圖7所示。

圖7 FPGA中時鐘設計
外部時鐘或者本板晶振產生一個輸入時鐘,通過時鐘芯片MC100EL16 V轉化成差分時鐘,經過兩個電容隔去直流后,再加上一個穩定的直流電壓偏置,作為FPGA的輸入時鐘。FPGA為外部提供了差分時鐘輸入接口,相應管腳屬性設置如表1所示:

表1 FPGA中時鐘管腳屬性設置
相對DSP復位設計來說,FPGA復位較為簡單,FPGA的復位操作是由程序完成,而不是由硬件完成。通過一個普通的輸入引腳,將復位信號輸入FPGA,程序對輸入的電平進行判定,然后對FPGA進行復位。且通過硬件對FPGA復位進行控制的只有人工復位,其余的復位信號直接通過引腳輸入FPGA,FPGA在內部編程實現各復位信號的綜合控制。FPGA復位外部硬件電路設計如圖8所示。

圖8 FPGA中復位設計
當按下復位鍵后,電容不斷放電,1點電壓不斷減小,直至為0,輸入有效的復位信號。當松開復位鍵后,電容不斷充電,直至電壓為3.3 V。加入電容可以防止按復位鍵時產生的抖動而使得FPGA中無法正常判斷輸入復位的邏輯。在抖動的過程中,時間很短,電容來不及充放電,故1點的電壓基本保持不變,輸入的復位邏輯保持不變。
FPGA高速串口的設計主要包括引腳的選擇及屬性的設置。StratixⅡ GX 系列FPGA為用戶提供豐富的高速串口資源。考慮PCB布板的合理性,選用其中一組作為高速串口接口即可。FPGA中高速串口設計如表2所示。

表2 FPGA中高速串口設計
選擇E1和E2作為高速串口中接收端,選擇C4和C5作為高速串口中的發送端。
高速串口的外圍硬件電路的設計主要包括FPGA高速串口與光電轉換器連接的設計以及光電轉換器相關硬件設計。
FPGA高速串口與光電轉換器連接的電路主要完成光纖接口和FPGA接口之間的信號轉化和匹配的問題,通過轉化實現信號的正常識別和連通。高速串口和光電轉換器的連接如圖9所示。

圖9 高速串口外圍電路設計
電路主要分為兩個部分,接收部分和發射部分。對于兩部分電路來說,原理相同。從獨立的數據通路來看,均是在數據的輸出端首先經過一對電容隔去直流影響,再經過較長的布線到達數據的接收端,在接收端再加入隔值電容(阻止直流信號通過),然后通過上拉和下拉電阻,給差分信號一個穩定的直流偏置,將偏置之后的信號送給數據的接收端。從整體來看,發射部分和接收部分不同之處主要在于各通路的信號流向不同。對于發送通路來說,信號是由FPGA流向光電轉換器;對于接收通路來說,信號流向是光電轉換器流向FPGA。由于信號的流向相反,硬件電路的設計也相反。且在發射部分,省去了光纖接口附近的電容。發射部分和接收部分的另外一個不同點就是供電的電源不同,導致直流偏置的電源也不同。FPGA接口由FPGA的3.3 V供電,故偏置電路中也用FPGA3V3(FPGA的3.3 V電源)來驅動偏置電路,而光纖接口由D3V3(外部電源直接提供的3.3 V電源)供電,故靠近光纖接口的偏置電路由D3.3 V來驅動。
光電轉換器的設計主要就是光電轉換器型號的選取及外圍電路的設計。光電轉換器型號選用0EA02-F04-343-313-01Y。
光電轉換器的相關電路設計如圖10所示。

圖10 光電轉換器電路設計
光電轉換器的電源是由外部提供的3.3 V電源經過LC濾波得到的直流電源。接收和發射分別供電。特別設計一個LED燈指示接收是否出錯。
將該RapidIO接口模塊引入到無線電通信系統中,由于發送時功率較大,所以發信系統基帶信號處理系統和射頻信號處理系統之間物理上相隔較遠,必須使用遠距離的RapidIO傳輸信號。
對于發射通路,音頻信號源SFG-2104函數信號發生器產生2 K的基帶信號,經基帶信號處理系統處理完畢后,將基帶信號通過RapidIO接口傳送到射頻信號處理系統。射頻模塊將信號采用上邊帶調制方式進行處理,載頻為3 M,最終得到3.002 M射頻信號。示波器1通道測試基帶模塊的輸入音頻測試點,2通道測試射頻模塊輸出射頻信號。實驗結果如圖11所示。

圖11 發射通路實驗結果圖
圖11中示波器上方為音頻輸入信號,下方為射頻輸出信號。可以證明基帶單元到射頻單元的數據發送通路正常。
結果證明,信號可以通過RapidIO接口進行傳輸。
文章詳細介紹了基于FPGA+DSP架構的RapidIO接口的硬件設計與實現。主要從硬件基礎平臺、RapidIO接口模塊的設計與實現兩個方面介紹了RapidIO的硬件設計。硬件的設計所用到的芯片主要有FPGA、DSP、光電轉換器、電源芯片、晶振等。而對于每種芯片在硬件實現中的應用都做了詳細的說明。最后對該硬件設計的可行性進行了實驗驗證。該種RapidIO接口的設計思想,將光電轉換器的引入到系統中,成功地擴展了RapidIO的傳輸距離,具有較強的實用性。文章最后對RapidIO的可用性進行了驗證,但是對其性能沒有系統地驗證,有待進一步研究。
[1] Chini P, Giambrene G, Kota S.A Survey on mobile satellite systems[J]. International Journal of Satellite Communications, 2010,28(1): 29-57.
[2] 朱碧偉, 張捷, 田驊. 基于FPGA短波通信發信終端實現[J]. 微型電腦應用, 2011(8): 13-14.
[3] 宋宇飛, 李小平, 周正. 基于DDS芯片AD9852的數字短波通信發射機設計 [J]. 信息技術, 2012(5): 69-70.
[4] 王誠, 蔡海寧, 吳繼華. Altera FPGA/CPLD設計[M]. 北京: 人民郵電出版社, 2011.
[5] Altera Corporation.Stratix II GX device handbook, volume 1 [EB/OL]. 12343 Hymeadow, 101 Innovation DriveSan Jose, CA 95134, 2007.
[6] Texas Instruments. TMS320C6455 Fixed-Point Digital Signal Processor [EB/OL]. http://www.ti.com. Oct, 2007.
[7] 汪安民, 張松燦, 常春藤. TMS320C6000實用技術與開發案例 [M]. 北京: 人民郵電出版社, 2008.
[8] TPS74901 EVM-210 User Guide. [EB/OL]. http://www.ti.com. Oct, 2013.
[9] CY2308 3.3 V zero delay buffer. [EB/OL]. http://www.seekdatasheet.com. Oct, 2013.
[10] Altpll megafunction. [EB/OL]. http://www.altera.com/. Oct, 2013.
Design and implementation of Rapidio hardware interface based on FPGA+DSP
Yu Huidong, Gong Haoyan, Wang Shulei
(Navy Troop 92145, PLA, Shanghai 200080, China)
RapidIO Protocol has been widely used in high-performance embedded systems because of its high transmission efficiency, low system cost and good system stability. The traditional RapidIO bus is dedicated to realizing of backplane interconnection such as between devices, between boards or between subsystems in the same chassis or within the same system. In order to maintain the consistency of the bus for the interconnection of multiple embedded systems, and to make RapidIO bus applicable between chassis, The RapidIO bus range needs to be expanded. In this paper, the implementation scheme of general RapidIO interface hardware based on FPGA+DSP architecture is proposed. By introducing the photoelectric module, the RapidIO LVDS signal is converted into an optical signal, and the signal is transmitted between the chassis, which successfully expands the RapidIO transmission distance and solves the problem that the RapidIO transmission distance is limited to in one chassis. The RapidIO interface implementation scheme from the hardware aspect is expounded. Finally, the experimental platform is built to test the connectivity of the implemented RapidIO bus, which proves the feasibility of the scheme.
TP393.0
A
1003-4862(2022)01-0049-05
2021-03-17
余暉冬(1985-),男,研究生,助理工程師,主要從事通信技術。E-mail:yuhuidong1115@163.com