基于TMS320C6000的DSP擴(kuò)展總線接口設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要 設(shè)計(jì)了一種基于TI公司TMS320C6000系列DSP的擴(kuò)展總線接口。介紹了C6000 DSP的擴(kuò)展接口組成及其工作模式,給出了一種兩片DSP之間利用擴(kuò)展總線進(jìn)行數(shù)據(jù)傳輸?shù)碾娐吩O(shè)計(jì)方案,以及軟件流程框圖。該接口電路設(shè)計(jì)和軟件實(shí)現(xiàn)簡(jiǎn)單,工作在異步L/O模式下,傳輸速率可達(dá)3.2 Gbit·s-1,可顯著提高DSP的數(shù)據(jù)吞吐量。
關(guān)鍵詞 TMS320C6000;DSP;擴(kuò)展總線;接口設(shè)計(jì)
隨著DSP性能的提高和成本的大幅下降,DSP應(yīng)用范圍不斷擴(kuò)大,包括雷達(dá)信號(hào)處理、通信信號(hào)處理、語(yǔ)音識(shí)別和自動(dòng)控制等領(lǐng)域。在這些應(yīng)用領(lǐng)域內(nèi),大運(yùn)算量和高吞吐量的需求對(duì)DSP的工作時(shí)鐘和外設(shè)接口的速率提出了更高的要求。為此,各DSP廠家都提供了大量的外設(shè)接口,以滿足用戶對(duì)接口的需求。文中針對(duì)TI公司的TMS320C6000系列DSP介紹了其擴(kuò)展總線的接口設(shè)計(jì)。介紹了擴(kuò)展總線基本組成及其工作模式,給出了一種擴(kuò)展總線的接口設(shè)計(jì)電路和軟件設(shè)計(jì)流程。
1 TMS320C6000擴(kuò)展總線簡(jiǎn)介
TMS320C6000系列DSP最高可以單周期執(zhí)行8條32位指令,內(nèi)核CPU包括兩個(gè)32位通用寄存器組A和寄存器組B,8個(gè)功能單元。C6000系列DSP的主要外設(shè)接口包括DMA控制器、EDMA控制器(C64x)、主機(jī)口(HPI)、擴(kuò)展總線接口(XBUS)、外部存儲(chǔ)器接口(EMIF)、多通道緩沖串口(McBSP)和定時(shí)器等。
其中擴(kuò)展總線寬度為32位,提供了與不同類型的異步外設(shè)、異步或同步FIFO、PCI橋接芯片和其他外部主機(jī)。圖1為擴(kuò)展總線(XBUS)的功能框圖。
擴(kuò)展總線(XBUS)提供了一種靈活的總線仲裁機(jī)制,用兩個(gè)信號(hào)來完成仲裁:XHOLD和XHOLDA。XBUS有兩個(gè)主要的工作模式:I/O口和主機(jī)接口。
I/O口模式下又分為異步I/O模式和同步FIFO模式。對(duì)XBUS的4個(gè)XCE空間來說,這些模式都是可選的。第一種模式(異步I/O模式)提供了輸出選通信號(hào),在這種模式下可以進(jìn)行靈活地編程操作,和對(duì)外部存儲(chǔ)器接口(EMIF)的異步信號(hào)操作類似。XBUS接口提供了4個(gè)輸出地址信號(hào),通過譯碼操作以后,每個(gè)XCE空間最多可以連接16個(gè)外圍器件。在FIFO模式下,可對(duì)一個(gè)FIFO進(jìn)行同步讀操作,或者最多4個(gè)同步寫FIFO操作。XBUS I/O口和DSP存儲(chǔ)器的數(shù)據(jù)交互通過DMA控制器完成。
XBUS的第二種工作模式是主機(jī)口。這個(gè)接口也可以工作在兩種模式下:同步主機(jī)口模式和異步主機(jī)口模式。同步主機(jī)口模式支持主/從操作,并且還有復(fù)用的地址和數(shù)據(jù)信號(hào)。異步主機(jī)口模式只支持從模式,與C6201/C6211/C6701/C6711的HPI口類似,但是數(shù)據(jù)寬度是32位。
2 電路設(shè)計(jì)
文中結(jié)合某項(xiàng)目,設(shè)計(jì)了一個(gè)擴(kuò)展總線的實(shí)例,兩片C6000 DSP通過擴(kuò)展總線進(jìn)行數(shù)據(jù)傳輸,其中DSP0工作在異步I/O模式下,DSP1工作在異步主機(jī)口模式下,DSP0通過擴(kuò)展總線把數(shù)據(jù)傳送到擴(kuò)展總線DSP1上。設(shè)計(jì)的電路連接圖如圖2所示。
[!--empirenews.page--]
3 軟件設(shè)計(jì)
硬件電路配置好以后,在軟件設(shè)計(jì)的發(fā)送端(DSP0)的軟件流程如圖3所示。
流程圖中,需要注意程序中DMA方式不能換成CPU方式進(jìn)行數(shù)據(jù)傳輸,因?yàn)閷?duì)擴(kuò)展總線的異步I/O口工作模式,只能使用DMA完成。第一次傳送的數(shù)據(jù)實(shí)際上是發(fā)送端DSP的一個(gè)地址,這個(gè)地址的含義是后續(xù)的DMA要存數(shù)的起始地址。在第一個(gè)DMA操作中,DMA的地址中的最后3位,必須要設(shè)置成“100(b)”,因?yàn)榘凑沼布B接,這樣可以保證發(fā)送端(DSP0)的XA2為1,接收端(DSP1)的XCNTL為1,才能保證發(fā)送端(DSP0)對(duì)接收端(DSP1)的XBISA寄存器進(jìn)行訪問。
在第二個(gè)DMA中,DMA的地址中的最后3位必須要設(shè)計(jì)成“000(b)”,這樣發(fā)送端(DSP0)的XA2為0,根據(jù)硬件連接可以知道此時(shí)接收端(DSP 1)的XCNTL為0,才能保證發(fā)送端(DSP0)對(duì)接收端(DSP1)的XBD寄存器進(jìn)行寫操作,從而完成數(shù)據(jù)傳輸過程。在接收端(DSP1)只需到相應(yīng)地址去讀取數(shù)據(jù)。
4 結(jié)束語(yǔ)
介紹了TI公司TMS320C6000系列DSP的擴(kuò)展總線,設(shè)計(jì)了一種基于擴(kuò)展總線接口的兩片C6000 DSP的數(shù)據(jù)傳輸方案,給出了硬件連接框圖和軟件流程。