新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM8 自動喚醒AWU

        STM8 自動喚醒AWU

        作者: 時間:2016-11-11 來源:網絡 收藏
        簡介

        AWU是用來當MCU進入低功耗的活躍停機(Active Halt) 模式時提供一個內部的喚醒時間基準。該時間基準的時鐘是由內部的低速RC振蕩器時鐘(LSI)或者通過預分頻的HSE晶振時鐘來提供的。
        LSI 時鐘測量
        在使用LSI低速內部時鐘時,為了確保最好的精度,它的頻率可以通過TIM3的輸入捕捉1 來測定。
        AWU 時鐘框圖

        本文引用地址:http://www.104case.com/article/201611/316709.htm

        AWU功能描述
        AWU 操作
        為了使用AWU功能,按順序執行如下步驟:
        1. 使用AWU_CSR寄存器的MSR位和TIM3的輸入捕捉通道1來檢測LS的時鐘頻率;
        2. 通過寫AWU_APR 的APR[5:0]位來定義適當的預分頻值;
        3. 通過寫AWU_TBR 的AWUTB[3:0]來選擇需要的自動喚醒延時;
        4. 置位AWU_CSR 的AWUEN 位;
        5. 執行HALT指令。
        注意: 計數器僅僅在HALT指令之后MCU進入活躍停機模式時才開始計數(請參考電源管理的活躍停機模式章節),AWU中斷同時被使能。
        預分頻計數器僅僅在APR[5:0] 值不同于它的復位值0x3F值時才開始計數。
        空閑模式

        如果不使用AWU,必須載入‘0000’值到AWU_TBR 的AWUTB[3:0]位來降低功耗

        時基選擇
        請參考AWU_PAR 和AWU_TBR 的說明。
        AWU的時間間隔取決于 AWUTB[3:0] 位的值和 APR[5:0] 位的值 (APRDIV),可以定義15種不重疊的時間間隔, 如下所示:
        AWUTB[3:0] 選擇


        為了獲得AWUTB[3:0]和APRDIV的正確值,用戶必須根據期望的時間間隔值來找出一個對應的間隔范圍,從而找出對應的AWUTB[3:0]值。然后選擇APRDIV的值來得到一個盡可能接近期望的時間間隔值。這個也可以使用AWU_TBR 描述中列出的公式獲得。
        注意: 如果目標值在或者之間時,必須選擇更靠近目標的那個值。
        當 fLS=128 kHz ,目標時間是 78.5 ms 時的一個例子

        正確的TB[3:0] 值是 1001 , “ 理想的。因此可以分配給 APR DIV 的值就是 39 ,這樣給定的實際的間隔時間是 78 ms。

        LSI 低速內部時鐘頻率檢測
        在經過出廠校驗后,在全溫度范圍內低速內部RC(LSI)振蕩器的頻率離散性是128 kHz +/- 12.5% 。為了獲得精確的AWU時間間隔或者蜂鳴器輸出,必須精確測量LSI頻率。
        可采用如下的步驟:
        1. 將AWU_CSR 的MSR位置1來把LSI的內部時鐘連接到TIM3定時器的ICAP1 ;
        2. 通過定時器的輸入捕捉中斷來測量LSI的時鐘頻率;
        3. 到向AWU_APR 的 APR [5:0] 位寫入一個適當的值來調整AWU定時間隔到期望的時間間隔。
        AWUTB[3:0]位可以被更改來選擇不同的時間間隔。
        LSI的時鐘頻率測量方法也可以被用來校準蜂鳴器的頻率



        關鍵詞: STM8自動喚醒AW

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 桑植县| 阳信县| 上饶市| 武城县| 濉溪县| 应用必备| 佛冈县| 玉环县| 金寨县| 酒泉市| 长治市| 镇宁| 克拉玛依市| 中方县| 博爱县| 东宁县| 芜湖县| 互助| 长阳| 福贡县| 湖北省| 垣曲县| 夏河县| 宜川县| 旺苍县| 榆社县| 安西县| 太和县| 安多县| 黄山市| 水富县| 牡丹江市| 西宁市| 惠东县| 吴旗县| 印江| 城市| 广灵县| 秦皇岛市| 绥滨县| 辽中县|