色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分享STM32定時器輸出比較模式的理解

GReq_mcu168 ? 2018-01-15 08:49 ? 次閱讀

初學STM32,我這個地方卡了很久,現在終于有些明白了,現在把我的理解寫下與大家共享,如果有不對的地方,還請指出。

TIM_OCMode選擇定時器模式。該參數取值見下表:

分享STM32定時器輸出比較模式的理解

TIM_OCInitStructure.TIM_Pulse = CCR1_Val; //設置跳變值,當計數器計數到這個值時,電平發生跳變

TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable); //使能TIMx在CCR1上的預裝載寄存器 TIM_ARRPreloadConfig(TIM3, ENABLE); //使能TIMx在ARR上的預裝載寄存器

OCxREF就是一個參考信號,并且約定:OCxREF=1,稱OCxREF有效。反之,OCxREF=0,稱OCxREF無效;‘1’電平(高電平)稱為OCxREF的有效電平,‘0’ 電平(低電平)稱為OCxREF的無效電平。——依據參考手冊:The output stage generates an intermediate waveform which is then used for reference:OCxRef (active high). The polarity acts at the end of the chain.(翻譯)輸出階段產生一個中間波形OCxRef(高有效)作為參考。輸出信號的極性體現在信號鏈的末端。

現在解釋幾個名詞之間的關系:

分享STM32定時器輸出比較模式的理解

然后來理解輸出比較的幾個模式(PWM模式是輸出比較模式的特例)查看TIMx_CCMR1寄存器的OC1M域,有如下定義(摘自最新版的參考手冊

翻譯如下:000:凍結——輸出比較寄存器TIMx_CCR1中的內容與計數器TIMx_CNT中的內容之間的比較對輸出無影響。(此模式用于時基的生成)001:當匹配時,設置通道1為有效電平。當計數器TIMx_CNT中的內容與捕捉/比較寄存器1(TIMx_CCR1)中的內容相匹配時,強行拉高OC1REF 信號。010:當匹配時,設置通道1為無效電平。當計數器TIMx_CNT中的內容與捕捉/比較寄存器1(TIMx_CCR1)中的內容相匹配時,強行拉低OC1REF 信號。011:翻轉——當TIMx_CNT= TIMx_CCR1時,OC1REF信號取反。100:強制無效電平——強行拉低OC1REF 信號。101:強制有效電平——強行拉高OC1REF 信號。110:PWM模式1——向上計數模式中,只要TIMx_CNT< TIMx_CCR1,通道1有效,反之無效。向下計數模式中,只要TIMx_CNT> TIMx_CCR1,通道1無效(OC1REF=0),反之有效(OC1REF=1)。110:PWM模式2——向上計數模式中,只要TIMx_CNT< TIMx_CCR1,通道1無效,反之有效。向下計數模式中,只要TIMx_CNT> TIMx_CCR1,通道1有效,反之無效。我用紅色標出了提到有效、無效的地方。不難發現,有效與無效分別對應OC1REF=1和OC1REF=0。這正是我們先前約定的結果。到此,不同模式下輸出比較的結果對OC1REF信號的影響已經很清楚了,但是最終的輸出信號是OC1,并不是OC1REF。而且前面有一句話(輸出信號的極性體現在信號鏈的末端)還未做解釋。到底OC1REF與OC1之間有何秘密呢?我們來看下面這個圖:

顯然,我們只關心紅色圈內的信號與方框內的寄存器位以及信號在它們之間是如何傳播的。oc1ref從輸出模式控制器(Output mode controller)開始,分為兩路,上面一路至主模式控制器(To the master mode controller),這里我們不關心它的去向,我們關心的是下面一路,下面一路在進入雙路開關之前又被分成了兩路——一路是原信號,一路是原信號的非。顯然TIMx_CCER中的CC1P位用來控制這個開關,CC1E位控制著整條信號鏈的通斷。當CC1P=0時(CC1E=1):

當CC1P=1時(CC1E=1):

分享STM32定時器輸出比較模式的理解

很顯然,OC1與OC1REF的關系只受CC1P的影響(CC1E=1)

然而參考手冊上對CC1P位是這么描述的:

CC1P=0時:OC1高電平有效CC1P=1時:OC1低電平有效根據本文開篇的名詞解釋,可以這么理解:CC1P=0時:OC1有效電平是高電平CC1P=1時:OC1有效電平是低電平這時就迷惑了,這個高電平有效和低電平有效是啥意思呢?我們從頭分析(整個過程CC1E=1,OC1的輸出是允許的):①假定OC1REF有效(OC1REF=1),那么從OC1REF到OC1的整條信號鏈上的信號都是有效信號,我們稱OC1輸出了有效信號。那這個有效信號是高電平還是低電平呢?這就是由CC1P決定的:

分享STM32定時器輸出比較模式的理解

②假定OC1REF無效(OC1REF=0),那么從OC1REF到OC1的整條信號鏈上的信號都是無效信號,我們稱OC1輸出了無效信號。無效信號的高電平和低電平也是由CC1P決定:分享STM32定時器輸出比較模式的理解

OC1REF CC1P 功能 OC1 描述
0 0 OC1高電平有效 0(低電平) 無效
1 OC1低電平有效 1(高電平) 無效
1 0 OC1高電平有效 1(高電平) 有效
1 OC1低電平有效 0(低電平) 有效

顯然,OC1REF決定了OC1輸出電平是否有效,而CC1P決定了有效電平的極性。我們抽出上表的后四列

CC1P 功能 OC1 描述
0 OC1高電平有效 0(低電平) 無效
1 OC1低電平有效 1(高電平) 無效
0 OC1高電平有效 1(高電平) 有效
1 OC1低電平有效 0(低電平) 有效

我們將表按1、2列合并:

CC1P 功能 OC1 描述
0 OC1高電平有效 0(低電平) 無效
OC1高電平有效 1(高電平) 有效
1 OC1低電平有效 0(低電平) 有效
OC1低電平有效 1(高電平) 無效

現在很清楚了,從上表中可以清楚地看到CC1P對OC1有效極性的控制。即,OC1的極性只有與CC1P指定的有效極性一致,OC1才能是有效的(綠色部分)。這樣就解釋了“輸出信號的極性體現在信號鏈的末端”這句話。然而這條鏈還未結束,還有個CC1E呢。當然,它就是一個OC1輸出使能位而已。但細心的你可能會發現,參考手冊上對CC1E位有這樣的描述:

分享STM32定時器輸出比較模式的理解

OCx = OCxREF + Polarity這個式子告訴我們OCx與OCxREF和Polarity(極性,即CCxP位)的關系。我們上面提到了它們的關系,是分了兩種情況(CC1P=0和CC1P=1)表示的,這個式子幫我們將上面關系歸納成了一個。這個式子怎么得來的?回憶一下數字電路里面的半加器(就是不進位的加法),真值表如下:

OCxREF Polarity OCx
0(無效) 0(高有效) 0(無效)
0(無效) 1(低有效) 1(無效)
1(有效) 0(高有效) 1(有效)
1(有效) 1(低有效) 0(有效)

我們寫邏輯函數(按黃色部分寫):

注意:前面的“+”號表示半加運算(不進位加法),其實是邏輯上的“異或”。

OC1連接到TIMx_CH1上,而TIMx_CH1是復用的。可在參考手冊上定時器功能復用部分找到。下面給出一些定時器功能復用的表格:

分享STM32定時器輸出比較模式的理解

分享STM32定時器輸出比較模式的理解

分享STM32定時器輸出比較模式的理解

分享STM32定時器輸出比較模式的理解

分享STM32定時器輸出比較模式的理解

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2270

    文章

    10910

    瀏覽量

    356645
  • 定時器
    +關注

    關注

    23

    文章

    3252

    瀏覽量

    115040

原文標題:STM32定時器輸出比較模式中的疑惑

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    總結一下定時器的幾種輸出比較模式

    最近有接觸到通過可控硅的方式來控制交流風機或者電烙鐵功率,STM32定時器輸出比較模式,剛好可以滿足這種需求,借此機會總結一下
    的頭像 發表于 07-21 16:17 ?3.3w次閱讀
    總結一下<b class='flag-5'>定時器</b>的幾種<b class='flag-5'>輸出</b><b class='flag-5'>比較</b><b class='flag-5'>模式</b>

    STM32定時器輸出一路PWM

    STM32定時器輸出一路PWM(控制LED燈的亮度)STM32定時器具有強大的功能,今天的輸出
    發表于 08-04 07:21

    關于定時器輸出比較模式中的電平理解

    關于定時器輸出比較模式中提到的有效電平、無效電平、高電平有效、低電平有效的理解。參考捕獲/比較
    發表于 01-06 06:34

    STM32定時器基本計數原理解

    STM32的TIM定時器分為三類:基本定時器、通用定時器和高級定時器。從分類來看就知道STM32
    發表于 12-27 16:20 ?1.8w次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>定時器</b>基本計數原<b class='flag-5'>理解</b>析

    淺談stm32定時器應用中的2個疑問

    在使用STM32通用或高級定時器比較輸出時,如果采用中心對齊計數模式做PWM輸出,并使用
    的頭像 發表于 01-28 10:14 ?4375次閱讀
    淺談<b class='flag-5'>stm32</b><b class='flag-5'>定時器</b>應用中的2個疑問

    單片機 | STM32定時器比較輸出切換模式之應用實例

    定時器比較輸出切換實現任意波形之實例。
    的頭像 發表于 06-04 14:08 ?7573次閱讀
    單片機 | <b class='flag-5'>STM32</b><b class='flag-5'>定時器</b><b class='flag-5'>比較</b><b class='flag-5'>輸出</b>切換<b class='flag-5'>模式</b>之應用實例

    [STM32]通用定時器的使用

    STM32的通用定時器定時輸出PWM功能的使用本次還是使用發光二極管來驗證定時器的使用目錄STM32
    發表于 11-22 19:06 ?24次下載
    [<b class='flag-5'>STM32</b>]通用<b class='flag-5'>定時器</b>的使用

    STM32定時器-基本定時器

    ,分為基本定時器,通用定時器和高級定時器。基本定時器 TIM6 和 TIM7 是一個 16 位的只能向上計數的定時器,只能
    發表于 11-23 18:21 ?31次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>定時器</b>-基本<b class='flag-5'>定時器</b>

    stm32定時器

    STM32 定時器(基于HAL庫)l 16位的向上、向下、向上/向下(中心對齊)計數模式,支持自動重裝載l 16位的預分頻l 每個定時器
    發表于 11-23 18:21 ?0次下載
    <b class='flag-5'>stm32</b>之<b class='flag-5'>定時器</b>

    STM32-通用定時器-PWM輸出

    捕獲、輸出比較、PWM輸出、單脈沖模式輸出等。STM32
    發表于 11-26 15:36 ?23次下載
    <b class='flag-5'>STM32</b>-通用<b class='flag-5'>定時器</b>-PWM<b class='flag-5'>輸出</b>

    STM32-通用定時器-定時器中斷

    )。他們之間的區別情況見下表: 定時器種類 位數 計數模式 產生DMA請求 捕獲/比較通道 互補
    發表于 11-26 15:36 ?16次下載
    <b class='flag-5'>STM32</b>-通用<b class='flag-5'>定時器</b>-<b class='flag-5'>定時器</b>中斷

    STM32定時器單脈沖輸出模式

    STM32定時器單脈沖輸出模式
    發表于 12-08 20:51 ?48次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>定時器</b>單脈沖<b class='flag-5'>輸出</b><b class='flag-5'>模式</b>

    【捕獲比較模式】msp430定時器比較捕獲理解

    MSP430的定時器中有比較捕獲的概念,剛剛接觸非常生疏。看了半天終于清楚: 比較模式: 這是定時器的默認
    發表于 12-16 16:55 ?10次下載
    【捕獲<b class='flag-5'>比較</b><b class='flag-5'>模式</b>】msp430<b class='flag-5'>定時器</b><b class='flag-5'>比較</b>捕獲<b class='flag-5'>理解</b>

    STM32定時器的幾種輸出模式

    最近有接觸到通過可控硅的方式來控制交流風機或者電烙鐵功率,STM32定時器輸出比較模式,剛好可以滿足這種需求,借此機會總結一下
    的頭像 發表于 01-12 16:49 ?5817次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>定時器</b>的幾種<b class='flag-5'>輸出</b><b class='flag-5'>模式</b>

    stm32定時器輸出比較模型翻轉電平驅動步進電機

    這一篇來講講stm32當中主要控制步進電機的方法,也就是通過配置我們的定時器模式來進行對定時器的IO來進行電平翻轉實現輸出脈沖。
    發表于 03-23 13:48 ?3次下載
    <b class='flag-5'>stm32</b><b class='flag-5'>定時器</b><b class='flag-5'>輸出</b><b class='flag-5'>比較</b>模型翻轉電平驅動步進電機
    主站蜘蛛池模板: 高清日本片免费观看| 99在线视频免费观看视频| 国产精品日本不卡一区二区| 小xav导航| 精品视频中文字幕| 99国内精品久久久久久久清纯| 手机在线免费看毛片| 久久青草在线视频精品| 成人在线免费| 伊人久久电影院| 少妇无码太爽了视频在线播放 | 狠狠色综合久久婷婷| 99久久久无码国产AAA精品| 亚洲 日韩 欧美 国产专区| 在线看片av以及毛片| 日本人的xxxxxxxxx69| 黄得让人湿的片段| 成人在线免费视频| 最新国产精品福利2020| 亚洲成人精品| 日韩亚洲欧美中文高清在线| 久久精品亚洲AV高清网站性色| 贵妃高h荡肉呻吟np杨玉环 | 艳照门在线播放| 少妇伦子伦精品无码| 男人扒开添女人下部口述| 狠狠色狠狠色综合日日91app| vagaa哇嘎黄短片| 一级毛片在线免费视频| 色综合 亚洲 自拍 欧洲| 免费人成视频19674不收费| 后式大肥臀国产在线| 国产AV天堂亚洲AV麻豆| jlzzzjizzzjlzzz亚洲| 综合色中色| 一个人的免费完整在线观看HD| 污污内射在线观看一区二区少妇| 欧美日韩亚洲综合2019| 六六影院午夜伦理| 九九精品视频一区二区三区| 国产亚洲精品精华液|