新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > TMS320C54x與80386EX接口技術

TMS320C54x與80386EX接口技術

作者: 時間:2006-05-07 來源:網絡 收藏

摘要:以TI公司的TMS320C575為例,討論C54x DSP的主機接口與Intel 80386Ex處理器的連接技術,及軟件設計中的注意事項。

本文引用地址:http://butianyuan.cn/article/241605.htm

關鍵詞:MTS320C54x 主機接口(HPI) 80386EX

現代電子技術的發(fā)展方向是系統(tǒng)。傳統(tǒng)的系統(tǒng)是基于單片機的,而新一代的系統(tǒng)將是以IP核(Intellectual Property Kernel知識產權核)模塊為核心,用混合ASIC/MPU/FPGA/DSP生成的硅片直接構成的單片嵌入式產品。在嵌入式系統(tǒng)設計中,特別是智能電子系統(tǒng)以及系統(tǒng)集成設計中,MPU、CPLD/FPGA以及DSP起著重要的核心作用;而以DSP和80x86為核心的電子系統(tǒng)則是一種典型的嵌入式系統(tǒng)。以下討論這兩種處理器的連接技術。

1 主機接口386EX

C54x片內都有一個主機接口(HPI)。HPI是一個并行口,用來與主設備或主處理器接口。外部主機是HPI的主控者,可以通過HPI直接訪問CPU的存儲空間,包括存儲器映像寄存器。

HPI主要由5個部分組成:

*HPI存儲器(DARAM)。HPI的RAM主要用于C54x與主機之間傳送數據,也可以用作通用雙尋址數據RAM或程序RAM。

*HPI地址寄存器(HPIA)。它只能由主機對其直接訪問。寄存器中存放當前尋址HPI存儲單元的地址。

*HPI數據鎖存器(HPID)。它也只能由主機對其直接訪問。如果當前進行的是讀操作,則HPID中存放的是要從HPI在座器中讀出的數據;如果當前進行的是寫操作,則HPID中存放的是將要寫到HPI存儲器的數據。

*HPI控制寄存器(HPIC)。C54x和主機都能對其直接訪問,它映像在C54x數據存儲器地址的002CH處。

*HPI控制邏輯。用于處理HPI與主機之間的接口信號。

HPI有兩種工作方式:

*共用尋址方式(SAM)。這是常用的操作方式。在SAM方式下,主機和C54x都能尋址HPI存儲器,異步工作的主機的尋址可以在HPI內部重新得到同步。如C54x與主機的時候周期發(fā)生沖突,則主機具有尋址優(yōu)先權,C54x等待一個周期。

*僅主機尋址方式(HOM)。在HOM方式下,只能讓主機尋址HPI存儲器,C54x則處于復位狀態(tài)或者處在所有內部和外部時鐘都停止工作的IDLE2空閑狀態(tài)(最小功耗狀態(tài))。

HPI支持主設備與C54x之間的高速數據傳送。在SAM工作方式,若HPI每5個CLKOUT周期傳送一個字節(jié)(即64 Mb/s),那么主機的運行頻率可達(fd·n)/5。其中fd是C54x的CLKOUT頻率;n是主機每進行一次外部尋址的周期數,通常n為4(或3)。若C54x的CLKOUT頻率為40MHz,那么,主機的時鐘頻率可達32(或24)MHz,且不需插入等待周期。而在HOM方式,主機可以更快的速度——每50ns尋址一個字節(jié)(即160Mb/s),且與C54x的時鐘速率無關。

Intel 386EX微處理器是一個優(yōu)化的、用于嵌入式應用的全靜態(tài)的32位處理器。其特點是功耗低、工作電壓低,集成了許多通常使用的DOS類型外圍芯片,并且與擁有大量軟件基礎的32位編程結構的Intel 386處理器兼容。

2 主機接口與386EX的連接

圖1為TMS320C57S HPI與80386EX主機連接的接口電路圖。由圖1可見,C54x通過HPI與主設備相連時,除了8位HPI數據總線以及控制信號線外,不需要附加其它的邏輯電路。

C57S HPI是一個8位的并行端口,可以用其將16位字結構的C54x DSP與主機相連,因而主機必須讀/寫兩個連續(xù)的8位字節(jié)。386EX有一個BS8引腳,可用來指示所連接設備是一個8位的外部設備。當該引腳為低電平時,就可以通過D7:D0讀/寫2個連續(xù)的8位字節(jié)達到操作16位外設的目的。

從386EX的可尋址空間可以看出,只需兩根地址線(A2、A1)便可尋址到HPI端口:控制寄存器、地址寄存器和數據寄存器。386EX有一個內部譯碼器CS0,可將外部設備譯碼至可尋址范圍。當然,也可將HPI端口映射至386EX的I/O地址空間。

386EX的外部時鐘頻率(CLK2)為50 MHz,內部經2分頻后,CPU頻率可達25MHz(40ns)。386EX的一個讀/寫周期為80ns;而DSP在HOM模式下的運行頻率為2個時鐘周期,SAM模式下為5個時鐘周期。因此,當外部時鐘頻率為80MHz(40MHz/25ns)時,其存取時間分別為50ns和125ns。對于SAM模式,386EX必須使用READY信號來插入一個等待狀態(tài)(一個等待周期為40ns)。

3 軟件設計

(1)存取DSP的數據

由于主機接口總是傳送8位數據字節(jié),而HPIC寄存器(通常是主機首先要尋址的寄存器)又是一個16位寄存器,在主機這一邊就可以相同內容的高字節(jié)與低字節(jié)來管理HPIC寄存器(盡管某些位的尋址受到一定的限制),而在C54x這一邊高位是不用的。

當主機開始存取DSP的數據時,首先要執(zhí)行以下兩步操作:

*將HPIC寄存器的BOB位置1(高字節(jié)與低字節(jié)必須相同)。

BOB位為字節(jié)選擇位。BOB位置為1,表示第一個字節(jié)為低字節(jié)。BOB位影響數據和地址的傳送。只有主機可以修改這一位,C54x對它既不能讀也不能寫。

*將地址寫入HPIA寄存器。

此后即可正常存取DSP的數據了。

當DSP處于復位狀態(tài)時,HPI自動設置為HOM模式。此時主機可以靈活地控制DSP的復位信號(RS)。如果想使DSP處于省電方式,還應當控制其時鐘信號(圖1中未顯示這些功能)。C54x與主機在同一時鐘周期訪問存儲器時,主機的優(yōu)先級要高。

(2)HPI自舉加載

如果選擇HPI自舉方式,應將HINT與INT3引腳連在一起。當HINT為低電平時,C54x的中斷標志寄存器(IFR)的相應位(bit2)置位。INT3發(fā)出之后,自舉加載程序等待20個機器周期后讀出IFR的相應位(bit2)置位。INT3發(fā)出之后,自舉加載程序等待20個機器周期后讀出IFR的bit2。若此位被置位(表示INT3被識別),自舉加載程序就轉換到片內HPI RAM的起始地址——程序空間的8800H,并從這個地址起執(zhí)行程序。

(3)HPI存儲器

C54x的HPI存儲器是一個2K×16位的DARAM。它在數據存儲空間的地址為1000H~17FFH(這一存儲空間也可以用作程序存儲空間,條件是PMST寄存器的OVLY位被置位)。

從接口的主機方便看,是很容易尋址2K字的HPI存儲器的。由于HPIA寄存器是16位,由它指向2K字空間,因此主機對它尋址是很方便的,地址為0~7FFH。

HPI存儲器地址的自動增量特性,可以用來連續(xù)尋址HPI存儲器。在自動增量方式,每進行驪次讀操作,都會使HPIA事后增1;每進行一次寫操作,都會使HPIA事前減1。HPIA寄存器是一個16位寄存器,它的每一位都可以讀出和寫入,盡管尋址2K字的HPI存儲器只要11位最低有效位地址。HPIA的增/減對HPIA寄存器所有16位都會產生影響。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關推薦

技術專區(qū)

關閉