TI 54xxDSP與51單片機(jī)的接口技術(shù)
出處:wwwlhjcom 發(fā)布于:2007-04-19 09:50:31
關(guān)鍵詞:DSP HPI 單片機(jī)
TMS320C54xx是TI公司針對音頻信號處理領(lǐng)域推出的一種定點DSP系列芯片,已經(jīng)在很多語音信號處理系統(tǒng)中得到了廣泛的應(yīng)用。在這些系統(tǒng)中,通常包含DSP和單片機(jī)兩個子系統(tǒng)。DSP系統(tǒng)作為從設(shè)備,完成采樣、計算等功能;單片機(jī)系統(tǒng)作為主設(shè)備,完成交互界面的控制。主從設(shè)備之間也要以一定的方式接口,來進(jìn)行數(shù)據(jù)通信。下面就介紹DSP和單片機(jī)之間的接口技術(shù)。
這里單片機(jī)選擇的是MCS-51系列。51系列是一種很經(jīng)典的單片機(jī),20多年來一直久盛不衰。而且Intel通過授權(quán)51內(nèi)核,出現(xiàn)很多第三方生產(chǎn)的51系列產(chǎn)品。這些產(chǎn)品一般都具有較高的時鐘頻率和較大的存儲空間,而且還能運動嵌入式操作系統(tǒng)。這些都極大地提高了它的性能,擴(kuò)大了它的應(yīng)用范圍。
DSP芯片中的HPI(主機(jī)接口)是為了滿足DSP與其它的微處理器接口而專門設(shè)計的。它分為HPI-8和HPI-16,分別針對具有8位和16位數(shù)據(jù)線的單片機(jī)。每一種又分為標(biāo)準(zhǔn)型和增強(qiáng)型。兩值得的區(qū)別在于標(biāo)準(zhǔn)型只可以訪問固定的地址空間,而增強(qiáng)型可以訪問整個DSP的片內(nèi)存儲器。這里以增強(qiáng)型的HPI8為例為說明。
1 硬件設(shè)計
1.1 時序匹配
HPI8總共有18根信號線。其中數(shù)據(jù)線8根(HD0~HD7),其余10根都是控制線,如表1所列。(詳細(xì)情況查看參考文獻(xiàn)[1]。)
表1 HPI接口信號及功能
| HAS | 鎖存信號,用來鎖存HBIL、HCNTL0/1,HR/W |
| HBIL | 字節(jié)控制信號,0表示傳輸?shù)?個字節(jié),1表示傳輸?shù)?個字節(jié) |
| HCNTL0/1 | 與HCNTL1配合選擇HPI寄存器 |
| HD0~HD7 | 數(shù)據(jù)線 |
| HCS | 片選信號 |
| HDS1 | 傳輸時序控制信號 |
| HDS2 | 傳輸時序控制信號 |
| HINT | 主機(jī)中斷信號 |
| HRDY | 準(zhǔn)備就緒信號 |
| HR/W | 讀或?qū)懣刂菩盘?/TD> |
①HAS:在數(shù)據(jù)線和地址復(fù)用的MCU中,與ALE信號連接,在下降沿鎖存HBIL、HCNTL0/1、HR/W,因數(shù)這些信號通常與地址線連接。如果MCU的數(shù)據(jù)線和地址線沒有復(fù)用,則應(yīng)該接高電平。
②HDS1、HDS2:數(shù)據(jù)傳輸?shù)臅r序控制。時序見圖1,即下降沿傳輸開始,上升沿傳輸結(jié)束。另外如果不使用HAS(即接高電平),也可以配合HCS對HBIL、HCNTL0/1、HR/W進(jìn)行鎖存。
③HCNTL0/:選擇HPI內(nèi)部寄存器,如表2所列。
表2 HPI內(nèi)部寄存器的選擇方式
| HCNTL1 | HCNTL0 | |
| 0 | 0 | 控制寄存器HPC |
| 0 | 1 | 數(shù)據(jù)寄存器HPID,并且使地址寄存器HPIA為自動增加模式 |
| 1 | 0 | 地址寄存器HPIA |
| 1 | 1 | HPID,并且HPIA不自動增加 |
1.2 電平匹配
54xxDSP的外部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)換。
圖1
74LVC16245A是TI公司的一種16位雙向總線收發(fā)器。它可以接收高達(dá)5.5V的高電平,而輸出的高電平可以達(dá)到3.3V左右,內(nèi)部包括16路如圖2所示的結(jié)構(gòu)單元。
圖2中G為使能端,低電平有效;DIR為方向控制端,高電平A→B,低電平B→A。另外要注意,74LVC 16245A的操作電壓引腳VCC應(yīng)該接3.3V。
整個硬件連接如圖3所示。
2 軟件設(shè)計
HPI的數(shù)據(jù)傳輸分為兩部分:外部傳輸和內(nèi)部傳輸。外部傳輸是指主機(jī)和HPI寄存器之間的傳輸,由主機(jī)發(fā)出指令完成。內(nèi)部傳輸是指HPI寄存器和DSP內(nèi)部RAM之間的傳輸,由DSP內(nèi)部的DMA控制器自動完成。主機(jī)在進(jìn)行外部傳輸時,要先檢查內(nèi)部傳輸是否完成,這是通過檢測HRDY信號實現(xiàn)的。外部傳輸操作的一般步驟是:
*檢查HRDY信號的電平。為高,表示可以進(jìn)行傳輸;為低,表示DSP正在進(jìn)行內(nèi)部傳輸,此時不能進(jìn)行外部傳輸。
*主機(jī)發(fā)出指令,設(shè)置HCNTL0、HCNTL1、BHIL、HR/W信號的狀態(tài),以確定讀或?qū)懙募拇嫫饕约白止?jié)的選擇。
*主機(jī)發(fā)出時序控制信號,按照圖1所示的時序進(jìn)行操作,從而完成外部傳輸。
編程時還要注意以下問題。
①由于DSP的數(shù)據(jù)是16位,而單片機(jī)的數(shù)據(jù)是8位,所以單片機(jī)要分兩次將數(shù)據(jù)傳給DSP,即將16位的數(shù)據(jù)分成兩個字節(jié)來傳輸。這時,可以通過控制HPI口的HBIL信號來指定此次傳輸?shù)氖堑?個還是第2個字節(jié)。另外,還要通過HPI的控制寄存器(HPIC)中的BOB位來指定第1個字節(jié)作為高8位還是低8位,所以主機(jī)在訪問HPI1時,應(yīng)首先對HPIC進(jìn)行初始化,并注意對BOB位的設(shè)置。HPIC的各位設(shè)置如下:
| X | X | X | XHPIA | HINT | DSPINT | X | BOB |
②主機(jī)對地址寄存器(HPIA)的寫操作會初始化內(nèi)部傳輸。當(dāng)主機(jī)通過兩次對HPIA的寫操作后,HPIA就得到了主機(jī)要訪問的地址。這時內(nèi)部的DMA控制器就會根據(jù)這個地址將相應(yīng)單元的內(nèi)容讀到HPI內(nèi)部的數(shù)據(jù)鎖存器中,再對HPID進(jìn)行兩次讀操作就可以將數(shù)據(jù)讀出。如果將HPIA設(shè)置成自動遞增模式,就會在數(shù)據(jù)傳輸?shù)耐瑫r完成HPIA加1,于是又啟動了內(nèi)部傳輸。這樣有利于數(shù)據(jù)的連續(xù)轉(zhuǎn)移。
③注意設(shè)置HPIC中的XHPIA位。XHPIA=1時,表示對DSP的7位擴(kuò)展地址進(jìn)行操作;XHPIA=0時,表示對DSP的低16位地址進(jìn)行操作。由于DSP復(fù)位后,XHIPA的狀態(tài)是不確定的,所以必須首先對HXPIA進(jìn)行設(shè)置。
④主機(jī)和DSP可以互相中斷。主機(jī)通過向HPIC中的位DSPINT寫入1來中斷DSP。該痊總是被讀出為0,而且DSP對該位的寫操作是無用的。而DSP要中斷主機(jī)時,向HPIC中的位HINT寫入1,這時HPI的接口引腳HINT被置低,從而使主機(jī)產(chǎn)生中斷。該位總是讀出為1,主機(jī)可以對該位寫1來清除中斷,這時HINT引腳就恢復(fù)高電平。
下面給出一段程序?qū)嵗簡纹瑱C(jī)將DSP內(nèi)部RAM1000H單元的內(nèi)容讀出。硬件按照圖1所示連接。
;設(shè)置HPIC,XHPIA=1
SETB P1.1
MOV DPTR,#0000H
MOV A,#18H
MOVX @DPTR,A
MOV DPTR,#0004H
MOV A,#18H
MOVX @DPTR,A ;完成初始化
MOV DPTR,#0002H
MOV A,#00H
MOVX @DTPR,A
MOV DPTR,#0006H
MOV A,#00H
MOVX @DPTR,A ;置擴(kuò)展地址為0
;設(shè)置HPIC,XHIPA=0
MOV DPTR,#0000H
MOV A,#08H
MOVX @DPTR,A
MOV DPTR,#0004H
MOV @DPTR,A
MOV DPTR,#0002H
MOV A,#10H
MOVX @DPTR,A ;寫地址高8位
MOV DPTR,#0006H
MOV A,#00H
MOVX @DPTR,A ;寫地址低8位
WAIT:JNB P1.0,WAIT ;判斷內(nèi)部傳輸是否完成
CLRB P1.1
MOV DPTR,#000BH
MOVX A,@DPTR ;讀高8位
MOV B,A
MOV DPTR,#000FH
MOVX A,@DPTR ;讀低8位
;讀操作完成
3 總結(jié)
當(dāng)然DSP與單片機(jī)之間還有許多其它的連接方式,例如利用雙口RAM,或者是通過串口,但是它們都占用DSP的處理時間,在要求苛刻的場合可能會影響到系統(tǒng)的實時性。而HPI接口是通過DSP片內(nèi)的DMA控制器來訪問片內(nèi)存儲器的,不需要DSP的干預(yù)??梢哉f,HPI接口是DSP的一個“后門”,單片機(jī)通過這個“后門”可以訪問到DSP的片內(nèi)存儲器。只有當(dāng)HPI接口和DSP同時對同一地址進(jìn)行訪問時,由于HPI具有訪問優(yōu)先權(quán),這時DSP的執(zhí)行會被延遲一個周期,而這種情況對系統(tǒng)實時性的影響是非常小的。
參考文獻(xiàn):
[1]. MCS-51 datasheet http://www.hbjingang.com/datasheet/MCS-51_477840.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52
- 高速PCB信號完整性(SI)設(shè)計核心實操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計與干擾抑制核心實操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計要點
- 連接器結(jié)構(gòu)設(shè)計常見問題分析









