1、 引言
國家三級秤標準要求:稱重數據與重物的絕對精度小于1/1000-1/5000,因此,經AD轉換后輸出數據的有效位應在13位以上。AD公司推出的由緩沖器和增益可編程放大器(PGA)、Σ-Δ調節器、可編程數字濾波器等組成的16位AD7705/06能直接將傳感器檢測到的微小信號進行A/D轉換,其具有高分辨率、寬動態范圍、自校準、優良的抗噪聲性能以及低電壓低功耗等特點,適合于稱重系統中下微機信號處理的需要。設計中,我們確定AD7705的相應參數?。?/p>
輸出數據更新速率:50Hz;系統增益:64;有效分辨率:15位。
2 、硬件設計
要滿足前面確定的AD7705參數,設計中AD7705的主時鐘?。篺CLK =2.4576MHz。
AD7705的串行數據接口包括5個:片選輸入口 ,串行施密特邏輯輸入時鐘SCLK,數據輸入口DIN,轉換數據輸出口DOUT,指示數據準備就緒的狀態信號輸出口 。其中當 為低電平時,轉換數據可讀取;否則不可讀取。
設計中 可由AT89C51選中實現,也可接地;本設計中將 接地。
SCLK有兩種基本的接線方式:①SCLK接AT89C51的P2口中未用的管腳(比如接P2.2),數據輸入、輸出端DIN、DOUT一同接P2口中未用的另一管腳(比如:P2.3)。在該種連接方式下,只能用手工編程模擬AD7705的通信時序以實現對AD7705的操作。②SCLK接AT89C51的同步脈沖輸出端TXD,AD7705的數據輸入、輸出端DIN、DOUT一同接AT89C51的串行數據輸入、輸出端RXD。在該種連接方式下,對AD7705的數據的讀取可按51系列單片機串行口的工作方式0完成,也可按①中的讀寫方式完成。本設計中按②中介紹的方式接線??山悠胀≒1、P2口中未用的管腳,通過程序查詢該管腳是否為低電平,從而實現對AD7705中寄存器數據的讀取。也可接AT89C51的外部中斷1或中斷0管腳,通過中斷方式或中斷查詢方式實現對AD7705中寄存器數據的讀取。本設計中接外部中斷1管腳。
圖1 稱重傳感器信號處理電路圖
AD7705在稱重系統中的連接方式
見圖1。當在此傳感器上施加滿標度重量5噸重物時,傳感器在5V工作電壓下取得30 mV的滿標度輸出電壓。5V工作電壓經分壓后為AD7705提供基準電壓,因此工作電壓的變化不會產生系統誤差。分壓電阻為24kΩ和15kΩ,產生的基準電壓為1.92V。當器件的可編程增益為64時,對應的滿標度輸入電壓即為 30 mV。
3 、軟件設計
軟件設計需主要考慮以下四個方面:
①AT89C51的初始化:硬件設計中如果用到中斷,則需對單片機的中斷系統進行初始化;軟件設計中如果用到串口,則需對單片機的串口進行初始化。
②AD7705與51系列單片機的數據交換順序:在讀寫操作模式下,51系列單片機的數據要求LSB在前,而AD7705希望MSB在前,所以對AD7705寄存器進行配置之前必須將命令字重新排列方可寫入,同樣要將從AD7705數據寄存器中讀取到緩沖器后的數據進行重新排列方可使用。
③對AD7705寄存器進行操作的時序:AD7705通訊必須嚴格按圖2、圖3時序操作。對AD7705進行通信的子程序流程見圖4、圖5。當然,還可以考慮用串行口通信方式0的工作方式來實現。
④AD7705的初始化和配置:AD7705的配置與設計的硬件緊密相關,只有在正確配置的情況下硬件才能正常工作。同時,對AD7705內每一個寄存器的配置都必須從寫通信寄存器開始,通過寫通信寄存器完成通道的選擇和設置下一次操作的寄存器的選擇。
圖6所示為此稱重傳感器數據采集主流程圖。其程序清單見附錄。
圖2 讀周期時序圖
圖3 寫周期時序圖
4 、結束語
AD7705以其本身的低價格、高精度、可編程增益、自校準、小信號的轉換不需附加另外的器件而使得其在數據檢測領域具有很大的應用前景。其在電子秤中的應用也是顯而易見的。我們應用AD7705設計的電子信號處理線路,其性能指標達到預期的效果。
附錄:程序清單
ORG 0000H
AJMP MAIN
ORG 0013H
AJMP ADINT
ORG 0030H
MAIN:
;對AT89C51初始化
MOV IP,#04H;定義INT1為優先級
MOV TCON,#00H ;INT1采用低電平
圖4 寫周期時序流程圖
圖5讀周期時序流程圖
;觸發
MOV IE,#84H;允許外部中斷1
;對AD7705進行初始化
MOV SCON,#00000000B;禁用SCON
MOV A,#20H
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
責任編輯:gt
-
放大器
+關注
關注
143文章
13612瀏覽量
213727 -
單片機
+關注
關注
6039文章
44579瀏覽量
636455 -
寄存器
+關注
關注
31文章
5357瀏覽量
120668
發布評論請先 登錄
相關推薦
評論