電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 2551|回復(fù): 0
收起左側(cè)

短期嵌入式培訓(xùn)_嵌入式移動(dòng)終端內(nèi)置WIFI 的低功耗設(shè)計(jì)時(shí)間

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-13 11:33:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
短期嵌入式培訓(xùn)_嵌入式移動(dòng)終端內(nèi)置WIFI 的低功耗設(shè)計(jì)時(shí)間,   

  

1 引 言  

嵌入式設(shè)備是無線通信最重要的應(yīng)用領(lǐng)域。自2007 年開始,全球Wi-Fi(Wireless Fidelity) 市場高速持續(xù)增長,銷量達(dá)到2.8 億套。低功耗的無線通信軟硬件設(shè)計(jì)是嵌入式移動(dòng)設(shè)備重要的研究內(nèi)容。仍以Wi-Fi 為例,若采用飛思卡爾()的WIFI 模組和嵌入式微處理器 ,考慮通常手機(jī)的容量,則通話時(shí)間僅為1~2 小時(shí),待機(jī)時(shí)間也僅有20~26 小時(shí)。而從現(xiàn)實(shí)應(yīng)用看,嵌入式移動(dòng)設(shè)備中能量有限,在充電后至少應(yīng)該保障一天的使用時(shí)間。因此,解決功率消耗對提高嵌入式WIFI 移動(dòng)設(shè)備的可用性具有重要意義。

本文提出了一種在嵌入式移動(dòng)設(shè)備中WIFI 子系統(tǒng)的低功耗設(shè)計(jì)思路,芯片采用恩智浦公司的 模塊,通過合理的設(shè)計(jì)系統(tǒng)硬件、WIFI 底層的軟件驅(qū)動(dòng)方面、節(jié)點(diǎn)管理模式等手段實(shí)現(xiàn)了低功耗的WiFi 系統(tǒng)。

2 WIFI 硬件與射頻電路低功耗設(shè)計(jì)

本設(shè)計(jì)采用 微控制器作為主機(jī)端微控制器,它基于一個(gè)支持實(shí)時(shí)仿真和嵌入跟蹤的TDMI-S CPU。 是一款WIFI 低功耗系統(tǒng)化封裝(SiP) 芯片組,具備“主機(jī)零負(fù)荷”性能,MAC 通信協(xié)議可以利用內(nèi)置嵌入的ARM7 核來執(zhí)行,所以不會(huì)對主處理器HOST 造成任何負(fù)荷。只有當(dāng) 接收到有效數(shù)據(jù)封包時(shí),才會(huì)觸發(fā)主處理器工作。

圖1 顯示了WIFI 子系統(tǒng)為實(shí)現(xiàn)低功耗目標(biāo)的硬件電路設(shè)計(jì)框圖,主要包括BGW200、系統(tǒng)時(shí)鐘、低頻睡眠時(shí)鐘、和1.8V/3.0V 電源供應(yīng)、帶通、和“與門”電路。其中用虛線標(biāo)注的低頻睡眠時(shí)鐘和輔助RF 電路在設(shè)計(jì)中屬于可選項(xiàng)。設(shè)計(jì)具體細(xì)節(jié)如下:接口:考慮到 對主機(jī)資源消耗較大,設(shè)計(jì)采用SPI 接口。BGW200 分 和兩種接口,其中 是高度從接口(Slave),通過管腳設(shè)置CSR0/SCR1 為0/0。兩個(gè)SPI 接口共享相同的數(shù)據(jù)線和時(shí)鐘信號線,但是具有不同的片選信號, 使用GPIO[10] 作為片選信號,SPI2 使用SPI_SS_N(GPIO[6])。SPI2 接口操作獨(dú)立于總線時(shí)鐘,最高可以工作到 。SPI2 的IO 接口采用VDD3.3 供電(2.7V 到3.6V)。



供電單元設(shè)計(jì)采用了LDO 降壓芯片,由于BGW200 分兩種電壓:射頻部分電壓范圍值(2.7V-3.6V),基帶內(nèi)核電壓范圍值(1.65V-1.95V)。因此設(shè)計(jì)依據(jù)的因素考慮了芯片的成本、電平值和最大電流負(fù)荷、源輸入輸出效率和噪聲、輸入電壓范圍、輸出電壓精度以及保護(hù)特性,采用了(3.0V, )和(1.8V,)。考慮到有最優(yōu)的ESR 特性過濾脈動(dòng)電壓抖動(dòng)影響,設(shè)計(jì)中同時(shí)采用了匹配LDO 芯片。另外,為加強(qiáng)低功耗設(shè)計(jì)實(shí)現(xiàn),設(shè)計(jì)用了 主控制器的一個(gè)GPI口來控制BGW200 的開/關(guān)狀態(tài)來降低功耗。

主系統(tǒng)時(shí)鐘和睡眠時(shí)鐘。BGW200 工作要求兩個(gè)時(shí)鐘,主系統(tǒng)時(shí)鐘(10ppm) 和 的睡眠時(shí)鐘。在嵌入式設(shè)計(jì)中都可以共享主處理器 的時(shí)鐘資源,其中BGW200 的GPIO[4]通過并聯(lián)電容直接連到睡眠時(shí)鐘。

2.4GHz 射頻匹配電路。理想狀態(tài)下,由于BGW200 的RF 端口已經(jīng)是50? 的標(biāo)準(zhǔn)阻抗,

2.45GHz 的能夠通過50? 的微帶線直接連接到BGW200 的端口。在設(shè)計(jì)中,借助網(wǎng)絡(luò)工具的幫助,設(shè)計(jì)了LC 匹配電路以達(dá)到更高帶寬性能的射頻信號接收性能和最佳的駐波比(回波損耗),具體的LC 參數(shù)值取決于(FR4) 介材特性和電子料的布板。天線設(shè)計(jì)采用了Johanson 公司的型號,(最大輸入功率:500mW ;天線峰值增益:0.5dBi ;回波損耗:9.5dB)。

3 WIFI 底層驅(qū)動(dòng)移植與節(jié)電模式算法

BGW200 芯片提供WinCE5.0 和2.4 內(nèi)核的標(biāo)準(zhǔn)程序代碼,分別基于TI / Bulverde/ 嵌入式平臺(tái)。它的底層軟件架構(gòu)分主機(jī)(Host) 和從機(jī)(Target) 兩個(gè)部分,其中Target 是指BGW200 的MAC 層,相關(guān)的MAC 協(xié)議已經(jīng)固化在芯片內(nèi)部。

3.1 底層驅(qū)動(dòng)架構(gòu)分析


  

圖2 表示了Host 主要的功能模塊:

客戶機(jī)端的驅(qū)動(dòng)( )該層主要提供主機(jī)的操作系統(tǒng)OS、上層運(yùn)行程序、以及主機(jī)端硬件抽象層(HHAL: Host Abstraction Layer )之間的連接,它將調(diào)用HHAL層的API 參數(shù),對于不同的操作系統(tǒng)OS,該部分驅(qū)動(dòng)要做重新移植。主機(jī)端硬件抽象層(HHAL) 該層是服務(wù)于SPI/ 接口的主機(jī)端抽象接口,它分為兩個(gè)部分,通用部分() 和平臺(tái)(Platform)相關(guān)部分。通用部分對所有的平臺(tái)都是相同的,提供高層次的數(shù)據(jù)處理。而平臺(tái)相關(guān)部分則依具體的硬件平臺(tái)而定,需要提供底層對通信接口(SPI)的讀、寫等操作,需要設(shè)計(jì)具體的硬件相關(guān)資源,如硬件中斷、DMA通道等。

可配置效用層( Utilities) 針對不同的平臺(tái),提供了的相應(yīng)配置工具,例如在WinCE上的ZeroConfig ,或者Linux平臺(tái)的Wireless 包。嵌入式堆棧多線程, 華為嵌入式軟件跳槽, 簡單的嵌入式產(chǎn)品, 嵌入式體感試衣鏡, 吸頂式跟嵌入式, 通信嵌入式昆山, 綿陽嵌入式培訓(xùn)機(jī)構(gòu), 嵌入式信號處理系統(tǒng), 嵌入式雙口信息插座, 深圳電子嵌入式展, 工控嵌入式軟件, 嵌入式ddr, 中天微嵌入式芯片, 掃地機(jī)器人嵌入式, 嵌入式計(jì)算機(jī)文獻(xiàn), cps與嵌入式系統(tǒng), 格力5匹嵌入式e6, 嵌入式電腦桌轉(zhuǎn)角, 嵌入式開發(fā)培訓(xùn)深圳, 超核嵌入式開發(fā)社區(qū), 嵌入式茶具茶幾, 學(xué)嵌入式要c,

主機(jī)操作系統(tǒng)抽象層(HOSAL) 該層是一個(gè)主機(jī)側(cè)操作系統(tǒng)的抽象接口,它提供了給HHAL的通用部分與操作系統(tǒng)無關(guān)的能力。該層以統(tǒng)一的接口支持不同的具體操作系統(tǒng),目前主要有Linux和WinCE兩類。該模塊主要包含支持HHAL運(yùn)行的相關(guān)OS的API。具體包括:OS相關(guān)的結(jié)構(gòu)體初始化、內(nèi)存管理、器、隊(duì)列、中斷、線程、事件和互斥鎖。

3.2 WIFI軟件驅(qū)動(dòng)與節(jié)電模式設(shè)計(jì)

本設(shè)計(jì)OS采用.4 內(nèi)核,具體實(shí)現(xiàn)分以下幾個(gè)部分:

3.2.1 初始化(Initialization)  

首先在驅(qū)動(dòng)裝載的過程中由Host 調(diào)用PhgOsalRegInit()請求HOSAL層執(zhí)行initialize 任務(wù)來完成內(nèi)存的分配,然后執(zhí)行回調(diào)函數(shù),在回調(diào)函數(shù)中傳遞硬件相關(guān)的資源,并且注冊事件入口,創(chuàng)建事務(wù)線程。準(zhǔn)備工作一旦就緒,通過調(diào)用PhgHhalInitialize() 立刻轉(zhuǎn)入HHAL 通用層的處理,在通用層中調(diào)用HhalPlatformInitPreBoot()執(zhí)行硬件相關(guān)的代碼如平臺(tái)資源初始化、注冊中斷處理函數(shù)、創(chuàng)建直接內(nèi)存訪問通道等。這樣HHAL通用層就具備了同Target 進(jìn)行數(shù)據(jù)交換的能力。然后將Firmware 下載到Target 中,并向Target 的內(nèi)部寄存器寫入START 指令,等待Target 的ACK確認(rèn)信息,初始化工作即宣告完成。

3.2.2 建立連接(Connection)  

在HHAL通用層中已經(jīng)定義了大量MIB命令字來與Target 的Firmware 執(zhí)行相匹配,HOST通過PhgHhalQueueMgmtReq() 給TargetT 發(fā)起一個(gè)請求,對于簡單的命令與回應(yīng),通過設(shè)置和讀取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í)行完成并返回確認(rèn),HOST收到確認(rèn)后轉(zhuǎn)入在初始化階段注冊的相應(yīng)事件入口,通知上層系統(tǒng)已經(jīng)完成連接的建立。

3.2.3 數(shù)據(jù)通訊(Communication)  

數(shù)據(jù)通訊實(shí)際上通過M2S 和S2M 兩個(gè) DMA 通道來完成。發(fā)送數(shù)據(jù)同樣是調(diào)用PhgHhalQueueMgmtReq() 發(fā)起請求,待Target 準(zhǔn)備就緒,調(diào)用HhalPlatformM2SDma()將數(shù)據(jù)發(fā)送到Target 中,再由Target 轉(zhuǎn)換為RF 信號向無線連接點(diǎn)AP 發(fā)送。接收數(shù)據(jù)則是Target 由連接點(diǎn)收到RF 信號,解析為MAC 數(shù)據(jù)包,向HOST 發(fā)出中斷請求,待HOST 準(zhǔn)備就緒,調(diào)用HhalPlatformS2MDma() 從Target 中接收數(shù)據(jù)。

3.2.4 節(jié)電算法軟件設(shè)計(jì)(Power Management)  

根據(jù)移動(dòng)終端的具體運(yùn)用場景,在底層驅(qū)動(dòng)中開發(fā)了ACTIVE 、Max POWER_SAVE 、Fast POWER_SAVE 、POWER_SLEEP四種電源管理模式。工作模式(Active Mode )時(shí),電源管理關(guān)閉,芯片處于完全上電狀態(tài);最大功耗節(jié)電模式(Max POWER_SAVE )時(shí),滿足在用戶可以選擇的偵聽間隔最大程度內(nèi),達(dá)到功耗節(jié)省最優(yōu)。快速功耗節(jié)電模式(Fast POWER_SAVE )時(shí),滿足在用戶固定的偵聽間隔,達(dá)到良好的功耗節(jié)省最優(yōu)。睡眠模式(POWER_SLEEP) 時(shí), 芯片處于關(guān)機(jī)狀態(tài),用戶需要人工操作重新回到芯片工作狀態(tài)。本設(shè)計(jì)中驅(qū)動(dòng)裝載后默認(rèn)的是ACTIVE, 同時(shí)在事務(wù)線程中對電源模式進(jìn)行檢測,當(dāng)上層軟件需要轉(zhuǎn)換為POWER_SAVE, 驅(qū)動(dòng)仍然通過PhgHhalQueueMgmtReq() 向Target 發(fā)起請求,使得Target 切換到POWER_SAVE 工作模式,在這種模式下,BGW200 只消耗很少的電能,同時(shí)仍進(jìn)行MAC層的處理,上層軟件可以根據(jù)數(shù)據(jù)傳輸?shù)男枨髞韺?shí)時(shí)切換Target 的工作模式,以達(dá)到有效節(jié)能的目標(biāo)。

4 測試結(jié)果  

本設(shè)計(jì)的WIFI 子系統(tǒng)在實(shí)際環(huán)境下進(jìn)行了功耗測試,測試用的無線連接點(diǎn)AP 用的是Linksys 公司的WRT54G, 無線鏈路的距離是1 米,軟件設(shè)置到最射功率為+16dBm,同時(shí)按照802.11b 協(xié)議規(guī)范的要求,分別在四種不同速率1M/2M/5.5M/11M 情況下測量出發(fā)射和接收功耗。測試結(jié)果如表1 所示。


  

表1 BGW200 在LPC2220/.4 系統(tǒng)平臺(tái)上的功耗測試  

WIFI 子系統(tǒng)的待機(jī)功耗為6.36 毫瓦(100 毫秒信標(biāo)間隔)和2.23 毫瓦(300 毫秒信標(biāo)間隔),實(shí)現(xiàn)了對WIFI 的低功耗設(shè)計(jì)要求。加上在本論文設(shè)計(jì)的包括LPC2220 微控制器作為主機(jī)端的整個(gè)系統(tǒng)平均待機(jī)電流為15mA, 通話的平均電流為300mA ,通常以設(shè)備采用650mA 的能耗下,系統(tǒng)的待機(jī)時(shí)間可以到48 小時(shí),連續(xù)通話時(shí)間為3 小時(shí)。  

5 結(jié)束語  

本文作者創(chuàng)新點(diǎn)在于:通過實(shí)際的設(shè)計(jì)研究與實(shí)驗(yàn)測試對比,提出在嵌入式移動(dòng)設(shè)備中WIFI 子系統(tǒng)的低功耗設(shè)計(jì)方法,其中與WIFI 連接的HOST 主機(jī)端(嵌入式微處理器)并不局限于特定的型號。本文的低功耗設(shè)計(jì)到了多個(gè)技術(shù)層面,包括芯片分析選擇、硬件系統(tǒng)外圍電路架構(gòu)、電源管理設(shè)計(jì)優(yōu)化、 布板與射頻電路、軟件驅(qū)動(dòng)的四個(gè)節(jié)電模式。它為廣大嵌入式移動(dòng)設(shè)備企業(yè)及相關(guān)科研機(jī)構(gòu)設(shè)計(jì)最終WIFI 產(chǎn)品的設(shè)計(jì)提供一種參考思路,并倡導(dǎo)應(yīng)用節(jié)能技術(shù),研發(fā)生產(chǎn)低能耗型產(chǎn)品當(dāng)作提高企業(yè)核心競爭力的有效途徑。

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表