新聞中心

        EEPW首頁 > 元件/連接器 > 設計應用 > X9241在蓄電池監控單元中的應用

        X9241在蓄電池監控單元中的應用

        ——
        作者: 時間:2005-09-19 來源: 收藏
        X9241在蓄電池監控單元中的應用
         
         摘 要: 本文在對X9241進行詳細分析的基礎上,提出了一種適用于蓄電池監控單元的測量量程在線轉換的實現方案,并對其硬件設計、軟件編程等方面進行了詳細的論述。

          關鍵詞: 蓄電池;監控單元;量程轉換;在線

          在智能化儀器的開發過程中,如何實現測量量程的在線轉換,一直是人們所關注的問題。通常的轉換方法是采用程控增益放大器,或者是多路輸入的形式,這必然以增加電路的復雜性和降低可靠性作為代價。因此,本設計方案的蓄電池監控單元中采用了X9241來實現測量量程的在線轉換。

            X9241

            X9241的基本功能

          XICOR公司的X9241內部集成了四個非易失性E2POT。其中每一個E2POT包含有63個單元,一個滑動端計數寄存器(WCR)和四個可以由用戶讀出和寫入的8位數據寄存器。滑動端計數寄存器的內容用來控制滑動端在陣列中的位置,并且可以和數據寄存器之間進行雙向的數據傳輸。

            X9241的通信規約與工作時序

          X9241支持雙總線的定向規約,這一規約規定了向總線傳送數據時為發送器,而從總線接收數據時為接收器,在這一過程中,控制傳輸的器件是主機,而被控制的器件則為從機。在本方案中,啟動數據的傳輸以及提供時鐘等功能都由單片機提供,因此在這里X9241是一個從屬器件。

        圖1 X9241的工作時序

        點擊此處查看全部新聞圖片

        圖2 X9241與AT89C51接口電路

        點擊此處查看全部新聞圖片


         

        圖3 在線量程轉換的實現電路

        點擊此處查看全部新聞圖片

         

            對X9241進行一次成功的操作必須包括以下幾個步驟:

          起始條件:當SCL為高時SDA由高至低的跳變;

          應答:在主從器件的總線間提供一個握手信號,以表示數據接收成功。單片機在發送8位數據以后釋放SDA總線(置SDA為1),同時X9241將在第九個時鐘周期內把SDA線拉低,作為成功的接收了前8位數據的響應;

            終止條件:當SCL為高時SDA由低至高的跳變。 具體的工作時序如圖1所示。

            X9241與AT89C51接口

          由于常用的AT89C51系列處理器沒有I2C接口部件,與X9241的接口很不方便。仔細分析圖1的工作時序,可以通過通用I/O總線和一個定時器來模擬I2C總線的功能,即采用P1口的兩根線分別作為SDA和SCL總線,通過定時器1產生所需要的時鐘。具體電路連接如圖2所示。

            下面就以向滑動端計數寄存器寫入一次值的三字節指令為例,給出具體的程序:

        SCL BIT P1.6

        SDA BIT P1.7

        MAIN:

        ……

        MOV TMOD,#02H ;置定時工作方式2,

        定時

        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 ;設置寫指令格式

        ACALL WRTA

        MOV A,#3FH ;為WCR賦值

        ACALL WRTA

        JNB SCL,$ ;結束本次操作

        SETB SDA

        CLR SDA

        WRTA: MOV R2,#08H

        WRTA0: JB SCL,$ ;等待時鐘信號上跳沿

        RLC A ;將數據逐次送入數字

        MOV SDA, C

        JNB SCL, $

        DJNZ R2, WRTA0

        JB SCL, $ ; 等待數字的接收應答

        SETB SDA

        JB SDA, $

        JNB SCL, $

        RET

        INT: CPL P1.6 ;取反,產生所需時鐘信號

        RETI

        ……

            X9241在蓄電池監控單元中的應用

          從理論上講,利用數字電位計可以實現任意量程的轉換。但由于模數轉換器精度的限制以及蓄電池監控單元高實時性的要求,選取過多的轉換點反而會收到事倍功半的效果。通過試驗發現,只需要1:1,1:2,1:5,1:10,1:20,和1:50六種量程就可以保證輸入信號在模數轉換器的2/3量程附近,因此,在這里巧妙的利用了滑動端計數寄存器和數據寄存器之間的雙向數據傳輸功能,實現上述六種量程在線轉換。實現在線量程轉換的具體電路如圖3所示。具體的實現方法是:在兩個E2POT的R0中存儲值為01H,由于上電復位時滑動端計數寄存器會自動裝入R0中的值,因此初始化時,放大器為一跟隨器,當需要測量微弱電流時,根據初次采集得到的值,與事先設定的參考值進行比較,選擇合適的量程進行放大后重新采集。

            結語

          實驗結果表明,用X9241實現測量量程的在線轉換非常方便。通過六種量程的實時在線調節,既簡化了電路的設計,同時又保證了數據采集的精度。但在試驗中發現,有時會在輸出端產生振蕩,造成輸出波形失真,解決方法是在放大器輸入和反饋端串聯兩個,增加其到輸入端的衰減通道。

        光敏電阻相關文章:光敏電阻工作原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 怀柔区| 梁河县| 宜阳县| 高唐县| 太原市| 西昌市| 新河县| 崇义县| 怀化市| 清丰县| 张家界市| 漳州市| 襄城县| 崇义县| 从化市| 昌乐县| 新沂市| 静海县| 繁峙县| 台北县| 米易县| 贵溪市| 克拉玛依市| 饶阳县| 大关县| 来宾市| 宣城市| 嘉善县| 聂荣县| 牡丹江市| 额敏县| 青州市| 白银市| 泰安市| 永寿县| 财经| 朔州市| 松江区| 洪湖市| 成都市| 荣昌县|