新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 電源管理芯片WM8310在手持設備上的應用

        電源管理芯片WM8310在手持設備上的應用

        作者: 時間:2012-05-08 來源:網絡 收藏

        1.2 外部EEPROM設計
        上電的時候需要讀取外部EEPROM的數據來設定每一路DC-DC和LDO的初始輸出電壓以及上電時序,外部EEPROM通過I2C接口與連接,上電后自動讀出EEPROM第一頁的32字節數據,WM8310的寄存器長度是16位的,所以外部EEPROM要選2字節寬度的。 WM8310與外部EEPROM的連接電路如圖2所示。

        本文引用地址:http://www.104case.com/article/177325.htm

        i.jpg


        這32字節初始化數據除了保存在外部EEPROM中,也可以保存在WM8310內部的OTP存儲器中,在WM8310出廠的時候就把數據寫進內部的OTP存儲器,以后就不能改變了。WM8310上電的時候檢測SCLK2引腳,如果發現是高電平,則讀取EEPROM的數據作為初始化數據。如果已將數據燒寫到WM8310的OTP存儲器中,則將SCLK2與SDA2引腳懸空。
        本方案中WM8310的32字節初始化數據為:
        0x7FFE,0x43BE,0x433E,0x602A,0x267F,0x6666,0x7F7F,0x7A7D,0x7D78,0x0000,0XA40C,0XA400,0XA400,0XA401,0xA406,0xA40A。
        1.3 WM8310與S5PC100的控制接口
        WM8310具有兩種控制接口,一種是I2C接口,另一種是SPI接口。可以選擇一個接口與CPU進行通信控制。WM8310的IREFR引腳是控制接口模式選擇端,若IREFR引腳接低電平則選擇I2C接口,反之則選擇SPI接口。本方案中選擇把WM8310的I2C接口與S5PC100的I2C0接口通信,WM83 10控制接口如圖3所示。

        j.jpg



        2 驅動程序設計
        2.1 流驅動接口
        本方案中采用Windows CE 6.0操作系統,WindowsCE 6.0操作系統的進程數由Windows CE 5.0的32個擴展到32 000個,每個進程的地址空間從32 MB擴展到2 GB,并且將代碼的運行權限分成用戶模式和內核模式。驅動程序置于內核模式,而程序置于用戶模式有助于整個環境更可靠、更安全地運行。
        Windows CE 6.0的驅動模式分為本地驅動和流式驅動,流式驅動為操作系統提供了標準流接口函數,如XXX_Init()、XXX_Open()、XXX_ Read()、XXX_Write()、XXX_Close()、XXX_IOControl()等。比如串口驅動、SPI接口驅動、I2C接口驅動等就是采用流式驅動。而本地驅動提供給操作系統的不是標準的接口,不同的接口也不一樣。常見的本地驅動有顯示驅動、觸摸屏驅動等。不管是本地驅動,還是流式驅動,所有驅動都是以DLL(動態鏈接庫)文件形式存在。
        本方案中PMIC(WM8310)的驅動采用流式驅動。驅動實現的功能有系統開關機功能沒置、DC-DC與LDO動態電壓設置、背光亮度設置以及各路DC-DC與LDO的打開與關閉等。具體的實現過程則是通過調用I2C驅動讀寫WM8310的寄存器。所有的功能通過PMU_IOContrl()函數提供給操作系統,PMU_IOControl()函數是一個標準的流式驅動函數。PMU_IOControl()函數的源代碼如下:
        b.jpg



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 镇原县| 台湾省| 东宁县| 穆棱市| 林芝县| 周至县| 天柱县| 蚌埠市| 海安县| 探索| 巫溪县| 长垣县| 黑龙江省| 同江市| 安多县| 抚宁县| 永新县| 榆社县| 丹江口市| 绥化市| 沅江市| 都兰县| 临汾市| 新沂市| 商水县| 芒康县| 永善县| 同心县| 澎湖县| 宁晋县| 尤溪县| 郎溪县| 霞浦县| 长乐市| 晋中市| 克拉玛依市| 高台县| 万盛区| 宁阳县| 西丰县| 崇信县|