當(dāng)前位置:首頁 > 消費電子 > 消費電子
[導(dǎo)讀]摘要:根據(jù)嵌入式系統(tǒng)內(nèi)置電源維護方式簡化、降低制造和使用成本的具體要求,詳細介紹了基于串連式可充電電池組的電源監(jiān)測技術(shù)。在完成監(jiān)測系統(tǒng)原理分析及電路設(shè)計的基礎(chǔ)上

摘要:根據(jù)嵌入式系統(tǒng)內(nèi)置電源維護方式簡化、降低制造和使用成本的具體要求,詳細介紹了基于串連式可充電電池組的電源監(jiān)測技術(shù)。在完成監(jiān)測系統(tǒng)原理分析及電路設(shè)計的基礎(chǔ)上,進行了具體的電路搭制、調(diào)試和Linux環(huán)境下驅(qū)動程序編寫,并結(jié)合相應(yīng)的顯示需求而進一步實現(xiàn)了Qt/Embedded應(yīng)用程序編寫和植入Qtopia的方法。實現(xiàn)了手持式嵌人式系統(tǒng)中的電源的精確可視化監(jiān)測。

0 引 言

隨著數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展,各種嵌人式系統(tǒng)已成為了市場的新焦點。鑒于嵌入式系統(tǒng)是對功能、可靠性、成本、體積和功耗等有嚴格要求的專用計算機系統(tǒng),因此降低其系統(tǒng)功耗、提高內(nèi)置電源持續(xù)工作的能力就成為一項重要的研究內(nèi)容。

與筆記本電腦類似,嵌入式系統(tǒng)通常配備一個由多只電池串聯(lián)組成的整體式電池包 .當(dāng)經(jīng)過反復(fù)充電使用而其主要參數(shù)不再滿足整個系統(tǒng)要求時,必須更換整個電池包。一般說來,由于電池包內(nèi)部各個電池之間的電氣參數(shù)略有差異,很難使得每個單體都得到平衡、充分的放電,進而導(dǎo)致在電池組充電的過程中,電壓過高的電池芯可能提早觸發(fā)電池組過充電保護,而在放電過程中電壓過低的電池芯又可能首先導(dǎo)致電池組的過放電保護,從而使電池組的整體容量明顯下降,使得整個電池組的實際容量常為電池組中性能最差的電池所限。

針對上述問題,目前常用兩種解決方法:

①研究或選用新型電池,盡量減小個體差異并從整體上提高電池的額定容量,例如由最初的鎳鎘、鎳氫電池發(fā)展到現(xiàn)在主流的鋰電池;②提高電池芯的利用率,即利用監(jiān)測技術(shù)探察每個電池芯的工作狀況。若有部分電池芯過早地放電結(jié)束或者出現(xiàn)問題時,能夠自動檢測并予以提示,此時只需進行個別更換即可同樣保證系統(tǒng)正常工作。

對于普通用戶而言,難以直接涉足前者所屬的相關(guān)領(lǐng)域,而后者所述方式能夠較為方便、容易地得到實現(xiàn)。由此一來,可望較好地解決前述問題,同時避免了電池組整體更換時其中的正常電池也連帶報廢的現(xiàn)象,進而提高電池利用率。此外,尚可解決專用電池成本較高、購買不易的問題,以便有效降低系統(tǒng)的維護成本。

1 監(jiān)測系統(tǒng)工作原理與電路設(shè)計

結(jié)合一個具體的手持/嵌入式超級終端系統(tǒng),文中對其內(nèi)置電源的監(jiān)測模式進行了較為詳盡的研究。

因其使用通用的五號可充電電池,所以可按第二方法考慮解決電池的使用和更換問題,進而基于LinuX操作系統(tǒng)較好地實現(xiàn)了相應(yīng)的"電池管理與更換提示"功能。

1.1 監(jiān)測系統(tǒng)工作原理

本系統(tǒng)采用12節(jié)額定電壓為1.2V的鎳氫電池串聯(lián)供電,并通過專門設(shè)定的12個監(jiān)測點逐一監(jiān)測。

監(jiān)測點上的模擬電壓值通過多路開關(guān)和輔助電路輸入ARM芯片S3C2410x自帶的AD轉(zhuǎn)換器,再經(jīng)Linux(驅(qū)動程序和GPIO端讀取相應(yīng)監(jiān)測點的電壓值,傳遞給數(shù)據(jù)處理和圖形顯示等應(yīng)用程序,從而實現(xiàn)了電源的監(jiān)測。具體方法如圖1所示。

圖1 電源監(jiān)測系統(tǒng)電路圖

圖1 電源監(jiān)測系統(tǒng)電路圖

1.2 AD轉(zhuǎn)換與輔助電路

監(jiān)測系統(tǒng)利用S3C2410x自帶的AD轉(zhuǎn)換器將模擬電壓輸入轉(zhuǎn)換為應(yīng)用程序所需要的數(shù)據(jù)。芯片自帶AD轉(zhuǎn)換器為8路模擬輸入、10bit數(shù)字輸出,最大轉(zhuǎn)換率為500ksps,轉(zhuǎn)換時鐘為2.5MHz,模擬輸入范圍為0-3.3V.本系統(tǒng)所需要監(jiān)測的電壓范圍為0~14。

4V,針對這種情況,本系統(tǒng)設(shè)汁了分壓電路,在應(yīng)用程序中只需要利用比例公式就能計算出各個監(jiān)測點的實際電壓值。并且,考慮到監(jiān)測精確度和電路功耗的因素,把分壓電路的總電阻定為4.5kQ.這樣一來,對應(yīng)的模擬輸人電壓值范圍為0.26-3.2V,以便充分利用的AD轉(zhuǎn)換器的輸入帶寬。此時電路的耗損功率僅為0.04608W。

1.3 控制電路

利用S3C2410x的GPIO端口控制選通多路門開關(guān)電路,監(jiān)測系統(tǒng)可以隨機地提取不同監(jiān)測點的電壓值。選通邏輯通過譯碼實現(xiàn),如表1所示。

表1 選通邏輯

表1 選通邏輯

2 電源監(jiān)測系統(tǒng)驅(qū)動程序設(shè)計

鑒于文中所述的超級終端系在Linux環(huán)境下運行,各個檢測環(huán)節(jié)的驅(qū)動程序和相關(guān)的實施策略、編寫方法亦多有特點,現(xiàn)詳細描述如下。

2.1 Linux驅(qū)動程序工作原理

在Linux內(nèi)核中,設(shè)備驅(qū)動程序是作為文件系統(tǒng)的一個模塊存在的,它對下負責(zé)與硬件設(shè)備的交互,對上通過一個通用的接口掛接到文件系統(tǒng)上,從而和系統(tǒng)的內(nèi)核等聯(lián)系起來。它是軟件概念和硬件設(shè)備間的一個抽象層。系統(tǒng)調(diào)用是內(nèi)核和應(yīng)用程序之間的接口,而設(shè)備驅(qū)動程序則是內(nèi)核和外設(shè)之間的接口。

設(shè)備驅(qū)動程序為應(yīng)用程序屏蔽了外設(shè)硬件的細節(jié),從應(yīng)用程序角度來看,對于外設(shè)的操作方法與普通文件一樣。設(shè)備驅(qū)動程序與系統(tǒng)外設(shè)關(guān)系如圖2所示。

圖2 Linux驅(qū)動程序與系統(tǒng)外設(shè)關(guān)系圖

圖2 Linux驅(qū)動程序與系統(tǒng)外設(shè)關(guān)系圖

2.2 字符設(shè)備

字符設(shè)備是Linux系統(tǒng)中最簡單的設(shè)備,可以像文件一樣訪問。當(dāng)字符設(shè)備初始化的時候,其驅(qū)動程序向Linux核心登記,在chrdevs向量表中增加一個device_struct數(shù)據(jù)結(jié)構(gòu)條目。這個設(shè)備的主設(shè)備標識符用作這個向量表的索引。一個設(shè)備的主設(shè)備標識符是固定的。chrdevs向量表中的device_struct數(shù)據(jù)結(jié)構(gòu)包括一個登記設(shè)備驅(qū)動程序名稱的指針和一個指向一組文件操作的指針。這組文件操作本身位于這個設(shè)備的字符設(shè)備驅(qū)動程序中,并處理一些特定任務(wù)。本電池監(jiān)測系統(tǒng)在Linux下的驅(qū)動程序就把外設(shè)視為字符設(shè)備,在驅(qū)動程序里實現(xiàn)了打開、讀、寫和關(guān)閉等操作。

2.3 電池監(jiān)測驅(qū)動實現(xiàn)策略

系統(tǒng)內(nèi)部,I/O設(shè)備的存取使通過一組固定的入口點來進行的。這組入口點由特定設(shè)備的設(shè)備驅(qū)動程序提供,在數(shù)據(jù)結(jié)構(gòu)file_operations()中定義。該程序定義了一個數(shù)據(jù)結(jié)構(gòu)為file_operations()的變量adc_fops。

2.3.1 adc_open函數(shù)

此函數(shù)打開并初始化設(shè)備以待I/O操作。adc_open()子程序必須對其做好必要的準備,如果設(shè)備是獨占的,adc_open()子程序必須設(shè)置一些標志以表示設(shè)備處于忙狀態(tài)。

2.3.2 adc_read函數(shù)

對AD轉(zhuǎn)換器設(shè)備文件進行讀操作時調(diào)用adc_read()子程序。電池監(jiān)測系統(tǒng)要求實時讀取外設(shè)監(jiān)測點的電壓值。因此,在adc_read()函數(shù)中實時觸發(fā)AD轉(zhuǎn)換器開始工作,并且利用程序輪詢方式讀取轉(zhuǎn)換后的數(shù)據(jù)。adc_read()函數(shù)內(nèi)容如下:

2.3.3 adc_iocd函數(shù)

控制外圍的輔助電路時調(diào)用adc_iocd()函數(shù)。對照監(jiān)測點邏輯控制表,從S3C2410x的GPIO端口發(fā)出選擇指令,接著就可以進行讀操作以讀取相應(yīng)的數(shù)值。在不需要監(jiān)測時,控制監(jiān)測系統(tǒng)進入省電模式。

2.3.4 adc_close()函數(shù)

adc_close()函數(shù)用來關(guān)閉外設(shè)。當(dāng)監(jiān)測結(jié)束時,應(yīng)用程序會調(diào)用此函數(shù)關(guān)閉設(shè)備文件。同adc_open()函數(shù)一樣,也可以為NULL.

3 設(shè)計Qt/Embedded應(yīng)用程序和植入Qtopia的方法

QT/Embedded為嵌入式Linux提供了一種友好交互接口,是完整的自包含C++GUI和基于LinuX的嵌人式平臺開發(fā)工具 ,專為高端嵌入式圖形領(lǐng)域應(yīng)用而設(shè)并得以普及。鑒于文中所使用的系統(tǒng)需要按照手動點擊檢查和欠壓自動報警的方式工作,所以,必須遵循相應(yīng)的規(guī)則和方法,進行高效、美觀的圖形界面設(shè)計。

3.1 編寫Qt/Embedded應(yīng)用程序

在宿主機上編譯Qt for Xll時生成的Qt Designer軟件是一個非常流行的快速應(yīng)用程序開發(fā)工具,用來設(shè)計界面和編制代碼。在Qt Designer中,可以通過拖拉或點擊的方式,在一張空白表單的適當(dāng)位置上添加一些輸入框和按鈕等窗口組件。這時Designer工具會自動編寫和維護代碼。

使用Qt Designer進行C++程序編制的基本步驟是:首先建立窗體,并根據(jù)應(yīng)用的需要在窗體中添加控件。Qt會將建立的窗體保存為。ui文件,使用Qt提供的uic工具將文件轉(zhuǎn)換為。h和。cpp文件,對于控制動作是需要手動添加不同的操作函數(shù)。之后使用progen工具為該應(yīng)用程序建立。pro工程文件,并通過tmake工具為該工程建立Makefile文件。最后,只需要運行make即可生成可執(zhí)行文件。

在編寫操作函數(shù)時,本系統(tǒng)通過計算相鄰監(jiān)測點的觀測值確定每個電池芯的電壓值。通過查詢選用電池芯的放電結(jié)束電壓查找表,得出每個電池芯的剩余電量。當(dāng)電池組電量降至一定閾值或某個電池芯的儲電量低于3%時,利用應(yīng)用程序報警,通知用戶予以充電或按照指示的電池編號及時進行個別更換。這樣,既可保證電源的正常工作指標,又能夠提高所有電池的利用率。

3.2 將應(yīng)用程序植入Qtopia

在Qtopia平臺上發(fā)布自己的應(yīng)用程序,需要三個文件:一個執(zhí)行文件、一個啟動器文件、一個圖標文件。

執(zhí)行文件就是前面講到編寫并編譯生成的可執(zhí)行文件,需要將該可執(zhí)行文件保存在qtopia/bin目錄下。圖標文件就是為應(yīng)用程序制作48*48大小的PNG格式的小圖像,它一般存放在qtopia/pics目錄下。同時還需要建立應(yīng)用啟動器(。desktop)文件,把它保存在qtopia/apps/Applications目錄下。將上述文件分別復(fù)制好以后,重新運行Qtopia,就可以看到添加的應(yīng)用圖標,點擊此圖標便可運行該應(yīng)用程序了。

4 結(jié)束語

降低系統(tǒng)能耗需要嵌入式系統(tǒng)硬件環(huán)節(jié)提供可靠支持,同時也離不開嵌入式操作系統(tǒng)和應(yīng)用程序?qū)τ布Y源的合理管理?,F(xiàn)有的Linux提供了電源管理的部分功能,但由于具體進行嵌入式系統(tǒng)設(shè)計時的靈活性,一般需要根據(jù)特定需要而定制應(yīng)用程序?qū)﹄娫措娏窟M行精確的監(jiān)測與提示。通過對手持式終端設(shè)備中電源監(jiān)測技術(shù)的研究和實現(xiàn),將有助于其它類型嵌入式系統(tǒng)的電源監(jiān)測、管理工作的完成,亦有望對類似系統(tǒng)的建立具有一定的參考和借鑒價值。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉