1 引言 國(guó)家三級(jí)秤標(biāo)準(zhǔn)要求:稱重?cái)?shù)據(jù)與重物的絕對(duì)精度小于1/1000-1/5000,因此,經(jīng)AD轉(zhuǎn)換后輸出數(shù)據(jù)的有效位應(yīng)在13位以上。AD公司推出的由緩沖器和增益可編程放大器(PGA)、Σ-Δ調(diào)節(jié)器、可編程數(shù)字濾波器等組成的16位AD7705/06能直接將傳感器檢測(cè)到的微小信號(hào)進(jìn)行A/D轉(zhuǎn)換,其具有高分辨率、寬動(dòng)態(tài)范圍、自校準(zhǔn)、優(yōu)良的抗噪聲性能以及低電壓低功耗等特點(diǎn),適合于稱重系統(tǒng)中下微機(jī)信號(hào)處理的需要。設(shè)計(jì)中,我們確定AD7705的相應(yīng)參數(shù)取: 輸出數(shù)據(jù)更新速率:50Hz; 系統(tǒng)增益:64; 有效分辨率:15位。 2 硬件設(shè)計(jì) 要滿足前面確定的AD7705參數(shù),設(shè)計(jì)中AD7705的主時(shí)鐘取:fCLK =2.4576MHz。 AD7705的串行數(shù)據(jù)接口包括5個(gè):片選輸入口 ,串行施密特邏輯輸入時(shí)鐘SCLK,數(shù)據(jù)輸入口DIN,轉(zhuǎn)換數(shù)據(jù)輸出口DOUT,指示數(shù)據(jù)準(zhǔn)備就緒的狀態(tài)信號(hào)輸出口 。其中當(dāng) 為低電平時(shí),轉(zhuǎn)換數(shù)據(jù)可讀取;否則不可讀取。 設(shè)計(jì)中 可由AT89C51選中實(shí)現(xiàn),也可接地;本設(shè)計(jì)中將 接地。 SCLK有兩種基本的接線方式:①SCLK接AT89C51的P2口中未用的管腳(比如接P2.2),數(shù)據(jù)輸入、輸出端DIN、DOUT一同接P2口中未用的另一管腳(比如:P2.3)。在該種連接方式下,只能用手工編程模擬AD7705的通信時(shí)序以實(shí)現(xiàn)對(duì)AD7705的操作。②SCLK接AT89C51的同步脈沖輸出端TXD,AD7705的數(shù)據(jù)輸入、輸出端DIN、DOUT一同接AT89C51的串行數(shù)據(jù)輸入、輸出端RXD。在該種連接方式下,對(duì)AD7705的數(shù)據(jù)的讀取可按51系列單片機(jī)串行口的工作方式0完成,也可按①中的讀寫方式完成。本設(shè)計(jì)中按②中介紹的方式接線。可接普通P1、P2口中未用的管腳,通過程序查詢?cè)摴苣_是否為低電平,從而實(shí)現(xiàn)對(duì)AD7705中寄存器數(shù)據(jù)的讀取。也可接AT89C51的外部中斷1或中斷0管腳,通過中斷方式或中斷查詢方式實(shí)現(xiàn)對(duì)AD7705中寄存器數(shù)據(jù)的讀取。本設(shè)計(jì)中接外部中斷1管腳。 圖1 稱重傳感器信號(hào)處理電路圖 AD7705在稱重系統(tǒng)中的連接方式 見圖1。當(dāng)在此傳感器上施加滿標(biāo)度重量5噸重物時(shí),傳感器在5V工作電壓下取得30 mV的滿標(biāo)度輸出電壓。5V工作電壓經(jīng)分壓后為AD7705提供基準(zhǔn)電壓,因此工作電壓的變化不會(huì)產(chǎn)生系統(tǒng)誤差。分壓電阻為24kΩ和15kΩ,產(chǎn)生的基準(zhǔn)電壓為1.92V。當(dāng)器件的可編程增益為64時(shí),對(duì)應(yīng)的滿標(biāo)度輸入電壓即為 30 mV。 3 軟件設(shè)計(jì) 軟件設(shè)計(jì)需主要考慮以下四個(gè)方面: ①AT89C51的初始化:硬件設(shè)計(jì)中如果用到中斷,則需對(duì)單片機(jī)的中斷系統(tǒng)進(jìn)行初始化;軟件設(shè)計(jì)中如果用到串口,則需對(duì)單片機(jī)的串口進(jìn)行初始化。 ②AD7705與51系列單片機(jī)的數(shù)據(jù)交換順序:在讀寫操作模式下,51系列單片機(jī)的數(shù)據(jù)要求LSB在前,而AD7705希望MSB在前,所以對(duì)AD7705寄存器進(jìn)行配置之前必須將命令字重新排列方可寫入,同樣要將從AD7705數(shù)據(jù)寄存器中讀取到緩沖器后的數(shù)據(jù)進(jìn)行重新排列方可使用。 ③對(duì)AD7705寄存器進(jìn)行操作的時(shí)序:AD7705通訊必須嚴(yán)格按圖2、圖3時(shí)序操作。對(duì)AD7705進(jìn)行通信的子程序流程見圖4、圖5。當(dāng)然,還可以考慮用串行口通信方式0的工作方式來(lái)實(shí)現(xiàn)。 ④AD7705的初始化和配置:AD7705的配置與設(shè)計(jì)的硬件緊密相關(guān),只有在正確配置的情況下硬件才能正常工作。同時(shí),對(duì)AD7705內(nèi)每一個(gè)寄存器的配置都必須從寫通信寄存器開始,通過寫通信寄存器完成通道的選擇和設(shè)置下一次操作的寄存器的選擇。 圖6所示為此稱重傳感器數(shù)據(jù)采集主流程圖。其程序清單見附錄。 圖2 讀周期時(shí)序圖 圖3 寫周期時(shí)序圖 4 結(jié)束語(yǔ) AD7705以其本身的低價(jià)格、高精度、可編程增益、自校準(zhǔn)、小信號(hào)的轉(zhuǎn)換不需附加另外的器件而使得其在數(shù)據(jù)檢測(cè)領(lǐng)域具有很大的應(yīng)用前景。其在電子秤中的應(yīng)用也是顯而易見的。我們應(yīng)用AD7705設(shè)計(jì)的電子信號(hào)處理線路,其性能指標(biāo)達(dá)到預(yù)期的效果。 附錄:程序清單 ORG 0000H AJMP MAIN ORG 0013H AJMP ADINT ORG 0030H MAIN: ;對(duì)AT89C51初始化 MOV IP,#04H;定義INT1為優(yōu)先級(jí) MOV TCON,#00H ;INT1采用低電平 圖4 寫周期時(shí)序流程圖 圖5讀周期時(shí)序流程圖 ;觸發(fā) MOV IE,#84H;允許外部中斷1 ;對(duì)AD7705進(jìn)行初始化 MOV SCON,#00000000B;禁用SCON MOV A,#20H ACALL WRITE MOV SCON,#00000000B MOV A,#05H ACALL WRITE MOV SCON,#00000000B MOV A,#010H ACALL WRITE MOV SCON,#00000000B MOV A,#70H ACALL WRITE MOV SCON,#00000000B A2: JNB 00H,A2 ;等待INT1中斷 MOV A,#38H ACALL WRITE RDATA DPROCESS AJMP A2 圖6 主程序流程圖 WRITE: NOP MOV R0,#08H ACALL NU1 RET NU1: RLC A JNC NU2 CLR 0B1H SETB 0B0H SETB 0B1H SJMP NU3 NU2: CLR 0B1H CLR 0B0H SETB 0B1H NU3: DEC R0 DJNZ R0,NU1 RET RDATA: MOV R2,#02H MOV R3,#08H MOV R4,#20H CLR C MOV A,#00H RD1: CLR 0B1H MOV C,0B0H SETB 0B1H RLC A DJNZ R3,RD1 MOV R4,A INC R4 DJNZ R2,RD1 RET DPROCESS: …… RET ADINT: SETB 00H RETI END |