TMS320C54x與80386EX接口技術(shù)
摘要:以TI公司的TMS320C575為例,討論C54x DSP的主機(jī)接口與Intel 80386Ex處理器的連接技術(shù),及軟件設(shè)計(jì)中的注意事項(xiàng)。
關(guān)鍵詞:MTS320C54x 主機(jī)接口(HPI) 80386EX
現(xiàn)代電子技術(shù)的發(fā)展方向是嵌入式系統(tǒng)。傳統(tǒng)的嵌入式系統(tǒng)是基于單片機(jī)的,而新一代的嵌入式系統(tǒng)將是以IP核(Intellectual Property Kernel知識(shí)產(chǎn)權(quán)核)模塊為核心,用混合ASIC/MPU/FPGA/DSP生成的硅片直接構(gòu)成的單片嵌入式產(chǎn)品。在嵌入式系統(tǒng)設(shè)計(jì)中,特別是智能電子系統(tǒng)以及系統(tǒng)集成設(shè)計(jì)中,MPU、CPLD/FPGA以及DSP起著重要的核心作用;而以DSP和80x86為核心的電子系統(tǒng)則是一種典型的嵌入式系統(tǒng)。以下討論這兩種處理器的連接技術(shù)。
1 主機(jī)接口386EX
C54x片內(nèi)都有一個(gè)主機(jī)接口(HPI)。HPI是一個(gè)并行口,用來(lái)與主設(shè)備或主處理器接口。外部主機(jī)是HPI的主控者,可以通過(guò)HPI直接訪(fǎng)問(wèn)CPU的存儲(chǔ)空間,包括存儲(chǔ)器映像寄存器。
HPI主要由5個(gè)部分組成:
*HPI存儲(chǔ)器(DARAM)。HPI的RAM主要用于C54x與主機(jī)之間傳送數(shù)據(jù),也可以用作通用雙尋址數(shù)據(jù)RAM或程序RAM。
*HPI地址寄存器(HPIA)。它只能由主機(jī)對(duì)其直接訪(fǎng)問(wèn)。寄存器中存放當(dāng)前尋址HPI存儲(chǔ)單元的地址。
*HPI數(shù)據(jù)鎖存器(HPID)。它也只能由主機(jī)對(duì)其直接訪(fǎng)問(wèn)。如果當(dāng)前進(jìn)行的是讀操作,則HPID中存放的是要從HPI在座器中讀出的數(shù)據(jù);如果當(dāng)前進(jìn)行的是寫(xiě)操作,則HPID中存放的是將要寫(xiě)到HPI存儲(chǔ)器的數(shù)據(jù)。
*HPI控制寄存器(HPIC)。C54x和主機(jī)都能對(duì)其直接訪(fǎng)問(wèn),它映像在C54x數(shù)據(jù)存儲(chǔ)器地址的002CH處。
*HPI控制邏輯。用于處理HPI與主機(jī)之間的接口信號(hào)。
HPI有兩種工作方式:
*共用尋址方式(SAM)。這是常用的操作方式。在SAM方式下,主機(jī)和C54x都能尋址HPI存儲(chǔ)器,異步工作的主機(jī)的尋址可以在HPI內(nèi)部重新得到同步。如C54x與主機(jī)的時(shí)候周期發(fā)生沖突,則主機(jī)具有尋址優(yōu)先權(quán),C54x等待一個(gè)周期。
*僅主機(jī)尋址方式(HOM)。在HOM方式下,只能讓主機(jī)尋址HPI存儲(chǔ)器,C54x則處于復(fù)位狀態(tài)或者處在所有內(nèi)部和外部時(shí)鐘都停止工作的IDLE2空閑狀態(tài)(最小功耗狀態(tài))。
HPI支持主設(shè)備與C54x之間的高速數(shù)據(jù)傳送。在SAM工作方式,若HPI每 5個(gè)CLKOUT周期傳送一個(gè)字節(jié)(即64 Mb/s),那么主機(jī)的運(yùn)行頻率可達(dá)(fd·n)/5。其中fd是C54x的CLKOUT頻率;n是主機(jī)每進(jìn)行一次外部尋址的周期數(shù),通常n為4(或 3)。若C54x的CLKOUT頻率為40MHz,那么,主機(jī)的時(shí)鐘頻率可達(dá)32(或24)MHz,且不需插入等待周期。而在HOM方式,主機(jī)可以更快的速度——每50ns尋址一個(gè)字節(jié)(即160Mb/s),且與C54x的時(shí)鐘速率無(wú)關(guān)。
Intel 386EX微處理器是一個(gè)優(yōu)化的、用于嵌入式應(yīng)用的全靜態(tài)的32位處理器。其特點(diǎn)是功耗低、工作電壓低,集成了許多通常使用的DOS類(lèi)型外圍芯片,并且與擁有大量軟件基礎(chǔ)的32位編程結(jié)構(gòu)的Intel 386處理器兼容。
2 主機(jī)接口與386EX的連接
圖1為T(mén)MS320C57S HPI與80386EX主機(jī)連接的接口電路圖。由圖1可見(jiàn),C54x通過(guò)HPI與主設(shè)備相連時(shí),除了8位HPI數(shù)據(jù)總線(xiàn)以及控制信號(hào)線(xiàn)外,不需要附加其它的邏輯電路。
C57S HPI是一個(gè)8位的并行端口,可以用其將16位字結(jié)構(gòu)的C54x DSP與主機(jī)相連,因而主機(jī)必須讀/寫(xiě)兩個(gè)連續(xù)的8位字節(jié)。386EX有一個(gè)BS8引腳,可用來(lái)指示所連接設(shè)備是一個(gè)8位的外部設(shè)備。當(dāng)該引腳為低電平時(shí),就可以通過(guò)D7:D0讀/寫(xiě)2個(gè)連續(xù)的8位字節(jié)達(dá)到操作16位外設(shè)的目的。
從386EX的可尋址空間可以看出,只需兩根地址線(xiàn)(A2、A1)便可尋址到HPI端口:控制寄存器、地址寄存器和數(shù)據(jù)寄存器。386EX有一個(gè)內(nèi)部譯碼器CS0,可將外部設(shè)備譯碼至可尋址范圍。當(dāng)然,也可將HPI端口映射至386EX的I/O地址空間。
386EX的外部時(shí)鐘頻率(CLK2)為50 MHz,內(nèi)部經(jīng)2分頻后,CPU頻率可達(dá)25MHz(40ns)。386EX的一個(gè)讀/寫(xiě)周期為80ns;而DSP在HOM模式下的運(yùn)行頻率為2個(gè)時(shí)鐘周期,SAM模式下為5個(gè)時(shí)鐘周期。因此,當(dāng)外部時(shí)鐘頻率為80MHz(40MHz/25ns)時(shí),其存取時(shí)間分別為50ns和125ns。對(duì)于SAM模式,386EX必須使用READY信號(hào)來(lái)插入一個(gè)等待狀態(tài)(一個(gè)等待周期為40ns)。
3 軟件設(shè)計(jì)
(1)存取DSP的數(shù)據(jù)
由于主機(jī)接口總是傳送8位數(shù)據(jù)字節(jié),而HPIC寄存器(通常是主機(jī)首先要尋址的寄存器)又是一個(gè)16位寄存器,在主機(jī)這一邊就可以相同內(nèi)容的高字節(jié)與低字節(jié)來(lái)管理HPIC寄存器(盡管某些位的尋址受到一定的限制),而在C54x這一邊高位是不用的。
當(dāng)主機(jī)開(kāi)始存取DSP的數(shù)據(jù)時(shí),首先要執(zhí)行以下兩步操作:
*將HPIC寄存器的BOB位置1(高字節(jié)與低字節(jié)必須相同)。
BOB位為字節(jié)選擇位。BOB位置為1,表示第一個(gè)字節(jié)為低字節(jié)。BOB位影響數(shù)據(jù)和地址的傳送。只有主機(jī)可以修改這一位,C54x對(duì)它既不能讀也不能寫(xiě)。
*將地址寫(xiě)入HPIA寄存器。
此后即可正常存取DSP的數(shù)據(jù)了。
當(dāng)DSP處于復(fù)位狀態(tài)時(shí),HPI自動(dòng)設(shè)置為HOM模式。此時(shí)主機(jī)可以靈活地控制DSP的復(fù)位信號(hào)(RS)。如果想使DSP處于省電方式,還應(yīng)當(dāng)控制其時(shí)鐘信號(hào)(圖1中未顯示這些功能)。C54x與主機(jī)在同一時(shí)鐘周期訪(fǎng)問(wèn)存儲(chǔ)器時(shí),主機(jī)的優(yōu)先級(jí)要高。
(2)HPI自舉加載
如果選擇HPI自舉方式,應(yīng)將HINT與INT3引腳連在一起。當(dāng)HINT為低電平時(shí),C54x的中斷標(biāo)志寄存器(IFR)的相應(yīng)位(bit2)置位。INT3發(fā)出之后,自舉加載程序等待20個(gè)機(jī)器周期后讀出IFR的相應(yīng)位(bit2)置位。INT3發(fā)出之后,自舉加載程序等待20個(gè)機(jī)器周期后讀出IFR的bit2。若此位被置位(表示INT3被識(shí)別),自舉加載程序就轉(zhuǎn)換到片內(nèi)HPI RAM的起始地址——程序空間的8800H,并從這個(gè)地址起執(zhí)行程序。
(3)HPI存儲(chǔ)器
C54x的HPI存儲(chǔ)器是一個(gè)2K×16位的DARAM。它在數(shù)據(jù)存儲(chǔ)空間的地址為1000H~17FFH(這一存儲(chǔ)空間也可以用作程序存儲(chǔ)空間,條件是PMST寄存器的OVLY位被置位)。
從接口的主機(jī)方便看,是很容易尋址2K字的HPI存儲(chǔ)器的。由于HPIA寄存器是16位,由它指向2K字空間,因此主機(jī)對(duì)它尋址是很方便的,地址為0~7FFH。
HPI存儲(chǔ)器地址的自動(dòng)增量特性,可以用來(lái)連續(xù)尋址HPI存儲(chǔ)器。在自動(dòng)增量方式,每進(jìn)行驪次讀操作,都會(huì)使HPIA事后增1;每進(jìn)行一次寫(xiě)操作,都會(huì)使HPIA事前減1。HPIA寄存器是一個(gè)16位寄存器,它的每一位都可以讀出和寫(xiě)入,盡管尋址2K字的HPI存儲(chǔ)器只要11位最低有效位地址。HPIA的增/減對(duì)HPIA寄存器所有16位都會(huì)產(chǎn)生影響。