TMS320VC5402與單片機的HPI口通信設計
引言
隨著信息技術的發(fā)展,數字信號處理在通信、語音處理、圖像處理、工業(yè)控制等方面得到了廣泛的應用.TMS 320VC5402 是專門為快速實現各種數字信號處理算法而設計的常用定點DSP 芯片,廣泛使用在各類數字信號中. 該芯片采用優(yōu)化的哈佛結構,6 級流水線,片上含16 kB 零等待雙端口SRAM ,增強型8 位HPI接口,主頻可達到100 MHz ,3. 3 V 和1. 8 V 雙電源供電[1 ] .作為信號采集處理及控制顯示系統(tǒng),傳統(tǒng)的方法是采用來單片機實現[2 ] ,但單片機的實時處理功能較弱. DSP 芯片具有強大的數據處理能力,但在控制顯示方面不如單片機靈活. 為此,本文采用A T89C51 單片機作為主機,DSP 作為高速數據處理器,通過HPI 實現了與TMS 320VC 5402 的并行高速通信. 編寫TMS320 C54X 程序和HPI 中斷程序,完成了系統(tǒng)軟硬件設計的全過程,充分發(fā)揮了單片機和DSP 的優(yōu)勢.
1 HPI 端口結構及系統(tǒng)硬件電路設計
TMS 320VC5402 增強型8 位HPI 引腳功能:
HCS :端口使能. 當= 0 時,HPI 端口被選中,允許數據傳輸;
HAS :地址鎖存信號,下降沿鎖存;
HBIL :字節(jié)順序指示, = 0 時表明當前傳輸的第1 字節(jié), = 1 為第2 字節(jié);
HRW:讀或寫信號, = 1 時表明主機從HPI 讀走數據, = 0 時寫入數據;
HDS1 ,HDS2 :數據鎖存信號;
HRDY: HPI 準備好,外部設備讀該信息,為1 時表明HPI 空閑狀態(tài),可以進行數據傳輸;為0 時, HPI忙于內部操作,數據還沒有準備好;
HIN T :主機中斷,輸出到主機設備,由DSP 軟件控制;
HCN TL1 ,HCN TL0 :控制信號,表明當前傳輸的數據類型;
00 :訪問HPI 的控制寄存器HPIC ,對該寄存器進行讀或寫操作;
01 :訪問HPI 的數據寄存器HPID ,并且地址寄存器HPIA 自動加1 或減1 ;
10 :訪問HPI 的地址寄存器HPIA ,對該寄存器進行讀或寫操作;
11 :訪問HPI 的數據寄存器HPID ,對地址寄存器HPIA 無影響;
HD0 - HD7 :數據/ 地址總線.
值得說明的是,外部設備接入HPI 并不需要使用所有的控制引腳,特別是鎖存信號HAS、HDS1 和HDS2 ,一般只使用一個就夠了. 系統(tǒng)硬件電路設計如圖1 所示,圖中16245 的作用是雙向電平驅動轉換,實現單片機5 V 信號與DSP 3. 3 V 電平信號的相互驅動轉換,其中P1. 2 控制數據傳輸的方向.
圖1 單片機與DSP 的HPI 接口電路
2 軟件編程
HPI 通信軟件的設計包括DSP 端和主機端(A T 89 C 51) 兩部分. 通信通過雙方的中斷服務程序進行,單片機的中斷服務程序中通過HPI 接收DSP 的發(fā)送幀進行處理,同時將一定格式的有關數據通過HPI 發(fā)送給DSP ,作為DSP 的接收幀,并通過HPI 發(fā)送中斷給DSP. DSP 響應中斷,在中斷服務程序中處理數據,并按照單片機接收幀設置發(fā)送幀傳輸數據,向主機發(fā)送中斷信號, 從而實現雙向通信功能[ 3 ] .
在A T89 C51 的軟件中,通過對P0 口和P1 口的控制來傳輸數據,從DSP 的0X0200 地址處讀出數據,并同時給DSP 產生一個HPI 中斷. 主機編程的流程如圖2 所示,匯編語言主程序如下:
HRW EQU P1. 0
HCS EQU P1. 1
HPIDIR EQU P1. 2
HCN TL0 EQU P1. 3
HCN TL1 EQU P1. 4
HDS1 EQU P1. 5
HBIL EQU P1. 6
HRDY EQU P1. 7
MAIN : JB P3. 4 , $
; HPI 初始化
MOV R2 , # 08H
; HPI 控制寄存器清零,先高位,清中斷
MOV R3 , # 08H
LCALL WHPIC ;寫HPIC
MOV R2 , # 00H
MOV R3 , # 0FFH
LCALL WHPIA ;置地址
MOV R2 , # 00H ;寫初始幀頭
MOV R3 , # 0AA H
LCALL LWHPID
MOV R2 , # 00H ;寫幀長
MOV R3 , # 01H
LCALL LWHPID
評論