新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 高分辨率數字電位器 X9241 的軟件實現

        高分辨率數字電位器 X9241 的軟件實現

        作者: 時間:2009-08-19 來源:網絡 收藏

        X9241引腳配置

          每個電位器由63個電阻段組成,每個電阻陣列的物理終端等效于機械電位器的固定端(VH、VL)。每個陣列的VH和VL以及每個電阻段之間的接點(即抽頭)通過FET開關連接滑動輸出端,而滑動端在電阻陣列中的位置由從WCR控制。其中,VW、VW1、VW2、VW3分別為4個電位器的滑動端,VL0、 VL1、VL2、VL3分別為4個電位器的低端、VH0、VH1、VH2、VH3分別為4個電位器的高端。如果將4個電阻陣列中的2個、3個或4個串聯,可構成127、190或253抽頭的。芯片采用I2C總線接口,SDA、SCL分別為串行數據和串行時鐘。A0~A3為芯片地址設置位。

          提供了把陣列串聯起來的方法,可以把1個陣列的63個電阻元件與1個相鄰陣列的電阻元件串聯起來。其控制位在3字節的指令中,其數據字節包括用來定義滑動端位置的6位(LSB)加上高2位:CM(串聯方式)和DW(禁止滑動端)。數據字節如下所示:

        數據字節

          2.2 電路設計

          根據圖1的設計原理和圖3的引腳配置圖,可實現高的電路設計,如圖4所示。

        高分辨率數字電位器的電路設計

          ①SDA、SCL是I2C總線的串行數據和串行時鐘,與單片機的I/O線相連,單片機是主器件,是從器件,器件地址為:

          0 1 0 1 A3 A2 A1 A0

          高4位固定,低4位由A3~A0的接線方式所決定,按照圖4電路的接線方式,的從地址為50H。

          ②為了提高線性度,可在VW0與VL1之間加入1級運算放大器組成的跟隨器,VW3與VH2之間也加入1級。其改進電路如圖5所示。

        改進電路

          3 程序設計

          3.1 讀寫單個函數設計

          根據X9241的指令結構和控制時序,可以編寫讀寫單個數字電位器的程序。

          (1)改變電位器中間抽頭命令(寫WCR)時序以寫電位器POT0為例,把電位器0的中間抽頭WCR設置為20H(X9241每個電位器的最大抽頭數是 64,即有效值小于63)。命令控制字為101000000B,即AOH;若在電路中AOA1A2A3均接低電平,則器件地址為01010000B,即 50H。其命令序列如下:

          Start→發送地址50H→Ack→發送命令字A0H→ACK→發送20H→ACK→Stop。

          (2)讀電位器中間抽頭位置命令(讀WCR)時序以讀電位器POT1為例,把電位器1的中間抽頭WCR位置值讀回。命令控制字為100100000B,即90H;若在電路中AOA1A2A3均接低電平,則器件地址為01010000B,即50H。其命令序列如下:

          Start→發送地址50H→Ack→發送命令字90H→ACK→接收1個字節→ACK→Stop。

          3.2 主函數設計

          本函數的功能是把設計的數字電位器POT的中間抽頭位置z轉換為4個獨立數字電位器POT0~POT3的中間抽頭位置寄存器WCR的值x0~x3,同時控制POT1、POT2的控制位CM和DW,如圖6所示。

        4個獨立數字電位器控制的程序流程圖

          在流程圖中,當y64時,POT12(由POT1和POT2串聯)的中間抽頭位置在POT2范圍內,所以POT1的中間抽頭失效,即置DM1=1;當y≥64時,POT12的中間抽頭位置在POT1范圍內,所以POT2的中間抽頭失效,即置DM2=1。

          結 語

          采用軟硬件協同的方法,能以較低的成本實現高分辯率數字電位器的設計。同一芯片中4個數字電位器的良好匹配和電壓跟隨器的應用,使設計的數字電位器具有更好的線性度。在實際應用中,為了提高帶負載能力,需要在滑動輸出端接一輸出緩沖器。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 秭归县| 高要市| 合川市| 崇仁县| 文化| 宝鸡市| 嘉荫县| 道孚县| 揭阳市| 大同县| 齐齐哈尔市| 富蕴县| 沧州市| 获嘉县| 那坡县| 孟村| 搜索| 昌黎县| 平安县| 华阴市| 汕头市| 塔城市| 平远县| 罗江县| 茶陵县| 巢湖市| 新乡县| 盐山县| 文化| 通州市| 滨海县| 江陵县| 杂多县| 当雄县| 左权县| 临沂市| 荣昌县| 巴马| 浪卡子县| 东海县| 江门市|