基于DSP和CPLD技術(shù)的多路ADC系統(tǒng)的設(shè)計(jì)_第1頁
基于DSP和CPLD技術(shù)的多路ADC系統(tǒng)的設(shè)計(jì)_第2頁
基于DSP和CPLD技術(shù)的多路ADC系統(tǒng)的設(shè)計(jì)_第3頁
基于DSP和CPLD技術(shù)的多路ADC系統(tǒng)的設(shè)計(jì)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于DSP和CPLD技術(shù)的多路ADC系統(tǒng)的設(shè)計(jì)

引言

隨著現(xiàn)代電子技術(shù)的應(yīng)用和發(fā)展,數(shù)字信號處理的內(nèi)容日益復(fù)雜,而ADC是實(shí)現(xiàn)從模擬到數(shù)字轉(zhuǎn)換的一個(gè)必然過程。針對這種情況,利用數(shù)字信號處理器和可編程邏輯器件提出了多路ADC系統(tǒng)的設(shè)計(jì)方法,實(shí)現(xiàn)了對動(dòng)態(tài)多路模擬輸入信號的采樣傳輸以及處理,簡化了電路設(shè)計(jì),可編程邏輯器件使得系統(tǒng)的通用性和可移植性得到良好的擴(kuò)展。系統(tǒng)框圖如圖1所示。

系統(tǒng)硬件設(shè)計(jì)

本設(shè)計(jì)所采用的ADC器件是MAXIM公司的生產(chǎn)的低功耗16位模數(shù)轉(zhuǎn)換器(ADC)MAX1162。MAX1162采用逐次逼近型ADC結(jié)構(gòu),具有自動(dòng)關(guān)斷、1.1μs快速喚醒和兼容于SPI/QSPI/MICROWIRE的高速接口,采用+5V單模擬電源,并且具有獨(dú)立的數(shù)字電源引腳,允許芯片直接和+2.7~+5.25V的數(shù)字邏輯接口。REF引腳接外部參考電壓,用于設(shè)定模擬輸入電壓范圍,與模擬地之間連接一個(gè)4.7μF的電解電容;AVDD引腳是+5V電源供應(yīng)輸入端,與模擬地之間接一個(gè)0.1μF的電容;AGND是模擬地;CS是片選輸入,低有效。當(dāng)為高時(shí),系統(tǒng)處于斷電模式,由高變低時(shí),激活系統(tǒng)到正常運(yùn)行模式,同時(shí)初始化一次轉(zhuǎn)換。本系統(tǒng)選擇作為AD的使能信號;SCLK是串行時(shí)鐘輸入,驅(qū)動(dòng)模數(shù)轉(zhuǎn)換進(jìn)程;DOUT是串行數(shù)據(jù)輸出,數(shù)據(jù)狀態(tài)在SCLK的下降沿改變;DGND是數(shù)字地;DVDD是數(shù)字電壓供應(yīng),與數(shù)字地之間接一個(gè)0.1μF的電容;AIN是模擬信號輸入端。

該ADC系統(tǒng)的中央控制單元采用TI(德州儀器)公司的浮點(diǎn)數(shù)字信號處理器TMS320VC33-150,TMS320VC33的地址總線為24位,程序?qū)ぶ贩秶蛇_(dá)16M,數(shù)據(jù)總線為32位,內(nèi)部具有34K×32bit的SRAM,可根據(jù)需要映射在程序或數(shù)據(jù)空間,擁有一路串行口,可以構(gòu)成傳輸8、16、24、32位的數(shù)據(jù),其傳輸模式可以設(shè)置為突發(fā)模式或者是連續(xù)模式。兩個(gè)32位的通用定時(shí)器,能夠用來按照規(guī)定的時(shí)間間隔與芯片內(nèi)部通信或者是和外部通信。

本系統(tǒng)考慮到主要應(yīng)用在ADC中,所以就直接采用TMS320VC33的數(shù)據(jù)總線和地址總線,沒有再附加額外的電路,使得ADC的采樣速度和轉(zhuǎn)換精度得到良好的保證。同時(shí)還利用了INT2和XF0引腳,作為DSP接收數(shù)據(jù)的中斷信號和ADC的使能信號。INT2是外部中斷引腳,由外部的數(shù)據(jù)輸入觸發(fā)中斷;XF0即外部標(biāo)志輸出引腳,受軟件控制,可以用來向外部器件發(fā)送信號,該引腳的狀態(tài)由I/O標(biāo)志寄存器決定,IOF=0X22,即置XF0為通用目的輸出引腳,同時(shí)該引腳輸出0;若IOF=0X26,則置XF0為通用目的輸出引腳,同時(shí)該引腳輸出為1。本系統(tǒng)利用軟件指令對XF0進(jìn)行置高置低,控制ADC的啟動(dòng)轉(zhuǎn)換和停止。

EMP7512AE基于EEPROM技術(shù),采用多電壓I/O接口技術(shù),系統(tǒng)內(nèi)核供應(yīng)電壓為3.3V,而I/0引腳與2.5V、3.3V、5.0V邏輯電平相互兼容。EPM7512AE有10000個(gè)可用門、512個(gè)宏單元、32個(gè)邏輯陣列塊和212個(gè)用戶可用I/0引腳。CPLD在系統(tǒng)中的主要功能是:給ADC轉(zhuǎn)換提供時(shí)鐘信號,控制ADC轉(zhuǎn)換的使能和復(fù)位,由于采用的ADC芯片是串行輸出的,CPLD還實(shí)現(xiàn)對串行數(shù)據(jù)的輸入轉(zhuǎn)為并行數(shù)據(jù)的輸出,然后直接和TMS320VC33的數(shù)據(jù)總線相連接。同時(shí)CPLD產(chǎn)生脈沖信號,在ADC轉(zhuǎn)換完成后,數(shù)據(jù)暫存在CPLD中,該脈沖向CPU申請中斷,提示有數(shù)據(jù)需要接收。另外,CPLD的一個(gè)關(guān)鍵作用就是,實(shí)現(xiàn)路數(shù)的動(dòng)態(tài)選擇,目前設(shè)計(jì)的該系統(tǒng)最多路數(shù)為8路。CPLD和DSP及AD芯片的具體硬件連接圖如圖2所示。

系統(tǒng)軟件設(shè)計(jì)

在軟件設(shè)計(jì)中,通過CPLD程序?qū)DC轉(zhuǎn)換進(jìn)行動(dòng)態(tài)控制,選通模擬信號輸入端,對ADC進(jìn)行使能,按照圖3所示的轉(zhuǎn)換時(shí)序圖完成對MAX1162的數(shù)據(jù)采樣及傳輸。

下面給出VHDL語言的主要程序部分。

BEGIN

ADCS<=SYNTHESIZED_WIRE_12;

ADA<=SYNTHESIZED_WIRE_2;

GDFX_TEMP_SIGNAL_1<=(L&L&H&H&H&L);

GDFX_TEMP_SIGNAL_0<=(H&L&H&H&L);

U1:lpm_bustri_0三態(tài)總線緩沖器,允許采樣的數(shù)據(jù)輸出到DSP的數(shù)據(jù)總線上

PORTMAP(enabledt=>DRD,

data=>ADO,

tridata=>D);

U2:lpm_counter_1計(jì)數(shù)器,把數(shù)據(jù)總線寬度改為3位

PORTMAP(sload=>SYNTHESIZED_WIRE_0,

clock=>SYNTHESIZED_WIRE_1,

aload=>XFA0,

data=>CMD(2downto0),

q=>SYNTHESIZED_WIRE_2);

U3:lpm_dff_1D觸發(fā)器,數(shù)據(jù)總線寬度為8位,接收來自于DSP的數(shù)據(jù)

PORTMAP(clock=>CMDCK,

data=>D(7downto0),

q=>CMD);

U4:lpm_compare_1比較器,比較CMD(5..3)和CMD(2..0)的值,即輪詢采樣通道

PORTMAP(dataa=>CMD(5downto3),

datab=>SYNTHESIZED_WIRE_2,

aeb=>SYNTHESIZED_WIRE_0);

SYNTHESIZED_WIRE_1<=NOT(AQ(4));

NRW<=NOTRW;

CMDCK<=NOT(NOTPAGE3AND(NOTRW)ANDA6ANDA5ANDA4AND(NOTA3));

通道控制地址編碼

DRD<=NOTPAGE3ANDRWANDA6ANDA5ANDA4ANDA3;采樣地址編碼

CLKA<=NOT(CLK);

U5:lpm_counter_2產(chǎn)生計(jì)數(shù)脈沖

PORTMAP(sload=>SYNTHESIZED_WIRE_3,

clock=>HFP(5),

data=>GDFX_TEMP_SIGNAL_0,

eq=>SQ,

q=>AQ);

U5:lpm_dff_5緩沖器

PORTMAP(clock=>SYNTHESIZED_WIRE_12,

data=>SYNTHESIZED_WIRE_5,

q=>ADO);

SYNTHESIZED_WIRE_12<=SQ(12)OR0ORXFA0;

SYNTHESIZED_WIRE_3<=XFA0ORSQ(14);

ADEN<=NOT(XFA0);

SYNTHESIZED_WIRE_10<=HFP(5)ANDHFP(4)ANDHFP(0)ANDSYNTHESIZED_WIRE_6ANDSYNTHESIZED_WIRE_7ANDSYNTHESIZED_WIRE_8;

SYNTHESIZED_WIRE_7<=NOT(HFP(2));

SYNTHESIZED_WIRE_6<=NOT(HFP(3));

INTA2<=XFA0ORSYNTHESIZED_WIRE_9;

U6:lpm_shiftreg_1串行數(shù)據(jù)輸入轉(zhuǎn)為并行數(shù)據(jù)輸出

PORTMAP(shiftin=>ADOUT,

clock=>HFP(5),

q=>SYNTHESIZED_WIRE_5);

U7:lpm_counter_3產(chǎn)生時(shí)鐘信號

PORTMAP(sload=>SYNTHESIZED_WIRE_10,

clock=>H1CK,

data=>GDFX_TEMP_SIGNAL_1,

q=>HFP);

SYNTHESIZED_WIRE_8<=NOT(HFP(1));

ADSCK<=NOT(HFP(5));

SYNTHESIZED_WIRE_9<=NOT(SYNTHESIZED_WIRE_12);

H<='1';

L<='0';

END;

把該VHDL程序?qū)懭氲紼PM7512AE芯片中的,對數(shù)據(jù)進(jìn)行采樣編程就簡單了許多。在.CMD文件的MEMORY段中加入ADPORT:org=0x00c00070,len=9。然后通過自定義數(shù)據(jù)段把數(shù)組adport[8]映射到段ADPORT中。下面給出用C編寫的采樣主要程序。

Main()

{

……

IOF=0x26;/*置MAX1162數(shù)據(jù)輸出端為高阻態(tài)*/

adport[0]=0x28;

/*采樣通道選擇:0通道~5通道,總共6路;若設(shè)adport[0]=0x38,則通道為:0通道~7通道,總共8路。同理可進(jìn)行其他設(shè)置*/

IE=4;/*中斷使能*/

IOF=0x22;/*啟動(dòng)ADC*/

/*adport[0]對應(yīng)地址為0x00c00070,配置寄存器有6位,0、1、2位對應(yīng)起始通道,3、4、5位對應(yīng)結(jié)束通道。adport[8]對應(yīng)地址為0x00c00078,是控制寄存器*/

……

}

在中斷服務(wù)子程序接收采樣的數(shù)據(jù),程序如下。

C_INT02()

{

ad[adi++]=adport[8];/*把采集的數(shù)據(jù)十六進(jìn)制數(shù)據(jù)存入數(shù)組ad中*/

If(adi>0x7ff)/*存入的數(shù)據(jù)大小為2K×16bit,根據(jù)內(nèi)存大小動(dòng)態(tài)改變*/

adi&=ox7ff;

}

結(jié)論

經(jīng)過實(shí)際驗(yàn)證,本ADC系統(tǒng)在低成本的情況下的采樣精度達(dá)到了13位,這在16位的ADC芯片中達(dá)到很好的水平,并被應(yīng)用到高精度的工業(yè)控制中。利用TMS320VC33和EPM7512AE,靈活方便地實(shí)現(xiàn)了對高

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論