91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM8S_ 006_AWU自動喚醒

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-20 10:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

AWU是STM32中沒有的功能

寫在前面 Ⅰ

在某些低功耗的設(shè)備中,需要設(shè)備進(jìn)入低功耗,且又需要間隔一定時間喚醒MCU,就需要有這么一個定時“AWU自動喚醒”的功能。

在STM32中實現(xiàn)上面功能,常見的操作就是使用RTC來實現(xiàn)。但RTC每次進(jìn)入低功耗之前都需要配置一下RTC,而STM8獨特的AWU功能只需要簡單的初始化配置即可。

為方便大家閱讀,本文內(nèi)容已經(jīng)整理成PDF文件:

http://pan.baidu.com/s/1i5uWhJR

AWU基礎(chǔ)知識 Ⅱ

AWU:Auto WakeUp,即自動喚醒

AWU是用來當(dāng)MCU進(jìn)入低功耗的活躍停機(jī)(Active Halt)模式時提供一個內(nèi)部的喚醒時間基準(zhǔn)。該時間基準(zhǔn)的時鐘是由內(nèi)部的低速RC振蕩器時鐘(LSI)或者通過預(yù)分頻的HSE晶振時鐘來提供的。

LSI低速內(nèi)部時鐘測量

在使用LSI低速內(nèi)部時鐘時,為了確保最好的精度,它的頻率可以通過TIM3的輸入捕捉1來測定。

AWU操作

為了使用AWU功能,按順序執(zhí)行如下步驟:

1. 使用AWU_CSR寄存器的MSR位和TIM1/3的輸入捕捉通道1來檢測LS的時鐘頻率(對精度要求不高,該步驟可省略);

2. 通過寫AWU_APR的APR[5:0]位來定義適當(dāng)?shù)念A(yù)分頻值;

3. 通過寫AWU_TBR的AWUTB[3:0]來選擇需要的自動喚醒延時;

4. 置位AWU_CSR 的AWUEN位;

5. 執(zhí)行HALT指令。

提示:

計數(shù)器僅僅在HALT指令之后MCU進(jìn)入活躍停機(jī)模式時才開始計數(shù)(請參考電源管理的活躍停機(jī)模式章節(jié)), AWU中斷同時被使能。

預(yù)分頻計數(shù)器僅僅在APR[5:0]值不同于它的復(fù)位值0x3F值時才開始計數(shù)。

LSI低速內(nèi)部時鐘頻率檢測

在經(jīng)過出廠校驗后,在全溫度范圍內(nèi)低速內(nèi)部RC(LSI)振蕩器的頻率離散性是128 kHz +/-12.5%。為了獲得精確的AWU時間間隔或者蜂鳴器輸出,必須精確測量LSI頻率。本文提供的兩個工程代碼中有一個是校正過的,有一個沒有校正。

可采用如下的步驟:

1. 將AWU_CSR的MSR位置1來把LSI的內(nèi)部時鐘連接到TIM1/3定時器的ICAP1;

2. 通過定時器的輸入捕捉中斷來測量LSI的時鐘頻率;

3. 到向AWU_APR的 APR [5:0] 位寫入一個適當(dāng)?shù)闹祦碚{(diào)整AWU定時間隔到期望的時間間隔。AWUTB[3:0]位可以被更改來選擇不同的時間間隔。

軟件工程源代碼 Ⅲ

1、關(guān)于工程

本文提供的工程代碼是基于前面軟件工程“STM8S_Demo”增加AWU修改而來。初學(xué)的朋友可以參看我前面對應(yīng)的基礎(chǔ)文章,那些文章講的比較詳細(xì)。

工程源代碼主要實現(xiàn)功能:配置AWU定時1秒,讓MCU從停機(jī)模式自動喚醒,改變LED狀態(tài);然后又進(jìn)入停機(jī)模式,以此循環(huán)下去。

本文重點講述關(guān)于AWU的內(nèi)容:

AWU_LSICalibrationConfig:LSI低速內(nèi)部時鐘校正配置

AWU_Init:AWU初始化配置

2.代碼分析說明

A.AWU_LSICalibrationConfig:時鐘校正配置

關(guān)于時鐘的校正,如果要求不是很高,可以省略該步驟。從上面的說明可以看得出來,是通過定時器來實現(xiàn)的。

我們提供例程通過TIM1/3捕獲功能(該功能在后面文章會講述)測量LSI的時鐘,具體請看我提供例程的“AWU_LSIMeasurement”函數(shù),該函數(shù)測量得到的LSI時鐘,結(jié)合“AWU_LSICalibrationConfig”函數(shù)即可校正。

B.AWU_Init(AWU_TIMEBASE_1S):定時1秒AWU

通過上面的描述,大家或許初學(xué)的朋友還不能完全理解(上面的描述是針對寄存器的描述),但可以通過代碼很直接的明白其意思,我們這里結(jié)合的是ST提供的標(biāo)準(zhǔn)外設(shè)庫,具體可以跟蹤代碼看見,其實里面的內(nèi)容就是上面所描述的。

void AWU_Initializes(void)

{

AWU_LSICalibrationConfig(AWU_LSIMeasurement());

AWU_Init(AWU_TIMEBASE_1S);

enableInterrupts();

}

提示:

很多人不明白為什么這里要配置中斷?

其實細(xì)心的朋友會發(fā)現(xiàn)寄存器“控制/狀態(tài)寄存器 (AWU_CSR)”中的“AWUEN自動喚醒使能位”,這一位的功能如下:

此位由軟件置位和清零。由此位使能自動喚醒功能。如果MCU進(jìn)入Active-halt或 Wait 模式,則自動喚醒模塊按照預(yù)先編程設(shè)置延時一段時間喚醒MCU。

0:禁止自動喚醒功能

1:使能自動喚醒功能

因此,我們還需要在中斷函數(shù)(stm8s_it.c)里添加代碼:

INTERRUPT_HANDLER(AWU_IRQHandler, 1)

{

AWU_GetFlagStatus();

}

這一句主要的功能是清除標(biāo)志位。

下載 Ⅳ

STM8S資料:

http://pan.baidu.com/s/1o7Tb9Yq

軟件源代碼工程(STM8S-A06_AWU自動喚醒xxx):

http://pan.baidu.com/s/1c2EcRo0

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Auto
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    15776
  • PDF
    PDF
    +關(guān)注

    關(guān)注

    1

    文章

    177

    瀏覽量

    36087
  • STM8S
    +關(guān)注

    關(guān)注

    16

    文章

    149

    瀏覽量

    32660
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    德州儀器PTD08A006W:高性能數(shù)字電源模塊的卓越之選

    德州儀器PTD08A006W:高性能數(shù)字電源模塊的卓越之選 在電子工程師的日常工作中,選擇合適的電源模塊對于設(shè)計的成功至關(guān)重要。今天,我們來深入了解一下德州儀器(TI)推出的PTD08A006W數(shù)字
    的頭像 發(fā)表于 03-04 17:10 ?107次閱讀

    STM8S207xx/STM8S208xx:高性能8位MCU的深度剖析

    STM8S207xx/STM8S208xx:高性能8位MCU的深度剖析 在當(dāng)今復(fù)雜多變的電子世界中,選擇一款合適的微控制器(MCU)對于產(chǎn)品的成功至關(guān)重要。STM8S207xx和STM
    的頭像 發(fā)表于 02-28 14:50 ?115次閱讀

    深入剖析 CLC006:高速電纜驅(qū)動器的卓越之選

    深入剖析 CLC006:高速電纜驅(qū)動器的卓越之選 在電子工程領(lǐng)域,高速電纜驅(qū)動器是實現(xiàn)穩(wěn)定數(shù)據(jù)傳輸?shù)年P(guān)鍵組件。今天,我們將深入探討德州儀器(Texas Instruments)的 CLC006 高速
    的頭像 發(fā)表于 01-04 15:10 ?388次閱讀

    【應(yīng)用】電子血壓計中數(shù)字壓力傳感器US6330-006-S的優(yōu)勢應(yīng)用

    的US6330-006-S數(shù)字MEMS壓力傳感器,憑借其高集成度、數(shù)字輸出與內(nèi)置安全機(jī)制,為現(xiàn)代電子血壓計提供了一站式的高精度壓力檢測解決方案。US6330-006-S適用于電子血
    的頭像 發(fā)表于 12-31 12:04 ?290次閱讀
    【應(yīng)用】電子血壓計中數(shù)字壓力傳感器US6330-<b class='flag-5'>006-S</b>的優(yōu)勢應(yīng)用

    CW32 RTC自動喚醒定時器計數(shù)周期的計算

    自動喚醒定時器計數(shù)周期由計數(shù)時鐘源和重載寄存器 RTC_AWTARR 決定,定時時長計算公式為: 自動喚醒定時器定時周期 = (RTC_AWTARR+1)/
    發(fā)表于 12-23 08:29

    什么是自動喚醒定時器

    CW32F030 內(nèi)部集成 1 個自動喚醒定時器 (AWT),AWT 包含一個 16bit 向下計數(shù)器,并由一個可編程預(yù)分頻器驅(qū)動。AWT 可選 5 種計數(shù)時鐘源,可工作于定時模式或計數(shù)模式。當(dāng)
    發(fā)表于 12-11 07:24

    TC10管理:虹科10BASE-T1S方案高效管控ECU休眠/喚醒

    虹科Technica深耕汽車以太網(wǎng)領(lǐng)域,基于OPEN Alliance TC10標(biāo)準(zhǔn),推出10BASE-T1S網(wǎng)絡(luò)接口卡,一站式解決「低功耗、快喚醒、易測試」三大痛點,無需額外布線與復(fù)雜開發(fā),直接適配汽車場景的嚴(yán)苛需求。
    的頭像 發(fā)表于 11-12 17:40 ?663次閱讀
    TC10管理:虹科10BASE-T1<b class='flag-5'>S</b>方案高效管控ECU休眠/<b class='flag-5'>喚醒</b>

    虹科分享 | TC10管理:虹科10BASE-T1S方案高效管控ECU休眠/喚醒

    虹科10BASE-T1S接口卡TC10喚醒/休眠控制汽車以太網(wǎng)需兼顧「即時響應(yīng)」與「低功耗」——駕駛員解鎖車門、啟動引擎時,網(wǎng)絡(luò)必須毫秒級喚醒;但ECU持續(xù)待機(jī)又會導(dǎo)致電池過度消耗,直接影響車輛續(xù)航
    的頭像 發(fā)表于 11-12 17:02 ?1419次閱讀
    虹科分享 | TC10管理:虹科10BASE-T1<b class='flag-5'>S</b>方案高效管控ECU休眠/<b class='flag-5'>喚醒</b>

    FII-PRA006/010使用說明

    電子發(fā)燒友網(wǎng)站提供《FII-PRA006/010使用說明.pdf》資料免費下載
    發(fā)表于 07-28 16:19 ?0次下載

    ICF-PRA006-010_V1.0_R0.3電路圖資料

    ICF-PRA006-010_V1.0_R0.3原理圖?
    發(fā)表于 07-28 16:16 ?1次下載

    ICF-PRA006-010硬件參考指南

    電子發(fā)燒友網(wǎng)站提供《ICF-PRA006-010硬件參考指南.pdf》資料免費下載
    發(fā)表于 07-28 16:15 ?0次下載

    什么是 K8S,如何使用 K8S

    Kubernetes(簡稱K8S)是一個用于管理容器化應(yīng)用程序的開源平臺。以下是關(guān)于K8S及其使用方法的介紹: 一、什么是 K8S 核心特點 自動化容器編排:
    發(fā)表于 06-25 06:45

    歐姆龍發(fā)布開關(guān)電源S8VK-N

    2025年4月,歐姆龍自動化(中國)有限公司發(fā)布新品【開關(guān)電源S8VK-N】。在延續(xù)經(jīng)典S8VK系列穩(wěn)定可靠性能的基礎(chǔ)上,通過小型化設(shè)計、適應(yīng)嚴(yán)苛環(huán)境、安裝靈活等升級,為工業(yè)自動化、新
    的頭像 發(fā)表于 04-21 15:30 ?1104次閱讀
    歐姆龍發(fā)布開關(guān)電源<b class='flag-5'>S8</b>VK-N

    FS26和S32K3可以正常喚醒,當(dāng)添加與SJA1110的通信時,喚醒過程會卡在斷言錯誤處,為什么?

    FS26 和 S32K3 可以正常喚醒,但當(dāng)添加與 SJA1110 的通信時,喚醒過程會卡在斷言錯誤處: "GMAC_DEV_ASSERT((Bd-&gt;Des3
    發(fā)表于 04-14 08:02

    FA8-220S05D2 FA8-220S05D2

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)FA8-220S05D2相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有FA8-220S05D2的引腳圖、接線圖、封裝手冊、中文資料、英文資料,F(xiàn)A8-220S05D2真值表,F(xiàn)A
    發(fā)表于 03-18 18:45
    FA<b class='flag-5'>8-220S</b>05D2 FA<b class='flag-5'>8-220S</b>05D2