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