<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > TI 54xxDSP與51單片機的接口技術(shù)

TI 54xxDSP與51單片機的接口技術(shù)

作者: 時(shí)間:2005-03-30 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:是一種定點(diǎn)DSP系列芯片,產(chǎn)生應用于各種信號處理系統,特別是語(yǔ)音信號處理系統。在這些系統中,通常由兩部分組成。一部分為DSP子系統,這是整個(gè)系統的核心,主要完成采樣、數字信號處理以及輸出等功能;另一部分為子系統,進(jìn)行交互界面的控制,如鍵盤(pán)和顯示。兩個(gè)子系統不是各自孤立的,需要進(jìn)行必要的數據交換。本文主要討論DSP和51之間通過(guò)HPI進(jìn)行連接的設計方法,給出硬件連接以及軟件編程方法。

關(guān)鍵詞:DSP HPI

TMS320C54xx是公司針對音頻信號處理領(lǐng)域推出的一種定點(diǎn)DSP系列芯片,已經(jīng)在很多語(yǔ)音信號處理系統中得到了廣泛的應用。在這些系統中,通常包含DSP和單片機兩個(gè)子系統。DSP系統作為從設備,完成采樣、計算等功能;單片機系統作為主設備,完成交互界面的控制。主從設備之間也要以一定的方式,來(lái)進(jìn)行數據通信。下面就介紹DSP和單片機之間的。

這里單片機選擇的是MCS-51系列。51系列是一種很經(jīng)典的單片機,20多年來(lái)一直久盛不衰。而且Intel通過(guò)授權51內核,出現很多第三方生產(chǎn)的51系列產(chǎn)品。這些產(chǎn)品一般都具有較高的時(shí)鐘頻率和較大的存儲空間,而且還能運動(dòng)嵌入式操作系統。這些都極大地提高了它的性能,擴大了它的應用范圍。

DSP芯片中的HPI(主機接口)是為了滿(mǎn)足DSP與其它的微處理器接口而專(zhuān)門(mén)設計的。它分為HPI-8和HPI-16,分別針對具有8位和16位數據線(xiàn)的單片機。每一種又分為標準型和增強型。兩值得的區別在于標準型只可以訪(fǎng)問(wèn)固定的地址空間,而增強型可以訪(fǎng)問(wèn)整個(gè)DSP的片內存儲器。這里以增強型的HPI8為例為說(shuō)明。

1 硬件設計

1.1 時(shí)序匹配

HPI8總共有18根信號線(xiàn)。其中數據線(xiàn)8根(HD0~HD7),其余10根都是控制線(xiàn),如表1所列。(詳細情況查看參考文獻[1]。)

表1 HPI接口信號及功能

HAS鎖存信號,用來(lái)鎖存HBIL、HCNTL0/1,HR/W
HBIL字節控制信號,0表示傳輸第1個(gè)字節,1表示傳輸第2個(gè)字節
HCNTL0/1與HCNTL1配合選擇HPI寄存器
HD0~HD7數據線(xiàn)
HCS片選信號
HDS1傳輸時(shí)序控制信號
HDS2傳輸時(shí)序控制信號
HINT主機中斷信號
HRDY準備就緒信號
HR/W讀或寫(xiě)控制信號

①HAS:在數據線(xiàn)和地址復用的MCU中,與ALE信號連接,在下降沿鎖存HBIL、HCNTL0/1、HR/W,因數這些信號通常與地址線(xiàn)連接。如果MCU的數據線(xiàn)和地址線(xiàn)沒(méi)有復用,則應該接高電平。

②HDS1、HDS2:數據傳輸的時(shí)序控制。時(shí)序見(jiàn)圖1,即下降沿傳輸開(kāi)始,上升沿傳輸結束。另外如果不使用HAS(即接高電平),也可以配合HCS對HBIL、HCNTL0/1、HR/W進(jìn)行鎖存。

③HCNTL0/:選擇HPI內部寄存器,如表2所列。

表2 HPI內部寄存器的選擇方式

HCNTL1HCNTL0 
00控制寄存器HPC
01數據寄存器HPID,并且使地址寄存器HPIA為自動(dòng)增加模式
10地址寄存器HPIA
11HPID,并且HPIA不自動(dòng)增加

1.2 電平匹配

的外部I/P引腳用的是3.3V的邏輯電平,而大部分51鄭易里片機用的是5V的邏輯電平。前者輸出高電平,最小值為2.4V;后者輸入高電平,最小值為2.0V。所以前者的輸出可以直接接到才者的輸入。但是前者允許輸入高電平最大值為3.6V,而后者的輸出高電平一般都在4.6V以上。所以前者的輸入和后者的輸出不能直接連接,需要做電平轉換。如果引腳數量少,可以直接用三極管電阻來(lái)轉換。這里由于引腳較多,所以選用74LVC16245A芯片來(lái)進(jìn)行電平轉換。

圖1

74LVC16245A是TI公司的一種16位雙向總線(xiàn)收發(fā)器。它可以接收高達5.5V的高電平,而輸出的高電平可以達到3.3V左右,內部包括16路如圖2所示的結構單元。

圖2中G為使能端,低電平有效;DIR為方向控制端,高電平A→B,低電平B→A。另外要注意,74LVC 16245A的操作電壓引腳VCC應該接3.3V。

整個(gè)硬件連接如圖3所示。

2 軟件設計

HPI的數據傳輸分為兩部分:外部傳輸和內部傳輸。外部傳輸是指主機和HPI寄存器之間的傳輸,由主機發(fā)出指令完成。內部傳輸是指HPI寄存器和DSP內部RAM之間的傳輸,由DSP內部的DMA控制器自動(dòng)完成。主機在進(jìn)行外部傳輸時(shí),要先檢查內部傳輸是否完成,這是通過(guò)檢測HRDY信號實(shí)現的。外部傳輸操作的一般步驟是:

*檢查HRDY信號的電平。為高,表示可以進(jìn)行傳輸;為低,表示DSP正在進(jìn)行內部傳輸,此時(shí)不能進(jìn)行外部傳輸。

*主機發(fā)出指令,設置HCNTL0、HCNTL1、BHIL、HR/W信號的狀態(tài),以確定讀或寫(xiě)的寄存器以及字節的選擇。

*主機發(fā)出時(shí)序控制信號,按照圖1所示的時(shí)序進(jìn)行操作,從而完成一次外部傳輸。

編程時(shí)還要注意以下問(wèn)題。

①由于DSP的數據是16位,而單片機的數據是8位,所以單片機要分兩次將數據傳給DSP,即將16位的數據分成兩個(gè)字節來(lái)傳輸。這時(shí),可以通過(guò)控制HPI口的HBIL信號來(lái)指定此次傳輸的是第1個(gè)還是第2個(gè)字節。另外,還要通過(guò)HPI的控制寄存器(HPIC)中的BOB位來(lái)指定第1個(gè)字節作為高8位還是低8位,所以主機在訪(fǎng)問(wèn)HPI1時(shí),應首先對HPIC進(jìn)行初始化,并注意對BOB位的設置。HPIC的各位設置如下:

XXXXHPIAHINTDSPINTXBOB

②主機對地址寄存器(HPIA)的寫(xiě)操作會(huì )初始化一次內部傳輸。當主機通過(guò)兩次對HPIA的寫(xiě)操作后,HPIA就得到了主機要訪(fǎng)問(wèn)的地址。這時(shí)內部的DMA控制器就會(huì )根據這個(gè)地址將相應單元的內容讀到HPI內部的數據鎖存器中,再對HPID進(jìn)行兩次讀操作就可以將數據讀出。如果將HPIA設置成自動(dòng)遞增模式,就會(huì )在數據傳輸的同時(shí)完成HPIA加1,于是又啟動(dòng)了一次內部傳輸。這樣有利于數據的連續轉移。

③注意設置HPIC中的XHPIA位。XHPIA=1時(shí),表示對DSP的7位擴展地址進(jìn)行操作;XHPIA=0時(shí),表示對DSP的低16位地址進(jìn)行操作。由于DSP復位后,XHIPA的狀態(tài)是不確定的,所以必須首先對HXPIA進(jìn)行設置。

④主機和DSP可以互相中斷。主機通過(guò)向HPIC中的位DSPINT寫(xiě)入1來(lái)中斷DSP。該痊總是被讀出為0,而且DSP對該位的寫(xiě)操作是無(wú)用的。而DSP要中斷主機時(shí),向HPIC中的位HINT寫(xiě)入1,這時(shí)HPI的接口引腳HINT被置低,從而使主機產(chǎn)生中斷。該位總是讀出為1,主機可以對該位寫(xiě)1來(lái)清除中斷,這時(shí)HINT引腳就恢復高電平。

下面給出一段程序實(shí)例:?jiǎn)纹瑱C將DSP內部RAM1000H單元的內容讀出。硬件按照圖1所示連接。

;設置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 ;置擴展地址為0

;設置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 ;寫(xiě)地址高8位

MOV DPTR,#0006H

MOV A,#00H

MOVX @DPTR,A ;寫(xiě)地址低8位

WAIT:JNB P1.0,WAIT ;判斷內部傳輸是否完成

CLRB P1.1

MOV DPTR,#000BH

MOVX A,@DPTR ;讀高8位

MOV B,A

MOV DPTR,#000FH

MOVX A,@DPTR ;讀低8位

;讀操作完成

3 總結

當然DSP與單片機之間還有許多其它的連接方式,例如利用雙口RAM,或者是通過(guò)串口,但是它們都占用DSP的處理時(shí)間,在要求苛刻的場(chǎng)合可能會(huì )影響到系統的實(shí)時(shí)性。而HPI接口是通過(guò)DSP片內的DMA控制器來(lái)訪(fǎng)問(wèn)片內存儲器的,不需要DSP的干預??梢哉f(shuō),HPI接口是DSP的一個(gè)“后門(mén)”,單片機通過(guò)這個(gè)“后門(mén)”可以訪(fǎng)問(wèn)到DSP的片內存儲器。只有當HPI接口和DSP同時(shí)對同一地址進(jìn)行訪(fǎng)問(wèn)時(shí),由于HPI具有訪(fǎng)問(wèn)優(yōu)先權,這時(shí)DSP的執行會(huì )被延遲一個(gè)周期,而這種情況對系統實(shí)時(shí)性的影響是非常小的。

------------------

2005年17城市巡回 TI DSP開(kāi)發(fā)講座】 點(diǎn)這里獲得免費參加資格



關(guān)鍵詞: 技術(shù) 接口 單片機 54xxDSP TI

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>