RTOS低功耗中的坑

原創(chuàng) 美男子玩編程 2026-03-25 08:00

點(diǎn)擊上方藍(lán)色字體,關(guān)注我們


做嵌入式開(kāi)發(fā)的同行,幾乎都繞不開(kāi)低功耗設(shè)計(jì)。


尤其是帶 RTOS 的項(xiàng)目,明明照著芯片手冊(cè)把 MCU 扔進(jìn)了深度睡眠模式,Tickless 也開(kāi)了,結(jié)果待機(jī)電流下不來(lái)、喚醒就死機(jī)、任務(wù)延時(shí)全亂套、外設(shè)數(shù)據(jù)瘋狂丟包。


很多時(shí)候,你踩的坑,不是硬件電路的問(wèn)題,也不是芯片本身的問(wèn)題,而是 RTOS 的低功耗機(jī)制,和你的業(yè)務(wù)代碼、外設(shè)配置、內(nèi)核移植之間,那些看不見(jiàn)的隱性陷阱。


本文基于主流 RTOS(FreeRTOS/RT-Thread/uC/OS 等)的通用低功耗架構(gòu),從內(nèi)核底層到硬件協(xié)同,深挖低功耗設(shè)計(jì)全鏈路的核心坑點(diǎn),講透現(xiàn)象、根因,以及可直接落地的避坑方案,幫你徹底搞定 RTOS 低功耗難題。


1


Tickless 機(jī)制的底層陷阱

RTOS 低功耗的核心,就是 Tickless 無(wú)節(jié)拍模式。


其核心邏輯是:當(dāng)系統(tǒng)僅剩余空閑任務(wù)時(shí),停止周期性的 SysTick 節(jié)拍中斷,計(jì)算未來(lái)最長(zhǎng)可睡眠時(shí)長(zhǎng),讓 MCU 進(jìn)入深度低功耗模式,僅保留喚醒源;喚醒后,再根據(jù)實(shí)際睡眠時(shí)間補(bǔ)償系統(tǒng)節(jié)拍,恢復(fù)任務(wù)調(diào)度。


這套機(jī)制看似成熟,卻是整個(gè)低功耗設(shè)計(jì)中坑最密集的地方,稍有不慎就會(huì)滿盤(pán)皆輸。


坑 1:Tick 補(bǔ)償計(jì)算錯(cuò)誤,導(dǎo)致系統(tǒng)時(shí)間漂移、業(yè)務(wù)邏輯全亂

開(kāi)啟 Tickless 后,系統(tǒng)計(jì)時(shí)嚴(yán)重不準(zhǔn),周期性任務(wù)執(zhí)行周期偏差極大,軟件定時(shí)器超時(shí)觸發(fā)異常,甚至出現(xiàn)任務(wù)餓死、通信時(shí)序完全錯(cuò)亂。


Tickless 的核心是睡眠停 Tick,喚醒補(bǔ) Tick,補(bǔ)償?shù)木戎苯記Q定了系統(tǒng)的時(shí)間準(zhǔn)確性,而 90% 的補(bǔ)償錯(cuò)誤,都來(lái)自這幾個(gè)底層盲區(qū)。


時(shí)鐘源精度完全不匹配,多數(shù)工程師直接沿用芯片默認(rèn)的內(nèi)部 RC 振蕩器作為睡眠計(jì)時(shí)時(shí)鐘,而內(nèi)部 RC 的溫漂、精度極差(常溫 ±5%,高低溫可達(dá) ±20%)。

比如你計(jì)算要睡眠 1000ms,實(shí)際 RC 時(shí)鐘跑下來(lái)只過(guò)了 800ms,補(bǔ)償?shù)?Tick 數(shù)直接少了 200 個(gè),時(shí)間漂移會(huì)持續(xù)累積,最終完全失控。

喚醒延遲完全遺漏,MCU 從深度睡眠模式喚醒,需要經(jīng)歷 LDO 穩(wěn)壓、主頻起振、Flash 喚醒、內(nèi)核復(fù)位等一系列過(guò)程,耗時(shí)從幾微秒到上百微秒不等。

如果計(jì)算睡眠時(shí)長(zhǎng)時(shí),沒(méi)有把這段喚醒延遲扣除,會(huì)導(dǎo)致實(shí)際睡眠時(shí)間超過(guò)了最近的任務(wù)超時(shí)時(shí)間,出現(xiàn)任務(wù)延時(shí)過(guò)期、調(diào)度錯(cuò)亂。

計(jì)數(shù)器溢出引發(fā)的計(jì)算災(zāi)難,睡眠時(shí)長(zhǎng)的計(jì)算,通常依賴 32 位的低功耗定時(shí)器計(jì)數(shù)器,而很多工程師的差值計(jì)算沒(méi)有處理溢出場(chǎng)景。

比如定時(shí)器計(jì)到 0xFFFFFFFF 后溢出歸零,直接用喚醒值 - 入睡值會(huì)得到負(fù)數(shù),導(dǎo)致系統(tǒng)計(jì)算出一個(gè)長(zhǎng)達(dá)幾十小時(shí)的虛假睡眠時(shí)長(zhǎng),直接進(jìn)入假死狀態(tài),只有硬復(fù)位才能恢復(fù)。

提前喚醒的補(bǔ)償失效,Tickless 預(yù)設(shè)的睡眠時(shí)長(zhǎng),是基于下一個(gè)任務(wù) / 定時(shí)器的超時(shí)時(shí)間,但如果中途被外部中斷提前喚醒,很多 RTOS 的默認(rèn) port 層,依然用預(yù)設(shè)的時(shí)長(zhǎng)做補(bǔ)償,而不是根據(jù)定時(shí)器實(shí)際走的時(shí)間修正,導(dǎo)致系統(tǒng)時(shí)間多補(bǔ)了,出現(xiàn)時(shí)間跳變。

避坑方案

時(shí)鐘源選型紅線,對(duì)時(shí)間精度有要求的場(chǎng)景,睡眠計(jì)時(shí)必須使用外部高精度 32.768kHz 無(wú)源晶振,絕對(duì)不能用內(nèi)部 RC 振蕩器,從根源上解決時(shí)鐘精度問(wèn)題。

安全的時(shí)長(zhǎng)計(jì)算,采用無(wú)符號(hào)整型的自然溢出特性計(jì)算差值,比如uint32_t sleep_ticks = wakeup_cnt - sleep_cnt;,即使計(jì)數(shù)器溢出,也能得到正確的差值,避免分支判斷的漏洞。

喚醒延遲兜底,在計(jì)算最大可睡眠時(shí)長(zhǎng)時(shí),必須預(yù)留喚醒延遲的余量,比如芯片喚醒最大耗時(shí) 100us,就從可睡眠時(shí)長(zhǎng)里扣除 200us 的冗余,確保不會(huì)出現(xiàn)超時(shí)溢出。

完善補(bǔ)償邏輯,無(wú)論是否按時(shí)喚醒,都必須基于低功耗定時(shí)器的實(shí)際計(jì)數(shù)值來(lái)計(jì)算睡眠時(shí)間,再做 Tick 補(bǔ)償,絕對(duì)不能用預(yù)設(shè)的睡眠時(shí)長(zhǎng)直接賦值。

坑 2:最小睡眠時(shí)長(zhǎng)判斷失誤,功耗越優(yōu)化越高

開(kāi)啟 Tickless 后,待機(jī)電流反而比不開(kāi)還大,用示波器抓電流波形,發(fā)現(xiàn)系統(tǒng)頻繁進(jìn)出低功耗,內(nèi)核調(diào)度開(kāi)銷拉滿,電源域反復(fù)啟停帶來(lái)大量額外功耗。


進(jìn)入和退出低功耗是有成本的,不僅有 CPU 執(zhí)行睡眠 / 喚醒代碼的時(shí)間開(kāi)銷,還有主頻啟停、外設(shè)上下電、電源域穩(wěn)壓器切換帶來(lái)的功耗開(kāi)銷。很多工程師直接沿用 RTOS 的默認(rèn)配置,把最小睡眠時(shí)長(zhǎng)設(shè)為 2 個(gè) Tick。


比如系統(tǒng) Tick 是 1ms,最小睡眠時(shí)長(zhǎng)就是 2ms,但如果你的芯片進(jìn)出深度睡眠的總耗時(shí)就有 500us,睡眠 2ms 節(jié)省的電量,還不夠覆蓋進(jìn)出低功耗的開(kāi)銷,最終導(dǎo)致功耗不降反升。


更嚴(yán)重的是,頻繁的睡眠 - 喚醒循環(huán),會(huì)把系統(tǒng)的空閑時(shí)間切成碎片,不僅省不了電,還會(huì)導(dǎo)致內(nèi)核調(diào)度頻繁、外設(shè)時(shí)序異常。


避坑方案

設(shè)定合理的最小睡眠閾值,核心原則是「睡眠節(jié)省的功耗,必須大于進(jìn)出低功耗的開(kāi)銷」。建議最小睡眠時(shí)長(zhǎng),至少設(shè)為「進(jìn)出低功耗總耗時(shí)」的 5~10 倍。比如 1ms Tick 的系統(tǒng),建議把configEXPECTED_IDLE_TIME_BEFORE_SLEEP設(shè)為 5~10,也就是最小 5~10ms 才進(jìn)入深度睡眠。

分級(jí)睡眠策略,不要非黑即白,空閑時(shí)間不足時(shí),進(jìn)入淺度睡眠模式(比如僅執(zhí)行 WFI,停 CPU 但保留 SysTick 和主頻),幾乎無(wú)進(jìn)出開(kāi)銷,也能降低功耗;只有空閑時(shí)間足夠長(zhǎng)時(shí),才進(jìn)入深度睡眠模式,實(shí)現(xiàn)功耗收益最大化。

任務(wù)喚醒對(duì)齊,把零散的周期性任務(wù),合并到同一個(gè)時(shí)間點(diǎn)喚醒,避免系統(tǒng)剛進(jìn)入睡眠就被另一個(gè)任務(wù)喚醒,減少睡眠碎片化。

坑 3:Tick 停止后,外設(shè)驅(qū)動(dòng)的超時(shí)機(jī)制集體失效

進(jìn)入低功耗后,串口、SPI、I2C 等外設(shè)通信異常,喚醒后驅(qū)動(dòng)直接卡死,甚至觸發(fā)系統(tǒng) hardfault。


90% 的嵌入式外設(shè)驅(qū)動(dòng),超時(shí)判斷都是基于 RTOS 的系統(tǒng) Tick 計(jì)數(shù),比如:


uint32_t start = xTaskGetTickCount();while(!periph_get_flag()){    if(xTaskGetTickCount() - start > TIMEOUT_TICKS){        return TIMEOUT_ERROR; // 超時(shí)退出    }}

但在 Tickless 模式下,系統(tǒng)進(jìn)入深度睡眠時(shí),SysTick 會(huì)完全停止,xTaskGetTickCount()的值會(huì)被凍結(jié),哪怕硬件上已經(jīng)過(guò)了幾十毫秒,這個(gè)計(jì)數(shù)值依然不會(huì)變化。


這就導(dǎo)致,睡眠前如果驅(qū)動(dòng)正在執(zhí)行帶超時(shí)的循環(huán),進(jìn)入睡眠后,超時(shí)判斷永遠(yuǎn)不會(huì)觸發(fā);喚醒后,哪怕外設(shè)已經(jīng)異常,驅(qū)動(dòng)依然卡死在死循環(huán)里,最終導(dǎo)致任務(wù)阻塞、看門(mén)狗復(fù)位。


避坑方案

驅(qū)動(dòng)超時(shí)的時(shí)鐘源解耦,低功耗場(chǎng)景下的外設(shè)驅(qū)動(dòng),必須使用睡眠時(shí)不停止的硬件定時(shí)器做超時(shí)判斷,比如芯片的 LPTIM 低功耗定時(shí)器,絕對(duì)不能依賴系統(tǒng) Tick。

睡眠前的狀態(tài)兜底,進(jìn)入低功耗前,必須確保所有非喚醒外設(shè)的操作已經(jīng)完成,禁止把帶輪詢、超時(shí)循環(huán)的驅(qū)動(dòng)操作,帶入睡眠狀態(tài)。

明確軟件定時(shí)器的邊界,RTOS 的軟件定時(shí)器,本質(zhì)上依賴系統(tǒng) Tick 計(jì)數(shù),Tickless 模式下,絕對(duì)不能用軟件定時(shí)器做低功耗場(chǎng)景的超時(shí)判斷,必須用硬件定時(shí)器替代。

2


任務(wù)調(diào)度與優(yōu)先級(jí)設(shè)計(jì)的低功耗陷阱

很多時(shí)候,你的功耗降不下來(lái),根本不是 Tickless 的問(wèn)題,而是任務(wù)設(shè)計(jì)出了問(wèn)題,系統(tǒng)連空閑任務(wù)都進(jìn)不去,談何低功耗?


坑 1:空閑任務(wù)被永久搶占,系統(tǒng)永遠(yuǎn)無(wú)法進(jìn)入低功耗

待機(jī)電流居高不下,測(cè)量發(fā)現(xiàn) CPU 占用率幾乎 100%,哪怕沒(méi)有任何業(yè)務(wù)操作,系統(tǒng)也從來(lái)不會(huì)進(jìn)入低功耗模式。


幾乎所有 RTOS 的低功耗入口,都在空閑任務(wù)里(FreeRTOS 的空閑鉤子、RT-Thread 的空閑線程、uC/OS 的空閑任務(wù)),而空閑任務(wù)的優(yōu)先級(jí),是系統(tǒng)最低的。


只要有一個(gè)優(yōu)先級(jí)比空閑任務(wù)高的任務(wù),一直處于就緒態(tài),不阻塞、不延時(shí)、不掛起,哪怕里面是空循環(huán),空閑任務(wù)也永遠(yuǎn)得不到執(zhí)行,系統(tǒng)的低功耗邏輯永遠(yuǎn)不會(huì)被觸發(fā)。


最常見(jiàn)的踩坑場(chǎng)景,寫(xiě)了一個(gè) while (1) 的業(yè)務(wù)任務(wù),里面沒(méi)有任何阻塞調(diào)用(vTaskDelay、信號(hào)量等待、隊(duì)列等待等),哪怕優(yōu)先級(jí)只比空閑高 1 級(jí),也會(huì)永久霸占 CPU。


中斷服務(wù)函數(shù)里頻繁觸發(fā)任務(wù)喚醒,導(dǎo)致任務(wù)剛進(jìn)入阻塞態(tài),就被拉回就緒態(tài),CPU 永遠(yuǎn)沒(méi)有空閑時(shí)間。


在滴答鉤子、中斷鉤子函數(shù)里,放了耗時(shí)操作,甚至死循環(huán),擠占了空閑任務(wù)的執(zhí)行時(shí)間。


避坑方案

牢記核心紅線,RTOS 低功耗的前提,是系統(tǒng)能進(jìn)入空閑任務(wù)。所有用戶任務(wù),必須有阻塞機(jī)制,絕對(duì)不能寫(xiě)無(wú)限循環(huán)的非阻塞任務(wù)。

快速定位問(wèn)題,用 GPIO 翻轉(zhuǎn)法排查,在空閑任務(wù)里置高 GPIO,在任務(wù)調(diào)度切換時(shí)置低,用示波器測(cè)量 GPIO 高電平的占比,就是系統(tǒng)的空閑率。如果高電平占比幾乎為 0,就是任務(wù)搶占了空閑任務(wù)。

優(yōu)化中斷任務(wù)交互,避免頻繁的中斷喚醒任務(wù),比如把高頻的單次數(shù)據(jù)中斷,改成攢夠一定數(shù)據(jù)量后,再一次性喚醒任務(wù)處理,大幅減少喚醒次數(shù)。

慎用鉤子函數(shù),滴答鉤子、中斷鉤子函數(shù)里,只能放極短的原子操作,絕對(duì)不能放耗時(shí)代碼,更不能放阻塞調(diào)用。

坑 2:任務(wù)喚醒的驚群效應(yīng),導(dǎo)致睡眠碎片化、功耗飆升

一個(gè)中斷觸發(fā),系統(tǒng)電流突然拉高,持續(xù)很長(zhǎng)時(shí)間才回落,頻繁出現(xiàn)短時(shí)間的喚醒,深度睡眠的占比極低,平均功耗遠(yuǎn)超預(yù)期。


驚群效應(yīng),指的是多個(gè)任務(wù)同時(shí)等待同一個(gè)內(nèi)核對(duì)象(信號(hào)量、隊(duì)列、事件組),當(dāng)中斷觸發(fā)給這個(gè)內(nèi)核對(duì)象發(fā)送通知時(shí),所有等待的任務(wù),都會(huì)被從阻塞態(tài)拉到就緒態(tài)。


但最終只有一個(gè)任務(wù)能拿到資源,其他任務(wù)會(huì)馬上再次進(jìn)入阻塞態(tài),這個(gè)過(guò)程會(huì)觸發(fā)多次內(nèi)核調(diào)度,不僅帶來(lái)了大量的 CPU 開(kāi)銷,還會(huì)讓系統(tǒng)遲遲無(wú)法再次進(jìn)入低功耗,甚至剛進(jìn)入睡眠就被再次喚醒。


另一個(gè)類似的坑,是任務(wù)喚醒時(shí)間點(diǎn)過(guò)于分散:比如 A 任務(wù)延時(shí) 10ms,B 任務(wù)延時(shí) 11ms,C 任務(wù)延時(shí) 12ms,導(dǎo)致系統(tǒng)每隔 1ms 就被喚醒一次,每次喚醒只執(zhí)行幾十微秒的代碼,空閑時(shí)間完全被切碎,根本達(dá)不到深度睡眠的最小閾值。


避坑方案

用任務(wù)通知替代全局內(nèi)核對(duì)象,F(xiàn)reeRTOS 的任務(wù)通知、RT-Thread 的線程信號(hào),是一對(duì)一的喚醒機(jī)制,只會(huì)喚醒指定的目標(biāo)任務(wù),不會(huì)觸發(fā)驚群效應(yīng),性能和功耗都遠(yuǎn)優(yōu)于全局的信號(hào)量、隊(duì)列。

任務(wù)喚醒時(shí)間對(duì)齊,把多個(gè)周期性任務(wù)的執(zhí)行周期,對(duì)齊到同一個(gè)時(shí)間基準(zhǔn),比如都用 10ms 的整數(shù)倍作為周期,讓系統(tǒng)一次喚醒,處理完所有就緒任務(wù),再進(jìn)入長(zhǎng)時(shí)間的深度睡眠,大幅減少喚醒次數(shù)。

事件分組精準(zhǔn)喚醒,必須使用事件組時(shí),讓每個(gè)任務(wù)只等待自己需要的事件位,避免一個(gè)事件觸發(fā),所有任務(wù)都被喚醒。

非緊急任務(wù)批量處理,對(duì)于實(shí)時(shí)性要求不高的任務(wù),采用攢批處理的邏輯,比如累計(jì) 5 個(gè)事件再喚醒一次任務(wù),而不是來(lái)一個(gè)事件就喚醒一次。

坑 3:高優(yōu)先級(jí)短周期任務(wù),切碎空閑時(shí)間,深度睡眠無(wú)法進(jìn)入

系統(tǒng)整體空閑率超過(guò) 90%,但就是無(wú)法進(jìn)入深度低功耗模式,只能進(jìn)入淺度睡眠,功耗始終降不下來(lái)。


這是很多工程師容易忽略的隱性坑,比如你有一個(gè)高優(yōu)先級(jí)的傳感器采集任務(wù),周期 1ms,每次執(zhí)行只需要 100us,執(zhí)行完就阻塞。


從數(shù)據(jù)上看,這個(gè)任務(wù)的 CPU 占用率只有 10%,系統(tǒng)有 90% 的空閑時(shí)間,但這些空閑時(shí)間,被切成了每 1ms 一個(gè)、時(shí)長(zhǎng) 900us 的碎片。如果你的深度睡眠最小閾值是 1ms,那系統(tǒng)永遠(yuǎn)都沒(méi)法進(jìn)入深度睡眠,只能在每個(gè)碎片里執(zhí)行 WFI 淺度睡眠,功耗節(jié)省極其有限。更常見(jiàn)的場(chǎng)景是,多個(gè)中高優(yōu)先級(jí)的短周期任務(wù),把系統(tǒng)的空閑時(shí)間切成了大量無(wú)法利用的碎片,深度睡眠的觸發(fā)概率幾乎為 0。


避坑方案

拉長(zhǎng)非必要任務(wù)的周期,在滿足業(yè)務(wù)實(shí)時(shí)性的前提下,盡量拉長(zhǎng)周期性任務(wù)的執(zhí)行周期,比如把 1ms 的采集周期,改成 5ms、10ms,給系統(tǒng)留出足夠長(zhǎng)的連續(xù)空閑時(shí)間,觸發(fā)深度睡眠。

合并同類型的短周期任務(wù),把多個(gè)分散的小任務(wù),合并成一個(gè)周期性任務(wù),一次執(zhí)行完所有相關(guān)操作,減少任務(wù)調(diào)度的次數(shù)和空閑時(shí)間的碎片化。

動(dòng)態(tài)調(diào)整任務(wù)周期,設(shè)計(jì)工作模式 - 低功耗模式的狀態(tài)機(jī),當(dāng)系統(tǒng)沒(méi)有業(yè)務(wù)操作時(shí),自動(dòng)暫停非必要的周期性任務(wù),或者大幅拉長(zhǎng)其周期,讓系統(tǒng)進(jìn)入長(zhǎng)時(shí)間的深度睡眠;當(dāng)有業(yè)務(wù)觸發(fā)時(shí),再恢復(fù)正常的任務(wù)周期。

3


中斷與臨界區(qū)的低功耗坑

低功耗的核心是睡眠與喚醒,而喚醒的核心是中斷,臨界區(qū)則直接影響中斷和內(nèi)核調(diào)度的邏輯。這個(gè)模塊的坑,輕則功耗異常,重則直接導(dǎo)致系統(tǒng)死機(jī)、喚不醒,是必須死守的底線。


坑 1:中斷喚醒配置錯(cuò)誤,要么喚不醒,要么功耗爆炸

兩個(gè)極端,要么進(jìn)入深度低功耗后,按鍵、串口等外設(shè)完全沒(méi)法喚醒系統(tǒng),直接睡死;要么系統(tǒng)根本沒(méi)法進(jìn)入睡眠,待機(jī)電流居高不下,頻繁被中斷喚醒。


喚不醒的核心原因,現(xiàn)在的 MCU 大多是分電源域設(shè)計(jì),不同的低功耗模式下,會(huì)關(guān)閉不同的外設(shè)時(shí)鐘和電源域。


很多工程師不看芯片手冊(cè),把喚醒源配置到了會(huì)被關(guān)閉的電源域里。


比如把普通 USART 的接收中斷作為喚醒源,但深度睡眠模式下,USART 的時(shí)鐘和電源都被關(guān)閉了,哪怕引腳有數(shù)據(jù),也根本觸發(fā)不了中斷。


外部中斷配置成了電平觸發(fā),而深度睡眠下,引腳電平被拉死,中斷無(wú)法觸發(fā);或者中斷引腳沒(méi)有配置到喚醒電源域,睡眠后引腳檢測(cè)功能直接失效。


進(jìn)入低功耗前,錯(cuò)誤地關(guān)閉了全局中斷,導(dǎo)致喚醒中斷無(wú)法被 CPU 響應(yīng),哪怕硬件觸發(fā)了中斷,系統(tǒng)也依然沉睡。


頻繁喚醒的核心原因,中斷標(biāo)志位沒(méi)有清除,進(jìn)入睡眠前,外設(shè)的中斷標(biāo)志位處于掛起狀態(tài),導(dǎo)致系統(tǒng)剛要進(jìn)入睡眠,就被中斷喚醒,循環(huán)往復(fù)。

外部中斷配置成了電平觸發(fā),睡眠時(shí)引腳處于浮空狀態(tài),受到干擾后頻繁觸發(fā)中斷,系統(tǒng)根本沒(méi)法進(jìn)入睡眠。


保留了大量非必要的中斷開(kāi)啟,比如 ADC、DMA、定時(shí)器的中斷,哪怕沒(méi)有業(yè)務(wù)操作,也會(huì)偶爾觸發(fā),導(dǎo)致系統(tǒng)頻繁被喚醒。


避坑方案

喚醒源配置紅線,熟讀芯片手冊(cè),明確不同低功耗模式下,支持的喚醒源列表和對(duì)應(yīng)的電源域。深度睡眠模式下,必須使用低功耗外設(shè)(LPUART、LPTIM)、WKUP 喚醒引腳、備份域中斷作為喚醒源,絕對(duì)不能用普通外設(shè)的中斷。

外部中斷必須用邊沿觸發(fā),用于喚醒的外部中斷,必須配置為上升沿 / 下降沿 / 雙邊沿觸發(fā),絕對(duì)不能用電平觸發(fā),避免睡眠時(shí)持續(xù)觸發(fā)中斷。

嚴(yán)格的中斷進(jìn)出管理,進(jìn)入低功耗前,必須清除所有掛起的中斷標(biāo)志位,關(guān)閉所有非喚醒必須的外設(shè)中斷,只保留喚醒源的中斷;退出低功耗后,再恢復(fù)中斷配置。

全局中斷的使用禁忌,絕對(duì)不能在關(guān)閉全局中斷的情況下,長(zhǎng)時(shí)間執(zhí)行低功耗邏輯,執(zhí)行 WFI/WFE 指令前,必須確保中斷喚醒的邏輯正確。

坑 2:WFI/WFE 指令的競(jìng)態(tài)條件,導(dǎo)致系統(tǒng)睡死、中斷丟失

低功耗運(yùn)行時(shí),偶爾出現(xiàn)系統(tǒng)無(wú)響應(yīng),任務(wù)不執(zhí)行,必須硬復(fù)位才能恢復(fù),復(fù)現(xiàn)概率隨機(jī),極難排查。


RTOS 的低功耗,最終都會(huì)落到 CPU 的 WFI(等待中斷)、WFE(等待事件)指令上,而 90% 的工程師自己寫(xiě)低功耗代碼時(shí),都會(huì)踩中這個(gè)經(jīng)典的競(jìng)態(tài)條件坑。


先看一段幾乎人人都寫(xiě)過(guò)的錯(cuò)誤代碼:


// 錯(cuò)誤示例:存在致命的競(jìng)態(tài)條件if(xTaskGetNumberOfTasks() == 1){ // 判斷只有空閑任務(wù),可進(jìn)入睡眠    __WFI(); // 進(jìn)入睡眠,等待中斷喚醒}

這段代碼的致命問(wèn)題在于:if 條件判斷完成后,__WFI () 指令執(zhí)行前,系統(tǒng)可以被中斷打斷


如果在這個(gè)間隙,來(lái)了一個(gè)外部中斷,中斷服務(wù)函數(shù)里喚醒了一個(gè)業(yè)務(wù)任務(wù),此時(shí)系統(tǒng)的任務(wù)數(shù)已經(jīng)大于 1,不滿足睡眠條件了。


但中斷返回后,CPU 還是會(huì)執(zhí)行__WFI () 指令,讓系統(tǒng)進(jìn)入睡眠。這就導(dǎo)致,明明有就緒的業(yè)務(wù)任務(wù),系統(tǒng)卻進(jìn)入了睡眠,內(nèi)核不會(huì)調(diào)度任務(wù)執(zhí)行,只有等到下一個(gè)中斷到來(lái),才能喚醒系統(tǒng),表現(xiàn)出來(lái)就是系統(tǒng)卡死、任務(wù)延遲、實(shí)時(shí)性完全失效。


避坑方案

用關(guān)中斷保護(hù)臨界判斷,徹底解決競(jìng)態(tài)問(wèn)題,ARM 架構(gòu)下,即使關(guān)閉了全局中斷(PRIMASK=1),WFI 指令依然可以被中斷喚醒,只是喚醒后不會(huì)立即執(zhí)行中斷服務(wù)函數(shù),直到開(kāi)中斷。

基于這個(gè)特性,正確的代碼寫(xiě)法是:

// 正確示例:解決競(jìng)態(tài)條件__disable_irq()// 關(guān)中斷,確保判斷和WFI之間不會(huì)被打斷if(可以進(jìn)入睡眠的條件){    __WFI(); // 關(guān)中斷下,WFI依然能被硬件喚醒}__enable_irq()// 開(kāi)中斷,執(zhí)行喚醒后的中斷服務(wù)函數(shù)和任務(wù)調(diào)度

區(qū)分 WFI 和 WFE 的使用場(chǎng)景,WFI 依賴中斷喚醒,適合絕大多數(shù)低功耗場(chǎng)景;WFE 依賴事件喚醒,需要配合 SEV 指令使用,必須注意清除事件標(biāo)志,避免虛假喚醒。


不要重復(fù)造輪子,盡量使用 RTOS 官方提供的、經(jīng)過(guò)驗(yàn)證的 Tickless port 層實(shí)現(xiàn),不要自己隨意改寫(xiě)睡眠入口函數(shù),避免引入底層邏輯漏洞。


坑 3:臨界區(qū)與鎖的濫用,導(dǎo)致低功耗失效、系統(tǒng)死鎖

系統(tǒng)經(jīng)常無(wú)法進(jìn)入低功耗,偶爾喚醒后直接死鎖,任務(wù)調(diào)度完全不執(zhí)行,甚至觸發(fā) hardfault。


臨界區(qū)(關(guān)中斷、調(diào)度鎖)、互斥鎖、信號(hào)量,是 RTOS 里保護(hù)共享資源的核心手段,但在低功耗場(chǎng)景下,濫用這些機(jī)制,會(huì)帶來(lái)致命的問(wèn)題。


臨界區(qū)持有時(shí)間過(guò)長(zhǎng),臨界區(qū)會(huì)關(guān)閉中斷或禁止調(diào)度,哪怕任務(wù)進(jìn)入阻塞態(tài),空閑任務(wù)也無(wú)法執(zhí)行,系統(tǒng)根本沒(méi)法進(jìn)入低功耗。更致命的是,在臨界區(qū)里調(diào)用 vTaskDelay 等阻塞函數(shù),會(huì)直接導(dǎo)致調(diào)度器異常,系統(tǒng)崩潰。

調(diào)度鎖開(kāi)啟后進(jìn)入睡眠,調(diào)度鎖(taskDISABLE_SCHEDULER ())會(huì)禁止內(nèi)核任務(wù)調(diào)度,哪怕所有任務(wù)都阻塞了,空閑任務(wù)也無(wú)法執(zhí)行,低功耗邏輯完全不觸發(fā)。如果在調(diào)度鎖開(kāi)啟的狀態(tài)下進(jìn)入睡眠,喚醒后大概率會(huì)導(dǎo)致調(diào)度器錯(cuò)亂。

持有鎖進(jìn)入睡眠,喚醒后死鎖,進(jìn)入低功耗前,任務(wù)獲取了互斥鎖、信號(hào)量,但是睡眠前沒(méi)有釋放,喚醒后,其他任務(wù)一直等待這個(gè)鎖,導(dǎo)致死鎖,任務(wù)集體阻塞,系統(tǒng)邏輯完全失效。

避坑方案

臨界區(qū)最小化原則,只在必須保護(hù)的、極短的寄存器 / 共享變量操作前后,使用臨界區(qū),絕對(duì)不能在臨界區(qū)里調(diào)用任何阻塞函數(shù),也不能放耗時(shí)的循環(huán)操作。

調(diào)度鎖使用紅線,調(diào)度鎖必須成對(duì)使用,持有時(shí)間越短越好,絕對(duì)禁止在調(diào)度鎖開(kāi)啟的狀態(tài)下,進(jìn)入低功耗模式,也不能調(diào)用任何阻塞函數(shù)。

鎖的持有邊界嚴(yán)格控制,進(jìn)入低功耗前,必須確保所有的互斥鎖、信號(hào)量、自旋鎖都已經(jīng)被正確釋放,絕對(duì)不能在持有鎖的情況下進(jìn)入睡眠狀態(tài)。

中斷里的 API 禁忌,中斷服務(wù)函數(shù)里,只能使用 RTOS 提供的 ISR 專用 API(比如 xQueueSendFromISR),絕對(duì)不能調(diào)用臨界區(qū)、調(diào)度鎖相關(guān)的函數(shù),避免破壞內(nèi)核調(diào)度狀態(tài)。

4


外設(shè)與電源域協(xié)同的坑

很多低功耗問(wèn)題,根本不是 RTOS 內(nèi)核的問(wèn)題,而是軟件的低功耗邏輯,和硬件的外設(shè)、電源域配置完全脫節(jié),導(dǎo)致功耗降不下來(lái),甚至喚醒后外設(shè)直接報(bào)廢。


坑 1:外設(shè)與 GPIO 處理不當(dāng),漏電流超標(biāo),功耗降不下來(lái)

系統(tǒng)已經(jīng)進(jìn)入深度睡眠,CPU 也停了,但是待機(jī)電流比芯片手冊(cè)的典型值大了幾十倍甚至上百倍,排查半天發(fā)現(xiàn)是外設(shè)和 GPIO 的問(wèn)題。


MCU 的功耗,不僅來(lái)自 CPU 內(nèi)核,更多來(lái)自外設(shè)和 GPIO 的漏電流。很多工程師只關(guān)注 CPU 的睡眠,卻忽略了外設(shè)和 GPIO 的處理,最終導(dǎo)致功耗完全不達(dá)標(biāo)。


GPIO 浮空輸入帶來(lái)的巨量漏電流,沒(méi)有用到的 GPIO,或者睡眠時(shí)不需要的 GPIO,被配置成了浮空輸入模式。

MCU 的浮空輸入引腳,阻抗極高,很容易受到外界電磁干擾,導(dǎo)致引腳電平在 0 和 1 之間反復(fù)跳變,內(nèi)部的 MOS 管頻繁開(kāi)關(guān),帶來(lái)幾百 uA 的漏電流,這是低功耗設(shè)計(jì)里最常見(jiàn)的低級(jí)錯(cuò)誤。

外設(shè)時(shí)鐘沒(méi)有關(guān)閉,進(jìn)入睡眠前,SPI、I2C、ADC、定時(shí)器等非必要外設(shè)的時(shí)鐘沒(méi)有關(guān)閉,哪怕 CPU 停了,外設(shè)的時(shí)鐘依然在運(yùn)行,會(huì)帶來(lái)持續(xù)的功耗。

外設(shè)工作狀態(tài)異常,進(jìn)入睡眠前,ADC 還在轉(zhuǎn)換、串口還在發(fā)送、PWM 還在輸出,就直接讓 MCU 進(jìn)入睡眠,導(dǎo)致外設(shè)工作狀態(tài)異常,出現(xiàn)鎖存、大電流漏出的問(wèn)題。

電源域沒(méi)有關(guān)閉,很多 MCU 有獨(dú)立的外設(shè)電源域、模擬電源域,進(jìn)入深度睡眠前,沒(méi)有關(guān)閉這些非必要的電源域,導(dǎo)致持續(xù)的功耗開(kāi)銷。

避坑方案

制定標(biāo)準(zhǔn)化的睡眠 / 喚醒流程,進(jìn)入低功耗前,必須按順序完成外設(shè)和 GPIO 的處理:
  • 第一步:等待所有非喚醒外設(shè)的操作完成,停止 ADC、DAC、PWM、DMA 等外設(shè)的工作;

  • 第二步:關(guān)閉所有非必要外設(shè)的時(shí)鐘,只保留喚醒源外設(shè)的時(shí)鐘;

  • 第三步:配置 GPIO 狀態(tài),所有不用的引腳、睡眠時(shí)不需要的引腳,統(tǒng)一配置成上拉 / 下拉輸出,或者模擬輸入模式,絕對(duì)不能保留浮空輸入;

  • 第四步:關(guān)閉非必要的電源域,只保留喚醒源所在的電源域和備份域。退出低功耗后,按相反的順序,恢復(fù)電源域、時(shí)鐘、外設(shè)、GPIO 的配置,確保喚醒后外設(shè)正常工作。


分級(jí)外設(shè)處理策略,針對(duì)不同的低功耗模式,做不同的處理:淺度睡眠模式下,只停 CPU,外設(shè)和時(shí)鐘保持不變,保證快速喚醒;深度睡眠模式下,再執(zhí)行全量的外設(shè)關(guān)閉和 GPIO 配置,平衡功耗和喚醒速度。

二分法快速定位漏電流,遇到電流超標(biāo)時(shí),用二分法逐個(gè)關(guān)閉外設(shè)、配置 GPIO,每次修改后測(cè)量電流,快速定位漏電流的來(lái)源,很多時(shí)候一個(gè)引腳的配置錯(cuò)誤,就能導(dǎo)致幾百 uA 的額外功耗。

坑 2:外設(shè)喚醒與系統(tǒng)調(diào)度時(shí)序不匹配,導(dǎo)致數(shù)據(jù)丟失、系統(tǒng)錯(cuò)亂

從低功耗喚醒后,LPUART、SPI 等外設(shè)的數(shù)據(jù)丟包、校驗(yàn)錯(cuò)誤,甚至 DMA 傳輸異常,觸發(fā)內(nèi)存越界和 hardfault。


MCU 從深度睡眠模式喚醒,不是瞬間完成的,需要經(jīng)歷一系列的穩(wěn)定過(guò)程:?jiǎn)拘阎袛嘤|發(fā)→內(nèi)核退出睡眠模式→LDO 穩(wěn)壓器切換→主頻晶振起振并穩(wěn)定→Flash 控制器喚醒→外設(shè)時(shí)鐘恢復(fù)。


這個(gè)過(guò)程,短則幾微秒,長(zhǎng)則上百微秒。很多工程師的代碼,喚醒后立刻就去操作外設(shè)、處理數(shù)據(jù),但是此時(shí)系統(tǒng)主頻、外設(shè)時(shí)鐘、Flash 還沒(méi)有穩(wěn)定,讀寫(xiě)外設(shè)寄存器會(huì)失敗,訪問(wèn)內(nèi)存會(huì)出錯(cuò),最終導(dǎo)致數(shù)據(jù)丟失、程序跑飛。


常見(jiàn)的踩坑場(chǎng)景,LPUART 在睡眠時(shí)收到了數(shù)據(jù),喚醒后立刻去讀接收 FIFO,但是此時(shí)外設(shè)時(shí)鐘還沒(méi)穩(wěn)定,波特率采樣異常,讀出來(lái)的數(shù)據(jù)全是錯(cuò)的。


喚醒后,中斷服務(wù)函數(shù)立刻啟動(dòng) DMA 傳輸,但是此時(shí) DMA 的時(shí)鐘和電源還沒(méi)恢復(fù),導(dǎo)致傳輸目標(biāo)地址錯(cuò)誤,改寫(xiě)了系統(tǒng)內(nèi)存,觸發(fā) hardfault。


喚醒后,RTOS 立刻調(diào)度任務(wù)執(zhí)行,任務(wù)里訪問(wèn) Flash 里的常量 / 代碼,但是 Flash 還沒(méi)喚醒,導(dǎo)致指令預(yù)取錯(cuò)誤,系統(tǒng)直接崩潰。


避坑方案

喚醒后的時(shí)序兜底,喚醒后的第一時(shí)間,先完成時(shí)鐘和電源域的穩(wěn)定,等待主頻、Flash、外設(shè)時(shí)鐘完全穩(wěn)定后,再開(kāi)中斷、處理外設(shè)數(shù)據(jù)、啟動(dòng)任務(wù)調(diào)度,絕對(duì)不能搶時(shí)序。

低功耗外設(shè)的時(shí)鐘源獨(dú)立,用于睡眠時(shí)接收數(shù)據(jù)的外設(shè)(比如 LPUART),必須使用睡眠時(shí)不停止的獨(dú)立時(shí)鐘源(比如外部 32.768kHz 晶振),確保睡眠時(shí)也能正確采樣數(shù)據(jù),喚醒后不會(huì)出現(xiàn)波特率不匹配的問(wèn)題。

先恢復(fù)配置,再處理數(shù)據(jù),喚醒后,先完成外設(shè)、DMA 的初始化和配置恢復(fù),再處理睡眠期間掛起的中斷標(biāo)志和接收數(shù)據(jù),避免操作未初始化的外設(shè)。

關(guān)鍵數(shù)據(jù)增加校驗(yàn)機(jī)制,對(duì)于低功耗場(chǎng)景下的通信數(shù)據(jù),增加 CRC 校驗(yàn)、長(zhǎng)度校驗(yàn),避免喚醒時(shí)序異常導(dǎo)致的數(shù)據(jù)錯(cuò)誤,引發(fā)后續(xù)的業(yè)務(wù)邏輯異常。

5


RTOS 內(nèi)核配置與移植的坑

很多低功耗問(wèn)題,從一開(kāi)始移植 RTOS、配置內(nèi)核的時(shí)候,就已經(jīng)埋下了隱患,后面再怎么調(diào)應(yīng)用代碼,都沒(méi)法徹底解決。


坑 1:Tick 定時(shí)器的時(shí)鐘源選錯(cuò),深度睡眠下系統(tǒng)直接停擺

進(jìn)入深度低功耗后,系統(tǒng)直接睡死,只有復(fù)位才能喚醒,哪怕設(shè)置了定時(shí)喚醒,也完全不生效。


絕大多數(shù) RTOS 的默認(rèn)移植,系統(tǒng) Tick 節(jié)拍定時(shí)器,用的都是 Cortex-M 內(nèi)核自帶的 SysTick 定時(shí)器。


而 SysTick 的時(shí)鐘源,是內(nèi)核的系統(tǒng)主頻,一旦進(jìn)入深度低功耗模式,內(nèi)核主頻會(huì)被關(guān)閉,SysTick 定時(shí)器會(huì)直接停止工作,既沒(méi)法計(jì)時(shí),也沒(méi)法喚醒系統(tǒng)。


很多工程師不知道這個(gè)底層特性,直接開(kāi)了 Tickless,用默認(rèn)的 SysTick 配置,結(jié)果進(jìn)入深度睡眠后,Tick 完全停了,喚醒后也沒(méi)法做時(shí)間補(bǔ)償,系統(tǒng)時(shí)間直接錯(cuò)亂,甚至調(diào)度器完全不工作。


避坑方案

深度睡眠場(chǎng)景,必須替換 Tick 定時(shí)器,如果產(chǎn)品需要進(jìn)入關(guān)閉內(nèi)核主頻的深度睡眠模式,絕對(duì)不能用 SysTick 作為系統(tǒng) Tick 定時(shí)器,必須重寫(xiě) RTOS 的 Tick 驅(qū)動(dòng),替換成低功耗定時(shí)器(LPTIM),其時(shí)鐘源來(lái)自睡眠時(shí)不停止的外部 32.768kHz 晶振,確保睡眠時(shí)也能正常計(jì)時(shí)和喚醒。

明確 Tickless 的時(shí)鐘依賴。Tickless 模式的核心,是睡眠時(shí)停止系統(tǒng) Tick,用獨(dú)立的低功耗定時(shí)器計(jì)時(shí),必須確保這個(gè)計(jì)時(shí)定時(shí)器,在所有低功耗模式下都能正常運(yùn)行,這是整個(gè)低功耗系統(tǒng)的基石。

坑 2:內(nèi)核低功耗配置不完整,Tickless 完全不生效

明明在配置文件里開(kāi)了 Tickless 的宏開(kāi)關(guān),但是系統(tǒng)根本不進(jìn)入 Tickless 模式,低功耗邏輯完全不執(zhí)行。


RTOS 的 Tickless 功能,不是開(kāi)一個(gè)宏就能生效的,有大量的配套配置和依賴項(xiàng),很多工程師只改了總開(kāi)關(guān),其他配置完全沒(méi)動(dòng),導(dǎo)致功能不生效。以最常用的 FreeRTOS 為例,常見(jiàn)的配置錯(cuò)誤。


只開(kāi)了configUSE_TICKLESS_IDLE = 1,但是沒(méi)有實(shí)現(xiàn)對(duì)應(yīng)的vPortSuppressTicksAndSleep函數(shù),內(nèi)核沒(méi)有地方執(zhí)行睡眠邏輯。


configEXPECTED_IDLE_TIME_BEFORE_SLEEP

配置不合理,導(dǎo)致系統(tǒng)很難滿足最小睡眠時(shí)長(zhǎng)的條件,Tickless 邏輯永遠(yuǎn)不觸發(fā)。


重寫(xiě)了vApplicationIdleHook空閑鉤子函數(shù),在里面加了阻塞操作或者耗時(shí)循環(huán),導(dǎo)致空閑任務(wù)永遠(yuǎn)走不到 Tickless 的執(zhí)行入口。


開(kāi)了configUSE_TICKLESS_IDLE,但是同時(shí)開(kāi)了內(nèi)核的調(diào)試功能、Trace 功能,這些功能會(huì)強(qiáng)制系統(tǒng)保持 Tick 運(yùn)行,禁止進(jìn)入低功耗模式。


避坑方案

嚴(yán)格遵循官方配置指南,按照 RTOS 官方的 Tickless 配置文檔,逐一核對(duì)所有相關(guān)的配置項(xiàng),不僅要開(kāi)總開(kāi)關(guān),還要完成配套的 port 層實(shí)現(xiàn)、時(shí)鐘配置、依賴項(xiàng)關(guān)閉。

保護(hù)空閑任務(wù)的執(zhí)行流程,空閑鉤子函數(shù)里,只能放極短的非阻塞操作,絕對(duì)不能加延時(shí)、信號(hào)量等待等阻塞調(diào)用,也不能放耗時(shí)的循環(huán),避免卡住 Tickless 的執(zhí)行入口。

調(diào)試 Tickless 的執(zhí)行流程,在 Tickless 的進(jìn)入、退出函數(shù)里,增加 GPIO 翻轉(zhuǎn)或者日志打印,確認(rèn)函數(shù)有沒(méi)有被正常調(diào)用,計(jì)算的睡眠時(shí)長(zhǎng)是否符合預(yù)期,有沒(méi)有被提前喚醒,快速定位不生效的原因。


RTOS 的低功耗設(shè)計(jì),從來(lái)不是簡(jiǎn)單開(kāi)個(gè) Tickless、調(diào)用個(gè)睡眠指令就能搞定的,它是一個(gè)貫穿內(nèi)核機(jī)制、任務(wù)設(shè)計(jì)、中斷管理、外設(shè)配置、硬件協(xié)同、測(cè)試驗(yàn)證的全鏈路系統(tǒng)工程。


很多時(shí)候,你踩的坑,本質(zhì)上是對(duì)RTOS 內(nèi)核調(diào)度原理和MCU 低功耗硬件機(jī)制的理解不到位,把 RTOS 的低功耗功能當(dāng)成了黑盒來(lái)用,自然會(huì)被各種隱性陷阱絆倒。


嵌入式開(kāi)發(fā)的核心競(jìng)爭(zhēng)力,從來(lái)不是能把功能跑起來(lái),而是能把底層的細(xì)節(jié)吃透,在資源受限的場(chǎng)景里,把性能、功耗、穩(wěn)定性做到極致。


與各位同行共勉。

點(diǎn)擊閱讀原文,更精彩~

美男子玩編程 多領(lǐng)域、有深度的開(kāi)發(fā)者交流平臺(tái)
評(píng)論
  • 一、LISN1、什么是LISNLISN:Line Impedance Stabilization Network 線路阻抗穩(wěn)定網(wǎng)絡(luò),它就是一種人工網(wǎng)絡(luò)AN,比如:V-LISN(V-AMN):最常用的類型,測(cè)量電源線與地之間的不對(duì)稱(共模)干擾電壓。T-LISN(T-ISN):用于測(cè)量對(duì)稱線(如雙絞線) 上的不對(duì)稱(共模)干擾電壓。Delta-LISN(Δ-LISN):一種 150Ω 的人工電源網(wǎng)絡(luò),用于特定場(chǎng)景。LISN在傳導(dǎo)發(fā)射測(cè)試中有三個(gè)關(guān)鍵作用:①提供穩(wěn)定阻抗:在射頻范圍內(nèi),為受試設(shè)備(D
    愛(ài)上電路設(shè)計(jì) 2026-07-28 13:24 213瀏覽
  • 三伏高溫,熱浪滾滾,筆記本電腦,尤其是游戲本,散熱情況就不容樂(lè)觀了。這不,一個(gè)朋友送來(lái)一臺(tái)聯(lián)想拯救者R9000P,就是發(fā)熱嚴(yán)重,反應(yīng)卡頓,要我檢修一下。那就閑話少說(shuō),拆機(jī)。這個(gè)機(jī)器后蓋還是比較好取下來(lái)的,先取下周圍的螺絲,再稍微撬一下,就可以打開(kāi)了。繼續(xù)拆下散熱組件:可以看到,CPU和顯卡上面的硅脂都已經(jīng)很干燥了:需要小心地清理掉散熱片上面的硅脂,讓CPU和顯卡芯片表面光亮,才能很好地散熱。如果太干燥了,就用酒精小心緩慢地清除掉。至于掉到了旁邊那些小元件上的硅脂就不要清理它了,免得把那些小元件弄
    四正電子 2026-07-28 20:54 359瀏覽
  • 一、霍爾電流采集11、單芯片介紹MLX91208 是一款采用 Tria?is? 霍爾技術(shù)的單片傳感器 IC。傳統(tǒng)平面霍爾技術(shù)僅對(duì)垂直于 IC 表面施加的磁通密度敏感。IMC-Hall? 電流傳感器對(duì)平行于 IC 表面施加的磁通密度敏感。這一特性是通過(guò)集成磁集中器(IMC-Hall?)實(shí)現(xiàn)的,該集中器作為額外的后端工藝步驟沉積在 CMOS芯片上。IMC-Hall? 技術(shù)已通過(guò)汽車級(jí)認(rèn)證。該產(chǎn)品是一款單芯片霍爾傳感器,其輸出信號(hào)與水平施加的磁通密度成正比,因此適用于電流測(cè)量。它非常適合用作開(kāi)環(huán)電流傳
    愛(ài)上電路設(shè)計(jì) 2026-07-30 14:51 174瀏覽
  • 摘要化工、鋰電振動(dòng)泵、攪拌設(shè)備布線必須搭配防爆撓性管緩沖位移,3 針 3 孔、4 芯、5PIN 小巧冷壓免焊接增安型防爆航插、8 芯焊接防爆法蘭插座等圓形防爆連接器若螺紋規(guī)格不匹配、省略密封墊片、螺紋纏繞生料帶,會(huì)出現(xiàn)管路縫隙滲水、靜電無(wú)法泄放,損傷防爆端子接頭、防爆電源接頭,導(dǎo)致防爆接近開(kāi)關(guān)航插、防爆傳感器航插接頭信號(hào)間歇性故障。本文分 M20/M25 兩種螺紋規(guī)格匹配規(guī)則,講解圓形防爆連接器與防爆撓性管成套密封、等電位接地全套工藝,糾正現(xiàn)場(chǎng)四大高頻裝配違規(guī)操作。關(guān)鍵詞:圓形防爆連接器,防爆撓
    用戶1783664076620 2026-07-28 13:23 237瀏覽
  •        電路中需要使用減速直流電機(jī)正反轉(zhuǎn),實(shí)現(xiàn)打開(kāi)和關(guān)閉的動(dòng)作。通常需要在打開(kāi)或關(guān)閉的位置設(shè)置檢測(cè)開(kāi)關(guān),到達(dá)后電機(jī)斷電或剎車。這樣設(shè)計(jì)的問(wèn)題是檢測(cè)失效到位也不能動(dòng)作。增加線路復(fù)雜度。如果使用檢測(cè)電機(jī)電流的方法,到位時(shí)電機(jī)負(fù)載增加,電流增加時(shí)斷電或剎車。簡(jiǎn)化設(shè)計(jì),提高可靠性。       硬件電路由 INA180 高側(cè)電流檢測(cè)放大器、XTM4208 直流電機(jī)驅(qū)動(dòng)芯片構(gòu)成;采用 0.5Ω 采樣電阻采集電機(jī)電流,IN
    southcreek 2026-07-29 17:00 276瀏覽
  • 一、3380熱敏電阻溫度阻值表表1 3380溫度阻值表▼例如:MF5A-103F-3380 型號(hào)的熱敏電阻,含義說(shuō)明如下表。表2 MF5A-103F-3380熱敏電阻名稱含義說(shuō)明MF5A型號(hào) 環(huán)氧封裝103常溫25度的標(biāo)稱阻值為10KF允許偏差為±1%3380B值 = 3380K那么表1 中的 Rp = 10k,T2 = 273.15℃+25℃,B = 3380,代入 T1 溫度就可以求出相應(yīng)溫度下熱敏電阻的阻值,注意:溫度單位的轉(zhuǎn)換。例如需要求得 +37℃ 的阻值,那么 T1 = 273.15
    愛(ài)上電路設(shè)計(jì) 2026-07-30 14:39 47119瀏覽
  •         很多人拆解醫(yī)療設(shè)備時(shí),只會(huì)關(guān)注傳感器、主控芯片這類核心部件,卻忽略了電路板上不起眼的晶振。作為整個(gè)醫(yī)療系統(tǒng)的時(shí)間基準(zhǔn),晶振的精度、穩(wěn)定性直接決定了測(cè)量數(shù)據(jù)的準(zhǔn)確性、設(shè)備的運(yùn)行安全性——比如監(jiān)護(hù)儀的采樣頻率偏了1ppm,血氧、心率的讀數(shù)就會(huì)出現(xiàn)系統(tǒng)性偏差;膠囊內(nèi)窺鏡的時(shí)鐘漂移超標(biāo),圖像傳輸就會(huì)出現(xiàn)丟包、花屏。不同醫(yī)療場(chǎng)景對(duì)晶振的要求天差地別,沒(méi)有一款晶振能通吃所有設(shè)備,每一類醫(yī)療設(shè)備背后,都有一套針對(duì)性的晶振選型邏輯。1. 家用便攜監(jiān)測(cè)設(shè)備:
    TKD泰晶科技 2026-07-31 08:24 215瀏覽
  • 信息摘要:很多做智能家居產(chǎn)品的工程師都有過(guò)這種經(jīng)歷,想給一個(gè)幾十塊錢的開(kāi)關(guān)面板加上語(yǔ)音控制,翻了一圈方案發(fā)現(xiàn)要么要外掛MCU,要么要獨(dú)立功放,電路板越畫(huà)越大,物料成本也跟著上去。WTK6900P這顆芯片的出現(xiàn),讓低成本智能家居的語(yǔ)音控制有了一個(gè)真正極簡(jiǎn)的落地路徑。本文從最小系統(tǒng)設(shè)計(jì)的角度,講清楚用WTK6900P搭一套能用的語(yǔ)音識(shí)別電路,到底需要哪些東西,怎么畫(huà)原理圖,以及新手最容易踩的幾個(gè)坑。一、為什么低成本智能家居適合用WTK6900P先說(shuō)結(jié)論,如果你的產(chǎn)品滿足下面這幾個(gè)條件,WTK6900
    唯創(chuàng)知音語(yǔ)音芯片 2026-07-29 15:13 305瀏覽
  • 近兩年“工業(yè)智能體”從行業(yè)熱詞快速變成制造企業(yè)升級(jí)剛需,國(guó)家政策加碼、地方補(bǔ)貼落地,但很多人仍有疑問(wèn):工業(yè)智能體和傳統(tǒng)工業(yè)AI有什么不同?為什么它的落地核心,一定在邊緣硬件?今天一文講透,看看成熟的邊緣控制單元,如何承接工業(yè)智能體的真實(shí)落地需求。到底什么是工業(yè)智能體?很多人把它等同于工業(yè)AI算法,其實(shí)二者有本質(zhì)區(qū)別。傳統(tǒng)工業(yè)AI是“單點(diǎn)工具”:視覺(jué)質(zhì)檢只負(fù)責(zé)報(bào)警、預(yù)測(cè)維護(hù)只輸出提示,后續(xù)的原因分析、方案制定、設(shè)備操作,全程要靠人收尾。而工業(yè)智能體是具備「感知 - 決策 - 執(zhí)行 - 反饋」完整閉
    飛凌嵌入式 2026-07-29 09:07 257瀏覽
  • 前一篇記錄了如何設(shè)置用戶或環(huán)境變量來(lái)讓TCL/TK可以自動(dòng)執(zhí)行編譯并運(yùn)行,使用了BATCH的方式。此時(shí)需要在用戶變量或者系統(tǒng)變量中的path中添加重要的兩條路徑,如前述,這兩條為:1. d:\Tcl\bin;2. %QUARTUS_ROOTDIR%\bin上述兩條分別指定了TCL與Quartus軟件的安裝目錄。如圖1所示,用戶變量中的path變量中保護(hù)了C:\Tcl\bin路徑,而Quartus安裝路徑,自動(dòng)添加都了系統(tǒng)變量QUARTUS_ROOTDIR之中,此時(shí)需要在用戶或
    coyoo 2026-07-30 14:44 168瀏覽
  • 電源圈里有一句話叫做:世界上最遙遠(yuǎn)的距離不是語(yǔ)言差異無(wú)法溝通,而是公式擺在面前不會(huì)運(yùn)用。公式不僅僅是數(shù)學(xué)或科學(xué)中的符號(hào)堆砌,它們往往是前人智慧和經(jīng)驗(yàn)的結(jié)晶,是對(duì)現(xiàn)實(shí)世界某種規(guī)律或現(xiàn)象的數(shù)學(xué)描述。下面,我將嘗試以一種較為通俗易懂的方式,解讀電源設(shè)計(jì)中的一些公式是如何得來(lái)的。充分地理解公式遠(yuǎn)不止于記住它的形式和計(jì)算結(jié)果。真正的要義在于融會(huì)貫通,在于從掌握走向自如運(yùn)用。1、濾波電容計(jì)算圖1.1 整流濾波電路及其波形(圖片來(lái)源于網(wǎng)絡(luò))為了方便計(jì)算,我們?nèi)∫粋€(gè)極端,假設(shè)電容一直處于放電狀態(tài),那么圖1.1(
    愛(ài)上電路設(shè)計(jì) 2026-07-30 14:55 167瀏覽
我要評(píng)論
0
點(diǎn)擊右上角,分享到朋友圈 我知道啦
請(qǐng)使用瀏覽器分享功能 我知道啦
主站蜘蛛池模板: 超级魔术师克里斯| 禁忌4年转一代| 恩娇韩剧电影完整版免费观看| 第22届金曲奖颁奖典礼| 我老婆的闺蜜ID中字| 太极张三丰粤语| 日本电影少女免费观看电影大全| 一愁愁电视剧免费观看完整版| 米林县| 好先生免费全集在线观看| 热舞情天| 聊斋狐仙电影在线观看| 宝儿only one| 刑警使命电视剧全集免费观看| 销售的销售秘密2免费观看高清版| 烧饼皇后下载| 朋友的妈妈二| 巜年轻的继拇》4| 山野女人香| 《无憾》电影完整版| 快播网吧电影| 绝色神偷蜘蛛被欺负完整版| 美国壮志凌云2011第八放映像 | 烈火军校电视剧免费观看| 需要爸爸播种2在线观看| 乒乓球男团决赛完整版| 《被拒绝的爱》泰剧免费观看| 卖百科全书的人完整版免费观看| 金瓶梅金瓶| 已婚妇女的下午啥时候上映| 韩剧火鸟下载| 激情小说电影网站| 姐妹牙医在线电影播放完整版中文 | 男生女生一愁愁愁电视剧在线观30分钟| 白百何益达广告完整版| 激战丛林无删减版| 水菜丽下马番号| 四大名捕| 满天星《炸天小姐》完整版在线观看 | 顾南绯秦宴小说全文免费阅 | 新潘金莲高清完整版| 铃芽之旅在线观看| 家庭矛盾麦乐迪| 如果声音记得你短剧免费观看| 男按摩师在线免费观看| 无颜之月迅雷下载| 韩剧保姆| 天使快播| 贞女烈女豪放女| 年轻人开始流行把超市当食堂 | 大四喜国语| 麦乐迪马克斯女超人| 男生女生免费完整版在线观看| 《美容院的特殊待遇》所有演员是谁| 雪狼谷百度影音| 铠甲勇士捕将全集| 棋牌| 新金瓶玉梅玥菲完整版| 19岁大学生真人观看电视剧美国| 易有三义| 跟部长出差电影| 熊出没新版| 一个雇佣兵和三个女人| 禁忌2年转一代禁忌| 危险动物未删减| 战狼女版6在线观看| 人体蜈蚣3 电影| 束缚游戏免费全集在线看| 妈祖电视剧全集爱奇艺| 财运智多星| 东城区| 魔道祖师第三季在线观看完整版| 爱我几何高清无删除版在线观看| 猎场大结局| 急救护士(成人版 | 光阴里的故事全集免费观看| 朝花若锦电视剧免费观看全集高清| 天龙八部免费观看在线完整版| 《21世纪爱情指南》视频| 酒后和朋友换娶妻中字3| 青蛇话剧| 兰西县| 中国远征军 下载| 女人滋味电影在线观看| 一只狗的使命| 小时代折纸时代电影| 真探第二季在线观看完整版| 电影敢死队| 电影姜汉娜《一对一》| 妈妈百度影音| 玛丽萨科满天星原版| 瑜伽起源真的很恶心| 电影《需要爸爸播种子》2| 金枝玉孽2| 我的土地我的家| 京胡独奏| 襄阳轴承| 女律师的堕落HD高清播放| 远古入侵第三季| 西班牙掌中之物第一季在线观看| 红高粱电视剧下载| 水咲萝拉白妖精| 爱我几何电影在线观看免费| 亿万第二季| ssis338最高の爱人沼在线完整| 朝花若锦电视剧免费观看全集高清| 黑道风云二十年第二部| 狮子王原版英文版免费观看| 《花嫁高柳家》动漫日漫全集| 星辰变超前点播| 女超人法国无删减版电影免费观看| 双枪李向阳 电视剧| 双面胶 电视剧| 兄弟战争4| 评书田连元| 年轻的母亲4在线观看天才视频| 圣斗士星矢剧场版1| 哎呀女朋友电影| 天火传说| 《天海翼商务旅行》电影在线观看| 疯狂店员2插曲| 瓜达卢佩的玫瑰未删减版| 漂亮的保姆韩国电影免费看| 妈妈的女儿| 出差遇上前任日剧| 赤裸的美奈子| 荒岛女儿国美版| 童话村手机在线观| 凌云志志法国满天星| 善恶无赦| 国风按摩院在线视频| 兄弟之道在线观看高清免费| 《法国空乘5》在线免费观看 | 我们的高清在线观看免费视频| 凯帕克的电影大全免费观看| 下辈子做你的女人电视剧| 朴妮唛下载| 金瓶梅1-5电影在线观看完整| 侠探杰克高清| 你妈妈也一样| 北方影院浴火之恋| 我要爸爸播种子电影在线观看| 巨神战击队主题曲| 爱我几何莫妮卡电影完整版| 圣域传说| 《花与蛇4·牙医之绳》| 旺角卡门| 韩国伦理片售楼小姐的秘密免费在线观看| 王力宏事件始末| 奇怪的美容院,2| 性工具酷刑虐女惨叫小说| 将军夫人:夫君护短全集免费 | 龙子太郎动画片免费高清版国语| 四名少妇按摩记电影| 二次元胸像气球越来越大的视频| 卡通电影三国志| 惊声尖笑5下载| tek-081| 进击的巨人6| 木匠奇事电视剧在线观看| 天美影院在线观看免费观看电视剧大全 | 侯门嫡女短剧全集| 梦醒时分粤语版| 最后的决战| 《瞒天过海:美人计》电影| 爱我几何电影在线观看免费| 缺宅男女大结局| 除却巫山电影无删减版| 斗罗大陆259集| 女子练瑜伽式骑车惊呆路人| 麦乐迪与父亲家庭矛盾在线观看| 调查韩国总统夫人的反腐官员身亡| 正在播放: 解决学生的性爱烦恼不穿内衣裤的美波老师硬硬教学 _美波汐里 - 91n | 我叫赵甲第电视剧| 原始女人| 哑巴薛之谦| 年下诱惑伴奏| 临汾市| 甄嬛传第71集| 少女大人第16集| 峡谷在线观看高清完整| 双女任务电影| 青楼十2房在线观看| 美国女儿要爸爸播种电影免费观看 | 零之使魔第五季| 需要爸爸的种子在线观看完整版| 《流浪地球1》高清免费看| 大内密探零零发电影完整免费观看| 电影芳香| 爱属我心高清| 灯草花和灯免费完整版| 向涟仓士献上纯洁| 人狗大战8集全集观看免费西瓜 | 情色五月天网站| 动漫《阿姨爱上我》续集免费观看| 电视剧归路免费观看全集高清版 | 正义联盟 彩蛋| 妻子的秘密按摩里面用的什么精油| 一场风花雪月的事电视剧| 狼心不轨| 小赫赫玩具| 小先知电视剧| 钢珠求救鸭去世了| 花儿与少年第5季| 田明建单手换弹夹| 沭阳县| 韩剧 白雪公主| kkkbo打不开| 年经姨妈3电影| 加勒比女海盗1| 情色99| 游泳| 电影恋爱的味道| 韩剧恋人主题曲| 山村机缘:下乡弃少短剧全集| 花好电视剧免费观看完整版| 谍影重重4高清完整版| 仙逆43| 凡人修仙传159集在线播放| 仙逆5200 59| 诱她曾辉短剧第二季| 妈妈的味道3中字电影| 霜花店在线观看完整版电影韩国| 唐宫美人天下全集| 网球王子128| 蜜桃成熟时1997免费观看| 骨语2电视剧免费观看全集| 僵尸道长在线观看| 樱花校园2021最新版下载| 声生不息宝岛季12期完整版| 《售楼小姐》1的秘密| 偷心俏佳人下载| 渔夫妻子意大利| 三线轮回电影完整版在线观看| 《急诊护士》法国版电影| 金装鬼打鬼未删减版观看| 韩国电影丈夫是小帅,丈夫领导是梅川| 我的世界电影在线观看免费| 神鬼战士1满星版| 回复术士的重来人生免费播放| 双女任务免费观看| 肉体的恶魔| 关之琳高尔夫| 海南省| 湖南省乌兰父亲| 《渔夫的荒野史记》在线观看免费| 美国电影免费看| 还是很爱她短剧全集免费观看 | 哇嘎电影观看免费网站| 俗女养成记| 房奴试爱开头| 隋唐英雄108| 爸爸的种子在线| 贝茨旅馆| 菲律宾《楼上楼下》| 皇家战士| 河源市| 韩国理论电影老公没在家别人修灯的电影| 《花与蛇牙医》在线观看| 婆婆来了剧情| 夫妻之间完整版免费韩国电影观看| 花非花雾非雾电视剧 全集| 恐龙 2000 电影| 仙逆第98集完整版播放| 你好,爱美丽| 恰恰电影在线观看动漫| 误判粤语抢先版在线观看| 回家的欲望电视剧全集| 斛珠夫人电视剧免费观看全集| 21世纪性格爱情指南全8集中文| 万能钥匙电影| 美国派9我爱熟女| 外交风云电视剧| 魔鬼终结者4| 隆昌县| 猪猪侠泡泡糖| 广岛罹难者的哀歌| 天子传奇2| 超级鉴定师| 黑鹰坠落满天星高能版| 回复术士的重启人生在线| 北越《性的暴行》2| 四虎影视最新网站入口在线观看| 韩剧蓝色隐形帽子的电影 | 酋长的女儿第二部| 恶魔幸存者第二季动漫| 斯巴达女勇士hr版| 金瓶梅bmp3视频| 白发电视剧| 延禧攻略洪尧| 疯狂之血| 《不好笑就露宿街头》| 头脑特工队2电影| 需要爸爸的种子 在线追剧| 《余罪2》全集在线观看| 刘兰芳评书打包下载| 辽宁卫视在线直播观看| 格斗之王2| 女神蒙上眼| 余罪第三季在线观看免费高清全集| 四重奏日剧| 白峰美羽无码播放| 五福临门电视剧免费观看全集高清 | 加勒比女海盗1-4集免费播放 | 《再来一次吧》高清版| 母亲4高清免费观看韩国| 贝拉电影在线| 新闻女王粤语免费观看| 武林风 直播| 好运家 电视剧| 部长出差的日子完整版| 《隔壁女邻居3》中文| 阿健要努力活着| 三民主义歌| 结婚吗好的电视剧| 酒店服务生满天星法版免费观看星辰影院 | 猫眼三姐妹中文版全集| 360大佬爱上我第三季| 纸新娘在线观看完整版| 法国护士长| 小草青青免费观看完整版| 战狼6免费观看在线播放完整版下载| 上海滩系列电影| 莫莉3酒店| 电影壮志凌云女版满天星法版在线看| 黄泉的使者全集观看| 播放电视剧小舍得| 你的婚礼免费观看| 免费看电视剧珠帘玉幕| 神话故事女娲造人| 和黑帮大佬在一起的365天| 以和为贵国语| 公主和妓女星克莱尔版在线观看 | 木下电影电影免费播放| 小林家的龙丫头:怕寂寞的龙电影 | 姐姐韩国电影免费观看 电影中文 陪你一起好好吃饭在线观看 | 《超人》| 家产争夺:我是继承人短剧全集| 妖妮大姐| 岛国中文字幕肉蔻之| 睫毛膏4美版免费观看| 公浮手中字20| 潮与虎动漫| 野花高清在线电影观看免费视频 | 白发魔女传电影| 新金瓶梅 电视剧| 可疑的美容院在线免费观看| 年轻人不懂如何谈恋爱第一季观看| 惊声尖笑3电影免费观看完整版| 欢乐叮当| 战至巅峰第三季2024年播出| 中国古典美女| 最新蛇片| 壮志凌云2011凯登版在线观看| 正方体怎么画| 等社长妻子| 禁止的爱:善良的小峓在钱| 月之晴天满天星版韩国| 《尖帽子的魔法工坊》| 斗罗大陆第142集免费观看完整版| 高清《钟表馆事件》电视剧| 步步惊心在线| 魅惑电影全集免费观看| 护士贝蒂| 韩剧漂亮的妈妈中字开头字| 漂亮儿媳妇结局| 美国的海棠红2| 韩国电影修车艳遇| 缅甸地图| 美国派4:美国重逢| 朋友的妈妈视频| 十八岁的天空2| 高清《跛豪》粤语完整版在线看| 巜商务旅行同行戴帽子的电影| 勇者王粤语| 郝板栗在线观看| 别和陌生人跳舞全集| 《爸爸种子2》| 在线观看神雕侠侣| 《军事不当行为》布兰迪在线观看| 金蝉脱壳| 台湾动感之星全集视频| 破产姐妹 第三季| 学生的妈妈5| 绝世红颜| 东方饭店| 善良的儿媳按摩店按摩电影| 新平凡的世界电视剧| 法国空姐四在线观看| 蛮好人生免费看看| 韩国伦理电影大全五月天| 激情社区在线观看| 电影《牙医姐妹》在线观看| 解药动画片全集在线观看| 电视剧大宅门全集| 老婆爱上我免费版观看电视剧| 千山暮雪28集| 爱情公寓11集| 全球投资者正重返中国| 蜂鸟电视剧| 三年大片大全免费国语版在线播放| 被拒绝的爱泰剧免费播放全集| 阿宾91| 电视剧小白菜奇案| 年轻的女学生味道HD| 乔布斯传电影| 瓜达卢佩的玫瑰免费在线观看| JEALOUSVUE第一次| 《维修工的艳遇》金美贤| 暖暖的味道| 暴躁少女在线观看免费版英文| 小美人鱼动画片| 我的女神oad| 路上有狼电视剧全集免费播放| 唐人街探案3国语版在线观看免费| 保险公司推销员2中字剧情简介| 谁是真英雄电视剧| 美国女儿要爸爸播种电视剧马| 冰雪奇缘百度影音| 成人桃色网| 男人和女人愁愁愁免费观看电视剧第9集| 少年包青天2部| 需要爸爸播种籽2| 机器人危机| 下水道的美人鱼qvod| 地狱究竟有几层在线观看电影| 甄嬛传49| 2对一商务服务| 永不磨灭的番号搜狐| 《逆袭之爱上情敌》电视剧| 廖凡宿敌电视剧免费观看全集| 《白蛇:浮生》正片免费观看| 《裸乳按摩》在线免费观看| 我的后半生免费观看完整版电视剧| 龙江县| 五月天 电影| 《我的漂亮老师2| 水润女人韩剧免费观看| 法国空乘理论5HD| 韩剧办公室蓝色隐身帽子女主叫什么| 夺命权限韩剧在线观看| 风声电视剧免费完整版观看| 我的吸血鬼男友免费观看完整版| 电影《天空》完整版| 满天星《沙漠》在线观看| 医生手指滑进我的下身视频| 海之声如如| 京圈太子爷短剧免费观看| 黑衣人3电影| 年轮影视在线观看| 电视剧50玫瑰| 晚安,为我而眠的妹妹| 钱塘传奇电视剧| 主君的太阳| 庆余年第2部| 有匪电视剧在线观看全集| 图书馆的女朋友在线观看完整免费版第五集| 仓井肉欲| 遇见璀璨的你免费观看| 战狼6免费高清| 我的朋友和儿子有关系| 在线播放:SSPD-128 怪盜 女蝶 天海翼-凌辱快感 - 国产高清传媒 | 龙门镖局优酷| 刘国梁马琳喊醒陈梦| 水灵的继拇BD中字3 | 湖南卫视风云| 青青珊瑚岛| 香港 三 电影| 下水道美人鱼在线| 言情片《邻家女人:丈夫不在的日子》HD无字免费高清在线观看完整版_tvb云播 | 梦幻妖子全集| 女帝归来:美男通通闪开全集免费| 铿铿铿锵锵锵锵免费观看人民| 东北往事之黑道风云二十年| 大叔在线观看| 聊斋艳谈百度影音| 高清《内衣办公室》日本| ZZ QWEATZ2| 唐朝好男人电视剧40| 九妹mv| 牙医姐妹高清完整版在线| 朋友的姐姐 720p| 美丽水蜜蜂| 丁丁历险记电影| 2019free 18HD| 电影《孽缘情迷》在线观看| 朋友的妈妈2在完整有限中字第5| 吗吗朋友吗e| 残梦电影完整版| 盗墓笔记在线观看免费| 韩剧《不懂女人》全集完整版| 小猪佩奇mp3| 小小之少女16| 你是我的荣耀官宣| 东京卍复仇者| 公浮之手2023| 全职高手9高清樱花动漫免费观看| 电影《汤唯》在线观看国语| 《猎罪图鉴》第二部| 爱人的谎言 电视剧| 高圆圆高清免费观看| 周生如故在线观看| 《卢旺达的玫瑰》| 沉香如屑电视剧40集全| 二胡独奏曲赛马| 我的漂亮朋友瘦子4演员表| 程凯博士| 李献计历险记插曲| 托梦一注6个号| 女子在洱海裸泳 警方介入| 公与媳3| 邻家姐姐在线观看| 悬案电视剧| 美艳的房东太与阿宾| 杨玉环的故事| 血誓电视剧全30集| 《角头:斗阵欸》| 新萧十一郎| 朝国的继4| 山河令演唱会免费观看| 奶油柠檬| 青涩体现意大利| 极恶非道2 字幕| 全球热恋粤语QVOD| 青瓶梅电视剧在线观看免费| 花样少年少女| 完美女人电影| 隐形帽子韩国| 西野翔作品番号| 豺狼的日子| ふたりは无敌在线观看免费| 变异巨蟒在线播放| 夫妻交换电影| 冲上云霄第一部粤语| 五福临门电视剧全集在线观看| 一起愁愁30集全集免费看| 少林扫地僧| 陆小凤传奇4| 四位少妇按摩记在线观看 | 周弘的《村枝》在线观| 男得有爱 电影| 二战电影大全国语版| 浮之公手4| 电影法国空乘2019满天星法版 | 坂本真绫 铃村健一| 欺诈游戏2| 美容院特殊待遇4| 大叔不太囧| 麦家琪偷窃无罪| 幸福爱人电视剧全集| 《驯服小峓子》2在线观看| 百灵潭电视剧| 开放刺激的一对一视频交友| 哇嘎视频在线免费观看| 追妻场:天价前妻全集免费| 行尸走肉电视剧| 美国版本女儿国电影| 爱的创可贴结局| 丁度电影在线| 97播放| 因为有爱| 幻城 电视剧| 卖百科全书的女人电影完整版| 百度战曲| 灵台县| 非常小特务3国语版| 姐姐的朋友16| 台湾版《新婚之喜》完整版| 冲锋21| 李德印42式太极剑| 浮之手中字12| 五十度灰电影完整版第二部未删版| 东安县| 昆池岩精神病院| 国足vs澳大利亚直播在线观看| 欲望的火花电视剧| 电视连续剧六姐妹剧情介绍| 全金属外壳 电影| 《刺青》| 清楼十二房| 姨母辅导高清版| 高压监狱2法版1小时43分| 三国创世录| 侯门嫡女谋略:定乾坤短剧全集 | 冷血人狼| 东京漂移| 雪中悍刀行电视剧上映| 镖行天下之龙骑禁军| 四位少妇按摩记在线观看| 《小麦进城》免费看| 山村机缘:下乡弃少短剧全集| 《八尺夫人意大利满天星》完整版伦| 归路全集免费观看完整版| 东西向洞2| 兴山县| 杰西·简啄木鸟| 试婚电影| 巴啦啦小魔仙之音符之谜免费观看| 金银悔1-5国语高清免费看| 太九在线观看免费版电视剧 | 插曲60分钟高清免费| 电影《猛龙》国语版| 绝对权力剧情| 妖魔道之神仙学堂免费版| 需要爸爸来播种在线观看完整版中文版 | 三基培训网| 三位大学位按摩记角色分析及角色分| 民国奇探| 电视剧生死卧底| 女版战狼6免费观看全片影院| 一个小山村的故事| 变形金刚2国语版| 水菜丽下马番号| 《理发:特殊待遇》孙婉| 冰雪尖刀连在线观看| 春心荡漾369| 刘墉语录| 俄罗斯伦理(播种)| 时光正好电视剧| 风流才子纪晓岚插曲| 爱我几何《莫妮卡》免费看| 女保险公司推销员8中字的特点| 公之浮之中字5| 少先队队歌教唱| 老公的下属电影| 龚玥菲在线观看免费| 推理要在晚餐后电影| 越来越好村晚| 《塞伦三部曲》在线观看| 天空之城钢琴曲教学| 勐垅沙免费| 玉女心经 舒淇| 女律师的堕落完整版| 重庆地震最新消息今天2022| 两个人的视频在线观看| 三年中国中文高清免费观看 | 满天星超人女超人免费观看| 一舞倾城粤语在线观看| 只爱你一个| 壮志凌云女版啄木鸟满天星法版免费| 新还珠格格大结局| 缺宅男女大结局| 天体浴场xxxx| 外卖员的特殊待遇在线观看| 新安家族电视剧| 《定风波》电视剧| 木下电影完整版| 西班牙电影《火腿火腿》| 《杉杉来了》在线观看完整版 | 嗜血狂魔2012| 李连杰的全部电影| 粉江大白菜完整版观看| 甄嬛传第76集| 黑帮大佬和我的365天 第二| 双瞳电影| overflower在线免费观看| 同志亦凡人电影| 高清《地狱来的芳邻》电视剧| 女孩地铁晕倒大便失禁女子帮清理 | 黑白配电影高清在线观看| 女律师的陨落免费观看完整版| 新版马永贞电视剧| 明里柚《和部长一起去出差旅》中文| 《兄妹》电影完整版| 她们的爱| 战狼6免费观看在线成人版| 不一样的美男子电视剧| 阿拉善左旗| 致命快感| 飞虎 国语版| 不会恋爱的我们| 唐伯虎在线vlog免费观看全集中文| 玉蒲团全集在线观看| 黑暗领域存档| v酒店第一季完整版| 香港 三 电影| 爱在春天电视剧免费观看| 甄嬛传54集| 朝国年经继拇2| 一眉道人电影| 想你爱你更恨你美国版| 视频| 战狼6免费观看在线播放完整版视频软件下载 | 爱没那么简单 黄小琥| 傻王闯天下主题曲| 爱我几何未删除| 娄艺潇新恋情曝光| 张若昀人之初在线观看| 给岳肚子播种怀孕| 姐妹奴厉| 齐天大性之大破盘丝洞| 克莱尔的迷宫电影在线| 七尺男儿| 我的我的.| 《新人类毒医肥尸》在线观看 | 《overflower》动漫第1季免费观看全集动| 谁说我纨绔不羁短剧| 天天躁狂AAAA| 明明是个碍事配角却被王子给宠爱| 麦乐迪美剧| 韩国队提前庆祝被中国台北绝杀| 傲剑至尊国语| 《我的游泳女教练》免费| 乡村爱情交响曲4| 笔仙咒怨| 禁室培欲下载| 《康体水疗》凯帕克电影免费播放| 终结者5创世纪| 菠萝菠萝电影| 电视连续剧夫妻那些事| 特殊美容室待遇5| 奸魔者| 哆啦a梦伴我同行2| 松药局家的儿子们| 顾冠忠金瓶梅| 《和讨厌的部长出差旅》电影在线观看 | 爱我几何删减版在线观看高清| 第八个嫌疑人原型人物| 爱不爱都是错| 法国夫妇俱乐部第二季剧情简介| 疼不疼不疼我继续了| 女明星们的按摩师免费观看| 鹦鹉杀免费完整观看高清| 水电工的艳遇韩国| 天涯热土电视剧全集免费观看| 听不见的爱短剧免费观看| 《修理工的艳遇》| 吾乃皇太子免费阅读| 您好母亲大人| 我的小姨| 特殊保险公司推销员8| 小猪佩奇的午夜后宫游戏下载| 道道道在线国语高清| 暴走三金| 商务旅行戴绿帽子在线观看 | 一个女被3个男人轮流打耳光| 陪部长出差的电影叫什么名字| 高清《女囚》电影| 日本年轻丰满的继牳2| 再来一次第7集| 达州市| 杀杀人跳跳舞| 幻影行动| 沐浴之王演员| 极速60秒| 替丈夫还债电影高清完整版免费观看 | 绝代艳星宝莲的一生| 爸爸我需要播种| 国产电影《突袭》在线观看| 毛尖的好处| 《康体水疗》1978完整版视频 | 男女一起愁愁愁视频在线观看 | 一场美味的飞行欢迎回来观看 | 我为卿 狂| 意大利版泰山hr版| 海角七号百度影音| 红箭 电视剧| 长女的幸福生活全集| 我的游泳女教练在线播放| 电影黑三角| 长相思杨紫免费观看电视剧全集| 特殊的治疗室1-6| 丈母娘来了全集免费看| 砚床完整版免费| 伸冤人1免费观看高清版| 巡回检察组43| 《炽道》电视剧| 水润女人刘志贤主演的作品| 尖峰电视剧全集在线观看| 血战少林寺电影完整版在线观看| 钓鱼网红周翠翠夫妇离世 | 胶囊旅馆未删减版樱花| 女教师被黑人强伦轩| 女子护卫队1973| 狐妖小红娘电视剧免费观看完整版| 大唐好男人电视剧| 国风按摩院1-5季全部演员表| 需要爸爸来播种免费观看| 幻城电视剧| 雷神4爱与雷霆| 手机影院:丈夫的部下| 电视剧密战| 煎饼侠 电影| 法国空姐原版大片观看| 恶魔高校2| 全度妍下女| 陪部长出差的日子全集在线观看| 美国式禁忌1百度影音| 河南林州通报男子举报公检法| 后宫甄嬛传19| 50岁阿姨电视剧全集免费观看| 长空雄鹰| 动漫在线观看鬼父完整版动漫| 六扇门系列电影| 战狼6免费下载完整版| 猪猪侠之囧囧危机| 孙静雅快播| 赵本山小品相亲| 哪吒2魔童闹海免费播放| 姨妈战狼10| 变形金刚2国语版免费观看| 外景拍照姿势| 河南信阳的五大名菜分别是什么| 南郑县| 捆绑轮奸电影| 灵魂摆渡2 电视剧| 哪吒闹海动画片| 金刚狼1迅雷下载| 高清《祝你好运》电影在线观看国语| 猎狐·行动在线完整免费观看高清| 小姨子在线观看| 甄嬛传电视剧免费全集在线观看| 高清《满意度》电影完整版| 蒋玲玲版《渔夫的荒野史》电影| 私生活电影| 长相思第二季免费播放全集| 交换朋友夫妻客厅互换4韩国| 《机长空姐的秘密》在线观看| 理想之城在线| 《人与动物》丹麦纪录片| 铜铜钢铿锵锵锵锵锵锵免费观看高清| 热血街头| 漂亮妹妹在线观看免费高清电视剧| 恋爱捕手| 瓜达卢佩的玫瑰电影| 木下檀檩子视频博放| 美国队长4免费观看完整版| 龙日一 你死定了2| 拔苗助长免费| 《特殊的治疗》2李采潭中文| 意大利《原始人的爱》| 绿茶婊微电影| 老农民60集完整版电视剧| 儿子的妻子中字头| 瓜达卢佩的玫瑰在线观看免费版,中文| 天降女子动漫| 近距离爱上你免费在线观看完整版| 聊斋先生全集| 从结婚到恋爱| 法老荒史在线观看免费版高清 | 魔乳秘剑帖全集| 耶稣受难记| 女律师的堕落在线观看| 混战两姐妹4免费观看中文版| 妈妈的朋友4在线看| 妻子的谎言电视剧全集| 闪婚五十岁短剧全集播放免费观看| 大兵的寝室在线观看| 三年中国在线观看免费观看第二集下| 命运石之门mp4下载| 僵尸先生国语高清|