AD7711與TMS320F240接口設(shè)計
Interface Design for AD7711 and TMS320F240
GUO Shaopeng, WU Lanjun, YAN Xianyong, LI Jianguo
(Institute of Electrical Engineering, Chinese Academy of Science,
Bei jing 100080, China)
Bei jing 100080, China)
Key words: temperature measure; constant current source; DSP
1AD7711外圍接口電路
圖1是采用三線式連接方法,來消除溫度傳感器導(dǎo)線電阻影響的外圍電路圖。
圖1是采用三線式連接方法,來消除溫度傳感器導(dǎo)線電阻影響的外圍電路圖。
REF+是AD7711進行AD轉(zhuǎn)換的參考正基準(zhǔn)電源,REF+的安全電壓是VSS-~AVDD的任意電壓,在使用中應(yīng)注意REF+的接入電壓大于模擬輸入量和編程放大倍數(shù)的乘積,否則將出現(xiàn)全1的轉(zhuǎn)換結(jié)果。
MODE(6)腳接地:表示控制串行數(shù)據(jù)讀寫的脈沖SCLK(1)是輸入引腳,由外部MCU控制;MODE(6)接高電平則表示SCLK是輸出引腳,MCU應(yīng)根據(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)生的電壓。這樣便消除了導(dǎo)線電阻,提高了測試精度。
TFS=0:表示MCU向AD7711輸出數(shù)據(jù)允許(寫允許),RFS=0表示讀允許,但是讀/寫不可同時有效。A0=0:表示對控制寄存器的讀寫;A0=1:表示對數(shù)據(jù)寄存器或標(biāo)定寄存器進行讀寫;由控制寄存器高三位的值來選擇數(shù)據(jù)寄存器或標(biāo)定寄存器。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應(yīng)根據(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)生的電壓。這樣便消除了導(dǎo)線電阻,提高了測試精度。
TFS=0:表示MCU向AD7711輸出數(shù)據(jù)允許(寫允許),RFS=0表示讀允許,但是讀/寫不可同時有效。A0=0:表示對控制寄存器的讀寫;A0=1:表示對數(shù)據(jù)寄存器或標(biāo)定寄存器進行讀寫;由控制寄存器高三位的值來選擇數(shù)據(jù)寄存器或標(biāo)定寄存器。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輸入校準(zhǔn)和滿量程自身校準(zhǔn)。(0\1\0)、(0\1\1)把(0\0\1)的0輸入校準(zhǔn)和滿量程校準(zhǔn)分兩步實現(xiàn)。(1\0\0)系統(tǒng)漂移校準(zhǔn)。(1\0\1)連續(xù)后臺自動校準(zhǔn)。(1\1\0)、(1\1\1)分別對AD7711的0標(biāo)定寄存器和滿量程標(biāo)定寄存器進行選擇。
G2\G1\G0:設(shè)置可編程放大器的放大倍數(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ù)設(shè)置。0:16位轉(zhuǎn)換結(jié)果;1:24位轉(zhuǎn)換結(jié)果。
RO:供給傳感器的激勵電流。0:關(guān)斷200μA激勵電流;1:開通200μA激勵電流。值得注意的是,在測量鉑電阻兩端電壓時,需要分別選擇通道1、2(CH=0、1),并使RO=1;否則并沒有電流輸出。
BO:判斷傳感器燒斷的4.5μA供給電流。0:關(guān)斷;1:開通。當(dāng)鉑電阻傳感器意外處于斷開狀態(tài)時,通過打開BO電流,AD轉(zhuǎn)換結(jié)果全1,判斷傳感器處于斷路的故障狀態(tài)。正常工作時BO=0關(guān)斷電流。
B/U:AD轉(zhuǎn)換極性選擇。0:雙極性;1:單極性。
FS11~FS0:濾波頻率設(shè)置。片內(nèi)低通濾波器頻率設(shè)置公式:
?
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ù)應(yīng)比SCLK的上升沿信號先有效。每個SCLK送入一位,高位在前低位在后,必須一次送入24位,如果少于24位,該次寫命令無效,如果多于24位多于部分被忽略。
G2\G1\G0:設(shè)置可編程放大器的放大倍數(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ù)設(shè)置。0:16位轉(zhuǎn)換結(jié)果;1:24位轉(zhuǎn)換結(jié)果。
RO:供給傳感器的激勵電流。0:關(guān)斷200μA激勵電流;1:開通200μA激勵電流。值得注意的是,在測量鉑電阻兩端電壓時,需要分別選擇通道1、2(CH=0、1),并使RO=1;否則并沒有電流輸出。
BO:判斷傳感器燒斷的4.5μA供給電流。0:關(guān)斷;1:開通。當(dāng)鉑電阻傳感器意外處于斷開狀態(tài)時,通過打開BO電流,AD轉(zhuǎn)換結(jié)果全1,判斷傳感器處于斷路的故障狀態(tài)。正常工作時BO=0關(guān)斷電流。
B/U:AD轉(zhuǎn)換極性選擇。0:雙極性;1:單極性。
FS11~FS0:濾波頻率設(shè)置。片內(nèi)低通濾波器頻率設(shè)置公式:
?
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ù)應(yīng)比SCLK的上升沿信號先有效。每個SCLK送入一位,高位在前低位在后,必須一次送入24位,如果少于24位,該次寫命令無效,如果多于24位多于部分被忽略。
?
在對控制寄存器高三位寫(1\1\0)或(1\1\1)指令后,下一條指令是對標(biāo)定寄存器讀寫。(1\1\0)表示后序的操作針對0標(biāo)定寄存器,(1\1\1)則表示針對滿量程標(biāo)定寄存器。在對標(biāo)定寄存器讀寫時A0=1,每次寫入都應(yīng)是24位。所以對標(biāo)定寄存器操作的時序圖與控制寄存器操作的時序圖唯一的不同是: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ù)會被實時更新。當(dāng)DRDY=0,在RFS的下降沿首先把MSB送出,然后在SCLK的下降沿依次把后序數(shù)據(jù)從數(shù)據(jù)寄存器輸出到SDATA上,當(dāng)最后一位數(shù)據(jù)被送出后,DRDY輸出變?yōu)楦唠娖剑㈥P(guān)斷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ù)會被實時更新。當(dāng)DRDY=0,在RFS的下降沿首先把MSB送出,然后在SCLK的下降沿依次把后序數(shù)據(jù)從數(shù)據(jù)寄存器輸出到SDATA上,當(dāng)最后一位數(shù)據(jù)被送出后,DRDY輸出變?yōu)楦唠娖剑㈥P(guān)斷SDATA信號的輸出。
只要遵循時序圖,任意MCU都可以利用其通用I/O管腳對AD7711進行控制。使AD7711進行正常工作,最少要編寫寫控制寄存器和讀數(shù)據(jù)寄存器兩個子程序,若為了檢驗寫入控制寄存器內(nèi)容是否正確,需要編寫控制寄存器讀子程序。如果編寫了標(biāo)定寄存器的讀寫子程序還可以直接修改標(biāo)定寄存器內(nèi)容,增加控制的靈活性。由于編寫這些子程序都很類似,所以下面只給出控制寄存器寫子程序。
兩次調(diào)用該函數(shù)分別對IN2和IN1(IN+,IN-)通道進行設(shè)置。3a50c4表示:MD2/MD1/MD0=0/0/1即0輸入和滿量程輸入自校準(zhǔn);G2/G1/G0=1/1/0:放大倍數(shù)26=64;WL=0表示16位AD轉(zhuǎn)換,RO=1打開200μA激勵電流,濾波頻率10MHz/512/0x0c4=100Hz,對應(yīng)的截止頻率是26Hz。需要注意的是:即使只使用一個通道,也要對兩個通道進行設(shè)置,否則兩個高精度跟隨電流源不會打開。
兩次調(diào)用該函數(shù)分別對IN2和IN1(IN+,IN-)通道進行設(shè)置。3a50c4表示:MD2/MD1/MD0=0/0/1即0輸入和滿量程輸入自校準(zhǔn);G2/G1/G0=1/1/0:放大倍數(shù)26=64;WL=0表示16位AD轉(zhuǎn)換,RO=1打開200μA激勵電流,濾波頻率10MHz/512/0x0c4=100Hz,對應(yīng)的截止頻率是26Hz。需要注意的是:即使只使用一個通道,也要對兩個通道進行設(shè)置,否則兩個高精度跟隨電流源不會打開。
AD7711集成了Pt100調(diào)理電路的所需元件,簡化了電路設(shè)計,給高精度測溫帶來了極大方便,同時使可靠性、穩(wěn)定性得到了保證。筆者把它用在高精度動態(tài)控溫儀器中,效果理想。
評論