新聞中心

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

        TMS320C54x與80386EX接口技術

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

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

        本文引用地址:http://www.104case.com/article/241605.htm

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

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

        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與主機的時候周期發生沖突,則主機具有尋址優先權,C54x等待一個周期。

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

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

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

        2 主機接口與386EX的連接

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

        C57S HPI是一個8位的并行端口,可以用其將16位字結構的C54x DSP與主機相連,因而主機必須讀/寫兩個連續的8位字節。386EX有一個BS8引腳,可用來指示所連接設備是一個8位的外部設備。當該引腳為低電平時,就可以通過D7:D0讀/寫2個連續的8位字節達到操作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信號來插入一個等待狀態(一個等待周期為40ns)。

        3 軟件設計

        (1)存取DSP的數據

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

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

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

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

        *將地址寫入HPIA寄存器。

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

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

        (2)HPI自舉加載

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

        (3)HPI存儲器

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

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

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

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 通榆县| 广昌县| 阳泉市| 海城市| 徐州市| 栾城县| 北流市| 元朗区| 秀山| 乌拉特后旗| 南开区| 驻马店市| 峡江县| 梁山县| 泊头市| 南涧| 博罗县| 巴塘县| 桐庐县| 丽水市| 囊谦县| 美姑县| 卢湾区| 家居| 石棉县| 应用必备| 治多县| 临颍县| 敦煌市| 长兴县| 沁阳市| 贵港市| 云阳县| 桃源县| 扶风县| 波密县| 新绛县| 奎屯市| 额济纳旗| 牙克石市| 噶尔县|