在許多應用系統(tǒng)中,數字信號處理器(DSP)必須從多路模數轉換器(ADC)通道獲取信息,才能將經DSP處理后的數字信號傳送到多路數模轉換器(DAC)通道進行。關鍵問題是怎樣在DSP系統(tǒng)中十分容易且高效地實現這些轉換,而這必然涉及到接口電路的設計。為此,本文將介紹一種在單片內集成有ADC通道和DAC通道的模擬接口電路TLC320AC01與TMS320VC5402緩沖串口進行接口的設計方法,同時給出了通過對這種接口電路的硬件進行軟件編程來實現模擬信號的采集與回放的程序代碼。
1 芯片介紹
TMS320VC5402是TI公司生產的TMS320VC54x系列中的一個操作靈活、高速、具有較高性價比、低功耗的16位定點通用DSP芯片。它的主要特點包括:改進的哈佛結構(1條程序存儲器總線,3條數據存儲器總線和4條地址總線)、帶有專用硬件邏輯CPU和片內存儲器以及片內外圍專用的指令集、具有專用的匯編語言工具等。TMS320VC5402內含4k字的片內Rom和16k字的雙存取RAM、1個HPI(Host Port Interface)接口、2個多通道緩沖串口MCBSP(Multi-Channel Buffered Serial Port),它的單周期指令執(zhí)行時間為10ns、雙電源(1.8V和3.3V)供電,此外,該DSP同時還帶有符合IEEE1149.1標準的JTAG邊界掃描仿真邏輯。 TLC320AC01是TI公司生產的14位、音頻(大約12kHz帶寬)、內含抗混疊濾波器和重構濾波器的模擬接口電路,它同時帶有一個能與許多DSP芯片相連的同步串行數字接口。其內部電路的配置和性能參數的設定(比如采樣頻率、濾波器帶寬和增益高調整等)都可以通過對它內部的8個數據寄存器寫入控制信息來實現。其ADC通道與DAC通道可同步操作,數據是以二進制補碼格式進行傳輸的。它有3種基本的操作模式:單機模式、主從模式、線性編解碼模式。在單機模式下,TLC320AC01可生成移位時鐘和幀同步信號以用于單機的數據傳輸;在主從模式下,1個TLC320AC01將作為主機生成主移位時鐘和幀同步信號,另外的模擬接口電路為從機;在線性編解碼操作模式下,移位時鐘和幀同步信號由外部電路生成,定時信號可以由任何一種編解碼電路產生。TLC320AC01的典型應用包括調制解調器、語音處理、工業(yè)過程控制、光譜分析、作為DSP的模擬接口電路進行數據采集處理以及各種記錄儀等。TLC320AC01的工作溫度范圍是0~70℃,采用28腳塑料J型針封裝(帶FN后綴)和64腳塑料扁平封裝(帶PM后綴),體積較小,適用于便攜設備。它采用單5V電源供電時,工作時的最大功耗為110mW。
2 硬件連接
該接口的硬件連接電路原理如圖1所示。圖中,TMS320VC5402與2片TLC320AC01的主時鐘必須來源于同一外部時鐘源。本采用10MHz的有源晶振作主時鐘源,以消除噪聲并保持DSP芯片與TLC320AC01接口電路的協(xié)調工作。主模式時,TLC320AC01的M/S端接高電平;從模式時,TLC320AC01的M/S接地。
3 軟件設計
3.1 軟件編制過程
在完成了正確的硬件連接后,接下來就可以進地軟件編程調試了。該過程要完成的工作主要包括以下幾方面: (1)兩個通道的區(qū)分 TLC320AC01的運行模式是主從模式:一個TLC320AC01是主,另一個是從。硬件上可通過設置M/S的高低電平來分配主從模式的TLC320AC01,而軟件上則通過檢測從TLC320AC01所接收的信息字中的最低有效位來分析主與從。主信息字的最低有效位是0,而所有從信息字的最低有效位均是1。主從模式下,TLC320AC01與TMS320VC5402的緩沖串口通信輪流進行。
(2)初始化 初始化操作過程包括通過TMS320VC5402的同步串口發(fā)送兩串16位的數字信息到TLC320AC01。第一串為0000 0000 0000 0011B,其中14個最高有效位(bits 15~2)定義輸出采樣值為0,而2個最低有效位(bits1~0)用于說明下一個要傳輸的數據字是否屬于二次通信(關于一次通信和二次通信的內容請參閱TLC320AC01的數據手冊)。第二串數據值用來對TLC320AC01的9個數據寄存器的某一個進行配置。其中Bit15、14用來控制Modem中的相移,這里設置為0;bit13為0表示這個數據值將寫到TLC320AC01的某個寄存器;bit12~8用于要配置的寄存器地址;bit7~0為要寫到寄存器的值。9個寄存器的描述如下:R0在大多數應用時設為0,R1用于設置采樣頻率,R2用于設置低通濾波器的截止頻率,R3用于進行相移控制,R4用于進行模擬輸入輸出的增益控制,R5用于使能高通濾波器,R6用于控制操作模式,R7可用來控制從模式的串行通信,R8則用于控制生成的幀同步脈沖數。 (3)用戶代碼的編寫 該過程主要完成音頻信號的采集與回放代碼的編制。本設計采用中斷方式,包括發(fā)送中斷和接收中斷。[!--empirenews.page--]3.2 部分關鍵代碼
(1)初始化初始化代碼TMS320VC5402的初始化和TLC320AC01的初始化。TMS320VC5402的初始化代碼如下:
SSBX INTM ;使所有中斷無效 ORM #0834h,PMST ;
設備處理器方式狀態(tài)寄存器PMST STM #02492h,SWWSR ;
所有外圍兩個等待狀態(tài) RSBX OVM ;使OVM=0 RSBX FRCT ;
使FRCT=0,允許整數乘 STM #010h,IMR ;
多通道緩沖串口接收中斷使能 RSBX INTM ;
使能所有非屏蔽中斷
下面是TLC320VC01的初始化程序代碼:
SSBX SXM ;
設置符號擴展模式 LD #PR1,DP ;
以下三句設置TLC320AC01內部數據 LD PR1,A ;
寄存器R1的值,其余寄存器的設置與此同 CALL AC01_2ND …… RET AC01_2ND;
RSBX INTM ;
使中斷有效 STH A,DXR10 STL A,DXR10 STL #0,DXR10 ;
確保字被發(fā)送 SSBX INTM ;
使中斷無效 RET
(2)接收中斷服務程序這段程序包括通道的區(qū)分,方法是使主TLC320AC01首選寫入,主TLC320AC01的LSB是0,從TLC320AC01的LSB是1。發(fā)送中斷與此相同。具體程序如下:
SBPREC:BITF
DRR10,#1
BC loop1,TC
LD DRR10,A
AND #0fffch,A
STL A,DXR10 B
loop2
Loop1:
LD DRR10,A
AND # 0fffch,A
STL A,DXR10
RETE
Loop2:RETE
4 結束語
利用本文介紹的硬件設計方法和軟件編程可以完成模擬信號的采集與回放,從而實現諸如數據采集、處理和存儲等功能,并可對采集的數據進行頻譜分析,因而可廣泛應用于頻譜分析儀、數字記錄儀以及調制解調器等。