《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > TI 54xx DSP與51單片機的接口技術
TI 54xx DSP與51單片機的接口技術
摘要: 當然DSP與單片機之間還有許多其它的連接方式,例如利用雙口RAM,或者是通過串口,但是它們都占用DSP的處理時間,在要求苛刻的場合可能會影響到系統的實時性。而HPI接口是通過DSP片內的DMA控制器來訪問片內存儲器的,不需要DSP的干預。可以說,HPI接口是DSP的一個“后門”,單片機通過這個“后門”可以訪問到DSP的片內存儲器。只有當HPI接口和DSP同時對同一地址進行訪問時,由于HPI具有訪問優先權,這時DSP的執行會被延遲一個周期,而這種情況對系統實時性的影響是非常小的。
Abstract:
Key words :

       1 硬件設計     

       1.1 時序匹配    
 

       HPI8總共有18根信號線。其中數據線8根(HD0~HD7),其余10根都是控制線,如表1所列

HPI<a class=接口信號及功能" border="0" hspace="0" onclick="return show_orginral(this)" src="http://files.chinaaet.com/images/20100812/933ef1df-9754-409c-8311-013b6c0d909c.jpg" style="CURSOR: pointer" title="點擊看大圖" width="580" />

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

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

時序


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

選擇HPI內部寄存器

       1.2 電平匹配     

 



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

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

74LVC16245A結構圖


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

系統硬件連接


       2 軟件設計     

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

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

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

       *主機發出時序控制信號,按照圖1所示的時序進行操作,從而完成一次外部傳輸。       

       編程時還要注意以下問題:

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

HPIC的各位設置

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

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

       ④主機和DSP可以互相中斷。主機通過向HPIC中的位DSPINT寫入1來中斷DSP。該痊總是被讀出為0,而且DSP對該位的寫操作是無用的。而DSP要中斷主機時,向HPIC中的位HINT寫入1,這時HPI的接口引腳HINT被置低,從而使主機產生中斷。該位總是讀出為1,主機可以對該位寫1來清除中斷,這時HINT引腳就恢復高電平。     

       下面給出一段程序實例:單片機將DSP內部RAM1000H單元的內容讀出。硬件按照圖1所示連接。    

單片機將DSP內部RAM1000H單元的內容讀出


       3 總結     

       當然DSP與單片機之間還有許多其它的連接方式,例如利用雙口RAM,或者是通過串口,但是它們都占用DSP的處理時間,在要求苛刻的場合可能會影響到系統的實時性。而HPI接口是通過DSP片內的DMA控制器來訪問片內存儲器的,不需要DSP的干預。可以說,HPI接口是DSP的一個“后門”,單片機通過這個“后門”可以訪問到DSP的片內存儲器。只有當HPI接口和DSP同時對同一地址進行訪問時,由于HPI具有訪問優先權,這時DSP的執行會被延遲一個周期,而這種情況對系統實時性的影響是非常小的。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 午夜五月天 | 国产精品久久精品视 | 15xxxx18日本娇小 | 午夜欧美成人久久久久久 | 亚洲日本中文字幕一本 | 91在线 | 亚洲| 边做边叫床的大尺度视频免费 | 黄色小视频在线 | 伊人婷婷在线 | ppypp日本欧美一区二区 | 日本三级免费片 | 黄在线免费 | 在线观看日韩www视频免费 | 天天噜噜揉揉狠狠夜夜 | 狠狠躁夜夜躁人人爽天天天天 | 欧美人与日本人xx在线视频 | 亚洲欧美久久一区二区 | 欧美mv日韩mv国产mv网站 | mm在线精品视频 | 黄网站免费在线 | 99视频免费在线观看 | 中国黄色三级 | 最近高清中文字幕大全免费1 | 在线丝袜 | 狠狠骚 | 欧美大胆a视频 | 黄色三级视频 | 看黄色.com| 日本三级欧美三级香港黄 | 久久综合九色综合欧美就去吻 | 最近中文字幕完整视频高清1 | 日韩经典欧美精品一区 | 国产日产高清欧美一区二区三区 | 国内精品一区二区在线观看 | 亚洲欧洲中文字幕 | 久久亚洲精品tv | 爽爽爽爽爽爽爽太爽了免费观看 | 精品亚洲福利一区二区 | 国产成人影院在线观看 | 免费国产综合视频在线看 | 欧美精品伊人久久 |