在各個領域的應用HPI接口/PCI總線接口/DSP越來越廣泛。但在很多場合下需要將DSP的各種外圍設備同計算機連接,以實現數據傳輸。通常情況下可利用DSP的串口或I/O口來實現,但無論是接串口還是接I/O口都要占用DSP的硬件資源,同時數據的傳輸速度有時也不能滿足系統的要求。為了解決這一問題,將DSP的HPI口通過PCl2040芯片橋接到PCI總線。
本文以TMS320VC5402(簡稱VC5402)為例,介紹DSP的HPI口及其與PCl2040的接口設計。
1 HPI接口功能及特點
主機接口HPI(Host Pott Interface)是C54x DSP系列定點芯片內部具有的一種并行接口部件,主要用于與其他總線或CPU之間進行通信,其接口框圖如圖l所示。主機是HPI口的主控者,HPI口作為一個外設與主機連接,使主機的訪問操作很方便。主機通過以下單元與HPI口通信:專用地址和數據寄存器、HPI控制寄存器以及HPI接口/PCI總線接口/DSP外部數據和接口控制信號。HPI有兩種工作方式:共用尋址方式(SAM)和僅主機尋址方式(HOM)。在SAM方式下,豐機和C54x都能尋址HPI存儲器;在HOM方式下,僅能讓主機尋址HPI存儲器,C54x則處于復位狀態,或者處在所有內部和外部時鐘都停止工作的IDLE2空閑狀態(功耗狀態)。
2 VC5402的HPI口與PCl2040的接口設計
2.1 PCI總線及其實現方法
PCI局部總線是32或64位數據總線,32位PCI總線在讀寫傳送中支持132Mb/s的峰值傳送速率,64位PCI傳送支持264Mb/s峰值傳送速率。對于64位66MHz的PCI總線,傳送速率可達528Mb/s。PCI總線協議規范復雜而龐大,因此需要借助總線接口來實現。實現PCI總線協議一般有兩種方法:一是用FPGA設計實現,但PCI協議比較復雜,因此難度較大;二是采用PCI總線控制芯片,如AMCC公司的S5933和PLX公司的PCI9052等通用的PCI接口芯片。TI公司專門推出了針對PCI總線和DSP接口的芯片PCI2040,它不但實現了PCI總線控制的功能,而且提供了和DSP芯片的無縫接口,因而大大降低了系統設計的復雜度,縮短了開發時間。
2.2 P012040與DSP接口設計
PCI2040足TI公司設計的專門用來實現C5000/C6000系列DSP和PCI總線進行接口的專用芯片,可以通過8位或16位HPI接口與C54x/C6xDSP實現HPI接口/PCI總線接口/DSP無縫連接。PCI2040通過HPI接口與VC5402連接。PCI2040的HPI口為8/16位數據傳輸接口(8位還是16位,依據所掛接的DSP的類型)。主機作為傳輸的主設備,從機DSP不能發起傳輸。主設備PCI2040可以讀/寫DSP內存,DSP HPl口可以訪問DSP所有的片上資源,PCI2040和VC5402之問的通信主要靠DSP的HPIA、HPIC、HPID三個寄存器完成。VC5402的HPI與PCI2040口的連接如圖2所示。

需要注意的是,VC5402的HPI接幾是8位的,而DSP內部和PCI總線上的數據格式都是大于8位的,所以主機與DSP之間數據傳輸必須包含2個連續的字節。專用的HBIL引腳信號確定傳輸的是個字節還是第二個字節;HPI控制寄存器HPIC的BOB位決定個或第二個字節放置在16位字的高8位。
3 電路設計時應注意的問題
①VC5402電源采用3.3V和1.8V電源供電。其中:I/O采用3.3V;核電壓采用1.8V供電;系統從PCI插槽取5V電壓經電壓轉換后,供DSP和其他芯片使用。
②VC5402的有些引腳必須接4.7kΩ的上拉電阻,沒有用到的中斷引腳也要接相同的上拉電阻。
③電源輸入端跨接一個10~100μF的電解電容器,為每個集成屯路芯片配置一個0.01μF的陶瓷電容器。
結語
本文以VC5402和PCI2040為例.詳細介紹了DSP的HPI接口和專用PCI接口芯片PCI2040的硬件接口。實踐證明,利用PCI2040芯片實現C54x/C6x DSP的PCI總線可以大大減少相應的外圍器件,增強系統的可靠性,同時降低系統開發的難度,縮短開發周期。