- 相關(guān)推薦
利用PCI2040將TMS320VC5420橋接到PCI總線上
摘要:介紹了如何利用PCI2040通過C6X模式接口將TMS320VC5420 16位HPI接口連到PCI總線上。根據(jù)TMS320VC5420的數(shù)目,提供了兩種將TMS320VC5420映射到主存的方式,同時提供了硬件和軟件兩方面的考慮。關(guān)鍵詞:PCI2040 TMS320VC5420 PCI總線
PCI2040是TI公司生產(chǎn)的專門用于DSP與PCI總線之間的橋接芯片,內(nèi)部原理圖如圖1所示。關(guān)于PCI2040具體介紹可以參照TI公司的相關(guān)資料(見參考文獻(xiàn)1)。PCI局部總線標(biāo)準(zhǔn)由Intel公司提出并由外圍部件聯(lián)合專門權(quán)益組織(PCISIG)制定。目前PCI總線已不再是一種局部總線,而成為一種受歡迎的高端總線和現(xiàn)代總線,被廣泛運(yùn)用于圖形、圖像、動畫及其它各種外設(shè)對高速數(shù)據(jù)進(jìn)行傳輸。PCI總線的主要優(yōu)點(diǎn)是高性能,(數(shù)據(jù)傳輸率可達(dá)到132/264Mbps)總線通用性強(qiáng)、低成本、使用方便靈活。
PCI2040可以接口8位TMS320c54xHPI總線或者16位TMS320c6x HPI總線。本文介紹如何通過PCI2040的16位C6X模式接口將TMS320VC5420的16位HPI接口連到PCI總線上。
(范文先生網(wǎng)www.gymyzhishaji.com收集整理)
1 TMS320VC5420映射到主存的兩種方式
TMS320VC5420是具有A、B兩個核的DSP,根據(jù)TMS320VC5420的數(shù)量,有兩種將TMS320VC5420映射到主存或PC存儲空間的方式。若TMS320VC5420的數(shù)量少于三個,可用映射方式1(如圖2)。如果TMS320VC5420的數(shù)量多于兩個,可用映射方式2(如圖3),這種方式將每個DSP映射到一個特定的存儲器空間,每個DSP核或DSP子系統(tǒng)占用同樣的存儲空間。
值得注意的是:控制空間的偏移量是相對于PCI2040上的256字節(jié)PCI配置寄存器中的14H處控制空間基址寄存器所代表的值。
2 硬件方面的考慮
TMS320VC5420是一個雙CPU設(shè)備,有兩個獨(dú)立的C54X子系統(tǒng),能夠?qū)崿F(xiàn)核對核通信。盡管PCI2040不是專門設(shè)計(jì)用來與雙CPU設(shè)備接口,但經(jīng)過特殊的處理還是可以實(shí)現(xiàn)接口的。需要考慮的主要有三方面:①C6201HPI協(xié)議到TMS320VC5420 HPI-16協(xié)議的轉(zhuǎn)換;②兩個DSP核間的切換;③多個復(fù)位和多個斷的處理。
2.1 C6x HPI協(xié)議到TMS320VC5420 HPI-16的轉(zhuǎn)換
TMS320VC5420對HPI總線提供了兩種操作模式。
非多路復(fù)用模式(HMODE=1),TMS320VC5420 HPI接口提供一個18位地址總線,用來訪問所有的內(nèi)部存儲器。
多路復(fù)用模式(HMODE=0),地址和數(shù)據(jù)復(fù)用同樣的管腳。PCI2040只是完成多路復(fù)用模式,所以TMS320VC5420的HMODE腳必須被拖到地址。另外由于C6X HPI的HPDY信號低電平有效,而TMS320VC5420的HRDY信號高電平有效,所以針對TMS320BVC5420必須使用轉(zhuǎn)換器(例如SN74ALCV04),這樣才能將VCC_H端直接連接到VCC端。
2.2 兩個DSP核間的切換
通過TMS320VC5420的SELA/B腳選擇被訪問的DSP子系統(tǒng)。例如可以將PCI2040的腳GPIO2連到SELA/B,這樣就可以通過GPIO2的高低電平來選擇核A或核B。
2.3 多個HRST
TMS320BVC5420的兩種方式控制每個子系統(tǒng)的復(fù)位功能。
第一種,在HPIRS腳從低電平過渡到高電平時,同時保持A_RS和B_RS腳處于低電平,可以在兩個核處于復(fù)位狀態(tài)的同時將應(yīng)用程序代碼下載到DSP中。下載完之后,可以將A_RS和B_RS重新設(shè)置成高電平而將兩個子系統(tǒng)拖出復(fù)位狀態(tài)。
在HPIRS腳從低電平過渡到高電平時,同時保持A_RS和B_RS腳處于高電平也可以在兩個核處于復(fù)位狀態(tài)的同時將應(yīng)用程序代碼下載到DSP中。下載完之后,可以通過對地址2FH的寫操作將子系統(tǒng)拖出復(fù)位狀態(tài)。另外,可以根據(jù)SELA/B的值選擇指定的子系統(tǒng)。
>
第二種,使用Power-on復(fù)位邏輯復(fù)位每個子系統(tǒng)(A_RS和B_RS),這時需要將HPIRS腳連接到PIC2040的HRST腳。注意,當(dāng)應(yīng)用程序下載完成之后,必須有一個向地址2FH的寫操作,以將子系統(tǒng)拖出復(fù)位狀態(tài)。
2.4 對同一個DSP產(chǎn)生的兩個HINT中斷的處理
根據(jù)連接到PCI2040的TMS320VC5420數(shù)量可決定多個中斷的處理方式。
如果有兩個或更少的TMS320VC5420,可以將第一個TMS320VC5420的A_HINT連到HINT0,將B)HINT連到HINT1。將PCI2040的HINT2和HINT3連接到第二個TMS320VC5420的A_HINT和B_HINT(如圖4),這種情況下存儲器的設(shè)置利用映射方式1。
如果板子上含有多個兩個的TMS320VC5420,此時需要將每個DSP上的兩個中斷相與(如圖5)。每個DSP上的中斷共享PCI2040的同一根中斷線,這樣就無法知道某個DSP上到底到個子系統(tǒng)申請的中斷。此時必須向每個子系統(tǒng)中HPLC寄存器的HINT位寫1,這種情況下存儲器的設(shè)置利用映射方式2。
3 軟件方面的考慮
C6X有一個16位的HPI接口,使用32位的字長,所以所有的HPI操作需要兩個HPI周期。既然PCI2040的16位接口用來與C6X接口,所以PCI2040也需要兩個HPI周期。與C6X不同,TMS320VC5420使用16位的字長,這樣只需要一個HPI周期就可以完成一次操作。所以程序員通過PCI2040訪問TMS320VC5420時,必須知道對DSP的讀和寫需要遵循特殊的原則。
3.1 向HPIA、HPIC和HPIC寄存器寫數(shù)據(jù)
當(dāng)向HPIA(HPI地址寄存器)、HPIC(HPI控制寄存器)和HPID(HPI數(shù)據(jù)寄存器)寫數(shù)據(jù)時,由于PCI2040對HPI口兩個周期的操作是針對同一個寄存器,所以第一個周期寫的數(shù)據(jù)會在第二個周期被覆蓋。故應(yīng)將數(shù)據(jù)多次寫到寄存器中,對保證寫入數(shù)據(jù)的正確(如圖6)。
3.2 從HPIA、HPIC、HPID寄存器讀數(shù)據(jù)
當(dāng)從HPIA、HPIC、HPID寄存器讀數(shù)據(jù)時,PCI讀這些寄存器兩遍,返回PCI雙字節(jié)的上下兩部分(如圖7)。
3.3 利用自動增特性
為了最大提高HPI的性能,在讀和寫HPID寄存器時,利用DSP寄存器在第一個和第二個HPI周期中HPIA的自動增特性。自動增特性使得經(jīng)PCI總線可以對兩個字連續(xù)的進(jìn)行讀和寫,最終使得一次性可以讀寫32位的字長,這樣就有效地加速了數(shù)據(jù)傳輸速率。
【利用PCI將TMS320VC5420橋接到PCI總線上】相關(guān)文章:
凌華PCI-8554及PCI-9812在動平衡系統(tǒng)中的應(yīng)用08-06
PCI總線仲裁器的設(shè)計(jì)與實(shí)現(xiàn)08-06
高速PCI總線接口卡的開發(fā)08-06
基于PCI總線的CAN卡的設(shè)計(jì)與實(shí)現(xiàn)08-06
基于PCI總線的雷達(dá)視頻采集方案08-06
如何給PCI卡選用合適的總線控制器08-06