印健健
(江蘇商貿(mào)職業(yè)學(xué)院,江蘇南通,226000)
A/D(模/數(shù))轉(zhuǎn)換器的功能就是將模擬量量化,用N位二進(jìn)制數(shù)或BCD碼表達(dá)出來(lái)。實(shí)際上,用數(shù)字表示模擬量的大小就是對(duì)模擬量進(jìn)行了量化。例如電池電壓為1.5V,溫度為28℃等。由于模擬量是連續(xù)變化的,具有無(wú)窮多個(gè)狀態(tài),而數(shù)字量是有限的,不可能將模擬量的所有狀態(tài)都表達(dá)出來(lái),因此A/D轉(zhuǎn)換器輸出的數(shù)字量并不代表模擬量的一個(gè)點(diǎn),而是一個(gè)區(qū)間。例如人們測(cè)量氣溫只保留整數(shù)部分,而小數(shù)部分四舍五入。當(dāng)氣溫為28℃時(shí)并不是說(shuō)氣溫就是28℃,而是在27.5~28.4℃范圍內(nèi)。這個(gè)范圍的大小稱(chēng)為量化誤差,使用整數(shù)表示溫度,小數(shù)四舍五入時(shí)這個(gè)范圍的大小為±0.5℃。如果測(cè)量人體體溫時(shí)需要保留一位小數(shù),如正常體溫為37.0℃,量化誤差就為±0.05℃。例如某A/D轉(zhuǎn)換器將0~5V電壓轉(zhuǎn)換為3位二進(jìn)制數(shù),其轉(zhuǎn)換關(guān)系如圖1所示。
圖1 5V量程三位A/D轉(zhuǎn)換器的轉(zhuǎn)換關(guān)系
模擬量輸入范圍,分為單極性輸入(如0~+5V)和雙極性輸入(如-5V~+5V),大部分A/D轉(zhuǎn)換器輸入電壓范圍可由用戶(hù)提供的參考電壓Uref設(shè)定。
轉(zhuǎn)換結(jié)果的位數(shù),有二進(jìn)制位數(shù)(如4位、8位、12位、16位)和十進(jìn)制位數(shù)(如3 1/2位、4 1/2位)二種,十進(jìn)制位數(shù)3 1/2表示有4位十進(jìn)制數(shù)輸出,分?jǐn)?shù)1/2中的分母“2”表示最高位只有二個(gè)狀態(tài),分子“1”表示最高位的最大數(shù)值為“1”。3 1/2位最大輸出數(shù)為“1999”,同理4 1/2位最大輸出數(shù)為“19999”。
將“量程”劃分為若干個(gè)小區(qū)間,每個(gè)小區(qū)間對(duì)應(yīng)一個(gè)輸出數(shù)據(jù),就實(shí)現(xiàn)了A/D轉(zhuǎn)換,這個(gè)小區(qū)間稱(chēng)為“量化區(qū)間”,記為L(zhǎng)SB。量化區(qū)間(LSB)=2×量程/(2N+1-1),式中N為A/D轉(zhuǎn)換器的位數(shù)。
是指A/D轉(zhuǎn)換器所能分辨的模擬輸入信號(hào)的最小變化量。即量化區(qū)間的大小LSB。例如8位單極性0~+5V輸入的A/D轉(zhuǎn)換器,能分辨的最小輸入信號(hào)是1LSB=2×5/(28+1-1)=0.0196V=19.6mV。又如12位雙極性-5~+5V輸入的A/D轉(zhuǎn)換器,能分辨的最小輸入信號(hào)是1LSB=2×10/(212+1-1)=0.00244V=2.44 mV。
量化誤差=±1LSB/2。如上述8位單極性0~+5V輸入的A/D轉(zhuǎn)換器的LSB=19.6mV,則量化誤差=±9.8mV。
除以上技術(shù)指標(biāo)外,還有一些技術(shù)指標(biāo)如絕對(duì)精度、轉(zhuǎn)換時(shí)間、輸出接口、工作溫度等技術(shù)指標(biāo),讀者可以查閱有關(guān)資料,這里不再贅述。
如0~+5V量程的3位A/D轉(zhuǎn)換器量化區(qū)間為1LSB=2×5/(23+1-1)=0.667V(見(jiàn)圖1、表1)。輸入電壓的中間值=LSB×輸出數(shù)值(10進(jìn)制)。如輸出的10進(jìn)制數(shù)值為2,則輸入電壓中間值=0.667×2=1.333V。這個(gè)電壓中間值1.333V并不代表一個(gè)固定的值,而是一個(gè)輸入的電壓范圍1~1.667V,其對(duì)應(yīng)區(qū)間為2LSB±1/2LSB。輸入電壓與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系見(jiàn)表1。
表1 輸入電壓與輸出數(shù)據(jù)的對(duì)應(yīng)關(guān)系
2 1.667~2.333 3LSB±1/2LSB 011 3 2.667 2.333~3 4LSB±1/2LSB 100 4 3.333 3~3.667 5LSB±1/2LSB 101 5 4 3.667~4.333 6LSB±1/2LSB 110 6 4.667 4.333~5 7LSB±1/2LSB 111 7
圖2 ADC0804仿真設(shè)計(jì)
:芯片選擇信號(hào)。當(dāng)=0時(shí)芯片才能工作。: 外部讀取轉(zhuǎn)換結(jié)果的控制輸出信號(hào)。=1時(shí)輸出為高阻態(tài)不輸出轉(zhuǎn)換結(jié)果,當(dāng)=0時(shí)才輸出轉(zhuǎn)換結(jié)果。WR: 用來(lái)啟動(dòng)轉(zhuǎn)換的控制輸入,=0時(shí)清除上一次轉(zhuǎn)換的結(jié)果,=1時(shí)開(kāi)始對(duì)當(dāng)前的輸入電壓進(jìn)行轉(zhuǎn)換,故可看作是轉(zhuǎn)換啟動(dòng)控制。CLK IN、CLKR:外部時(shí)鐘輸入或接振蕩元件(R、C),頻率在100~1460kHz左右,一般RC電路振蕩頻率為1/(1.1RC)。振蕩頻率f=1/1.1R8C1=1/1.1×10×103×150×10-12≈600kHz。:中斷請(qǐng)求信號(hào)輸出,轉(zhuǎn)換完成后輸出低電位。VIN(+)、VIN(-):差動(dòng)模擬電壓輸入。輸入單端正電壓時(shí),VIN(-)接地;而差動(dòng)輸入時(shí),直接加入VIN(+)、VIN(-)。AGND、DGND:模擬信號(hào)以及數(shù)字信號(hào)的接地。Uref/2:接輔助參考電壓。注意參考電壓為此端連接的電壓的2倍。D0~D7:8位轉(zhuǎn)換結(jié)果的數(shù)字輸出。VCC:電源電壓。
圖2中ADC0804是5V輸入量程8位輸出的A/D轉(zhuǎn)換器,如前所述,5V輸入量程8位輸出的A/D轉(zhuǎn)換器的量化區(qū)間1LSB=2×5/(28+1-1)=0.0196V=19.6mV,量化誤差=±1LSB/2=±0.0196V/2=±0.01V,假如在輸出的二進(jìn)制數(shù)00000000~11111111之間取任一數(shù),如取00000100,其對(duì)應(yīng)的十進(jìn)制數(shù)是“4”,則其對(duì)應(yīng)的輸入電壓的中間值=0.0196V×4=0.08V。這個(gè)電壓中間值0.08V并不代表一個(gè)固定的值,而是=0.08V±0.01V,也即0.07~0.09V之間,如果在0.07~0.09V之間選擇任一電壓作為輸入電壓,圖2的仿真輸出都將輸出“00000100”,“D7、D6、D5、D4、D3、D2、D1、D0”八個(gè)發(fā)光二極管的發(fā)光順序依次為“亮、亮、亮、亮、亮、滅、亮、亮”,如取0.078V作為輸入電壓,則只要將圖2 ADC0804 6腳對(duì)地間的電壓表二端的電壓設(shè)置成0.078V即可,仿真結(jié)果和計(jì)算理論值完全相同(見(jiàn)圖2)。
TC7107是常見(jiàn)數(shù)字面板中使用的A/D轉(zhuǎn)換器,其輸出為3 1/2位7段LED顯示驅(qū)動(dòng),3 1/2位顯示最大顯示數(shù)值為1999。1腳(V+)、26腳(V—)、21腳(地):電源,典型值V+=+5V;V—=-5V。5腳(A1)、4腳(B1)、3腳(C1)、2腳(D1)、8腳(E1)、6腳(F1)、7腳(G1):右起第一位數(shù)碼管驅(qū)動(dòng),可顯示0~9。12腳(A2)、11腳(B2)、10腳(C2)、9腳(D2)、14腳(E2)、13腳(F2)、25腳(G2):右起第二位數(shù)碼管驅(qū)動(dòng),可顯示0~9。23腳(A3)、16腳(B3)、24腳(C3)、15腳(D3)、18腳(E3)、17腳(F3)、22腳(G3):右起第三位數(shù)碼管驅(qū)動(dòng),可顯示0~9。19腳(AB4):右起第四位數(shù)碼管驅(qū)動(dòng),同時(shí)驅(qū)動(dòng)a、b二段,顯示1。20腳(POL):右起第五位數(shù)碼管驅(qū)動(dòng),當(dāng)輸入為負(fù)值時(shí)顯示極性“—”,驅(qū)動(dòng)g段。40腳(OSC1)、39腳(OSC2)、38腳(OSC3):片內(nèi)振蕩器,典型振蕩頻率fOSC(Typ)=48kHz。29腳(CAZ):自動(dòng)校零電容,0.01μF<自動(dòng)校零電容<1μF,自動(dòng)校零電容的大小對(duì)系統(tǒng)噪聲有影響,當(dāng)滿(mǎn)量程較小時(shí)(如200mV)應(yīng)當(dāng)選用較小的容量。28腳(VBUFF):積分電阻,RINT=滿(mǎn)量程電壓/積分電流(4μA)。27腳(VINT):積分電容。34腳(CREF+)、33腳(CREFfˉ):參考電容,0.1μF<參考電容<1μF,在絕大多數(shù)場(chǎng)合下使用0.1μF電容效果最好。31腳(VIN+)、30腳(VIN-):模擬量輸入端,顯示數(shù)值=1000×輸入電壓/參考電壓。36腳(VREF+)、35腳(VREF-):當(dāng)輸入電壓為0時(shí)顯示為“000”,當(dāng)輸入電壓等于參考電壓時(shí)顯示數(shù)值為“1000”,輸入電壓最大值為參考電壓的二倍,此時(shí)顯示數(shù)值為“1999”。32腳(ACOM):模擬量接地端。37腳(TEST):測(cè)試端。
SW1為小數(shù)點(diǎn)切換開(kāi)關(guān),SW2為量程切換開(kāi)關(guān),仿真時(shí)它們必須保持同步對(duì)應(yīng)切換,例如測(cè)試17V電壓,將BAT4設(shè)置成17V作為輸入電壓,SW2為量程切換開(kāi)關(guān)切換至20V檔,同時(shí)SW1小數(shù)點(diǎn)切換開(kāi)關(guān)也切換至20V檔,按下仿真按鈕,此時(shí)數(shù)碼管顯示“17.00”(見(jiàn)圖3),如果輸入“-17V”,按下仿真按鈕,此時(shí)數(shù)碼管顯示“-17.00”當(dāng)輸入電壓≧20V時(shí),數(shù)碼管顯示“19.99”并不斷地閃爍,當(dāng)輸入電壓≦-20V時(shí),數(shù)碼管顯示“-19.99”并不斷地閃爍,這是超量程警告提醒,提示你必須切換至更高的量程才能正常顯示電壓值。表2是電壓表仿真實(shí)測(cè)數(shù)據(jù),由表2可知,即使是同一量程輸入同一的電壓,選擇的上分壓電阻和下分壓電阻的阻值不同,分壓比雖然相同,但輸出顯示的電壓值會(huì)有微小的不同。例如選擇量程為“2000V”檔,輸入電壓為1700V,上分壓電阻和下分壓電阻的阻值比為R2=99900Ω:R5=100Ω時(shí),輸出顯示為“1705”;當(dāng)上分壓電阻和下分壓電阻的阻值比為R2=999000Ω:R5=1000Ω時(shí),輸出顯示為“1750”。分壓比雖然都是999:1,但輸出顯示的數(shù)值有微小的不同。綜合表2的實(shí)測(cè)數(shù)據(jù)可以看 出,選 擇R6=90Ω:R5=10Ω;R4=990Ω:R5=10Ω;R2=9990Ω:R5=10Ω組合或者選擇R6=900Ω:R5=100Ω;R4=9900Ω:R5=100Ω;R2=99900Ω:R5=100Ω組合時(shí),輸出電壓值誤差都比較小,這二種組合都是比較理想的電阻分壓比組合,但考慮到流過(guò)電阻的電流盡量要小的話(huà),最好還是選擇后者的分壓比組合(見(jiàn)圖3)。
表2 多量程電壓表仿真實(shí)測(cè)數(shù)據(jù)
圖3 TC7107數(shù)顯電壓表仿真設(shè)計(jì)
在設(shè)置負(fù)電壓輸入時(shí),BAT4在軟件上是不能設(shè)置成負(fù)電壓的,只能將BAT4輸入的正電壓正負(fù)極顛倒即可,另外在實(shí)物電路中,當(dāng)輸入電壓超量程時(shí),若為正超量程則在右起第四個(gè)數(shù)碼管顯示“1”,其余數(shù)碼管滅;若為負(fù)超量程則在右起第四個(gè)數(shù)碼管顯示“1”,右起第五個(gè)數(shù)碼管顯示“-”其余數(shù)碼管滅,這和萬(wàn)用表使用時(shí)的實(shí)際情況的顯示是一致的,軟件上的顯示會(huì)隨量程的不同有所不同,如“2000V”檔正超量程顯示“1999”并不斷閃爍,負(fù)超量程顯示的是“-1999”并不斷閃爍,如“200V”檔正超量程顯示“199.9”并不斷閃爍,負(fù)超量程顯示的是“-199.9”并不斷閃爍,以此類(lèi)推。