王大慶,陳 宇,趙 輝,龔 科
(空間電子信息研究院空間通信與測控技術(shù)研究所,陜西西安 710100)
隨著DSP性能的提高和成本的大幅下降,DSP應(yīng)用范圍不斷擴(kuò)大,包括雷達(dá)信號處理、通信信號處理、語音識別和自動控制等領(lǐng)域。在這些應(yīng)用領(lǐng)域內(nèi),大運算量和高吞吐量的需求對DSP的工作時鐘和外設(shè)接口的速率提出了更高的要求。為此,各DSP廠家都提供了大量的外設(shè)接口,以滿足用戶對接口的需求。文中針對TI公司的TMS320C6000系列DSP介紹了其擴(kuò)展總線的接口設(shè)計。介紹了擴(kuò)展總線基本組成及其工作模式,給出了一種擴(kuò)展總線的接口設(shè)計電路和軟件設(shè)計流程。
TMS320C6000系列DSP最高可以單周期執(zhí)行8條32位指令,內(nèi)核CPU包括兩個32位通用寄存器組A和寄存器組B,8個功能單元。C6000系列DSP的主要外設(shè)接口包括DMA控制器、EDMA控制器(C64x)、主機(jī)口(HPI)、擴(kuò)展總線接口(XBUS)、外部存儲器接口(EMIF)、多通道緩沖串口(McBSP)和定時器等[1]。
其中擴(kuò)展總線寬度為32位,提供了與不同類型的異步外設(shè)、異步或同步FIFO、PCI橋接芯片和其他外部主機(jī)。圖1為擴(kuò)展總線(XBUS)的功能框圖。
圖1 C6000 DSP擴(kuò)展總線功能框圖
擴(kuò)展總線(XBUS)提供了一種靈活的總線仲裁機(jī)制,用兩個信號來完成仲裁:XHOLD和 XHOLDA。XBUS有兩個主要的工作模式:I/O口和主機(jī)接口。
I/O口模式下又分為異步I/O模式和同步FIFO模式。對XBUS的4個XCE空間來說,這些模式都是可選的。第一種模式(異步I/O模式)提供了輸出選通信號,在這種模式下可以進(jìn)行靈活地編程操作,和對外部存儲器接口(EMIF)的異步信號操作類似。XBUS接口提供了4個輸出地址信號,通過譯碼操作以后,每個XCE空間最多可以連接16個外圍器件。在FIFO模式下,可對一個FIFO進(jìn)行同步讀操作,或者最多4個同步寫FIFO操作。XBUS I/O口和DSP存儲器的數(shù)據(jù)交互通過DMA控制器完成。
XBUS的第二種工作模式是主機(jī)口。這個接口也可以工作在兩種模式下:同步主機(jī)口模式和異步主機(jī)口模式。同步主機(jī)口模式支持主/從操作,并且還有復(fù)用的地址和數(shù)據(jù)信號。異步主機(jī)口模式只支持從模式,與 C6201/C6211/C6701/C6711的 HPI口類似,但是數(shù)據(jù)寬度是32位[2]。
文中結(jié)合某項目,設(shè)計了一個擴(kuò)展總線的實例,兩片C6000 DSP通過擴(kuò)展總線進(jìn)行數(shù)據(jù)傳輸[3],其中DSP0工作在異步I/O模式下,DSP1工作在異步主機(jī)口模式下,DSP0通過擴(kuò)展總線把數(shù)據(jù)傳送到擴(kuò)展總線DSP1上。設(shè)計的電路連接圖如圖2所示。
圖2 兩個C6000 DSP使用擴(kuò)展總線硬件連接圖
硬件電路配置好以后,在軟件設(shè)計的發(fā)送端(DSP0)的軟件流程如圖3所示。
圖3 發(fā)送端DSP的軟件主程序流程
流程圖中,需要注意程序中DMA方式不能換成CPU方式進(jìn)行數(shù)據(jù)傳輸,因為對擴(kuò)展總線的異步I/O口工作模式,只能使用DMA完成。第一次傳送的數(shù)據(jù)實際上是發(fā)送端DSP的一個地址,這個地址的含義是后續(xù)的DMA要存數(shù)的起始地址。在第一個DMA操作中,DMA的地址中的最后 3位,必須要設(shè)置成“100(b)”,因為按照硬件連接,這樣可以保證發(fā)送端(DSP0)的XA2為1,接收端(DSP1)的XCNTL為1,才能保證發(fā)送端(DSP0)對接收端(DSP1)的XBISA寄存器進(jìn)行訪問。
在第二個DMA中,DMA的地址中的最后3位必須要設(shè)計成“000(b)”,這樣發(fā)送端(DSP0)的XA2為0,根據(jù)硬件連接可以知道此時接收端(DSP1)的XCNTL為0,才能保證發(fā)送端(DSP0)對接收端(DSP1)的XBD寄存器進(jìn)行寫操作,從而完成數(shù)據(jù)傳輸過程。在接收端(DSP1)只需到相應(yīng)地址去讀取數(shù)據(jù)。
介紹了TI公司TMS320C6000系列DSP的擴(kuò)展總線,設(shè)計了一種基于擴(kuò)展總線接口的兩片C6000 DSP的數(shù)據(jù)傳輸方案,給出了硬件連接框圖和軟件流程。
[1]任麗香,馬淑芬,李方慧.TMS320C6000系列DSPs的原理與應(yīng)用[M].北京:電子工業(yè)出版社,2000.
[2]Texas Instruments.TMS320C6000 peripherals reference guide,SPRU190D [M].United States of America:Texas Instruments,2001.
[3]Texas Instruments.TMS320C6000 optimizing compiler user's guide.SPRU187K[M].United States of America:Texas Instruments,2002.