數字信號處理器DSP(Digital Signal Processor)是一種特別適合于進(jìn)行數字信號處理的微處理器,憑借其運算速度快、功能強等特點(diǎn),在各個(gè)領(lǐng)域的應用越來(lái)越廣泛。但在很多場(chǎng)合下需要將DSP的各種外圍設備同計算機連接,以實(shí)現數據傳輸。通常情況下可利用DSP的串口或I/O口來(lái)實(shí)現,但無(wú)論是接串口還是接I/O口都要占用DSP的硬件資源,同時(shí)數據的傳輸速度有時(shí)也不能滿(mǎn)足系統的要求。為了解決這一問(wèn)題,將DSP的HPI口通過(guò)PCl2040芯片橋接到PCI總線(xiàn)。本文以TMS320VC5402(簡(jiǎn)稱(chēng)VC5402)為例,介紹DSP的HPI口及其與PCl2040的接口設計。 1 HPI接口功能及特點(diǎn) 主機接口HPI(Host Pott Interface)是C54x DSP系列定點(diǎn)芯片內部具有的一種并行接口部件,主要用于與其他總線(xiàn)或CPU之間進(jìn)行通信,其接口框圖如圖l所示。主機是HPI口的主控者,HPI口作為一個(gè)外設與主機連接,使主機的訪(fǎng)問(wèn)操作很方便。主機通過(guò)以下單元與HPI口通信:專(zhuān)用地址和數據寄存器、HPI控制寄存器以及外部數據和接口控制信號。HPI有兩種工作方式:共用尋址方式(SAM)和僅主機尋址方式(HOM)。在SAM方式下,豐機和C54x都能尋址HPI存儲器;在HOM方式下,僅能讓主機尋址HPI存儲器,C54x則處于復位狀態(tài),或者處在所有內部和外部時(shí)鐘都停止工作的IDLE2空閑狀態(tài)(最低功耗狀態(tài))。 VC5402是TI公司推出的一款性?xún)r(jià)比極高的16位定點(diǎn)處理器。它是C54x系列中應用比較廣泛的一種芯片,有著(zhù)豐富的接口資源,是一種集數據處理和通信功能于一體的高速微處理器。VC5402 HPI口是一個(gè)增強的8位主機接口,它通過(guò)HPI控制寄存器HPIC、地址寄存器HPIA和數據鎖存器HPID來(lái)實(shí)現與主機之間的通信。主機通過(guò)外部引腳HCNTLO和HCNTL1選中不同的寄存器,則當前發(fā)送8位數據就到該寄存器?刂萍拇嫫鱄PIC既可以被主機直接訪(fǎng)問(wèn),又可以被DSP片上CPU訪(fǎng)問(wèn)。在使用上,由于主機接口總是傳輸8位字節,而HPIC是一個(gè)16位寄存器,所以主機向HPIC寫(xiě)數據時(shí),需要發(fā)送2個(gè)相同的8位數據。地址寄存器HPIA,只能被主機直接訪(fǎng)問(wèn)。主機將HPIA寄存器視為一個(gè)地址指針,借助于HPIA主機可以訪(fǎng)問(wèn)VC5402全部的片上存儲器。另外HPIA具有自動(dòng)增長(cháng)的功能,在自動(dòng)增尋址模式下,一次數據讀會(huì )使HPIA在數據讀操作后增加1,而一個(gè)數據寫(xiě)操作會(huì )使HPIA操作前預先增加l。這樣如果使能了該功能,則只須設定一次HPIA即可實(shí)現連續數據塊的寫(xiě)入和讀出。數據寄存器HPLD,只能被主機訪(fǎng)問(wèn)。如果當前進(jìn)行的是讀操作,則HPID中存放的是要從HPI存儲器中讀出的數據;如果當前進(jìn)行的是寫(xiě)操作,則存放的是將要寫(xiě)到HPI存儲器的數據。 2 VC5402的HPI口與PCl2040的接口設計 2.1 PCI總線(xiàn)及其實(shí)現方法 PCI局部總線(xiàn)是32或64位數據總線(xiàn),32位PCI總線(xiàn)在讀寫(xiě)傳送中支持132Mb/s的峰值傳送速率,64位PCI傳送支持264Mb/s峰值傳送速率。對于64位66MHz的PCI總線(xiàn),傳送速率可達528Mb/s。PCI總線(xiàn)協(xié)議規范復雜而龐大,因此需要借助總線(xiàn)接口來(lái)實(shí)現。實(shí)現PCI總線(xiàn)協(xié)議一般有兩種方法:一是用FPGA設計實(shí)現,但PCI協(xié)議比較復雜,因此難度較大;二是采用PCI總線(xiàn)控制芯片,如AMCC公司的S5933和PLX公司的PCI9052等通用的PCI接口芯片。TI公司專(zhuān)門(mén)推出了針對PCI總線(xiàn)和DSP接口的芯片PCI2040,它不但實(shí)現了PCI總線(xiàn)控制的功能,而且提供了和DSP芯片的無(wú)縫接口,因而大大降低了系統設計的復雜度,縮短了開(kāi)發(fā)時(shí)間。 2.2 P012040與DSP接口設計 PCI2040足TI公司設計的專(zhuān)門(mén)用來(lái)實(shí)現C5000/C6000系列DSP和PCI總線(xiàn)進(jìn)行接口的專(zhuān)用芯片,可以通過(guò)8位或16位HPI接口與C54x/C6xDSP實(shí)現無(wú)縫連接。PCI2040通過(guò)HPI接口與VC5402連接。PCI2040的HPI口為8/16位數據傳輸接口(8位還是16位,依據所掛接的DSP的類(lèi)型)。主機作為傳輸的主設備,從機DSP不能發(fā)起傳輸。主設備PCI2040可以讀/寫(xiě)DSP內存,DSP HPl口可以訪(fǎng)問(wèn)DSP所有的片上資源,PCI2040和VC5402之問(wèn)的通信主要靠DSP的HPIA、HPIC、HPID三個(gè)寄存器完成。VC5402的HPI與PCI2040口的連接如圖2所示。 PCI2040的數據總線(xiàn)HAD0~HAD7與VC5402 HPI口的數據總線(xiàn)HD0~HD7相連,用于主機和DSP傳輸數據。PCI2040芯片的HPI口的HCNTLl和HCNTL0引腳分別與DSP的HCNTLl和HCNTL0引腳相連,以實(shí)現其對HPI寄存器的訪(fǎng)問(wèn)。具體HPI寄存器的選擇和訪(fǎng)問(wèn)模式的確定由DSP的HCNTLl和HCNTL0引腳的狀態(tài)決定,表1給出了VC5402 HPI寄存器訪(fǎng)問(wèn)控制的情況。PCI2040帶有獨立的讀/寫(xiě)選通信號HDS和HR/W,可以將PCI2040的HDS、HR/W引腳與VC5402的HDSl、HR/W引腳相連,實(shí)現主機對VC5402 HPI接口的讀/寫(xiě)控制。當主機驅動(dòng)HR/W為高時(shí),讀HPI;為低時(shí),則寫(xiě)HPI。DSP HPI口的HPIEA、HDS2、HAS引腳通過(guò)10kΩ電阻拉高。 需要注意的是,VC5402的HPI接幾是8位的,而DSP內部和PCI總線(xiàn)上的數據格式都是大于8位的,所以主機與DSP之間數據傳輸必須包含2個(gè)連續的字節。專(zhuān)用的HBIL引腳信號確定傳輸的是第一個(gè)字節還是第二個(gè)字節;HPI控制寄存器HPIC的BOB位決定第一個(gè)或第二個(gè)字節放置在16位字的高8位。 3 電路設計時(shí)應注意的問(wèn)題 ①VC5402電源采用3.3V和1.8V電源供電。其中:I/O采用3.3V;核電壓采用1.8V供電;系統從PCI插槽取5V電壓經(jīng)電壓轉換后,供DSP和其他芯片使用。 ②VC5402的有些引腳必須接4.7kΩ的上拉電阻,沒(méi)有用到的中斷引腳也要接相同的上拉電阻。 ③電源輸入端跨接一個(gè)10~100μF的電解電容器,為每個(gè)集成屯路芯片配置一個(gè)0.01μF的陶瓷電容器。 結語(yǔ) 本文以VC5402和PCI2040為例.詳細介紹了DSP的HPI接口和專(zhuān)用PCI接口芯片PCI2040的硬件接口。實(shí)踐證明,利用PCI2040芯片實(shí)現C54x/C6x DSP的PCI總線(xiàn)可以大大減少相應的外圍器件,增強系統的可靠性,同時(shí)降低系統開(kāi)發(fā)的難度,縮短開(kāi)發(fā)周期。 |