TMS320VC5402 DSP與單片機(jī)的HPI接口實(shí)現(xiàn)
DSP芯片中的HPI(主機(jī)接口)是為了滿足DSP與其他的微處理器接口而專門設(shè)計(jì)的。他分為HPI—8和HPI1—6,分別針對(duì)具有8位和16位數(shù)據(jù)線的單片機(jī)。每一種又分為標(biāo)準(zhǔn)型和增強(qiáng)型,區(qū)別在于標(biāo)準(zhǔn)型只可以訪問固定的地址空間,而增強(qiáng)型可以訪問整個(gè)DSP的片內(nèi)存儲(chǔ)器。利用C5402的增強(qiáng)型8位并行主機(jī)接口(HPI)與單片機(jī)通信。
VC5402DSP的外部I/P引腳用的是3.3V的邏輯電平,而大部分51單片機(jī)用的是5V的邏輯電平。前者輸出高電平,最小值為2.4V;后者輸入高電平,最小值為2.0V。所以前者的輸出可以直接接到后者的輸入。但是前者允許輸入高電平最大值為3.6V,而后者的輸出高電平一般都在4.6V以上。所以前者的輸入和后者的輸出不能直接連接,需要做電平轉(zhuǎn)換。如果引腳數(shù)量少,可以直接用三極管電阻來轉(zhuǎn)換。這里由于引腳較多,所以選用TI74LVC16245A芯片來進(jìn)行電平轉(zhuǎn)換。硬件電路如圖3所示。
圖3 通過電平轉(zhuǎn)換芯片實(shí)現(xiàn)
HPI的數(shù)據(jù)傳輸分為2部分:外部傳輸和內(nèi)部傳輸。外部傳輸是指主機(jī)和HPI寄存器之間的傳輸,由主機(jī)發(fā)出指令完成。內(nèi)部傳輸是指HPI寄存器和DSP內(nèi)部RAM之間的傳輸,由DSP內(nèi)部的DMA控制器自動(dòng)完成。主機(jī)在進(jìn)行外部傳輸時(shí),要先檢查內(nèi)部傳輸是否完成,這是通過檢測(cè)HRDY信號(hào)實(shí)現(xiàn)的。外部傳輸操作的一般步驟是:檢查HRDY信號(hào)的電平。為高,表示可以進(jìn)行傳輸;為低,表示DSP正在進(jìn)行內(nèi)部傳輸,此時(shí)不能進(jìn)行外部傳輸。主機(jī)發(fā)出指令,設(shè)置HCNTL0,HCNTL1,BHIL,HR?W信號(hào)的狀態(tài),以確定讀或?qū)懙募拇嫫饕约白止?jié)的選擇。主機(jī)發(fā)出時(shí)序控制信號(hào),按時(shí)序進(jìn)行操作,從而完成一次外部傳輸。
結(jié)語
利用McBSP的方法,硬件結(jié)構(gòu)簡(jiǎn)單所用芯片少,但是將占用片上系統(tǒng)中為數(shù)不多的同步串行口資源,而且也要占用DSP的處理時(shí)間。HPI方案比較簡(jiǎn)單,附加硬件少、成本低、數(shù)據(jù)吞吐量非常大,但不適合于實(shí)時(shí)控制的場(chǎng)合,因?yàn)楣ぷ髦锌赡軐SP掛起,影響實(shí)時(shí)工作。
評(píng)論