X9241在蓄電池監(jiān)控單元中的應(yīng)用
X9241在蓄電池監(jiān)控單元中的應(yīng)用
本文引用地址:http://m.butianyuan.cn/article/8685.htm在智能化儀器的開發(fā)過程中,如何實(shí)現(xiàn)測量量程的在線轉(zhuǎn)換,一直是人們所關(guān)注的問題。通常的轉(zhuǎn)換方法是采用程控增益放大器,或者是多路輸入的形式,這必然以增加電路的復(fù)雜性和降低可靠性作為代價(jià)。因此,本設(shè)計(jì)方案的蓄電池監(jiān)控單元中采用了數(shù)字電位計(jì)X9241來實(shí)現(xiàn)測量量程的在線轉(zhuǎn)換。
數(shù)字電位計(jì)X9241
X9241的基本功能
XICOR公司的X9241內(nèi)部集成了四個非易失性E2POT。其中每一個E2POT包含有63個電阻單元,一個滑動端計(jì)數(shù)寄存器(WCR)和四個可以由用戶讀出和寫入的8位數(shù)據(jù)寄存器?;瑒佣擞?jì)數(shù)寄存器的內(nèi)容用來控制滑動端在電阻陣列中的位置,并且可以和數(shù)據(jù)寄存器之間進(jìn)行雙向的數(shù)據(jù)傳輸。
X9241的通信規(guī)約與工作時(shí)序
X9241支持雙總線的定向規(guī)約,這一規(guī)約規(guī)定了向總線傳送數(shù)據(jù)時(shí)為發(fā)送器,而從總線接收數(shù)據(jù)時(shí)為接收器,在這一過程中,控制傳輸?shù)钠骷侵鳈C(jī),而被控制的器件則為從機(jī)。在本方案中,啟動數(shù)據(jù)的傳輸以及提供時(shí)鐘等功能都由單片機(jī)提供,因此在這里X9241是一個從屬器件。
對X9241進(jìn)行一次成功的操作必須包括以下幾個步驟:
起始條件:當(dāng)SCL為高時(shí)SDA由高至低的跳變;
應(yīng)答:在主從器件的總線間提供一個握手信號,以表示數(shù)據(jù)接收成功。單片機(jī)在發(fā)送8位數(shù)據(jù)以后釋放SDA總線(置SDA為1),同時(shí)X9241將在第九個時(shí)鐘周期內(nèi)把SDA線拉低,作為成功的接收了前8位數(shù)據(jù)的響應(yīng);
終止條件:當(dāng)SCL為高時(shí)SDA由低至高的跳變。 具體的工作時(shí)序如圖1所示。
圖1 X9241的工作時(shí)序
X9241與AT89C51接口
由于常用的AT89C51系列處理器沒有I2C接口部件,與X9241的接口很不方便。仔細(xì)分析圖1的工作時(shí)序,可以通過通用I/O總線和一個定時(shí)器來模擬I2C總線的功能,即采用P1口的兩根線分別作為SDA和SCL總線,通過定時(shí)器1產(chǎn)生所需要的時(shí)鐘。具體電路連接如圖2所示。
圖2 X9241與AT89C51接口電路
下面就以向滑動端計(jì)數(shù)寄存器寫入一次值的三字節(jié)指令為例,給出具體的程序:
SCL BIT P1.6
SDA BIT P1.7
MAIN:
……
MOV TMOD,#02H ;置定時(shí)工作方式2,
定時(shí)
MOV TH0,#0E8H
MOV TL0,#0E8H
SETB EA ;開中斷
SETB ET0
SETB TR0
SETB SCL ;開始一次操作
SETB SDA
CLR SDA
MOV A,#50H ;選擇從器件
ACALL WRTA
MOV A,#0C0H ;設(shè)置寫指令格式
ACALL WRTA
MOV A,#3FH ;為WCR賦值
ACALL WRTA
JNB SCL,$ ;結(jié)束本次操作 SETB SDA
CLR SDA
WRTA: MOV R2,#08H
WRTA0: JB SCL,$ ;等待時(shí)鐘信號上跳沿
RLC A ;將數(shù)據(jù)逐次送入數(shù)字電位器
MOV SDA, C
JNB SCL,
nbsp;
DJNZ R2, WRTA0
JB SCL, $ ; 等待數(shù)字電位器的接收應(yīng)答
SETB SDA
JB SDA,
nbsp;
JNB SCL,
nbsp;
RET
INT: CPL P1.6 ;取反,產(chǎn)生所需時(shí)鐘信號
RETI
……
X9241在蓄電池監(jiān)控單元中的應(yīng)用
從理論上講,利用數(shù)字電位計(jì)可以實(shí)現(xiàn)任意量程的轉(zhuǎn)換。但由于模數(shù)轉(zhuǎn)換器精度的限制以及蓄電池監(jiān)控單元高實(shí)時(shí)性的要求,選取過多的轉(zhuǎn)換點(diǎn)反而會收到事倍功半的效果。通過試驗(yàn)發(fā)現(xiàn),只需要1:1,1:2,1:5,1:10,1:20,和1:50六種量程就可以保證輸入信號在模數(shù)轉(zhuǎn)換器的2/3量程附近,因此,在這里巧妙的利用了滑動端計(jì)數(shù)寄存器和數(shù)據(jù)寄存器之間的雙向數(shù)據(jù)傳輸功能,實(shí)現(xiàn)上述六種量程在線轉(zhuǎn)換。實(shí)現(xiàn)在線量程轉(zhuǎn)換的具體電路如圖3所示。具體的實(shí)現(xiàn)方法是:在兩個E2POT的R0中存儲值為01H,由于上電復(fù)位時(shí)滑動端計(jì)數(shù)寄存器會自動裝入R0中的值,因此初始化時(shí),放大器為一跟隨器,當(dāng)需要測量微弱電流時(shí),根據(jù)初次采集得到的值,與事先設(shè)定的參考值進(jìn)行比較,選擇合適的量程進(jìn)行放大后重新采集。
圖3 在線量程轉(zhuǎn)換的實(shí)現(xiàn)電路
結(jié)語
實(shí)驗(yàn)結(jié)果表明,用X9241實(shí)現(xiàn)測量量程的在線轉(zhuǎn)換非常方便。通過六種量程的實(shí)時(shí)在線調(diào)節(jié),既簡化了電路的設(shè)計(jì),同時(shí)又保證了數(shù)據(jù)采集的精度。但在試驗(yàn)中發(fā)現(xiàn),有時(shí)會在輸出端產(chǎn)生振蕩,造成輸出波形失真,解決方法是在放大器輸入和反饋端串聯(lián)兩個電阻,增加其到輸入端的衰減通道。
評論