劉旭東,陳 晨
(中國科學(xué)院空間應(yīng)用工程與技術(shù)中心 北京100094)
基于RapidIO總線的VPX標(biāo)準(zhǔn)存儲板設(shè)計(jì)
劉旭東,陳 晨
(中國科學(xué)院空間應(yīng)用工程與技術(shù)中心 北京100094)
針對現(xiàn)代高性能嵌入式系統(tǒng)RapidIO總線信號接入的應(yīng)用需求,采用K7系列FPGA和mSATA盤設(shè)計(jì)了一款RapidIO接口存儲容量8TB的VPX標(biāo)準(zhǔn)存儲板。提出了一種基于AXI總線的RapidIO端口控制器IP核的設(shè)計(jì)方法。在FPGA內(nèi)部MircoBlaze上移植μcos-II系統(tǒng),編寫軟件實(shí)現(xiàn)數(shù)據(jù)在mSATA、控制器及內(nèi)存間高速傳輸?shù)恼{(diào)度。利用CPS1848交換芯片搭建RapidIO網(wǎng)絡(luò),搭建硬件環(huán)境測試了存儲板RapidIO接口有效數(shù)據(jù)傳輸速率,在5 Gb/s的鏈接狀態(tài)下讀操作可達(dá)1.3 GB/s,寫操作可達(dá)1.1 GB/s,表明該設(shè)計(jì)具有高速數(shù)據(jù)存儲性能。
RapidIO;VPX;mSATA;數(shù)據(jù)存儲;AXI總線
現(xiàn)代數(shù)字信號處理技術(shù)的發(fā)展,要求系統(tǒng)高速并實(shí)時(shí)傳輸大量數(shù)據(jù),這對傳輸數(shù)據(jù)總線提出了更高的要求。RapidIO這種高速串行總線具有帶寬高、延時(shí)低的特點(diǎn),為嵌入式系統(tǒng)內(nèi)部互聯(lián)通信提供了良好的解決方案[1-4]。另一方面,高速串行總線的應(yīng)用又對數(shù)據(jù)存儲提出了更高的要求,如何更高效實(shí)時(shí)的進(jìn)行數(shù)據(jù)存儲成為了新的研究方向。固態(tài)存儲這種完全采用半導(dǎo)體芯片作為數(shù)據(jù)存儲介質(zhì)和讀取機(jī)構(gòu)的存儲形式,摒棄了磁盤物理和機(jī)械特性的缺陷[5]?;诖?,本設(shè)計(jì)采用RapidIO總線結(jié)構(gòu)和mSATA固態(tài)硬盤,提出了一種基于VPX標(biāo)準(zhǔn)的存儲模塊設(shè)計(jì)方案。
1.1 RapidIO技術(shù)
RapidIO是由Motorola和Mercury等公司率先倡導(dǎo)的一種高性能、低引腳數(shù)、基于數(shù)據(jù)包交換的互連體系結(jié)構(gòu)[6-8],是為滿足現(xiàn)在和未來高性能嵌入式系統(tǒng)需求而設(shè)計(jì)的一種開放式互連技術(shù)標(biāo)準(zhǔn)。RapidIO主要應(yīng)用于嵌入式系統(tǒng)內(nèi)部互連,支持芯片到芯片、板到板間的通訊,可作為嵌入式設(shè)備的背板(Backplane)連接[9-11]。
Rapid IO協(xié)議采用三層分級體系結(jié)構(gòu),由邏輯層、傳輸層和物理層構(gòu)成[12],RapidIO規(guī)范層次結(jié)構(gòu)見圖1。邏輯層定義了所有協(xié)議和包格式,傳輸層為數(shù)據(jù)包從一個(gè)終端到另一個(gè)終端通道的必要信息,物理層描述了設(shè)備之間接口協(xié)議,例如包傳裝置,流量控制,電特性及低級錯(cuò)誤管理等[13]。Rapid IO分為并行 Rapid IO標(biāo)準(zhǔn)和串行 Rapid IO標(biāo)準(zhǔn),串行RapidIO是指物理層采用串行差分模擬信號傳輸?shù)腞apidIO標(biāo)準(zhǔn)。
圖1 RapidIO規(guī)范層次結(jié)構(gòu)
1.2 VPX標(biāo)準(zhǔn)
VPX標(biāo)準(zhǔn)是VME國際貿(mào)易協(xié)會于2007年提出的一種高速串行總線的總線標(biāo)準(zhǔn)。VPX標(biāo)準(zhǔn)對系統(tǒng)總線互聯(lián)、供電方式及板卡的尺寸、結(jié)構(gòu)及連接器信號定義等諸多方面,在VPX產(chǎn)品設(shè)計(jì)時(shí)針對不同層次、不同領(lǐng)域的用戶建立了共同的規(guī)范,具有高可靠、高性能和系統(tǒng)性的優(yōu)勢。本設(shè)計(jì)中板卡設(shè)計(jì)遵循VITA46和VITA65規(guī)范。
1.3 RapidIO總線架構(gòu)
RapidIO總線主要應(yīng)用于嵌入式系統(tǒng)內(nèi)部互聯(lián),支持芯片到芯片、板到板間通信,可作為嵌入式設(shè)備到背板的連接。設(shè)計(jì)中RapidIO總線數(shù)據(jù)流如圖2所示,如圖本設(shè)計(jì)通過 TSI721橋芯片將 1路 4x PCIE總線無縫轉(zhuǎn)換為1路4x RapidIO總線與交換芯片相連,同時(shí)存儲板上FPGA通過GTX引出1路4x RapidIO與交換芯片相連。本設(shè)計(jì)采用的交換芯片為IDT公司的CPS 1848,該芯片最高支持12路4x RapidIO (Rev.2.1)全交換,單根線路最高支持6.25 Gbps傳輸速率,峰值吞吐量為240 Gbps。
圖2 RapidIO總線數(shù)據(jù)流
本設(shè)計(jì)符合OpenVPX標(biāo)準(zhǔn),存儲模塊和交換節(jié)點(diǎn)均采用6U板卡實(shí)現(xiàn),背板拓?fù)洳捎肰ITA65中BKP6-CEN06-11.2.8-n,背板拓?fù)鋱D如圖3所示。如圖交換芯片設(shè)計(jì)在一塊6U主控板上,位于slot6位置,存儲板設(shè)計(jì)滿足VITA46標(biāo)準(zhǔn)。
圖3 背板拓?fù)鋱D
基于VPX46標(biāo)準(zhǔn),設(shè)計(jì)6U存儲板卡。存儲板結(jié)構(gòu)框架如圖4所示,板上FPGA通過GTX引出1路4x RapidIO與RT2連接器相連,實(shí)現(xiàn)存儲板與背板的RapidIO總線連接。同時(shí),F(xiàn)PGA提供8路mSATA接口,與板上8塊固態(tài)硬盤相連,實(shí)現(xiàn)數(shù)據(jù)存儲。FPGA選用Xilinx公司的XC7K325T-FFG900,該型號FPGA可提供16個(gè)GTX收發(fā)器,500個(gè)user IO。mSATA盤選用三星公司的850 EVO系列固態(tài)硬盤,單盤存儲容量為1TB,整盤容量為8TB。
圖4 存儲板原理框圖
2.1 FPGA設(shè)計(jì)
FPGA模塊內(nèi)部通過AXI總線上掛RapidIO控制器模塊、DDR3接口模塊、MircoBlaze控制器及AXI_SATA接口模塊,實(shí)現(xiàn)RapidIO總線接口到mSATA接口的轉(zhuǎn)換,實(shí)現(xiàn)數(shù)據(jù)存儲與讀出。FPGA結(jié)構(gòu)框架圖如圖5所示。
2.2 RapidIO控制器模塊
RapidIO控制器架構(gòu)分為3層,分別為RapidIO物理層,RapidIO Link Logic層和RapidIO應(yīng)用層。其中物理層和LinkLogic層采用的Xilinx官方現(xiàn)有IP核,RapidIO應(yīng)用層是參考RapidIO標(biāo)準(zhǔn)協(xié)議[4]和SATA協(xié)議開發(fā)制定的,該層分為Data Conv和AXI SDMA兩部分,Data Conv部分主要實(shí)現(xiàn)拆包解包功能以及一些消息回復(fù)功能,AXI SDMA主要實(shí)現(xiàn)接收Data Conv模塊的命令與數(shù)據(jù),并與軟件進(jìn)行命令的交互,與內(nèi)存進(jìn)行數(shù)據(jù)的交互。邏輯設(shè)計(jì)框圖如下:
圖5 FPGA內(nèi)部結(jié)構(gòu)圖
圖6 RapidIO分層結(jié)構(gòu)
2.3 MircoBlaze設(shè)計(jì)
設(shè)計(jì)中MircoBlaze是FPGA內(nèi)部軟核[16-17],開發(fā)軟件采用Xilinx自帶的SDK 16.3。SDK支持多種操作系統(tǒng)的移植,本設(shè)計(jì)中采用μcos-II操作系統(tǒng)。本設(shè)計(jì)中MicroBlaze實(shí)現(xiàn)接收邏輯給出的消息,并根據(jù)消息完成內(nèi)存與mSATA盤間的數(shù)據(jù)操作。圖7是MircoBlaze內(nèi)部軟件流程圖。
圖7 軟件設(shè)計(jì)流程圖
RapidIO定義了6類請求包格式和1類響應(yīng)包格式,支持讀操作 (NREAD)、寫操作(NWRITE、NWRITE_R)、 維 護(hù) 包 (Maintenance)、 門 鈴(Doorbell)、消息(Message)等操作[14-15]。軟件使用時(shí)首先對mSATA和μcos系統(tǒng)都進(jìn)行初始化。初始化后如果接到的消息為寫請求,通過SDMA中段將接到的消息上添加Address及Tag回復(fù)響應(yīng),外部接到響應(yīng)后將數(shù)據(jù)寫在內(nèi)存對應(yīng)的Address上,數(shù)據(jù)寫完后軟件收到DMA數(shù)據(jù)中斷,將內(nèi)存中數(shù)據(jù)通過mSATA寫操作,將數(shù)據(jù)寫到mSATA盤中;如果接到的消息為讀請求,通過SDMA中段將接到的消息上添加Address回復(fù)響應(yīng),發(fā)出響應(yīng)后將數(shù)據(jù)通過mSATA讀操作將mSATA中制定的邏輯塊地址上的數(shù)據(jù)讀出到內(nèi)存,再通過寫操作將內(nèi)存中數(shù)據(jù)寫到外部,數(shù)據(jù)寫完后軟件會發(fā)送一個(gè)門鈴給外部。
基于上述內(nèi)容,設(shè)計(jì)了1款符合VPX46標(biāo)準(zhǔn)的6U存儲板卡,該板卡采用Xilinx公司XC7K325TFFG900型號FPGA和三星公司的EVO850系列mSATA盤。單板提供1路4x RapidIO數(shù)據(jù)總線,8TB數(shù)據(jù)存儲容量及8GB的內(nèi)存容量。通過存儲板與主控板、背板搭建測試環(huán)境,在RapidIO總線為4x模式,包大小為4096 byte,讀寫操作的數(shù)據(jù)塊大小為2MB情況下,得到主控板與存儲板間傳輸速率如表1所示。
表1 RapidIO總線數(shù)據(jù)傳輸速率
文中提出了一種基于OpenVPX標(biāo)準(zhǔn)的RapidIO總線存儲模塊設(shè)計(jì)方案,包括硬件設(shè)計(jì)、邏輯設(shè)計(jì)和軟件設(shè)計(jì),并設(shè)計(jì)了相應(yīng)的測試環(huán)境對存儲板性能進(jìn)行測試,驗(yàn)證了該模塊可在通信系統(tǒng)中提供高速率、大容量的存儲功能。本設(shè)計(jì)具有很高的通用性,可以作為高性能數(shù)字信號處理系統(tǒng)中互連總線設(shè)計(jì)和數(shù)據(jù)存儲設(shè)計(jì)的參考方案。
[1]王輝球.一種基于FPGA的Serial RapidIO交換設(shè)計(jì)[J].電子世界,2014(6):122.
[2]蔡葉芳,田澤,李攀,等.一種RapidIO IP核的設(shè)計(jì)與驗(yàn)證[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014(10):97-100.
[3]徐維佳.基于FPGA的PCI Express與Rapid IO高速互連技術(shù)驗(yàn)證[D].西安:西安電子科技大學(xué),2014.
[4]許樹軍,黃镠,牛戴楠,等.基于FPGA的SerialRapidIO協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)[J].雷達(dá)與對抗,2015(4):36-38,49.
[5]步凱.基于RAID技術(shù)的固態(tài)存儲陣列系統(tǒng)的研究與設(shè)計(jì)[D].長沙:國防科學(xué)技術(shù)大學(xué),2008.
[6]陳劍波,侯衛(wèi)民,蔣景宏,等.基于RapidIO技術(shù)的數(shù)據(jù)交換系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2014(12):46-49.
[7]劉云鵬.基于FPGA的RapidIO總線接口設(shè)計(jì)、驗(yàn)證與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2013.
[8]劉芳,于禮華,李方偉,等.基于FPGA的RapidIO總線技術(shù)研究與實(shí)現(xiàn)[A].天津市電子學(xué)會.第二十七屆中國(天津)2013IT、網(wǎng)絡(luò)、信息技術(shù)、電子、儀器儀表創(chuàng)新學(xué)術(shù)會議論文集[C].天津市電子學(xué)會:,2013:4.
[9]吳海燕.基于RapidIO總線的信號處理平臺設(shè)計(jì)[D].成都:電子科技大學(xué),2009.
[10]陳宏銘,李蕾,姚益武,等.基于AXI總線串行RapidIO端點(diǎn)控制器的FPGA實(shí)現(xiàn)[J].北京大學(xué)學(xué)報(bào):自然科學(xué)版,2014(4):697-703.
[11]楊卿,楊萬麟.基于串行RapidIO協(xié)議的無線通信基帶處理系統(tǒng)架構(gòu)[J].現(xiàn)代電子技術(shù),2009(13): 103-105,115.
[12]Fuller S.RapidIO:The embedded system interconnect[M].2007.
[13]楊卿.RapidIO高速互聯(lián)接口的設(shè)計(jì)研究與應(yīng)用[D].成都:電子科技大學(xué),2009.
[14]李賓,馬曉川,鄢社鋒,等.基于VPX標(biāo)準(zhǔn)的RapidIO交換和Flash存儲模塊設(shè)計(jì)[J].聲學(xué)技術(shù),2011(6): 528-532.
[15]RapidIO Trade Association[M].RapidIOTM interconnects pecification,Part 1:Input/output logical specification,Version 1.3.2005.
[16]方文崇,梁壽愚.基于FPGA的智能變電站實(shí)時(shí)監(jiān)控系統(tǒng)高速視頻數(shù)據(jù)傳輸[J].電子設(shè)計(jì)工程,2016(23):139-142.
[17]石煒,孟金芳.一種基于vxBus的PPC與FPGA高速互聯(lián)的驅(qū)動(dòng)設(shè)計(jì)方法 [J].電子設(shè)計(jì)工程,2015(24):139-141.
Design of VPX standard storage module based on RapidIO bus
LIU Xu-dong,CHEN Chen
(Technology and Engineering Center for Space Utilization,Chinese Academy of Sciences,Beijing 100094,China)
A design of storage module,based on VPX standard and RapidIO bus architecture,is proposed aiming at interconnect and data storage problem met in high-performance digital signal processing.The hardware and software of the module are realized.The board is designed according to VPX standard.The switch chip CPS1848 is using in RapidIO network.K7 FPGA and mSATA is using in a RapidIO interface storage board with 8TB capacity.Transplanting μcos-II system in MircoBlaze soft core.Writing software and operating procedure.Setting up a testing environment show that the data transfer speed of reading is up to 1.3GB/s and writing is up to 1.1 GB/s.Experiments shows that this design is advanced,realizable and stable,which can be used as a reference design of interconnect and data storage.
RapidIO;VPX;mSATA;data storage;AXI bus
TN91
A
1674-6236(2017)09-0141-04
2016-04-08稿件編號:201604074
劉旭東(1991—),男,內(nèi)蒙古赤峰人,碩士研究生。研究方向:衛(wèi)星測控與通信系統(tǒng)。