基于FPGA的HSDI接口設(shè)計(jì)
關(guān)鍵詞 HSDI FPGA VHDL
引 言
HSDI(High Speed Direct Injection)是一種可配置的高速數(shù)據(jù)接口。例如,德州儀器公司生產(chǎn)的集成式1394a鏈接層控制器與艤端口物理層控制器TSB43DA42和TSB43DB42分別包括3個(gè)高速數(shù)據(jù)端口(HSDI)。每個(gè)端口均支持?jǐn)?shù)據(jù)I/O,能專門負(fù)責(zé)一個(gè)同步數(shù)據(jù)路徑,所有端口都支持與各種編解碼器的無(wú)縫連接,能夠根據(jù)IEC61883標(biāo)準(zhǔn)實(shí)現(xiàn)壓縮的A/V數(shù)據(jù)與數(shù)字音頻的傳輸。還有就是Freescale公司計(jì)劃開(kāi)發(fā)的UWB系列產(chǎn)品。這些UWB網(wǎng)卡符合美國(guó)聯(lián)邦通訊委員會(huì)(FCC)現(xiàn)行擬定的UWB標(biāo)準(zhǔn),支持多種操作系統(tǒng);同時(shí),這些產(chǎn)品將擁有mini-PCI和SDIO模組外形結(jié)構(gòu),并且,還將具有PCI、mini-PCI、HSDI、PCI-Express、USB 2.0和IEEEl394等各種界面。下面就Freescale公司的一種UWB網(wǎng)卡上的HSDI接口作一介紹。
MC270143 MAC是Freescale公司UWB網(wǎng)卡XSllO上的一部分。它直接與基帶控制器MC270123相連,當(dāng)和MC270123控制器以及MC270113 RF發(fā)送器結(jié)合使用時(shí),可以提供一種完全端到端的WPAN/WLAN芯片集解決方案,并具備低成本、低功耗和高速數(shù)據(jù)傳輸速率。
由于Freescale公司的UWB網(wǎng)卡遵循IEEE 802.15.3網(wǎng)絡(luò)層協(xié)議標(biāo)準(zhǔn),那么對(duì)于其上的HSDI接口,從主機(jī)來(lái)說(shuō),遵循IEEE 802.15.3協(xié)議標(biāo)準(zhǔn)的請(qǐng)求和響應(yīng)消息是從HSDI的A口輸入的,而確認(rèn)和指示消息是從HSDI的B口輸出給當(dāng)?shù)刂鳈C(jī)的;通過(guò)空中鏈路去往另一個(gè)UWB設(shè)備的數(shù)據(jù)信息,從HSDI的A口進(jìn)入,另一個(gè)UWB設(shè)備從B口輸出。在HSDI并行接口中,是以字節(jié)為單位來(lái)傳輸數(shù)據(jù)的,并且字節(jié)與字節(jié)之間沒(méi)有延時(shí)。
1 HSDI接口硬件結(jié)構(gòu)
圖1為Freescale公司XSIlO網(wǎng)卡上MC270143模塊的HSDI接口硬件結(jié)構(gòu)框圖。
①HSDI A和HSDI B用于傳輸高速數(shù)據(jù)流或者命令和控制信號(hào),它們支持傳輸同步或異步的數(shù)據(jù)流以及命令消息和相關(guān)的響應(yīng)消息。HSDI A只能配置成輸入接口,HSDI B只能配置成輸出接口。HSDIA和HSDI B都是由8位并行端口和輸入時(shí)鐘以及相關(guān)控制信號(hào)組成的。
②每個(gè)FIFo的容量為512×32位。
③O_hsdiahalt信號(hào)用來(lái)阻止數(shù)據(jù)從HSDI A接口輸入,O_hsdiahaltxin信號(hào)產(chǎn)生后MC270143最多還可以接收16字節(jié)的數(shù)據(jù)。也就是說(shuō),外部時(shí)鐘必須在16個(gè)時(shí)鐘周期之前產(chǎn)生O_hsdiahalt。
④任何從MC270143接收輸出數(shù)據(jù)的設(shè)備必須能夠在產(chǎn)生I_hsdibhalt后再接收至少1 6字節(jié)的數(shù)據(jù),也可配置MC270143上的HSDI B模塊忽略產(chǎn)生I_hsdibhalt信號(hào)。
2 HSDl接口信號(hào)描述
整個(gè)XSll0模塊的外部接口主要為:輸入是天線部分,輸出是HSDI接口。接口(相對(duì)UWB網(wǎng)卡而言)說(shuō)明如表l所列。
HSDI接口可以配置成發(fā)送和接收定長(zhǎng)/可變長(zhǎng)度的數(shù)據(jù)包。定長(zhǎng)數(shù)據(jù)包模式包括HSDI輸入模式(HSDI A)和HSDI輸出模式(HSDI B):所有輸入到HSDI接口的數(shù)據(jù)都是在hsdiclk的上升沿采樣輸入;輸出數(shù)據(jù)在hsdi-clk的下降沿輸出。相應(yīng)的時(shí)序圖如圖2和圖3所示。
說(shuō)明:在定長(zhǎng)和可變長(zhǎng)數(shù)據(jù)包類型下,HSDI接口信號(hào)描述是相同的;惟一的不同在于,在可變長(zhǎng)模式下,hsdisync信號(hào)與最后一個(gè)有效字節(jié)對(duì)齊,而在定長(zhǎng)模式下與第一個(gè)有效字節(jié)對(duì)齊。
3 基于FPGA實(shí)現(xiàn)HSDI接口的設(shè)計(jì)
利用FPGA硬件處理速率高的特點(diǎn),通過(guò)普通數(shù)據(jù)包的發(fā)送可實(shí)現(xiàn)發(fā)送端HSDI接口的設(shè)計(jì),并把數(shù)據(jù)通過(guò)HSDI接口發(fā)送到UWB網(wǎng)卡,再由UWB網(wǎng)卡發(fā)送出去,隨后由另外的UWB網(wǎng)卡接收相應(yīng)的數(shù)據(jù)。
發(fā)送端FPGA負(fù)責(zé)把數(shù)據(jù)打包并生成相應(yīng)的數(shù)據(jù)有效信號(hào)和同步信號(hào),然后通過(guò)HSDI接口發(fā)送給UWB網(wǎng)卡。FPGA與HSDI的接口定義如圖4所示。
4 打包發(fā)送模塊程序設(shè)計(jì)
由于USB網(wǎng)卡遵循IEEE 802.15.3網(wǎng)絡(luò)層協(xié)議標(biāo)準(zhǔn),考慮到發(fā)送端和接收端.做簡(jiǎn)單的應(yīng)用層協(xié)議如下:
Data flg:數(shù)據(jù)段標(biāo)志位,標(biāo)志隨后的為數(shù)據(jù)字節(jié),以便對(duì)數(shù)據(jù)進(jìn)行處理。
首先,把包頭信息定義好固化在1個(gè)11字節(jié)的表中,程序?yàn)椋?/P>
其中:dataflg為x“FF”標(biāo)志,隨后的為數(shù)據(jù)信息,同時(shí)也說(shuō)明數(shù)據(jù)信息的長(zhǎng)度。
其次,按照HSDI傳輸格式,可以確定的是在發(fā)送hsclivalid、hsdisync、hsdidata信號(hào)的時(shí)候要用lasdiclk的下降沿送出,以保證網(wǎng)卡的正確采樣。(VHDL程序見(jiàn)本刊網(wǎng)站www.mesnet.com.cn——編者注)
①hsdidata數(shù)據(jù)信號(hào)的生成:將發(fā)送包的包頭信息存放在一個(gè)固化的小表里(內(nèi)部的自建存儲(chǔ)器)。數(shù)據(jù)的打包發(fā)送主要由2個(gè)與時(shí)鐘同步的計(jì)數(shù)器datacntl和datacnt2(hsdiclk下降沿產(chǎn)生)控制。datacntl為4位,控制發(fā)送11位包頭信息,根據(jù)不同計(jì)數(shù)器的值決定發(fā)送包頭信息位數(shù)據(jù)。發(fā)送到最后1位包頭信息時(shí)。啟動(dòng)datacnt2計(jì)數(shù),開(kāi)始發(fā)送包數(shù)據(jù),且發(fā)送的數(shù)據(jù)和計(jì)數(shù)器datacnt2的值是相等的,以確保接收端檢測(cè)數(shù)據(jù)傳輸?shù)恼_性。
②hsdivalid信號(hào)的生成:由datacnt2來(lái)控制。hsdi-valic初始化為0,在計(jì)數(shù)器datacnt2記到x“FF”時(shí)為0,其他情況下為l即可標(biāo)志一個(gè)包的有效數(shù)據(jù)位。
③hsdisync信號(hào)的生成:由datacntl來(lái)控制。hsdi-sync韌始化為0,由于采用的是定長(zhǎng)數(shù)據(jù)包模式,所以在計(jì)數(shù)器記到x“00”時(shí)為1,標(biāo)志包數(shù)據(jù)的第1位,其他情況下為0。modelsim仿真得到的時(shí)序如圖5所示。QuartusⅡ仿真結(jié)果如圖6所示。
5 結(jié)論
本文詳細(xì)討論了HSDI接口的硬件結(jié)構(gòu)以及接口信號(hào)的時(shí)序和功能操作。結(jié)合FPGA高處理速度的特點(diǎn),實(shí)現(xiàn)了基于FPGA的HSDI接口設(shè)計(jì),最后結(jié)合實(shí)例成功地進(jìn)行了仿真和驗(yàn)證,并在實(shí)際硬件平臺(tái)上實(shí)現(xiàn)了發(fā)送和接收解析數(shù)據(jù)包。