介紹溫度調(diào)理芯片AD7711的寄存器和它的使用方法,接口電路和以C語言編寫的TMS320F240接口子程序。
關鍵詞:溫度測量;電流源;數(shù)字信號處理器
Interface Design for AD7711 and TMS320F240
GUO Shaopeng, WU Lanjun, YAN Xianyong, LI Jianguo
Key words: temperature measure; constant current source; DSP
REF+是AD7711進行AD轉(zhuǎn)換的參考正基準電源,REF+的安全電壓是VSS-~AVDD的任意電壓,在使用中應注意REF+的接入電壓大于模擬輸入量和編程放大倍數(shù)的乘積,否則將出現(xiàn)全1的轉(zhuǎn)換結(jié)果。
MODE(6)腳接地:表示控制串行數(shù)據(jù)讀寫的脈沖SCLK(1)是輸入引腳,由外部MCU控制;MODE(6)接高電平則表示SCLK是輸出引腳,MCU應根據(jù)SCLK的輸出脈沖讀寫串行數(shù)據(jù)。
RTD1(9),RTD2(10)是兩個初始相對誤差小于1%,溫漂跟隨精度3×10-6/℃的一致性非常好的一對200μA電流源。圖示溫度傳感器采用三線連接方式,三根線的長度基本相同,電阻都是r,所以在IN+、IN-輸入端產(chǎn)生相同的共模電壓;經(jīng)差分輸入的電壓信號只剩下IC激勵Pt100所產(chǎn)生的電壓。這樣便消除了導線電阻,提高了測試精度。
TFS=0:表示MCU向AD7711輸出數(shù)據(jù)允許(寫允許),RFS=0表示讀允許,但是讀/寫不可同時有效。A0=0:表示對控制寄存器的讀寫;A0=1:表示對數(shù)據(jù)寄存器或標定寄存器進行讀寫;由控制寄存器高三位的值來選擇數(shù)據(jù)寄存器或標定寄存器。MCU通過SCLK(1)/A0(4)/TFS(19)/RFS(20)/DRDY(21)/SDATA(22)六個管腳來完成對它的操作,圖1用MCU(TMS320F240)的六個IO口與AD7711相連接。對器件進行讀操作時DRDY和SDATA是輸出管腳,其余是輸入管腳;寫操作時SDATA是輸入管腳,DRDY仍是輸出,但是對寫操作無影響。
MODE(6)腳接地:表示控制串行數(shù)據(jù)讀寫的脈沖SCLK(1)是輸入引腳,由外部MCU控制;MODE(6)接高電平則表示SCLK是輸出引腳,MCU應根據(jù)SCLK的輸出脈沖讀寫串行數(shù)據(jù)。
RTD1(9),RTD2(10)是兩個初始相對誤差小于1%,溫漂跟隨精度3×10-6/℃的一致性非常好的一對200μA電流源。圖示溫度傳感器采用三線連接方式,三根線的長度基本相同,電阻都是r,所以在IN+、IN-輸入端產(chǎn)生相同的共模電壓;經(jīng)差分輸入的電壓信號只剩下IC激勵Pt100所產(chǎn)生的電壓。這樣便消除了導線電阻,提高了測試精度。
TFS=0:表示MCU向AD7711輸出數(shù)據(jù)允許(寫允許),RFS=0表示讀允許,但是讀/寫不可同時有效。A0=0:表示對控制寄存器的讀寫;A0=1:表示對數(shù)據(jù)寄存器或標定寄存器進行讀寫;由控制寄存器高三位的值來選擇數(shù)據(jù)寄存器或標定寄存器。MCU通過SCLK(1)/A0(4)/TFS(19)/RFS(20)/DRDY(21)/SDATA(22)六個管腳來完成對它的操作,圖1用MCU(TMS320F240)的六個IO口與AD7711相連接。對器件進行讀操作時DRDY和SDATA是輸出管腳,其余是輸入管腳;寫操作時SDATA是輸入管腳,DRDY仍是輸出,但是對寫操作無影響。
在完成AD7711正確的線路連接后,需對其控制寄存器進行正確的配置才能工作。AD7711控制寄存器是一3字節(jié)RAM(即24位),如表1。
?
(0\0\0)器件進入正常A/D轉(zhuǎn)換模式,轉(zhuǎn)換的結(jié)果保存在數(shù)據(jù)寄存器中。(0\0\1)對器件自身進行0輸入校準和滿量程自身校準。(0\1\0)、(0\1\1)把(0\0\1)的0輸入校準和滿量程校準分兩步實現(xiàn)。(1\0\0)系統(tǒng)漂移校準。(1\0\1)連續(xù)后臺自動校準。(1\1\0)、(1\1\1)分別對AD7711的0標定寄存器和滿量程標定寄存器進行選擇。
G2\G1\G0:設置可編程放大器的放大倍數(shù)。A=2g,g是(G2/G1/G0)二進制轉(zhuǎn)為十進制數(shù)。
CH:選擇輸入通道(0:表示選擇差分通道(IN+\IN-);1:表示選擇IN2(17)輸入通道)。
PD:功率控制。0:正常運行;1:低功耗。
WL:AD轉(zhuǎn)換結(jié)果位數(shù)設置。0:16位轉(zhuǎn)換結(jié)果;1:24位轉(zhuǎn)換結(jié)果。
RO:供給傳感器的激勵電流。0:關斷200μA激勵電流;1:開通200μA激勵電流。值得注意的是,在測量鉑電阻兩端電壓時,需要分別選擇通道1、2(CH=0、1),并使RO=1;否則并沒有電流輸出。
BO:判斷傳感器燒斷的4.5μA供給電流。0:關斷;1:開通。當鉑電阻傳感器意外處于斷開狀態(tài)時,通過打開BO電流,AD轉(zhuǎn)換結(jié)果全1,判斷傳感器處于斷路的故障狀態(tài)。正常工作時BO=0關斷電流。
B/U:AD轉(zhuǎn)換極性選擇。0:雙極性;1:單極性。
FS11~FS0:濾波頻率設置。片內(nèi)低通濾波器頻率設置公式:
?
fclk是外接晶振的頻率,一般為10MHz;code是FS11~FS0二進制轉(zhuǎn)為十進制的值。計算出的頻率(frequency)是AD7711轉(zhuǎn)換數(shù)據(jù)刷新的頻率,約為截止頻率的3.8倍。
2.1控制寄存器的讀寫
對控制寄存器寫:寫控制寄存器的時序如圖2所示。A0(4)=0選中控制寄存器,TFS(19)=0/RFS(20)=1表示寫允許,使能SCLK。在SCLK脈沖的上升沿,把SDATA(22)的數(shù)據(jù)送入控制寄存器,所以SDATA上的送入數(shù)據(jù)應比SCLK的上升沿信號先有效。每個SCLK送入一位,高位在前低位在后,必須一次送入24位,如果少于24位,該次寫命令無效,如果多于24位多于部分被忽略。
G2\G1\G0:設置可編程放大器的放大倍數(shù)。A=2g,g是(G2/G1/G0)二進制轉(zhuǎn)為十進制數(shù)。
CH:選擇輸入通道(0:表示選擇差分通道(IN+\IN-);1:表示選擇IN2(17)輸入通道)。
PD:功率控制。0:正常運行;1:低功耗。
WL:AD轉(zhuǎn)換結(jié)果位數(shù)設置。0:16位轉(zhuǎn)換結(jié)果;1:24位轉(zhuǎn)換結(jié)果。
RO:供給傳感器的激勵電流。0:關斷200μA激勵電流;1:開通200μA激勵電流。值得注意的是,在測量鉑電阻兩端電壓時,需要分別選擇通道1、2(CH=0、1),并使RO=1;否則并沒有電流輸出。
BO:判斷傳感器燒斷的4.5μA供給電流。0:關斷;1:開通。當鉑電阻傳感器意外處于斷開狀態(tài)時,通過打開BO電流,AD轉(zhuǎn)換結(jié)果全1,判斷傳感器處于斷路的故障狀態(tài)。正常工作時BO=0關斷電流。
B/U:AD轉(zhuǎn)換極性選擇。0:雙極性;1:單極性。
FS11~FS0:濾波頻率設置。片內(nèi)低通濾波器頻率設置公式:
?
fclk是外接晶振的頻率,一般為10MHz;code是FS11~FS0二進制轉(zhuǎn)為十進制的值。計算出的頻率(frequency)是AD7711轉(zhuǎn)換數(shù)據(jù)刷新的頻率,約為截止頻率的3.8倍。
2.1控制寄存器的讀寫
對控制寄存器寫:寫控制寄存器的時序如圖2所示。A0(4)=0選中控制寄存器,TFS(19)=0/RFS(20)=1表示寫允許,使能SCLK。在SCLK脈沖的上升沿,把SDATA(22)的數(shù)據(jù)送入控制寄存器,所以SDATA上的送入數(shù)據(jù)應比SCLK的上升沿信號先有效。每個SCLK送入一位,高位在前低位在后,必須一次送入24位,如果少于24位,該次寫命令無效,如果多于24位多于部分被忽略。
?
在對控制寄存器高三位寫(1\1\0)或(1\1\1)指令后,下一條指令是對標定寄存器讀寫。(1\1\0)表示后序的操作針對0標定寄存器,(1\1\1)則表示針對滿量程標定寄存器。在對標定寄存器讀寫時A0=1,每次寫入都應是24位。所以對標定寄存器操作的時序圖與控制寄存器操作的時序圖唯一的不同是:A0是高電平而非低電平。
2.3數(shù)據(jù)寄存器的讀取
讀數(shù)據(jù)寄存器的時序如圖4所示。數(shù)據(jù)寄存器中保存AD的轉(zhuǎn)換結(jié)果,DRDY=0表示已有新結(jié)果數(shù)據(jù)保留其中,如果數(shù)據(jù)沒有被及時讀出,數(shù)據(jù)寄存器中的數(shù)據(jù)會被實時更新。當DRDY=0,在RFS的下降沿首先把MSB送出,然后在SCLK的下降沿依次把后序數(shù)據(jù)從數(shù)據(jù)寄存器輸出到SDATA上,當最后一位數(shù)據(jù)被送出后,DRDY輸出變?yōu)楦唠娖剑㈥P斷SDATA信號的輸出。
2.3數(shù)據(jù)寄存器的讀取
讀數(shù)據(jù)寄存器的時序如圖4所示。數(shù)據(jù)寄存器中保存AD的轉(zhuǎn)換結(jié)果,DRDY=0表示已有新結(jié)果數(shù)據(jù)保留其中,如果數(shù)據(jù)沒有被及時讀出,數(shù)據(jù)寄存器中的數(shù)據(jù)會被實時更新。當DRDY=0,在RFS的下降沿首先把MSB送出,然后在SCLK的下降沿依次把后序數(shù)據(jù)從數(shù)據(jù)寄存器輸出到SDATA上,當最后一位數(shù)據(jù)被送出后,DRDY輸出變?yōu)楦唠娖剑㈥P斷SDATA信號的輸出。
只要遵循時序圖,任意MCU都可以利用其通用I/O管腳對AD7711進行控制。使AD7711進行正常工作,最少要編寫寫控制寄存器和讀數(shù)據(jù)寄存器兩個子程序,若為了檢驗寫入控制寄存器內(nèi)容是否正確,需要編寫控制寄存器讀子程序。如果編寫了標定寄存器的讀寫子程序還可以直接修改標定寄存器內(nèi)容,增加控制的靈活性。由于編寫這些子程序都很類似,所以下面只給出控制寄存器寫子程序。
兩次調(diào)用該函數(shù)分別對IN2和IN1(IN+,IN-)通道進行設置。3a50c4表示:MD2/MD1/MD0=0/0/1即0輸入和滿量程輸入自校準;G2/G1/G0=1/1/0:放大倍數(shù)26=64;WL=0表示16位AD轉(zhuǎn)換,RO=1打開200μA激勵電流,濾波頻率10MHz/512/0x0c4=100Hz,對應的截止頻率是26Hz。需要注意的是:即使只使用一個通道,也要對兩個通道進行設置,否則兩個高精度跟隨電流源不會打開。
兩次調(diào)用該函數(shù)分別對IN2和IN1(IN+,IN-)通道進行設置。3a50c4表示:MD2/MD1/MD0=0/0/1即0輸入和滿量程輸入自校準;G2/G1/G0=1/1/0:放大倍數(shù)26=64;WL=0表示16位AD轉(zhuǎn)換,RO=1打開200μA激勵電流,濾波頻率10MHz/512/0x0c4=100Hz,對應的截止頻率是26Hz。需要注意的是:即使只使用一個通道,也要對兩個通道進行設置,否則兩個高精度跟隨電流源不會打開。
AD7711集成了Pt100調(diào)理電路的所需元件,簡化了電路設計,給高精度測溫帶來了極大方便,同時使可靠性、穩(wěn)定性得到了保證。筆者把它用在高精度動態(tài)控溫儀器中,效果理想。
- AD7711(8563)
評論
查看更多