摘 要:主機接口(HPI)是德州儀器公司的定點DSP處理器TMS320C54x上配置的與主機進行通信的8位并行接口。它可以實現與主機之間并行、高速的數據交換,構成多機系統。首先介紹HPI的基本原理和基本功能,其次以TMS320C5410與ADuc848的多機系統為實例,介紹了HPI在多機系統中的應用,硬件、軟件要求以及HPI在多機系統中的優越性。以單片機ADuc848和TMS320C5410多機系統為例,從多個方面論述了增強型HPI8主機接口在多機系統的設計中所具有的優點:接口外圍電路簡單,幾乎不需要附加任何邏輯電路,高速的數據傳輸,軟件設計簡單,通信可靠等。給出了硬件設計的原理圖和軟件設計框架,并且通過實際測試表明該系統設計方案運行可靠。
關鍵詞:DSP;多機系統;主機接口;ADuc848
中圖分類號:TP368.1 文獻標識碼:A 文章編號:1004373X(2008)1604803
Research and Application of HPI Interface Technique Based on TMS320C54x
ZHANG Xin.1,WEI Jincheng.2
(1.Chengdu Changtong Railway Technology Exploitation Co.Ltd.,Chengdu,610100,China;2.Xihua University,Chengdu,610039,China)
Abstract:The Host Port Interface(HPI)is a 8bit parallel port used to interface a host processor or device to the Texas Instruments (TI) fixedpoint Digital Signal Processor (DSP) TMS320C54x.The HPI enables the doubleprocessor system(between DSP and Host microcontrollers) to process highspeed and parallel data exchange.In the paper,the structure and principle of HPI are introduced in detail,then taking TMS320C5410 and ADuc848 doubleprocessor system as example,it introduces the HPI′s software,hardware application and superiority in doubleprocessor system.Taking the SCM ADuc848 and the TMS320C5410 doubleprocessor system as example,the advantages of HPI8 design in doubleprocessor system from several aspects are discussed:the peripheral circuit of the interface is simple which hardly needs any additional logic circuit,high speed data transmission,simple software design,credible communications etc.The principle diagram of the hardware design and the frame of the software design are given in the paper,and the credibility of the system design is proved through actual test.
Keywords:DSP;doubleprocessor system;host port interface;ADuc848
1 引 言
DSP作為一種先進的可編程處理器,近幾年來應用及其廣泛。其中,TMS320C54x是TI公司推出的定點系列數字信號處理芯片,它具有運算速度快,CPU結構優化、功耗低和智能化外設等特點,特別適用于實時嵌入式系統的開發。TMS320C5410是TMS320C54x系列中的一款16位的定點DSP,它具有先進的多總線結構,3條16位數據存儲器總線和1條程序存儲器總線;數據/程序尋址空間為8 M×16 b,內置16 k×16 b的ROM,8 k×16 b的DRAM和56 k×16 b的SRAM;3個多通道緩沖串行口,1個8位并行與處理器通信的增強型HPI口,1個16位定時器以及6通道DMA控制器;低功耗,適合電池供電設備等特點。
TMS320C5410內部提供了增強型的8位HPI主機接口,用來與主設備或者主處理器接口,在HPI口和主機通信的過程中,完全沒有硬件和軟件的開銷,而由DSP自身的硬件協調沖突,從而不會打斷DSP正常程序的運行,具有這些優點,HPI在多機通信中的應用已經越來越廣泛了,例如目前的GSM類型手機的設計中,都是通過HPI來協調DSP與主機之間的工作。文中將詳細講述HPI在TMS320C5410和ADuc848多機系統中的應用方案。
2 增強型HPI8原理和結構
增強型HPI8是DSP用于與主機進行雙向數據通信的8位并行接口。外部主機是HPI的主控者,它可以通過HPI直接訪問C5410所有的內部存儲空間,包括存儲器映像寄存器。
增強型HPI8主要由5個部分組成,結構圖如圖1所示:

(1) HPI存儲器。HPI存儲器主要用于C54x與主機之間傳送數據,并且增強型HPI8可以尋址DSP片內所有RAM地址空間。
(2) HPI地址寄存器(HPIA)。它只能由主機對其進行訪問。寄存器中存放當前尋址HPI存儲單片的地址。并且HPIA地址寄存器有2種工作模式:Ⅰ單地址訪問:只針對一個RAM地址空間的訪問,在訪問過程中,HPIA寄存器數據不變。Ⅱ循環地址訪問:主機在讀取存器數據過程中,每次讀后HPIA加1,每次寫前HPIA加1。
(3) HPI數據鎖存器(HPID)。它也只能由主機對它直接訪問,如果當前進行的是讀操作。則HPID中存放的是要從HPI存儲器中讀出的數據;如果當前進行的是寫操作,則HPID存放的是要寫到HPI存儲器的數據。
(4) HPI控制寄存器(HPIC)。C54x和主機都能對它直接訪問,它映像在C54x數據存儲器的地址為002Ch。
(5) HPI控制邏輯,用于處理HPI與主機之間的接口信號。
當C54x與主機進行信息交換時,HPI是主機的一個外圍設備。HPI的外部數據線是8根HD(7~0),在傳送數據時,HPI能自動的將外部接口傳來的連續的8位數組合成16位數后傳給C54x。HPI8的采樣選通信號由HAS1,HAS2和HCS的組合邏輯來組成。在實際應用中,可以把其中的2個引腳接固定電平,則選通信號只用一個引腳來控制。
3 接口的硬件電路設計
硬件電路設計圖如圖2所示。
本文中選用C54x系列的C5410,主機選用AD公司的ADuc848,該芯片具有與8052兼容的內核,最大的工作頻率可以達到12.58 MHz,單周期指令,11個中斷源,2個優先級,雙數據指針,擴展的11位堆棧指針,64 kB閃速/電可擦除程序存儲器,4 kB閃速/電可擦除數據存儲器,2 304 B的用戶RAM,同時可以外擴多達16 MB的數據存儲器。并且外部接口資源非常豐富,有UART,PWM,I.2C和SPI等外部通信接口。在該系統中,不僅可以充分發揮C5410的高速運算功能,同時也可以利用ADuc848的豐富的接口和控制功能,通過ADuc848擴展LCD的顯示功能、與PC的通信功能、鍵盤控制和一些外部的擴張功能等。

通過HPI8實現C5410和ADuc848的協調工作,接口電路中使用ADuc848的2個通用I/O口P0和P2,HPI的8位數據線與P0口相連,P2_2和P2_3連接輸入控制信號HCNTL0和HCNTL1以實現對HPI寄存器的訪問。P2_4連接到字節識別信號HBIL,P2_0連接到數據準備信號HRDY,P2_5連接到讀寫控制信號HRW,外部中斷INT0連接到HPI的中斷信號HINT,P2_1連接到數據選通信號HDS1,其中HCS和HDS2分別接地和電源,所以當HRW=1,HDS1=0時ADuc848從C5410中讀數據,同樣當HRW=0,HDS1=0時ADuc848向C5410中寫數據。在HPI8的訪問速度方面可以采用下面的公式:Fh=(Fd×n)/5 其中Fh為HPI的訪問速度;Fd為CLKOUT輸出頻率;n為8。
所以當C5410的主頻達到100 MIPS的時候,HPI8的訪問速度可以達到160 Mb/s。兼具接口電路簡單、通信可靠和支持高速訪問等優點,HPI在多機系統中應用已經非常廣泛的。
4 軟件系統設計
多機通信的握手方式由HPI的硬件實現,因此在軟件設計方面相對容易,主要是對HPI的3個寄存器進行操作,基本的步驟是:首先初始化HPIC控制寄存器,其次將要讀取的數據的地址寫入HPID,最后采用單字節或者循環讀取方式訪問HPID數據寄存器。
主機程序的流程圖如圖3所示:

當主機通過HPI訪問C54x之前,必須首先初始化HPIC和HPIA寄存器,確定字節控制BOB位和訪問RAM的地址,然后訪問HPID寄存器,獲取數據,然后通過置位DSPINT,觸發C54x的HPI中斷執行相關程序。同時當C54x需要主機讀取新數據時,只需要置位HINT,就可以觸發主機的外部中斷,完成數據的更新。主機和C54x是通過相互中斷的硬件方式實現彼此協調的工作,所以在軟件設計方面相對簡單并且通信的可靠性也大大增加。
5 電路設計中應注意以下幾個問題
(1) C54x與單片機的電平是不是兼容的,信號進入DSP之前必須進行電平轉換,否則有可能損壞DSP。
(2) HAS為下降沿有效,而HCS為上升沿有效。
(3) 在數據傳送以前,必須注意HPIC中的BOB位和HBIL腳的設置,否則數據傳送過程中會出現不可預期的錯誤。
(4) HCNTL0,HCNTL1兩腳用于區分HPIA,HPID及HPIC三者的地址。
參 考 文 獻
[1]TMS320C54x DSP Reference Set Volume 1:CPU and Peripherals Texas Instrument 1999.
[2]TMS320C54x DSP Reference Set Vounme5:Enhanced Peripherals Texas Instrument 1999.
[3]張雄偉,陳亮,徐光輝.DSP集成開發與應用實例[M].北京:電子工業出版社,2002.
[4]周國輝,王曉東.AVR和TMS320VC5402的HPI接口通信設計[J].微計算機信息,2005,21(12z):6062.
作者簡介 張 辛 男,1981年出生,碩士。主要從事計算機應用方面的研究。