新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于TMS320C6455的高速SRIO接口設(shè)計(jì)

基于TMS320C6455的高速SRIO接口設(shè)計(jì)

作者: 時(shí)間:2010-02-23 來源:網(wǎng)絡(luò) 收藏

請(qǐng)求包以物理層字段開始。S位指示這是一個(gè)包還是一個(gè)控制符號(hào),AckID表明交換結(jié)構(gòu)器件將使用控制符號(hào)來確認(rèn)哪一個(gè)包,Prio字段指示用于流量控制的包優(yōu)先級(jí),TT為目標(biāo)地址和源地址字段指示傳輸?shù)刂返臋C(jī)制類型、報(bào)應(yīng)被遞送到的器件的地址和產(chǎn)生包的器件的地址,F(xiàn)type表示正被請(qǐng)求的事務(wù),長度字段等于編碼后事務(wù)的長度,事務(wù)數(shù)據(jù)的有效載荷長度從1到256字節(jié)不等,源事務(wù)ID指示發(fā)送器件的事務(wù)ID,器件在兩個(gè)端點(diǎn)器件間最多允許256個(gè)未完成的事務(wù)。對(duì)于存儲(chǔ)器映射事務(wù),跟隨在源事務(wù)ID后面的是器件偏移地址字段,用于指示數(shù)據(jù)的存放地址,CRC為校驗(yàn)碼。

響應(yīng)包與請(qǐng)求包類似,狀態(tài)字段指示是否成功完成了事務(wù),目標(biāo)事務(wù)ID字段的值與請(qǐng)求包中斷事務(wù)ID字段的值相等。

2.3 基本讀寫和門鈴操作

根據(jù)包的格式的不同,將事務(wù)劃分成很多類型,其中最重要的類型有三種:NREAD(基本讀操作)、NWRITE(基本寫操作)、DOORBELL(門鈴操作)。 通過這三種類型的組合就可以完成所有的存儲(chǔ)器讀寫操作。在介紹讀寫操作之前,先介紹一下與SRIO有關(guān)的DMA操作。

在C6455上,SRIO數(shù)據(jù)傳輸和DMA傳輸是結(jié)合的。此DMA與EDMA方式是獨(dú)立的,當(dāng)進(jìn)行SRIO傳輸時(shí),DMA以自動(dòng)方式啟動(dòng)。對(duì)與發(fā)送方來說,DMA將數(shù)據(jù)從L2 SRAM搬移到SRIO端口,對(duì)于接收方來說,DMA將數(shù)據(jù)從SRIO端口搬移到L2 SRAM內(nèi)存。因此,在進(jìn)行傳輸時(shí),讀寫地址是直接顯示在包里的,而且此地址就是被讀寫的DSP的地址。換句話說,DSP可以對(duì)另一片DSP的L2 SRAM直接進(jìn)行讀寫操作。圖4就是自動(dòng)DMA的傳輸操作。

讀寫操作和門鈴操作主要由圖5中的7個(gè)寄存器進(jìn)行控制,這些寄存器里的值會(huì)自動(dòng)加入到包中。在SRIO總線上,每個(gè)SRIO設(shè)備都有一個(gè)相應(yīng)的設(shè)備地址,設(shè)備地址好比一個(gè)SRIO設(shè)備的ID,用于區(qū)別不同的SRIO設(shè)備。當(dāng)SRIO總線上的一個(gè)SRIO設(shè)備進(jìn)行讀寫訪問時(shí),它發(fā)送的包就含有設(shè)備地址,只有自身設(shè)備地址與包的設(shè)備地址符合的SRIO設(shè)備才會(huì)對(duì)此次傳輸做出響應(yīng)。SRIO Address MSB和SRIO Address LSB共同構(gòu)成64-bit尋址,指示的是被訪問SRIO設(shè)備的地址。開發(fā)板上只用到32-bit尋址,因此,SRIO Address MSB為0,SRIO Address LSB指示的是被訪問的DSP的地址。DSP address指示的是本地DSP的地址。Byte_count這一項(xiàng)給出的是傳輸字節(jié)數(shù),一次讀寫操作(可以是很多包)最多可以傳送4Kbytes的數(shù)據(jù)。DestID是目標(biāo)設(shè)備的ID號(hào),用來區(qū)分SRIO總線上的設(shè)備。Drbll Info用于門鈴事件,通過此位段的設(shè)置,從而向目標(biāo)DSP產(chǎn)生中斷。Packet Type用來指示此次傳輸?shù)念愋停鏝READ、NWRITE和DOORBELL等。

圖6是SRIO模塊的NREAD、NWRITE和DOORBELL程序編寫流程圖。首先初始化SRIO端口,此過程主要需要配置和使能PLL模塊,使能并配置接收模塊,使能并配置發(fā)送模塊,使能并配置中斷模塊。配置這些模塊特別要注意的是使主DSP和從DSP的時(shí)鐘模塊工作在相同的波特率。初始化完成后,查詢SRIO鏈路是否成功建立,如果SRIO鏈路沒有建立,則重新初始化SRIO端口,直到SRIO鏈路建立為止。鏈路建立后就可以進(jìn)行讀寫操作和門鈴操作,兩片DSP之間可以進(jìn)行的數(shù)據(jù)傳輸。實(shí)際測(cè)試表明,DSP間的數(shù)據(jù)傳輸可工作于1x和4x模式,每種模式可以正常工作于每通道3.125Gbps 的傳輸速率。

3 C6455間的SRIO加載

3.1 C6455引導(dǎo)模式

在C6455的地址空間0x00100000到0x00107FFF集成了32K的內(nèi)部ROM。此ROM中固化了一段 “boot loader”的引導(dǎo)代碼,它主要作用是在DSP上電時(shí),對(duì)DSP進(jìn)行必要的配置,以便輔助HPI/PCI/SRIO等進(jìn)行加載;另外,它還可以將代碼從外部存儲(chǔ)器讀到內(nèi)部L2 SRAM,以完成代碼加載。

交換機(jī)相關(guān)文章:交換機(jī)工作原理


合成孔徑雷達(dá)相關(guān)文章:合成孔徑雷達(dá)原理


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉