摘 要:根據(jù)TMS320C6713外設(shè)芯片的特點,介紹了TLV320AIC23(AIC23)和McBSP接口電路的設(shè)計,搭建了DSP和AIC23之間的串口通信的軟硬件系統(tǒng)。最后,根據(jù)實際的操作和應(yīng)用以及結(jié)合TI公司提供的CCS 30相關(guān)庫函數(shù),給出了在輪詢方式或者中斷方式下利用McBSP進行數(shù)據(jù)通信的詳細代碼和實現(xiàn)方法。
關(guān)鍵詞:TMS320C6713;TLV320AIC23B;McBSP;輪詢;中斷
中圖分類號:TP311 文獻標識碼:B
文章編號:1004373X(2008)0113403
Software Design of Input and Output Communication Based on TMS320C6713DSK McBSP
LIU Jinhe YU Gang1,LU Feng2
(1.Shenzhen Graduate School,Harbin Institute of Technology,Shenzhen,518055,China;
2.Shenzhen Kaifa Technology Co.Ltd.,Shenzhen,518035,China)
Abstract:According to the characteristics of the TMS320C6713-peripheral,the paper introduces the interface circuit about the TLV320AIC23(AIC23) and McBSP design,and then sets up a hardware-software system to realize the communication beteeen DSP and AIC23.Finally,combined with the CCS3.0 of TI surport including relation functions and the practical operation and application,the detail codes and the realized methods are given based on McBSP communication by using polling or interrupt mode.
Keywords:TMS320C6713;TLV320AIC23;McBSP;polling;interrupt
1 引 言
數(shù)字信號處理器具有廣泛的應(yīng)用,從通信、語音處理到磁盤驅(qū)動器、圖像處理都能發(fā)現(xiàn)DSP的應(yīng)用。TMS320C6713(C6713))是基于超長指令(VLIW)結(jié)構(gòu)高性能32位浮點DSP,被認為是TI公司運算能力最強的處理器之一。在225 MHz時鐘主頻下,其最高執(zhí)行速度可達到1 350 MFLOPS、1 800 MIPS,是多功能多通道應(yīng)用的理想選擇。C6713提供了兩個標準多通道高速緩沖串口(McBSP),具有全雙工通信、收發(fā)獨立時鐘和成幀以及直接和AD/DA、AIC23等通信,允許8~32位數(shù)據(jù)傳送。
C6713DSK有32位TLV320AIC23B(AIC23)[1,2]輸入輸出模擬音頻接口編解碼器,該編解碼器采用了Sigma-Delta技術(shù)進行數(shù)模和模數(shù)轉(zhuǎn)換,并和McBSP直接相連作為數(shù)據(jù)輸入輸出通信接口,同時根據(jù)板上的12 MHz時鐘可以設(shè)置8~96 kHz的采樣頻率。AIC23還提供了麥克風(fēng)輸入、線性輸入、線性輸出和耳機輸出4個模擬接口,輸入端的輸入電壓最大為33 V,DSP最大輸出電壓為1 V。AIC23編解碼器是采用McBSP0控制其內(nèi)部寄存器配置和利用McBSP1進行接收和發(fā)送數(shù)字信號。本文將詳細介紹AIC23與McBSP實現(xiàn)DSK進行數(shù)據(jù)信號輸入輸出通信的硬件和軟件設(shè)計。
2 AIC23和McBSP之間的硬件接口設(shè)計
TMS320C6713中的AIC23是一款高性能的集成功能的模擬音頻接口,是信號處理的理想模擬I/O口的選擇。AIC23提供了2線制和SPI兩種接口連接方式,并由MODE引腳選擇,他是一個可控制的芯片,內(nèi)部有11個寄存器,如表1所示,默認情況下是以SPI方式和McBSP進行通信。其中McBSP0作為單向控制通道控制向AIC23發(fā)出信號, McBSP1承擔(dān)雙向數(shù)據(jù)傳輸任務(wù)。為了使McBSP和AIC23能夠順利實現(xiàn)通信,需要配置AIC23的LRCIN,LRCOUT,DIN,DOUT和BCLK 5個引腳,分別和McBSP1中對應(yīng)引腳FSR1,F(xiàn)SX1,DX1,DR1和CLKR1與CLKX1相連接實現(xiàn)數(shù)據(jù)交換;同樣還要配置McBSP0的FSX0,CLKX0,DX0分別控制AIC23的CS,SCLK,SDIN引腳。其接口電路如圖1所示。
當AIC23和McBSP接口電路實現(xiàn)之后,McBSP1可以使用硬件中斷CPU方式或EDMA方式接收和發(fā)送數(shù)據(jù)。因此,接收數(shù)據(jù)時,接收引腳DR1從AIC23接收的數(shù)據(jù)在FSR1和CLKR1作用下先移位到接收移位寄存器(RSR1),緊接著復(fù)制到接收緩沖器(RBR1),然后復(fù)制到數(shù)據(jù)接收寄存器(DRR1),最后CPU或EDMA控制器從DRR1讀入數(shù)據(jù)。同樣,當發(fā)送數(shù)據(jù)時,在FSX1和CLKX1作用下,CPU或EDMA控制器把要發(fā)送數(shù)據(jù)寫到數(shù)據(jù)發(fā)送寄存器(DXR1),接著發(fā)送移位寄存器(XSR1)把數(shù)據(jù)移到發(fā)送引腳DX1上,以便通過AIC23的DA變換輸送到外界。而接收和發(fā)送幀同步脈沖既可以由內(nèi)部采樣速率產(chǎn)生器產(chǎn)生,也可以由外部時鐘源驅(qū)動,McBSP1分別在相應(yīng)時鐘的上升沿和下降沿進行數(shù)據(jù)檢測。
3 輸入輸出通信的軟件設(shè)計
在DSP應(yīng)用系統(tǒng)中,一般會涉及大量對DSP外設(shè)如McBSPs,EMIF,AIC23等編程處理工作,在開發(fā)時會消耗大量的時間和精力。TI公司CCS 30集成開發(fā)環(huán)境中,提供了CSL,BSL,RTDX等組件,可以很快地完成對DSP片內(nèi)外設(shè)配置和編程工作,從而縮短開發(fā)時間。在未利用AIC23進行采樣模擬信號或者發(fā)送數(shù)字信號之前,必須先執(zhí)行DSK,McBSPs,AIC23的初始化。一旦初始化完成,可以利用中斷方式或者輪詢方式為McBSPs服務(wù)并進行傳輸數(shù)據(jù)。在初始化DSK時,直接調(diào)用TI提供庫函數(shù)實現(xiàn)初始化外部存儲接口(EMIF)、鎖相環(huán)(PLL)寄存器以產(chǎn)生DSP、外設(shè)、EMIF時鐘。
由于數(shù)字信號在各個控制系統(tǒng)所要求的功能不同,因此在設(shè)定之前必先詳細了解McBSP內(nèi)部各項設(shè)定值的意義,規(guī)劃傳輸和接收時序圖。由于AIC23編解碼器對應(yīng)于左右2個通道每幀是2個16位DSP數(shù)字格式,因此需要將McBSP1的接收幀長度(RFRLEN1)、發(fā)送幀長度(XFRLEN1)、接收字長(RWDLEN1)和發(fā)送字長(XWDLEN1)改為如圖2所示的傳送時序圖[3],其他寄存器設(shè)置可按照TI公司提供的軟件進行配置,才能達到規(guī)劃的傳輸功能和建立McBSP0和McBSP1函數(shù)并實現(xiàn)DSP和AIC23的通信。
在DSK初始化完畢后,下一步是啟動AIC23,設(shè)置采樣頻率, C6713的BSL應(yīng)用程序接口(API)中的函數(shù)正可以實現(xiàn)這個目的。接著重新初始化McBSP1。
在進行實時的數(shù)字信號處理時,可以采用輪詢或者中斷。假設(shè)利用中斷服務(wù)路線(ISR)來傳輸數(shù)據(jù),文中選擇McBSP1串口發(fā)送中斷XINT1,并調(diào)用CSL 的API函數(shù)進行配置和控制。利用參考文獻[4]向量表矢量文件或者DSP/BIOS設(shè)置中斷選擇器[CD#*2]int11執(zhí)行中斷服務(wù)路線,調(diào)用API庫函數(shù)將McBSP1的XINT1映射到CPU中斷INT11,然后使能發(fā)送中斷XINT1,最后使能全局中斷和非屏蔽中斷(NMI)。那么這樣的一個中斷就可用McBSP[CD#*2]read()從McBSP1寄存器DRR1讀取數(shù)據(jù)或者利用MCBSP[CD#*2]write()向McBSP1的DXR1寫入數(shù)據(jù)。
若采用輪詢技術(shù),只需要將向量表矢量文件中的[CD#*2]int11用空指令(NOP)替換。
根據(jù)前面的分析以及結(jié)合文獻[4]提供的相關(guān)軟件程序代碼及格式,給出了部分TMS320C6713相關(guān)的程序代碼。首先,修改雙向數(shù)據(jù)通道McBSP1中各個寄存器的配置值,具體配置如下:
當然要實現(xiàn)上面的程序,還需要一個連接器文件,他需要顯示了像 .Text,.data和.sysmem等常駐于內(nèi)部存儲器的一些段,并映射到C6713數(shù)字信號處理器內(nèi)存,具體連接器文件設(shè)置可參考TI提供的實例或者文獻 [4]進行設(shè)計。
那么根據(jù)以上提供的程序和文件,就可以執(zhí)行算法運算,實現(xiàn)信號的輸入和輸出。
4 結(jié) 語
本文在實際應(yīng)用的基礎(chǔ)上,詳細介紹了TMS320C6713DSK通過McBSP和AIC23編碼解碼器進行實時通信的軟硬件實現(xiàn)過程,并在CCS 3.0環(huán)境下進行軟硬件的聯(lián)合調(diào)試,能夠?qū)崿F(xiàn)實時數(shù)據(jù)處理與通信。采用該種軟硬件編程結(jié)構(gòu)簡煉易懂,能夠有效推廣到同類的產(chǎn)品編程及應(yīng)用。
參 考 文 獻
[1]TLV320AIC23B Stereo Audio CODEC 8-to 96 kHz with Integrated Headphone Amplifier[R].Texas Instrument Inc.SLWS106G MARCH 2003.
[2]TMS320C6713 Peripherals Reference Guide[R].Texas Instrument Inc.,2003.
[3]TMS320C6000 DSP Multichannel Buffered Serial Port (McBSP) Reference Guide[R].Texas Instrument Inc.SPRU580D September 2004.
[4]Rulph Chassasing.DSP原理及其C編程開發(fā)技術(shù)[M].王華,張健,譯.北京:電子工業(yè)出版社,2005.
[5]肖逾男,宋元勝.DSP與PC機的PCI總線高速數(shù)據(jù)傳輸[J].國外電子元器件,2003(10):4-7.
作者簡介 劉金河 男,1980年出生,福建人,研究生。主要從事控制理論與應(yīng)用研究。
于 剛 男,副教授。主要從事過程監(jiān)控、診斷及預(yù)測等方面的研究。
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文?!?/p>