<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > TMS320VC5402 HPI接口與PCI總線接口設計

          TMS320VC5402 HPI接口與PCI總線接口設計

          ——
          作者: 時間:2007-10-11 來源: 收藏
          (Digital Signal Processor)是一種特別適合于進行數(shù)字信號處理的微處理器,憑借其運算速度快、功能強等特點,在各個領域的應用越來越廣泛。但在很多場合下需要將的各種外圍設備同計算機連接,以實現(xiàn)數(shù)據(jù)傳輸。通常情況下可利用的串口或I/O口來實現(xiàn),但無論是接串口還是接I/O口都要占用DSP的硬件資源,同時數(shù)據(jù)的傳輸速度有時也不能滿足系統(tǒng)的要求。為了解決這一問題,將DSP的HPI口通過PCl2040芯片橋接到PCI總線。本文以(簡稱VC5402)為例,介紹DSP的HPI口及其與PCl2040的接口設計。

          1 HPI接口功能及特點

          主機接口HPI(Host Pott Interface)是C54x DSP系列定點芯片內(nèi)部具有的一種并行接口部件,主要用于與其他總線或CPU之間進行通信,其接口框圖如圖l所示。主機是HPI口的主控者,HPI口作為一個外設與主機連接,使主機的訪問操作很方便。主機通過以下單元與HPI口通信:專用地址和數(shù)據(jù)寄存器、HPI控制寄存器以及外部數(shù)據(jù)和接口控制信號。HPI有兩種工作方式:共用尋址方式(SAM)和僅主機尋址方式(HOM)。在SAM方式下,豐機和C54x都能尋址HPI存儲器;在HOM方式下,僅能讓主機尋址HPI存儲器,C54x則處于復位狀態(tài),或者處在所有內(nèi)部和外部時鐘都停止工作的IDLE2空閑狀態(tài)(最低功耗狀態(tài))。

            

          接口框圖

          VC5402是TI公司推出的一款性價比極高的16位定點處理器。它是C54x系列中應用比較廣泛的一種芯片,有著豐富的接口資源,是一種集數(shù)據(jù)處理和通信功能于一體的高速微處理器。VC5402 HPI口是一個增強的8位主機接口,它通過HPI控制寄存器HPIC、地址寄存器HPIA和數(shù)據(jù)鎖存器HPID來實現(xiàn)與主機之間的通信。主機通過外部引腳HCNTLO和HCNTL1選中不同的寄存器,則當前發(fā)送8位數(shù)據(jù)就到該寄存器??刂萍拇嫫鱄PIC既可以被主機直接訪問,又可以被DSP片上CPU訪問。在使用上,由于主機接口總是傳輸8位字節(jié),而HPIC是一個16位寄存器,所以主機向HPIC寫數(shù)據(jù)時,需要發(fā)送2個相同的8位數(shù)據(jù)。地址寄存器HPIA,只能被主機直接訪問。主機將HPIA寄存器視為一個地址指針,借助于HPIA主機可以訪問VC5402全部的片上存儲器。另外HPIA具有自動增長的功能,在自動增尋址模式下,一次數(shù)據(jù)讀會使HPIA在數(shù)據(jù)讀操作后增加1,而一個數(shù)據(jù)寫操作會使HPIA操作前預先增加l。這樣如果使能了該功能,則只須設定一次HPIA即可實現(xiàn)連續(xù)數(shù)據(jù)塊的寫入和讀出。數(shù)據(jù)寄存器HPLD,只能被主機訪問。如果當前進行的是讀操作,則HPID中存放的是要從HPI存儲器中讀出的數(shù)據(jù);如果當前進行的是寫操作,則存放的是將要寫到HPI存儲器的數(shù)據(jù)。

          2 VC5402的HPI口與PCl2040的接口設計

          2.1 PCI總線及其實現(xiàn)方法

          PCI局部總線是32或64位數(shù)據(jù)總線,32位PCI總線在讀寫傳送中支持132Mb/s的峰值傳送速率,64位PCI傳送支持

          264Mb/s峰值傳送速率。對于64位66MHz的PCI總線,傳送速率可達528Mb/s。PCI總線協(xié)議規(guī)范復雜而龐大,因此需要借助總線接口來實現(xiàn)。實現(xiàn)PCI總線協(xié)議一般有兩種方法:一是用FPGA設計實現(xiàn),但PCI協(xié)議比較復雜,因此難度較大;二是采用PCI總線控制芯片,如AMCC公司的S5933和PLX公司的PCI9052等通用的PCI接口芯片。TI公司專門推出了針對PCI總線和DSP接口的芯片PCI2040,它不但實現(xiàn)了PCI總線控制的功能,而且提供了和DSP芯片的無縫接口,因而大大降低了系統(tǒng)設計的復雜度,縮短了開發(fā)時間。

          2.2 P012040與DSP接口設計

          PCI2040足TI公司設計的專門用來實現(xiàn)C5000/C6000系列DSP和PCI總線進行接口的專用芯片,可以通過8位或16位HPI接口與C54x/C6xDSP實現(xiàn)無縫連接。PCI2040通過HPI接口與VC5402連接。PCI2040的HPI口為8/16位數(shù)據(jù)傳輸接口(8位還是16位,依據(jù)所掛接的DSP的類型)。主機作為傳輸?shù)闹髟O備,從機DSP不能發(fā)起傳輸。主設備PCI2040可以讀/寫DSP內(nèi)存,DSP HPl口可以訪問DSP所有的片上資源,PCI2040和VC5402之問的通信主要靠DSP的HPIA、HPIC、HPID三個寄存器完成。VC5402的HPI與PCI2040口的連接如圖2所示。

            

          VC5402的HPI與PCI2040口的連接

          PCI2040的數(shù)據(jù)總線HAD0~HAD7與VC5402 HPI口的數(shù)據(jù)總線HD0~HD7相連,用于主機和DSP傳輸數(shù)據(jù)。PCI2040芯片的HPI口的HCNTLl和HCNTL0引腳分別與DSP的HCNTLl和HCNTL0引腳相連,以實現(xiàn)其對HPI寄存器的訪問。具體HPI寄存器的選擇和訪問模式的確定由DSP的HCNTLl和HCNTL0引腳的狀態(tài)決定,表1給出了VC5402 HPI寄存器訪問控制的情況。PCI2040帶有獨立的讀/寫選通信號HDS和HR/W,可以將PCI2040的HDS、HR/W引腳與VC5402的HDSl、HR/W引腳相連,實現(xiàn)主機對VC5402 HPI接口的讀/寫控制。當主機驅動HR/W為高時,讀HPI;為低時,則寫HPI。DSP HPI口的HPIEA、HDS2、HAS引腳通過10kΩ電阻拉高。

            

          VC5402 HPI寄存器訪問控制的情況

          需要注意的是,VC5402的HPI接幾是8位的,而DSP內(nèi)部和PCI總線上的數(shù)據(jù)格式都是大于8位的,所以主機與DSP之間數(shù)據(jù)傳輸必須包含2個連續(xù)的字節(jié)。專用的HBIL引腳信號確定傳輸?shù)氖堑谝粋€字節(jié)還是第二個字節(jié);HPI控制寄存器HPIC的BOB位決定第一個或第二個字節(jié)放置在16位字的高8位。

          3 電路設計時應注意的問題

          ①VC5402電源采用3.3V和1.8V電源供電。其中:I/O采用3.3V;核電壓采用1.8V供電;系統(tǒng)從PCI插槽取5V電壓經(jīng)

          電壓轉換后,供DSP和其他芯片使用。

          ②VC5402的有些引腳必須接4.7kΩ的上拉電阻,沒有用到的中斷引腳也要接相同的上拉電阻。

          ③電源輸入端跨接一個10~100μF的電解電容器,為每個集成屯路芯片配置一個0.01μF的陶瓷電容器。

          結語

          本文以VC5402和PCI2040為例.詳細介紹了DSP的HPI接口和專用PCI接口芯片PCI2040的硬件接口。實踐證明,利用PCI2040芯片實現(xiàn)C54x/C6x DSP的PCI總線可以大大減少相應的外圍器件,增強系統(tǒng)的可靠性,同時降低系統(tǒng)開發(fā)的難度,縮短開發(fā)周期。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();