梁 龍,翟守忠,李富偉
(長(zhǎng)沙礦山研究院, 湖南長(zhǎng)沙 410012)
2009年德州儀器(TI)推出了具有無(wú)與倫比連接選項(xiàng)和浮點(diǎn)功能的OMAP-L138處理器,它構(gòu)建于工作頻率為300 MHz的TMS320C6748處理器和ARM9處理器基礎(chǔ)之上的雙內(nèi)核處理器,適用于全面外設(shè)接入;并且擁有很低的功耗,在不同使用情況下總功耗為440 mW,待機(jī)模式功耗為15 mW。但OMAP-L138處理器內(nèi)部未集成模擬數(shù)字轉(zhuǎn)換器(ADC),需外擴(kuò)ADC芯片實(shí)現(xiàn)模擬信號(hào)的采集。
ADS8556是一款6路16位逐次逼近寄存器型(SAR)ADC,具有真正的雙極輸入。每路包含了采樣保持電路,允許同時(shí)對(duì)多路模擬信號(hào)進(jìn)行高速采集,其并行接口模式的數(shù)據(jù)速率高達(dá)630 kSPS,總線寬度8~16位可選;串行接口模式數(shù)據(jù)速率高達(dá)500 kSPS。ADS8556的工作電壓±12 V,具有高達(dá)91.5 dB 的信噪比(SNR)。
ADS8556利用OMAP-L138處理器的DSP端的外部存儲(chǔ)器接口(EMIFA)實(shí)現(xiàn)6路模擬信號(hào)采集。輸入通道分為3個(gè)組(分別為A0、A1,B0、B1,C0、C1),且每組可并行采集信號(hào),每個(gè)通道的轉(zhuǎn)換都由獨(dú)立的轉(zhuǎn)換開始信號(hào)控制。由于CPLD的時(shí)序嚴(yán)格,速度較快等優(yōu)點(diǎn),AD模塊的控制信號(hào)選擇用可編程器件CPLD XC95144編譯產(chǎn)生,系統(tǒng)結(jié)構(gòu)見圖1。
圖1 系統(tǒng)總體框架
在電源電路設(shè)計(jì)方面,由于OMAP-L138處理器的DSP端內(nèi)核電壓為1.2 V,IO口電壓為3.3 V。ADS8556需要4個(gè)獨(dú)立的供電電源,分別為:5 V的ADC的模擬供電(AVDD)電壓,用于ADC內(nèi)部供電;3.3 V的數(shù)字IO接口的供電(BVDD)電壓,用于驅(qū)動(dòng)IO緩沖器;DSP內(nèi)核電壓1.2 V及±15 V模擬輸入的高壓供電(HVDD和HVSS)電壓,由外部±15 V電源直接供電。選用TI的具有兩個(gè)降壓轉(zhuǎn)換器和3個(gè)低輸入電壓LDO的5通道電源管理芯片TPS65053,最多可實(shí)現(xiàn)5路電壓輸出。設(shè)置其電壓范圍上限均為5 V,分別輸出1.2 V、3.3 V、3.3 V_RTC及1.8 V(供給外圍器件),如圖2所示,降壓轉(zhuǎn)換器及3路LDOs的輸入電壓都連接到+5 V電壓,并與地之間需接1 μF去耦電容。輸出根據(jù)分壓原理對(duì)R1~R8選擇合適的電阻值。
圖3為基于ADS8556芯片的ADC模塊硬件接口設(shè)計(jì)電路,其中將引腳PAR/SER和HW/SW置為低電平,實(shí)現(xiàn)并行模式下的信號(hào)采集;數(shù)據(jù)總線DB[0∶15]連接到處理器OMAP-L138的EMIFA數(shù)據(jù)端,實(shí)現(xiàn)數(shù)字轉(zhuǎn)換結(jié)果的輸出;BUSY/INT作為AD中斷信號(hào)經(jīng) CPLD輸出到 OMAP-L138的GPIO口,實(shí)現(xiàn)對(duì)模擬信號(hào)采集的控制;ADS8556使能內(nèi)部參考電壓源,對(duì)每一路信號(hào)提供緩沖參考電壓。
圖2 電源供電原理
圖3 AD模塊接口電路
設(shè)計(jì)OMAP-L138作為一種快速、低功耗的處理器,由于其特殊的結(jié)構(gòu),DSP端必須在需要時(shí)由ARM喚醒,通常DSP端處于睡眠狀態(tài)。所以,首先要編寫一段鏈接程序從ARM端喚醒DSP。OMAP-L138處理器具有統(tǒng)一的管理外設(shè)和CPU供電的模塊(PSC模塊),PSC0的PD1用來(lái)控制DSP的L1和L2存儲(chǔ)器的休眠狀態(tài)。喚醒子程序如下:
其中PSC0_LPSC_enableCore為L(zhǎng)PSC中使能DSP的子函數(shù),即給DSP上電。
對(duì)AD采樣使用中斷控制方式,在編寫中斷控制子程序之前需配置相應(yīng)的中斷控制寄存器及處理器對(duì)應(yīng)引腳的功能。具體軟件模塊如下。
(1)初始化模塊,OMAPL138_init;OMAPL138RAM_init;EMIFA_init;AD_init。其中 OMAPL138的初始化實(shí)現(xiàn)Power and Sleep控制器的設(shè)置及時(shí)鐘的配置;RAM初始化模塊實(shí)現(xiàn)SDRAM的初始化及其上電,時(shí)鐘的配置;EMIFA初始化配置了AD模塊數(shù)據(jù)總線與地址總線及相關(guān)的控制總線;AD模塊初始化開啟AD中斷,等待中斷信號(hào)。
(2)EDMA3配置模塊(DMAconfig)。將GP2[0]作為DSP對(duì)AD中斷信號(hào)的接受端,則GPIO中斷使能寄存器BINTEN的bit2=1;使能GP2[0∶15]的中斷請(qǐng)求信號(hào),復(fù)位相關(guān)寄存器。
(3)AD測(cè)試模塊(TEST_ad),將參考電壓選為2.5 V,其 CR(控制寄存器)默認(rèn)為 0x000003FF,如表1所示。并行接口模式下控制寄存器的改變?cè)赪R的上升沿有效。并行接口模式下從模擬通道讀數(shù)據(jù)和給CR控制寄存器寫入數(shù)據(jù)的時(shí)序邏輯如圖4和圖5。ADS8556在整個(gè)轉(zhuǎn)換周期中CONVST_x應(yīng)當(dāng)始終保持為高電平,且每個(gè)通道組的模擬輸入在對(duì)應(yīng)的CONVST_x信號(hào)的上升沿保持,在讀模式下,片選端CS為低電平時(shí),在RD每個(gè)下降沿開始讀取數(shù)據(jù),6個(gè)周期讀取6通道的數(shù)據(jù)。在寫模式下,以字方式寫入時(shí),在每個(gè)WR的下降沿先寫入高16 位(C[31∶16]),再寫入低 16 位(C[15∶0]),在WR信號(hào)的2個(gè)周期內(nèi)完成;當(dāng)以字節(jié)方式寫入,在每個(gè)WR的下降沿寫入8字節(jié),完成一次寫入需要4個(gè)周期。
表1 DAC設(shè)置(2.5 V)
測(cè)試程序流程如圖6所示。
通過(guò)實(shí)驗(yàn),當(dāng)輸入為300 Hz、±10 V的方波和鋸齒波信號(hào)時(shí),其幅值誤差在±0.1 V范圍內(nèi),頻率誤差在±1 Hz范圍內(nèi),具體見表2。
圖4 并行模式讀時(shí)序
圖5 并行模式寫時(shí)序
圖6 程序流程
用集成ARM與DSP的雙核處理器OMAP-L138和多通道A/D轉(zhuǎn)換器ADS8556組成了并行AD轉(zhuǎn)換功能模塊,采樣速度快(最高可達(dá)630 ksps),實(shí)時(shí)性能好,精確度高(與實(shí)際模擬信號(hào)幅值誤差1%,頻率誤差0.3%),并且可完成多路模擬信號(hào)的同時(shí)采集。
表2 試驗(yàn)結(jié)果及分析
[1]Texas Instruments.OMAP - L138 data sheet[Z].June 2009.
[2]Texas Instruments.ADS8556 data sheet[Z].August 2009.
[3]Texas Instruments.TMS320C674x DSP Cache[Z].February 2009.
[4]谷重陽(yáng),汪 渤,龍殊穎.并行模數(shù)轉(zhuǎn)換器 ADS8364與TMS320F2812 的接口設(shè)計(jì)[J].微計(jì)算機(jī)信息,2006,(1).
[5]張雄偉,陳 亮,徐光輝.DSP芯片的原理與開發(fā)應(yīng)用(第3版)[M].北京:電子工業(yè)出版社,2003.