由于DSP有先進(jìn)的并行結(jié)構(gòu)使其特別適合于信號處理,故已經(jīng)越來越多的應(yīng)用于工業(yè)控制領(lǐng)域和各類儀器儀表的開發(fā)設(shè)計(jì),。而在用數(shù)字信號微處理器構(gòu)成的智能儀器儀表中,,外部的各種模擬信號必須通過A/D轉(zhuǎn)換器變換為數(shù)字信號后才能送入微處理器芯片。而BB公司的高精度轉(zhuǎn)換器ADS7805具有較高的性能價(jià)格比,,最高的轉(zhuǎn)換頻率可達(dá)100KHz,,在儀器儀表中得到廣泛的應(yīng)用。ADS7805芯片有28腳雙排直插式或貼片式封裝,,只需單端5V電源供電即可正常工作;芯片內(nèi)部含有采樣保持,、電壓基準(zhǔn)和時(shí)鐘等電路,,極大簡化用戶的電路設(shè)計(jì),同時(shí)提高了系統(tǒng)的穩(wěn)定性,。ADS7805采用CMOS工藝制造,,功耗低(最大功耗為100mW),單通道輸入,,模擬輸入電壓的范圍為±10V,,采用逐次逼近式工作原理,轉(zhuǎn)換結(jié)果由16位數(shù)據(jù)線并行輸出,,啟動轉(zhuǎn)換和讀取上次轉(zhuǎn)換的結(jié)果可以同時(shí)進(jìn)行,。
1、引腳及功能
ADS7805共有28個(gè)引腳,,圖1為其引腳圖,。這些引腳大體可以劃分為3類。
i. 電源類
數(shù)字電源Vdig(28腳)和模擬電源Vana(27腳)通常一起接到5V電源上,;數(shù)字地DGND(14腳)和模擬地AGND1(2腳),、AGND2(5腳)通常共地;參考電壓端REF(3腳)對地接2.2μF鉭電容,,則芯片內(nèi)部就會產(chǎn)生2.5V基準(zhǔn)電壓,;參考電容端CAP(4腳)對地接2.2μF鉭電容。
ii.信號類
模擬信號輸入端Vin(1腳),;D15~D8(6腳到13腳)與D7~D0(15腳到22腳)為數(shù)字信號并行輸出口,。
iii.控制信號類
片選信號輸入端/CS(25腳),;讀取結(jié)果/模數(shù)轉(zhuǎn)換控制信號輸入端R/C(24腳);轉(zhuǎn)換結(jié)果指示輸出端/BUSY(26腳),;控制從總線讀出的數(shù)據(jù)是轉(zhuǎn)換結(jié)果的高字節(jié)還是低字節(jié)信號輸入端BYTE(23腳),。
2、 啟動A/D轉(zhuǎn)換和讀取轉(zhuǎn)換結(jié)果
美國BB公司生產(chǎn)的ADS78XX系列A/D轉(zhuǎn)換器的啟動轉(zhuǎn)換和讀取轉(zhuǎn)換結(jié)果的時(shí)序都比較特別,,且大致相同,,ADS7805的轉(zhuǎn)換時(shí)序圖如圖2所示。
圖2 ADS7805的轉(zhuǎn)換時(shí)序圖
首先要在R/C引腳輸入一個(gè)低電平信號,,此低電平信號的持續(xù)時(shí)間要求在40~7000ns之間,;這時(shí)BUSY引腳電平被拉低表示正在進(jìn)行轉(zhuǎn)換,在經(jīng)過了大約8μs(即為/BUSY信號保持低電平的時(shí)間)以后,,轉(zhuǎn)換完成,,BUSY引腳電平相應(yīng)變高;再把R/C腳電平拉高,,此時(shí)ADS7805就會將轉(zhuǎn)換結(jié)果輸出到數(shù)據(jù)總線上,。雖然轉(zhuǎn)換結(jié)果為16位,但對于具有16位數(shù)據(jù)總線的DSP微處理器而言,,不必分兩次讀入,,故可將BYTE腳從始至終同一信號電平,當(dāng)BYTE腳為高電平時(shí),,Pin6~13輸出低字節(jié),,Pin15~22輸出高字節(jié);反之當(dāng)BYTE腳為低電平時(shí),,Pin6~13輸出高字節(jié),,Pin6~13輸出低字節(jié)。如果用/CS引腳來控制ADS7805的轉(zhuǎn)換,,其時(shí)序同R/C引腳相似,,故這里就不詳細(xì)說明。ADS7805轉(zhuǎn)換得到的數(shù)字結(jié)果是以補(bǔ)碼形式給出的,,現(xiàn)給出其理想的數(shù)據(jù)轉(zhuǎn)換表,,表1所列即為ADS7805的模擬電壓與其補(bǔ)碼形式的數(shù)字輸出關(guān)系, -10V~9.99512V為量程
表1 模擬電壓輸入和數(shù)字信號輸出關(guān)系
3,、 與DSP的接口
TI公司的16-bit定點(diǎn)DSP TMS320F206,,是一種低功耗器件,采用了改進(jìn)的哈佛結(jié)構(gòu),,有 1條程序總線和3條數(shù)據(jù)總線,,流水線操作,有高度并行32-bit算術(shù)邏輯單元,、16*16-bit并行硬件乘法器,、片內(nèi)存儲器,、片內(nèi)外設(shè)和高度專業(yè)化的指令集。當(dāng)TMS320F206外接16MHZ的晶振,,工作時(shí)鐘控制模式選為×1時(shí),,可以將ADS7805的/CS腳接到DSP的/RD信號引腳,但為了減少控制線,,可以將/CS引腳直接接成低電平,,R/C引腳接到DSP的擴(kuò)展輸出口,而/BUSY信號只需連接到普通的端入端口即可,,如DSP的IO口,、擴(kuò)展芯片74LS244的輸入口等。圖3是一個(gè)ADS7805與TMS320F206的典型接口電路,。
4,、 C語言程序設(shè)計(jì)
TMS320F206的用戶可以用匯編語言或C語言進(jìn)行源程序的編寫,而C語言開發(fā)出的系統(tǒng)易于維護(hù),,可靠性高,,可移植性好,故下面介紹用C語言編寫的ADS7805的開發(fā)程序,。
源程序如下:
#include
#include
ioport unsigned int port90ac;
ioport unsigned int porte0f7;
#define ic273n port90ac
#define ads7805 porte0f7
#define Wait asm(" nop ");
int i, ia[8]; double bv_coil,IA;
reg_aspcr=0x0e00; reg_iosr=0x0000;
asm( " clrc intm ");
ic273n=0x0008; Wait;
for(i=0;i<=7;i++)
{ ic273n=0x0000;
while ((reg_iosr&0x0004)==0x0004)
{ if (adt> 2; return();)
ic273n=0x0008; Wait;
ia[i]=(int)(ads7805&0xffff); }
IA=0; for (i=0;i<=7;i++)
{ if ia[i]<32767 pr[i]=((double)(ia[i]))*0.000305185;/*10/32767=0.000305185*/ else
pr[i]=((double)(ia[i]-65535))*0.000305185;
IA="IA"+pr[i]*pr[i]; }
bv_coil = sqrt(IA/8);
5,、 結(jié)束語
ADS7805為16位的A/D轉(zhuǎn)換器,它不僅分辨率高,、轉(zhuǎn)換速度快,而且接口簡單方便,、應(yīng)用靈活,,因而具有廣泛的應(yīng)用前景。筆者在GKNDC-H型高壓開關(guān)特性精密測量儀中就使用了ADS7805,,并取得了很好的測量效果,。
參考文獻(xiàn):
1、 ADS7805 Data Sheet of ADS7805
2,、 TMS320F206DSP 結(jié)構(gòu),、原理及應(yīng)用