|
短期嵌入式培訓_嵌入式移動終端內(nèi)置WIFI 的低功耗設計時間,
1 引 言
嵌入式設備是無線通信最重要的應用領(lǐng)域。自2007 年開始,全球Wi-Fi(Wireless Fidelity) 市場高速持續(xù)增長,銷量達到2.8 億套。低功耗的無線通信軟硬件設計是嵌入式移動設備重要的研究內(nèi)容。仍以Wi-Fi 為例,若采用飛思卡爾()的WIFI 模組和嵌入式微處理器 ,考慮通常手機的容量,則通話時間僅為1~2 小時,待機時間也僅有20~26 小時。而從現(xiàn)實應用看,嵌入式移動設備中能量有限,在充電后至少應該保障一天的使用時間。因此,解決功率消耗對提高嵌入式WIFI 移動設備的可用性具有重要意義。
本文提出了一種在嵌入式移動設備中WIFI 子系統(tǒng)的低功耗設計思路,芯片采用恩智浦公司的 模塊,通過合理的設計系統(tǒng)硬件、WIFI 底層的軟件驅(qū)動方面、節(jié)點管理模式等手段實現(xiàn)了低功耗的WiFi 系統(tǒng)。
2 WIFI 硬件與射頻電路低功耗設計
本設計采用 微控制器作為主機端微控制器,它基于一個支持實時仿真和嵌入跟蹤的TDMI-S CPU。 是一款WIFI 低功耗系統(tǒng)化封裝(SiP) 芯片組,具備“主機零負荷”性能,MAC 通信協(xié)議可以利用內(nèi)置嵌入的ARM7 核來執(zhí)行,所以不會對主處理器HOST 造成任何負荷。只有當 接收到有效數(shù)據(jù)封包時,才會觸發(fā)主處理器工作。
圖1 顯示了WIFI 子系統(tǒng)為實現(xiàn)低功耗目標的硬件電路設計框圖,主要包括BGW200、系統(tǒng)時鐘、低頻睡眠時鐘、和1.8V/3.0V 電源供應、帶通、和“與門”電路。其中用虛線標注的低頻睡眠時鐘和輔助RF 電路在設計中屬于可選項。設計具體細節(jié)如下:接口:考慮到 對主機資源消耗較大,設計采用SPI 接口。BGW200 分 和兩種接口,其中 是高度從接口(Slave),通過管腳設置CSR0/SCR1 為0/0。兩個SPI 接口共享相同的數(shù)據(jù)線和時鐘信號線,但是具有不同的片選信號, 使用GPIO[10] 作為片選信號,SPI2 使用SPI_SS_N(GPIO[6])。SPI2 接口操作獨立于總線時鐘,最高可以工作到 。SPI2 的IO 接口采用VDD3.3 供電(2.7V 到3.6V)。
供電單元設計采用了LDO 降壓芯片,由于BGW200 分兩種電壓:射頻部分電壓范圍值(2.7V-3.6V),基帶內(nèi)核電壓范圍值(1.65V-1.95V)。因此設計依據(jù)的因素考慮了芯片的成本、電平值和最大電流負荷、源輸入輸出效率和噪聲、輸入電壓范圍、輸出電壓精度以及保護特性,采用了(3.0V, )和(1.8V,)?紤]到有最優(yōu)的ESR 特性過濾脈動電壓抖動影響,設計中同時采用了匹配LDO 芯片。另外,為加強低功耗設計實現(xiàn),設計用了 主控制器的一個GPI口來控制BGW200 的開/關(guān)狀態(tài)來降低功耗。
主系統(tǒng)時鐘和睡眠時鐘。BGW200 工作要求兩個時鐘,主系統(tǒng)時鐘(10ppm) 和 的睡眠時鐘。在嵌入式設計中都可以共享主處理器 的時鐘資源,其中BGW200 的GPIO[4]通過并聯(lián)電容直接連到睡眠時鐘。
2.4GHz 射頻匹配電路。理想狀態(tài)下,由于BGW200 的RF 端口已經(jīng)是50? 的標準阻抗,
2.45GHz 的能夠通過50? 的微帶線直接連接到BGW200 的端口。在設計中,借助網(wǎng)絡工具的幫助,設計了LC 匹配電路以達到更高帶寬性能的射頻信號接收性能和最佳的駐波比(回波損耗),具體的LC 參數(shù)值取決于(FR4) 介材特性和電子料的布板。天線設計采用了Johanson 公司的型號,(最大輸入功率:500mW ;天線峰值增益:0.5dBi ;回波損耗:9.5dB)。
3 WIFI 底層驅(qū)動移植與節(jié)電模式算法
BGW200 芯片提供WinCE5.0 和2.4 內(nèi)核的標準程序代碼,分別基于TI / Bulverde/ 嵌入式平臺。它的底層軟件架構(gòu)分主機(Host) 和從機(Target) 兩個部分,其中Target 是指BGW200 的MAC 層,相關(guān)的MAC 協(xié)議已經(jīng)固化在芯片內(nèi)部。
3.1 底層驅(qū)動架構(gòu)分析
圖2 表示了Host 主要的功能模塊:
客戶機端的驅(qū)動( )該層主要提供主機的操作系統(tǒng)OS、上層運行程序、以及主機端硬件抽象層(HHAL: Host Abstraction Layer )之間的連接,它將調(diào)用HHAL層的API 參數(shù),對于不同的操作系統(tǒng)OS,該部分驅(qū)動要做重新移植。主機端硬件抽象層(HHAL) 該層是服務于SPI/ 接口的主機端抽象接口,它分為兩個部分,通用部分() 和平臺(Platform)相關(guān)部分。通用部分對所有的平臺都是相同的,提供高層次的數(shù)據(jù)處理。而平臺相關(guān)部分則依具體的硬件平臺而定,需要提供底層對通信接口(SPI)的讀、寫等操作,需要設計具體的硬件相關(guān)資源,如硬件中斷、DMA通道等。
可配置效用層( Utilities) 針對不同的平臺,提供了的相應配置工具,例如在WinCE上的ZeroConfig ,或者Linux平臺的Wireless 包。嵌入式堆棧多線程, 華為嵌入式軟件跳槽, 簡單的嵌入式產(chǎn)品, 嵌入式體感試衣鏡, 吸頂式跟嵌入式, 通信嵌入式昆山, 綿陽嵌入式培訓機構(gòu), 嵌入式信號處理系統(tǒng), 嵌入式雙口信息插座, 深圳電子嵌入式展, 工控嵌入式軟件, 嵌入式ddr, 中天微嵌入式芯片, 掃地機器人嵌入式, 嵌入式計算機文獻, cps與嵌入式系統(tǒng), 格力5匹嵌入式e6, 嵌入式電腦桌轉(zhuǎn)角, 嵌入式開發(fā)培訓深圳, 超核嵌入式開發(fā)社區(qū), 嵌入式茶具茶幾, 學嵌入式要c,
主機操作系統(tǒng)抽象層(HOSAL) 該層是一個主機側(cè)操作系統(tǒng)的抽象接口,它提供了給HHAL的通用部分與操作系統(tǒng)無關(guān)的能力。該層以統(tǒng)一的接口支持不同的具體操作系統(tǒng),目前主要有Linux和WinCE兩類。該模塊主要包含支持HHAL運行的相關(guān)OS的API。具體包括:OS相關(guān)的結(jié)構(gòu)體初始化、內(nèi)存管理、器、隊列、中斷、線程、事件和互斥鎖。
3.2 WIFI軟件驅(qū)動與節(jié)電模式設計
本設計OS采用.4 內(nèi)核,具體實現(xiàn)分以下幾個部分:
3.2.1 初始化(Initialization)
首先在驅(qū)動裝載的過程中由Host 調(diào)用PhgOsalRegInit()請求HOSAL層執(zhí)行initialize 任務來完成內(nèi)存的分配,然后執(zhí)行回調(diào)函數(shù),在回調(diào)函數(shù)中傳遞硬件相關(guān)的資源,并且注冊事件入口,創(chuàng)建事務線程。準備工作一旦就緒,通過調(diào)用PhgHhalInitialize() 立刻轉(zhuǎn)入HHAL 通用層的處理,在通用層中調(diào)用HhalPlatformInitPreBoot()執(zhí)行硬件相關(guān)的代碼如平臺資源初始化、注冊中斷處理函數(shù)、創(chuàng)建直接內(nèi)存訪問通道等。這樣HHAL通用層就具備了同Target 進行數(shù)據(jù)交換的能力。然后將Firmware 下載到Target 中,并向Target 的內(nèi)部寄存器寫入START 指令,等待Target 的ACK確認信息,初始化工作即宣告完成。
3.2.2 建立連接(Connection)
在HHAL通用層中已經(jīng)定義了大量MIB命令字來與Target 的Firmware 執(zhí)行相匹配,HOST通過PhgHhalQueueMgmtReq() 給TargetT 發(fā)起一個請求,對于簡單的命令與回應,通過設置和讀取TargetT 的內(nèi)部寄存器來完成。如果有數(shù)據(jù)需要傳輸,Target 向HOST請求中斷,并通過直接內(nèi)存訪問通道DMA把數(shù)據(jù)傳輸?shù)紿OST ,再由HOST 提交給操作系統(tǒng)上層。建立連接的過程HOST向Target 發(fā)起、JOIN、AUTH 、ASSOC 等請求,等待Target 執(zhí)行完成并返回確認,HOST收到確認后轉(zhuǎn)入在初始化階段注冊的相應事件入口,通知上層系統(tǒng)已經(jīng)完成連接的建立。
3.2.3 數(shù)據(jù)通訊(Communication)
數(shù)據(jù)通訊實際上通過M2S 和S2M 兩個 DMA 通道來完成。發(fā)送數(shù)據(jù)同樣是調(diào)用PhgHhalQueueMgmtReq() 發(fā)起請求,待Target 準備就緒,調(diào)用HhalPlatformM2SDma()將數(shù)據(jù)發(fā)送到Target 中,再由Target 轉(zhuǎn)換為RF 信號向無線連接點AP 發(fā)送。接收數(shù)據(jù)則是Target 由連接點收到RF 信號,解析為MAC 數(shù)據(jù)包,向HOST 發(fā)出中斷請求,待HOST 準備就緒,調(diào)用HhalPlatformS2MDma() 從Target 中接收數(shù)據(jù)。
3.2.4 節(jié)電算法軟件設計(Power Management)
根據(jù)移動終端的具體運用場景,在底層驅(qū)動中開發(fā)了ACTIVE 、Max POWER_SAVE 、Fast POWER_SAVE 、POWER_SLEEP四種電源管理模式。工作模式(Active Mode )時,電源管理關(guān)閉,芯片處于完全上電狀態(tài);最大功耗節(jié)電模式(Max POWER_SAVE )時,滿足在用戶可以選擇的偵聽間隔最大程度內(nèi),達到功耗節(jié)省最優(yōu)。快速功耗節(jié)電模式(Fast POWER_SAVE )時,滿足在用戶固定的偵聽間隔,達到良好的功耗節(jié)省最優(yōu)。睡眠模式(POWER_SLEEP) 時, 芯片處于關(guān)機狀態(tài),用戶需要人工操作重新回到芯片工作狀態(tài)。本設計中驅(qū)動裝載后默認的是ACTIVE, 同時在事務線程中對電源模式進行檢測,當上層軟件需要轉(zhuǎn)換為POWER_SAVE, 驅(qū)動仍然通過PhgHhalQueueMgmtReq() 向Target 發(fā)起請求,使得Target 切換到POWER_SAVE 工作模式,在這種模式下,BGW200 只消耗很少的電能,同時仍進行MAC層的處理,上層軟件可以根據(jù)數(shù)據(jù)傳輸?shù)男枨髞韺崟r切換Target 的工作模式,以達到有效節(jié)能的目標。
4 測試結(jié)果
本設計的WIFI 子系統(tǒng)在實際環(huán)境下進行了功耗測試,測試用的無線連接點AP 用的是Linksys 公司的WRT54G, 無線鏈路的距離是1 米,軟件設置到最射功率為+16dBm,同時按照802.11b 協(xié)議規(guī)范的要求,分別在四種不同速率1M/2M/5.5M/11M 情況下測量出發(fā)射和接收功耗。測試結(jié)果如表1 所示。
表1 BGW200 在LPC2220/.4 系統(tǒng)平臺上的功耗測試
WIFI 子系統(tǒng)的待機功耗為6.36 毫瓦(100 毫秒信標間隔)和2.23 毫瓦(300 毫秒信標間隔),實現(xiàn)了對WIFI 的低功耗設計要求。加上在本論文設計的包括LPC2220 微控制器作為主機端的整個系統(tǒng)平均待機電流為15mA, 通話的平均電流為300mA ,通常以設備采用650mA 的能耗下,系統(tǒng)的待機時間可以到48 小時,連續(xù)通話時間為3 小時。
5 結(jié)束語
本文作者創(chuàng)新點在于:通過實際的設計研究與實驗測試對比,提出在嵌入式移動設備中WIFI 子系統(tǒng)的低功耗設計方法,其中與WIFI 連接的HOST 主機端(嵌入式微處理器)并不局限于特定的型號。本文的低功耗設計到了多個技術(shù)層面,包括芯片分析選擇、硬件系統(tǒng)外圍電路架構(gòu)、電源管理設計優(yōu)化、 布板與射頻電路、軟件驅(qū)動的四個節(jié)電模式。它為廣大嵌入式移動設備企業(yè)及相關(guān)科研機構(gòu)設計最終WIFI 產(chǎn)品的設計提供一種參考思路,并倡導應用節(jié)能技術(shù),研發(fā)生產(chǎn)低能耗型產(chǎn)品當作提高企業(yè)核心競爭力的有效途徑。 |
|