《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > TMS320C6000擴展總線與MPC860微處理器的接口
TMS320C6000擴展總線與MPC860微處理器的接口
龔 兵 楊艷紅
摘要: 分析了Motorola MPC860嵌入式微處理器及數(shù)字信號處理器TMS320C6000的特征,介紹了TMS320C6202 DSP擴展總線與MPC860的接口實現(xiàn),。
關(guān)鍵詞: DSP 微處理器 接口 MPC860 TMS320C6000 TI
Abstract:
Key words :

    摘  要: 分析了Motorola title="MPC860">MPC860嵌入式微處理器及數(shù)字信號處理器TMS320C6000TM的特征,介紹了TMS320C6202 DSP擴展總線與MPC860的接口實現(xiàn)。 

    關(guān)鍵詞: DSP  QUICC  VLIW(超長指令字)

 

    MPC860是PowerPC系列產(chǎn)品,。PowerPC系列是由IBM,、Motorola和Apple聯(lián)合研制的基于RISC結(jié)構(gòu)的微處理器。PowerPC可運行于多種操作環(huán)境,使用的工作平臺從便攜式設(shè)備到服務(wù)器。TMS320C6000系列是1997年美國TI公司推出的DSP芯片,這種芯片是定點、浮點兼容的DSPs系列,。其中定點系列是TMS320C62xx,浮點系列是TMS320C67xx,它們可以通過DSP的HPI(Host Port Interface)和MPC860相連。本文針對C6202介紹另外一種接口方法,即同步主機接口模式下C6202的擴展總線與MPC860的接口實現(xiàn),其中C6202為從處理器,MPC860為主處理器,。 

1 TMS320C6000的主要特點

    TMS320C6000系列DSP(數(shù)字信號處理器)是TI公司最新推出的一種并行處理的數(shù)字信號處理器,。TMS320C6000片內(nèi)有8個并行的處理單元,分為相同的兩組。它的體系結(jié)構(gòu)采用超長指令字(VLIW)結(jié)構(gòu),單指令字長為32bit,8個指令組成一個指令包,總字長為8×32=256bit,。芯片內(nèi)部設(shè)置了專門的指令分配模塊,可以將256bit的指令包同時分配到8個處理單元,并由8個單元同時運行。芯片的最高時鐘頻率可以達到300MHz,通過片內(nèi)的鎖相環(huán)(PLL)將輸入時鐘倍頻獲得,。當(dāng)片內(nèi)的8個處理單元同時運行時,最大處理能力可以達到2400MIPS,。 

    TMS320C6000主要是為移動通信基站的信號處理而推出的超級處理芯片。200MHz時鐘的C6201完成1024點定點FFT的時間只要66μs,比傳統(tǒng)的DSP要快一個數(shù)量級,在民用和軍用領(lǐng)域都將有廣闊的應(yīng)用前景,。 

2 TMS320C6000的擴展總線

    目前,TMS320C6000系列中只有C6202和C6203具有擴展總線,。它們是在C6201/C6701主機接口(HPI)的基礎(chǔ)上發(fā)展起來的,。 

    擴展總線是一個32bit寬的總線,支持與異步外設(shè)、異步/同步FIFO,、PCI橋及外部主控處理器的接口,。它同時還提供了一個靈活的總線仲裁機制,可以進行內(nèi)部仲裁,也可以由外部邏輯完成。 

    擴展總線從結(jié)構(gòu)上可以分為兩部分:I/O接口和主機接口,如圖1所示,。 

 

 

    I/O接口,擴展總線共管轄4個XCE外部空間,4個空間可以分別配置成兩種工作模式:異步I/O模式和同步FIFO模式,。這兩種模式可以在一個系統(tǒng)中同時工作。異步I/O模式的接口信號時序與EMIF類似,具有可編程程度高的特點,。這一模式下,擴展總線接口的4根地址信號使得每個XCE空間最多可以掛接16個外部設(shè)備,。FIFO模式則提供了與同步FIFO無縫接口的能力,可以直接控制1個進行讀操作的同步FIFO或4個進行寫操作的同步FIFO。借助少量外部邏輯,每個XCE空間可以管理16個讀操作FIFO或16個寫操作FIFO,。擴展總線I/O口與DSP的其他存儲空間由DMA控制器進行連接,。 

    主機接口也有兩種工作模式:同步和異步。同步模式提供了主控和從屬兩種工作方式,此時地址信號和數(shù)據(jù)信號復(fù)用相同的管腳,。異步模式只有從屬功能,它與C6201/C6211/C6701/C6711的HPI操作完全類似,只是數(shù)據(jù)寬度為32bit,。異步模式可以用來與其他微處理器接口。擴展總線主機接口與DSP存儲器的連接由DMA輔助通道完成,。 

    在同步主機接口模式下,主機的數(shù)據(jù)與地址信號復(fù)用,并且與i960Jx兼容,。目前主流的PCI接口芯片都采用i960總線作為芯片內(nèi)部總線,這樣C6000與PCI總線接口時,需要的外部邏輯可以減少到最少。尤其在作為從屬處理器時,同步主機接口同樣可以非常方便地與其他一些通用處理器接口,。C6202的擴展總線還具有突發(fā)傳輸?shù)哪芰?。本文即利用這一方式實現(xiàn)MPC860與C6202擴展總線的接口。 

    C6202處理器的工作頻率最高可以采用50MHz,經(jīng)內(nèi)部4倍頻后升至200MHz,每個時鐘周期最多可以并行執(zhí)行8條指令,從而可以實現(xiàn)1600MIPS的定點運算能力,完成1024點定點FFT的時間只需70μs,。 

3 MPC860介紹

    MPC860 PowerQUICC是當(dāng)今比較流行,、性能相當(dāng)優(yōu)越的單片集成嵌入式微處理器,繼承了以前享有盛譽的32bit 68360Quicc和68302的許多優(yōu)點。它內(nèi)部集成了微處理器和一些控制領(lǐng)域常用的外圍組件,特別適用于互聯(lián)網(wǎng)絡(luò)和數(shù)據(jù)通信市場,。PowerQUICC 可以被稱為MC68360在網(wǎng)絡(luò)和數(shù)據(jù)通信領(lǐng)域的新一代產(chǎn)品,提高了器件運行的各方面性能,包括器件的適應(yīng)性,、擴展能力和集成度等。MPC860 PowerQUICC通信處理器可根據(jù)用戶要求提供2~4個串行通信控制器,、不同規(guī)格的指令和數(shù)據(jù)緩存及各種級別的網(wǎng)絡(luò)協(xié)議支持,。該產(chǎn)品專為寬帶接入設(shè)備如:遠程接入路由器、DSLAM,、接入集線器,、LAN/WAN交換機、PBX系統(tǒng)和網(wǎng)關(guān)等設(shè)計,。

    在MPC860中包括3個主要模塊:PowerPC核心,、系統(tǒng)接口單元(SIU)、通信處理模塊(CPM)。PowerPC是主要的處理機單元,通常稱為 Embedded PowerPC核心(或EPPC),它包括緩存和存儲器管理單元(MMU),在40MHz時鐘時為50 MIPS指令速度;第二個主要模塊為系統(tǒng)接口單元,它的主要功能是提供內(nèi)部總線和外部總線的接口;第三個主要模塊為通信處理機模塊,CPM在不同的通信設(shè)備如SCC和SMC上發(fā)送接收數(shù)據(jù)通信,通信設(shè)備可以獨立工作,。SCC和SMC也可以用于時分復(fù)用總線,。 

    CPM模塊中有一個32位RISC微處理機。MPC860有2個CPU:PowerPC和32位RISC,。PowerPC執(zhí)行高層代碼,RISC處理實際通信的低層通信功能,。2個處理機主要是通過內(nèi)部存儲空間配合工作。在存儲器區(qū),每個處理機都可以設(shè)置控制位,、讀狀態(tài)位,。 

    MPC860中有16個串行DMA單元。每一個通信設(shè)備都有一個發(fā)送DMA和接收DMA,。32位RISC控制這16個串行DMA在通信設(shè)備和存儲器之間傳送數(shù)據(jù),。當(dāng)MPC860接收數(shù)據(jù)時,串行DMA從通信設(shè)備接收數(shù)據(jù)并放入存儲器中;發(fā)送數(shù)據(jù)順序相反,串行DMA從存儲器中取數(shù)據(jù),把數(shù)據(jù)送到通信設(shè)備。串行DMA只服務(wù)CPM的RISC,但是2個虛擬的IDMA可以為用戶所用,。 

4 擴展總線接口實現(xiàn)

    MPC860內(nèi)部集成了嵌入式的PowerPC核和使用特定RISC處理器的通信處理模塊(CPM),。這個雙處理器結(jié)構(gòu)優(yōu)于傳統(tǒng)結(jié)構(gòu),因為CPM可以從嵌入式的PowerPC核卸出外圍任務(wù)。 

4.1 接口實現(xiàn)

    同步主機接口模式下,C6202和MPC860的接口如圖2所示,。盡管圖2中的C6202處于從方式,但還是具有擴展總線仲裁的能力,用于異步I/O和擴展總線的FIFO接口,。只有當(dāng)這兩個設(shè)備共享總線時,MPC860內(nèi)部的仲裁才被使用。 

 

 

擴展總線的管腳定義 

擴展總線管腳    MPC860的管腳    功能定義 

XCNTL           A[29]           MPC860用于控制信號的地址位,A31是MPC860地址總線的LSB  

XBLAST                    觸發(fā)傳輸指示,XBLAST的極性(在這個例子高有效)由復(fù)位時XD[13]的上拉電阻決定

               讀寫存取指示,的極性(在這個例子高有效)由復(fù)位時候的XD[12]的上拉電阻決定 

XD[31:0]        D[0:31]         MPC860用D[0:31]作為32位的接口,。D0是MPC860數(shù)據(jù)總線的MSB,而XD31是擴展總線的MSB 

XCLK            CLKOUT         自身(擴展)總線時鐘 

XHOLD           間接邏輯需與   擴展總線仲裁信號 

XHOLDA          BR,、BG         注意內(nèi)部擴展總線仲 

                和BB連接       裁已經(jīng)處于使能端 

                      新的轉(zhuǎn)移開始指示 

           A[28:0]         MPC860的地址解碼從而產(chǎn)生信號 

    TSIZE[1:0]、   字節(jié)使能用TSIZE和A 

                A[31:30]       [31:30]的解碼來實現(xiàn) 

                    SETA bit 在MPC860選擇寄存器中設(shè)置為1,用于指示由外部總線產(chǎn)生 

    MPC860的內(nèi)部總線仲裁處于禁止?fàn)顟B(tài),相反擴展總線的仲裁處于使能狀態(tài),。DSP的字節(jié)使能信號由TSIZE[1:0]和MPC860的地址線A[31:30]通過解碼得到,DSP字節(jié)使能換算表如表1所示,。 

 

 

4.2 自舉配置

    MPC860及擴展總線把數(shù)據(jù)總線的上拉和下拉電阻用于硬件復(fù)位的BOOT配置,MPC860和DSP需要不同的上拉電阻配置。方法之一就是用總線開關(guān)(bus switch),。在這個例子中用SN74CBT16390(2個16bit和32bit之間FET復(fù)用/解復(fù)用總線開關(guān))在復(fù)位的時候分離MPC860和DSP的數(shù)據(jù)總線,允許每一個設(shè)備有自己不同的復(fù)位配置字,。方法之二就是首先硬件復(fù)位(復(fù)位的過程中,XBUS的上拉和下拉電阻用于配置MPC860),而DSP復(fù)位應(yīng)該在MPC860之后。在DSP復(fù)位之后,MPC860有效地驅(qū)動數(shù)據(jù)總線上用于配置DSP的數(shù)據(jù)值,從而DSP將被配置,。 

    由于兩個設(shè)備都可以運行在內(nèi)部總線仲裁使能或者禁止方式,所以內(nèi)部擴展總線仲裁(TMS320C6000擴展總線)處理總線的仲裁,。不管內(nèi)部還是外部的仲裁配置都在系統(tǒng)復(fù)位時設(shè)置。假設(shè)處于外部仲裁,那么在MPC860從數(shù)據(jù)總線上取樣硬件復(fù)位配置字的時候,MPC860的ERAB位必須設(shè)置為1;而當(dāng)DSP從復(fù)位到內(nèi)部總線仲裁的數(shù)據(jù)總線上取樣硬件復(fù)位配置字的時候,TMS320C6000的XARB位必須設(shè)置為1,。 

    通過在XD[31:0]上拉和下拉電阻的擴展總線自舉配置如下: 

    字段(field)     定義 

    BLPOL           當(dāng)DSPs作為擴展總線的從屬時,XBLAST信號的極性BLPOL=1,XBLAST是高有效 

    RWPOL           擴展總線讀/寫信號的極性,RWPOL=1, 為

    HMOD            主機(host)的模式(對應(yīng)于HPIC中的XB狀態(tài)),HMOD=1,外部的主機接口處于同步的主/從模式 

    XARB            擴展總線仲裁使能(對應(yīng)于XBGC中的狀態(tài)), XARB=1,內(nèi)部擴展總線仲裁處于使能狀態(tài) 

    FMOD            FIFO模式(對應(yīng)于XBGC中的狀態(tài)) 

    LEND            小端模式,LEND=1,系統(tǒng)運行在小端模式 

BootMode[4:0]       設(shè)定設(shè)備自舉模式,包括主機口自舉,、ROM、boot,、存儲器映射選擇 

    為使工作準(zhǔn)確,MPC860的高速緩存必須關(guān)閉使能,。數(shù)據(jù)緩存是否使用,只要將相應(yīng)的狀態(tài)寫入DC_CST寄存器。在禁止?fàn)顟B(tài),緩存標(biāo)志狀態(tài)位被忽略,訪問將通過總線傳輸,。數(shù)據(jù)緩存在復(fù)位后默認為禁止,。禁止的數(shù)據(jù)緩存不影響數(shù)據(jù)地址的邏輯轉(zhuǎn)換,在MSRDR位的控制下繼續(xù)進行,任何寫入DC_CST寄存器的操作必須優(yōu)先于一個同步指令,則確保在數(shù)據(jù)存儲時,數(shù)據(jù)緩存的使能變化,。由于總線錯誤或者執(zhí)行特定的直接緩存線性控制時,數(shù)據(jù)緩存產(chǎn)生一個中斷信號,緩存進入禁止?fàn)顟B(tài),類似于禁止。每一頁都有不同的存儲控制屬性, MPC860支持緩存禁止(CI),、 寫入(WT)和監(jiān)視(G)屬性,但不支持存儲器的一致性。對于要求存儲一致性的頁,必須編程設(shè)置為緩存禁止,。G屬性用于映射那些對不確定存儲比較敏感的I/O設(shè)備,有G屬性的頁使存儲強行停止,除非是非敏感性存儲或者被核(core)取消,。是否可緩存的區(qū)域必須定義,對于主要存儲區(qū)的寫回(write-back)或?qū)懲?write-through)模式,必須在使數(shù)據(jù)緩存使能之前通過初始化MMU來選擇。 

    經(jīng)實驗驗證,MPC860可以對擴展總線進行寫操作,也可以讀操作,基本功能已經(jīng)實現(xiàn),。此方案具有一定的實用性,。 

參考文獻

1 Texas Instruments, Inc. TMS320C6000 Peripherals Reference Guide, March 1999 

2 Texas Instruments. TMS320C6202 Fixed-Point Digital Signal Processor Data Sheet 

3 Motorola Inc. MPC860 User' s Manual.  

4 張雄偉,曹鐵勇. DSP芯片的原理與開發(fā)應(yīng)用(第2版). 北京:電子工業(yè)出版社,2000.9 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。