《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于S3C2440A的手持式分析診斷儀電池電量計模塊
基于S3C2440A的手持式分析診斷儀電池電量計模塊
來源:微型機與應用2012年第19期
趙勇飛,江志農
(北京化工大學 診斷與自愈工程研究中心,北京100029)
摘要: 采用DS2786B芯片,設計并實現了一款基于S3C2440A處理器的手持式分析診斷儀電池電量計模塊。介紹了該模塊的硬件電路設計,以及基于Windows CE 5.0操作系統的驅動程序和應用程序的開發。實驗結果表明,該模塊工作穩定可靠,能精確地測量電池電量并實時在用戶界面顯示,在嵌入式便攜設備中有很好的應用前景。
Abstract:
Key words :

摘  要: 采用DS2786B芯片,設計并實現了一款基于S3C2440A處理器的手持式分析診斷儀電池電量計模塊。介紹了該模塊的硬件電路設計,以及基于Windows CE 5.0操作系統的驅動程序和應用程序的開發。實驗結果表明,該模塊工作穩定可靠,能精確地測量電池電量并實時在用戶界面顯示,在嵌入式便攜設備中有很好的應用前景。
關鍵詞: 電池電量計;DS2786B;S3C2440A;驅動;Windows CE

 現代的工業機械設備結構越來越復雜,長期在高溫、高速狀態下運轉。運用狀態監測與故障診斷技術對工業機械設備進行狀態分析和故障預警是保證設備安全平穩運行的有效手段,因此,以嵌入式技術為核心的手持式分析診斷儀在工業企業中得到了廣泛使用。手持式儀器為了保證便攜性大都采用鋰電池供電,電池電量的精確測量可以給儀器的正常使用提供有效的保障。本文采用DS2786B芯片,設計并實現了一款基于S3C2440A處理器的手持式分析診斷儀電池電量計模塊。
1 硬件設計
1.1 S3C2440A處理器簡介

 S3C2440A是Samsung公司推出的由ARM公司設計的16/32 bit RISC微處理器,采用的ARM920T內核實現了存儲器管理單元(MMU),先進微控制總線構架AMBA總線和哈佛架構的高速緩沖體系結構[1]。該結構具有獨立的16 KB指令高速緩存和16 KB數據高速緩存。S3C2440A采用全靜態設計,結構簡潔,為手持設備和普通應用提供了低功耗和高性能的微控制器的解決方案,在嵌入式設備中得到了廣泛應用。
1.2 電池電量計模塊電路
 本文的手持式分析診斷儀電池電量計模塊采用的是一款由美國Maxim公司推出的基于開路電壓(OCV)的獨立式電量計量芯片——DS2786B。該芯片利用庫侖計與電池開路電壓的模型組合計算可充電鋰離子(Li+)電池的可用容量。根據電池閑置期間的OCV,利用存儲在片上EEPROM中的電池特性和應用參數可以得到電池準確的電量信息。電池在高速率放電時無法使用OCV測量,因此DS2786B使用庫侖計作為估算相對電量的第二種方法[2]。DS2786B也可以監測電池電壓、電流和溫度信息。
 DS2786B內部工作原理框圖如圖1所示。VDD為DS2786B芯片工作電源輸入引腳,輸入范圍為2.5 V~5.5 V;VIN為電池電壓輸入引腳;VSS為芯片地引腳,連接到檢流電阻的電池側;SNS為電流檢測輸入,連接到檢流電阻的主機側;VPROG引腳為芯片內部EEPROM編程電壓輸入引腳,連接到外部電源編程可以修改EEPROM中儲存的電池模型參數,正常工作期間連接至VSS;SDA為串行數據輸入/輸出引腳,SCL為串行時鐘輸入引腳;AIN0和AIN1為兩個輔助電壓輸入引腳;VOUT為電壓輸出引腳,給輔助輸入電壓測量分壓器供電。

1.3 電池特性描述
 電池電量計模塊對電池電量的精確測量依賴于DS2786B內部EEPROM中儲存的OCV電池模型。OCV電池模型是對開路電壓與電池剩余電量關系的一種9點分段線性近似,可通過改變EEPROM中容量和電壓斷點寄存器進行修改。容量寄存器分辨率為0.5%,容量0固定為0%,容量8固定為100%,不得修改。電壓斷點寄存器分辨率為1.22 mV,每個電壓斷點需要MSB和LSB兩個字節。
 本文的手持式分析診斷儀使用容量為4.8 Ah的鋰電池,電池的OCV曲線如圖3所示,依據9點分段線性近似選取的電池OCV曲線的電壓斷點數據及對應寄存器值如表1所示。

2 軟件設計
2.1 驅動程序設計

 本文的手持式分析診斷儀采用的操作系統是微軟公司的32 bit實時嵌入式操作系統Windows CE 5.0。Windows CE可以在多種架構的CPU上運行,內核小占用內存少,性能穩定可靠。DS2786B芯片不是Windows CE系統支持的標準設備,為了保證電量計模塊硬件能與操作系統及應用程序進行數據交互,需要使用集成開發工具Platform Builder 5.0為DS2786B芯片開發驅動程序并添加到系統內核中。
 本文為電池電量計模塊開發了流接口驅動程序。流接口驅動程序也叫可安裝的驅動程序,是一種用戶模式的動態鏈接庫(DLL),由設備管理器(device.exe)動態加載管理。流接口適合于任何在邏輯上被認為是一個數據源或數據存儲的I/O設備,即任何以產生或者消耗數據流作為主要功能的外圍設備。流接口驅動設備對應用程序表現為一個文件,應用程序通過文件API使用設備管理器和流接口驅動與硬件通信。開發流接口驅動需要實現一組標準的流接口函數[3]。下面給出為DS2786B芯片開發的流接口驅動兩個主要的函數:
?。?)FGA_Init()函數完成為S3C2440A的I/O寄存器和I2C寄存器分配虛擬地址并映射到操作系統可以訪問的虛擬地址空間中,并對寄存器進行配置的初始化工作。部分代碼如下:
DWORD FGA_Init(DWORD dwContext)
{  
    v_pIOPregs = (volatile S3C2440A_IOPORT_REG*)VirtualAlloc(0, sizeof(S3C2440A_IOPORT_REG),
MEM_RESERVE, PAGE_NOACCESS);
//為I/O寄存器分配虛擬地址空間
    if(!v_pIOPregs)    return NULL;
    if(!VirtualCopy((PVOID)v_pIOPregs, (PVOID)(S3C2440A_BASE_REG_PA_IOPORT>> 8), sizeof(S3C2440A_IOPORT_REG), PAGE_PHYSICAL|PAGE_READWRITE|PAGE_NOCACHE))
//完成地址空間映射
    return NULL;
    v_pIICRegs = (volatile S3C2440A_IICBUS_REG *)VirtualAlloc(0, sizeof(S3C2440A_IICBUS_REG),
        MEM_RESERVE, PAGE_NOACCESS);
//為I2C寄存器分配虛擬地址空間
    if(!v_pIICRegs)   return NULL;
    if(!VirtualCopy((PVOID)v_pIICRegs, (PVOID)(S3C2440A_BASE_REG_PA_IICBUS>>8),
        sizeof(S3C2440A_IICBUS_REG), PAGE_PHYSICAL|PAGE_READWRITE|PAGE_NOCACHE))//完成地址空間映射
    return NULL;
    v_pIOPregs->GPECON &=~(15<<28);
    v_pIOPregs->GPECON |=(10<<28);
//配置GPE14為IICSCL,GPE15為IICSDA
    v_pIICRegs->IICCON =(1<<7)|(1<<6)|(1<<5)| (0xf);//配置I2C控制寄存器
    return TRUE;
}
 (2) FGA_Read()函數完成對DS2786B芯片采集到的電池電量數據讀取。其中的I2C_WRITE()和IIC_READ()是根據DS2786B的I2C總線接口基本傳輸格式和S3C2440A的I2C總線接口主發送和主接收模式的操作流程(如圖4所示)編寫的I2C讀寫函數。代碼如下:
DWORD FGA_Read(DWORD hOpenContext,LPVOID pBuffer, DWORD Count)
{
    pTemp_Buff t=(pTemp_Buff)pBuffer;
    IIC_WRITE(Command,Com_Rcall);
//配置DS2786B命令寄存器為讀操作
IIC_READ(Relative_Capacity);
//讀取DS2786B相對容量寄存器
        t->data=IICDSData;
//將讀取到的電池電量數據傳遞給應用程序
    return 1;
}

 

 

 DS2786B的流接口驅動程序編寫完成后,使用Platform Builder對驅動工程進行編譯生成驅動的動態鏈接庫fuelgauge.dll文件,并將其集成到系統內核NK.bin中。操作系統運行時,應用程序可以通過文件API調用驅動程序。
2.2 應用程序設計及驅動程序測試
 本文使用EVC++集成開發工具,根據MFC的消息映射機制[4]為手持式分析診斷儀開發了一個電池電量實時顯示程序BatCap.exe。BatCap.exe通過調用fuelgauge.dll實時獲取電池電量數據,并在系統界面更新和顯示。程序運行界面如圖5所示。

 利用BatCap.exe程序可以對電池電量計模塊驅動程序進行測試。測試步驟如下:(1)根據BatCap.exe程序界面電池電量的顯示和圖2的電池OCV曲線圖,得出相應電池剩余電量百分比所對應電池OCV模型中理想開路電壓值;(2)用萬用表測得此時電池的實際開路電壓值,并將兩電壓值進行比較。實驗采用基本精度為±0.1%的UT56數字萬用表,選取電池剩余電量百分比為100%(滿電量)、80%、66%(2/3電量)、50%、33%(1/3電量)和5%(低電量報警電量)6個狀態進行測量,測試數據如表2所示。測試數據表明,電池電量模塊驅動程序測量電池剩余電量相對誤差范圍為±0.30%,能精確地測量電池剩余電量。

 本文采用DS2786B芯片,設計并實現了一款基于S3C2440A的手持式分析診斷儀電池電量計模塊,同時開發了電池電量計模塊在Windows CE 5.0操作系統下的驅動程序和桌面電池剩余電量實時顯示的應用程序,實現了完整的電池電量計軟硬件模塊。該模塊設計簡單、容易實現,對電池剩余電量測量準確,工作穩定可靠,在嵌入式便攜設備中有很好的應用前景。
參考文獻
[1] SAMSUNG Inc. S3C2440A 32-bit microprocessor user′s manual[Z]. SAMSUNG Inc, 2004.
[2] MAXIM. Stand-alone OCV-based fuel gauge DS2786B data sheet[Z]. Maxim Integrated Products, 2010.
[3] 張冬泉,譚南林, 蘇樹強.Windows CE 實用開發技術[M].北京: 電子工業出版社,2009.
[4] DOUGLAS B. Programming Microsoft Windows CE.NET[M].America: Microsoft Press, 2003.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产日韩视频一区二区三区| 欧美人与禽猛交乱配视频| 亚洲欧美在线一区二区| 欧美视频日韩视频| 国产伦精品一区二区三区高清| 国产欧美日韩综合| 欧美日韩国产va另类| 国内免费精品永久在线视频| 久久精精品视频| 久久综合中文色婷婷| 欧美另类高清视频在线| 国产三区二区一区久久| 亚洲精品视频在线观看网站| 亚洲激情女人| 欧美日韩精品一二三区| 欧美日韩伦理在线| 午夜日韩福利| 欧美视频在线视频| 欧美成人日本| 亚洲性夜色噜噜噜7777| 欧美激情国产日韩精品一区18| 久色成人在线| 韩日欧美一区二区三区| 欧美亚洲视频一区二区| 亚洲日本电影在线| 亚洲一区二区黄| 欧美精品www在线观看| 欧美在线观看你懂的| 黄色成人免费观看| 欧美视频专区一二在线观看| 久久一本综合频道| 亚洲资源av| 欧美精品一区二区三区在线播放| 国产精品亚洲片夜色在线| 亚洲国产高潮在线观看| 在线成人激情黄色| 亚洲精品在线二区| 欧美日韩在线电影| 美女视频黄a大片欧美| 欧美日韩国产综合一区二区| 欧美大片网址| 欧美激情2020午夜免费观看| 老司机精品福利视频| 久久美女艺术照精彩视频福利播放| 韩国av一区二区三区四区| 亚洲国产精品视频| 午夜精品一区二区三区在线| 一区二区三区在线视频观看| 亚洲精品国产视频| 国产精品中文字幕欧美| 日韩亚洲成人av在线| 男人天堂欧美日韩| 午夜电影亚洲| 亚洲美女少妇无套啪啪呻吟| 国产精品久久久久久久久久妞妞| 国产精品免费一区二区三区观看| 国产精品久久久99| 欧美日韩国产另类不卡| 亚洲精品乱码久久久久久黑人| 国产日本欧美一区二区三区| 亚洲精品免费观看| 国产精品成人观看视频国产奇米| 黄色在线一区| 亚洲欧美激情四射在线日| 在线观看视频一区二区| 欧美www视频| 亚洲国产岛国毛片在线| 国产真实乱偷精品视频免| 先锋a资源在线看亚洲| 国产精品一区二区在线| 欧美日韩一区三区四区| 乱人伦精品视频在线观看| 欧美精品在线一区二区| 亚洲一区在线播放| 欧美www视频在线观看| 伊人狠狠色j香婷婷综合| 欧美视频中文一区二区三区在线观看| 伊人伊人伊人久久| 久久精品一区二区三区四区| 亚洲第一在线综合在线| 欧美成人福利视频| 性欧美1819性猛交| 国产精品毛片大码女人| 国产麻豆精品theporn| 欧美日韩一区二区在线观看视频| 亚洲中无吗在线| 欧美大片91| 免费成人高清视频| 在线成人免费视频| 欧美色欧美亚洲另类七区| 欧美综合二区| 久久全国免费视频| 欧美四级伦理在线| 国产精品久久久久久久第一福利| 欧美激情精品久久久久久大尺度| 永久免费精品影视网站| 日韩一区二区久久| 久久精品国产69国产精品亚洲| 国产精品老牛| 国产精品大全| 国产精品日本精品| 国产精品爽黄69| 国产一在线精品一区在线观看| 亚洲人成人一区二区在线观看| 亚洲一区二区三区四区五区黄| 蜜桃av一区二区三区| 欧美va天堂va视频va在线| 午夜激情久久久| 裸体丰满少妇做受久久99精品| 国产乱子伦一区二区三区国色天香| 欧美国产日韩精品免费观看| 欧美国产先锋| 亚洲欧洲日本在线| 国产精品久久国产三级国电话系列| 久久综合久久综合这里只有精品| 久热re这里精品视频在线6| 久久人人97超碰国产公开结果| 国产精品进线69影院| 国产精品久久久久久久久久直播| 国产精品久久久久一区| 欧美大片免费观看| 国产精品视频男人的天堂| 羞羞漫画18久久大片| 中文成人激情娱乐网| 欧美激情2020午夜免费观看| 国产区日韩欧美| 在线观看欧美成人| 国语自产偷拍精品视频偷| 欧美一区二区三区在线| 国产三级欧美三级| 国产精品久久久久久久久动漫| 正在播放欧美视频| 亚洲欧美一区二区原创| 国产主播一区二区三区| 欧美在线三级| 欧美成人精品1314www| 亚洲片国产一区一级在线观看| 欧美一区二区三区四区高清| 欧美一区深夜视频| 久久久成人网| 亚洲精品专区| 久久五月天婷婷| 国产精品成人观看视频免费| 亚洲欧美卡通另类91av| 日韩视频在线免费观看| 欧美三级电影一区| 亚洲高清av在线| 欧美精品一区在线播放| 一区二区三区鲁丝不卡| 国产精品日产欧美久久久久| 久久影视精品| 亚洲精品视频一区二区三区| 亚洲五月六月| 久久五月激情| 欧美日韩一区二区三区在线看| 麻豆精品在线播放| 99亚洲视频| 一区二区三区四区五区精品| 欧美日韩一区二区视频在线| 亚洲午夜精品一区二区三区他趣| 欧美亚洲色图校园春色| 国产精品sss| 99视频一区二区| 欧美有码在线视频| 亚洲人成在线观看一区二区| 欧美一区二区视频免费观看| 欧美日韩精品综合| 在线观看欧美成人| 久久黄金**| 香蕉久久夜色精品国产使用方法| 亚洲精选国产| 老司机亚洲精品| 免费人成精品欧美精品| 亚洲与欧洲av电影| 欧美成人日韩| 亚洲免费影视| 国产亚洲欧洲一区高清在线观看| 国产乱码精品一区二区三区忘忧草| 欧美精品国产精品| 男女视频一区二区| 国产精品日韩欧美| 先锋影音国产一区| 亚洲国产一区二区三区高清| 国产精品sss| 国产麻豆午夜三级精品| 欧美精品一区二区三区视频| 亚洲国产一区视频| 亚洲天堂av在线免费| 欧美激情一区二区三区在线视频观看| 香蕉视频成人在线观看| 欧美亚洲日本一区| 欧美与欧洲交xxxx免费观看| 久久综合五月天婷婷伊人| 日韩一级在线| 麻豆精品在线播放| 久久久91精品国产| 国产精品久久久久久影院8一贰佰| 欧美一区二视频在线免费观看| 亚洲国产综合91精品麻豆| 亚洲激情在线播放| 国产精品盗摄一区二区三区| 久久九九99视频| 狠狠入ady亚洲精品经典电影| 欧美一级理论性理论a| 欧美午夜片欧美片在线观看| 欧美色图首页| 欧美日韩国产丝袜另类| 欧美精品xxxxbbbb| 欧美三级在线播放| 夜夜爽www精品| 欧美日韩精品免费| 久久国产日韩欧美| 欧美亚洲一区| 欧美日韩免费观看一区=区三区| 日韩视频在线一区二区| 亚洲自拍啪啪| 亚洲一区二区成人在线观看| 日韩一级不卡| 欧美极品在线播放| 日韩午夜在线视频| 欧美国产一区在线| 亚洲网在线观看| 亚洲欧洲一区二区三区久久| 精品96久久久久久中文字幕无| 亚洲综合好骚| 嫩草影视亚洲| 欧美日韩在线不卡一区| 国产区精品在线观看| 亚洲福利在线视频| 亚洲欧美日韩精品久久久| 亚洲视频自拍偷拍| 久久米奇亚洲| 亚洲美女av网站| 欧美专区在线观看一区| 欧美日韩在线播放三区四区| 欧美日韩午夜剧场| 亚洲午夜精品福利| 国产精品yjizz| 亚洲永久免费视频| 欧美在线资源| 亚洲麻豆视频| 亚洲色图制服丝袜| 樱花yy私人影院亚洲| 久热精品在线| 午夜精品三级视频福利| 久久精品在这里| 欧美成人一区二区三区片免费| 国产亚洲人成a一在线v站| 国产精品豆花视频| 欧美精选在线| 亚洲欧美中文在线视频| 欧美成人福利视频| 一区二区三区日韩精品视频| 一区二区三区高清在线| 国产精品丝袜白浆摸在线| 在线免费精品视频| 欧美一区成人| 国内成人自拍视频| 国产精品永久在线| 亚洲福利在线看| 老鸭窝亚洲一区二区三区| 国产精品乱看| 久久久999精品视频| 99国产精品99久久久久久| 久久免费99精品久久久久久| 久久乐国产精品| 亚洲国产欧美精品| 亚洲国产一成人久久精品| 国产精品久久久久久久久| 亚洲一区日韩| 亚洲国产色一区| 欧美高清hd18日本| aaa亚洲精品一二三区| 国产精品99久久久久久久久久久久| 免费看成人av| 久久裸体艺术| 欧美专区在线| 久久久久久欧美| 在线精品国产成人综合| 国产午夜精品美女视频明星a级| 激情亚洲网站| 久久一综合视频| 欧美激情亚洲精品| 亚洲永久在线| 欧美成人一区二区三区在线观看| 久久久久久精| 久久婷婷激情| 麻豆国产精品777777在线| 欧美天堂在线观看| 亚洲国产综合视频在线观看| 在线观看一区二区视频| 国产午夜精品美女毛片视频| 欧美日韩久久不卡| 国产日韩精品一区二区| 亚洲国产99精品国自产| 免费日本视频一区| 欧美精品在线观看一区二区| 免费日韩av电影| 欧美福利视频网站| 欧美激情亚洲另类| 久久精品国产欧美亚洲人人爽| 亚洲欧美日韩在线综合| 日韩亚洲欧美在线观看| 亚洲区一区二| 久久成人资源| 国产精品一区二区三区久久久| 亚洲视频在线一区| 亚洲欧美激情精品一区二区| 久久久综合网站| 欧美午夜一区| 久久国产精彩视频| 欧美一区免费视频| 亚洲国产日韩美| 国产视频一区在线| 国产美女精品视频免费观看| 国内精品**久久毛片app| 欧美亚洲视频在线观看| av成人黄色| 一区二区三区日韩| 久久久久久久性| 午夜精品一区二区三区四区| 香蕉久久夜色精品国产| 亚洲伦理在线观看| 国产在线精品一区二区中文| 欧美一区二区在线视频| 在线不卡a资源高清| 亚洲国产cao| 国产精品亚洲欧美|