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

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

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

3天內不再提示

基于Cortex-A9的PWM

GReq_mcu168 ? 來源:玩轉單片機 ? 作者:玩轉單片機 ? 2021-02-14 15:04 ? 次閱讀

一、什么是PWM

PWM,英文名Pulse Width Modulation,是脈沖寬度調制縮寫,它是通過對一系列脈沖的寬度進行調制,等效出所需要的波形(包含形狀以及幅值),對模擬信號電平進行數字編碼,也就是說通過調節占空比的變化來調節信號、能量等的變化,占空比就是指在一個周期內,信號處于高電平的時間占據整個信號周期的百分比,例如方波的占空比就是50%.

4e6d4fb4-56fc-11eb-8b86-12bb97331649.png

二、PWM信號輸出輸出和作用

1. 如果要實現PWM信號輸出如何輸出呢?

1)可以直接通過芯片內部模塊輸出PWM信號,前提是這個I/O口要有集成的pwm控制器,只需要通過對應的寄存器即可,這種自帶有PWM輸出的功能模塊在程序設計更簡便,同時數據更精確。

2)但是如果IC內部沒有PWM功能模塊,或者要求不是很高的話可以利用I/O口設置一些參數來輸出PWM信號,因為PWM 信號其實就是一高一低的一系列電平組合在一起。具體方法是給I/O加一個定時器,對于你要求輸出的PWM信號頻率與你的定時器一致,用定時器中斷來計數,但是這種方法一般不采用,除非對于精度、頻率等要求不是很高可以這樣實現。

2. PWM信號應用

PWM信號把模擬信號轉化為數字電路所需要的編碼,現在基本是采用數字電路,因此在很多場合都采用PWM信號。

我們經常見到的就是交流調光電路,也可以說是無級調速,高電平占多一點,也就是占空比大一點亮度就亮一點,占空比小一點亮度就沒有那么亮,前提是PWM的頻率要大于我們人眼識別頻率,要不然會出現閃爍現象。

除了在調光電路應用,還有在直流斬波電路、蜂鳴器驅動、電機驅動、逆變電路、加濕機霧化量等都會有應用。

三、蜂鳴器

蜂鳴器廣泛用于計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產品中作發聲器件。

蜂鳴器分為壓電式及電磁式的二大類:

壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。它是以壓電陶瓷的壓電效應,來帶動金屬片的振動而發聲;

電磁式的蜂鳴器,由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產生的音頻信號電流通過電磁線圈,使電磁線圈產生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發聲。通電時將金屬振動膜吸下,不通電時依振動膜的彈力彈回。

有源蜂鳴器, 只要給它加上恒定的電壓, 就能發聲;無源蜂鳴器, 必須給它加上一定頻率的方波或正弦波才能發聲

有源蜂鳴器內部帶震蕩源,所以一通電就會叫。而無源內部不帶震蕩源,所以如果用直流信號無法令其鳴叫。

有源蜂鳴器往往比無源的貴,就是因為里面多個震蕩電路。

【優點】無源蜂鳴器的優點是:

便宜

聲音頻率可控,可以做出“多來米發索拉西”的效果。

在一些特例中,可以和LED復用一個控制口有源蜂鳴器的優點是:

程序控制方便 。

應用:電風扇、收音機的聲音按鈕、任何模擬值都可以使用PWM進行編碼

四、fs4412電路圖

本例采用fs4412開發板,pwm外接了一個蜂鳴器BUZZER,電路圖如下:

4edd9648-56fc-11eb-8b86-12bb97331649.png

從上面電路圖可知:

該BUZZER是無源蜂鳴器,如果要想發出聲音,需要正負極產生電流變化,我們通過生成方波,從而實現圖中三極管1->2周期性導通和關閉來讓BUZZER倆邊電壓產生變化,從而實現電流變化;

三極管的基極連接的是SOC的GPD0_0引腳;

產生方波我們借助的是PWM,標號為MOTOR_PWM。

繼續查找MOTOR_PWM:

4f13c24a-56fc-11eb-8b86-12bb97331649.png

由上圖可知,MOTOR_PWM連接的是PWM的XpwmTOUT0,和LCD一起復用引腳GPD0_0,

去datasheet繼續查看GPD0_0說明,

4f467596-56fc-11eb-8b86-12bb97331649.png

由上圖可知,GPD0_0配置由寄存器的GPD0CON[3:0]位控制,要想作為PWM輸出,要設置為TOUT_0即0x2。

同時也可以看到,該引腳還可以設置為外部中斷信號[EXT_INT6]功能即0xF。

五、Exynos 4412 PWM

概述

Exynos 4412 SCP有五個32位脈沖寬度調制(PWM)定時器。這些定時器產生內部中斷對于ARM子系統。此外,定時器0、1、2和3包括驅動外部I/O的PWM功能信號。定時器0中的PWM有一個可選的死區發生器功能,以支持大量的設備。定時器4是一個沒有輸出引腳的內部定時器。

定時器使用APB-PCLK作為源時鐘。定時器0和1共享可編程8位預分頻器為PCLK提供第一級分頻。定時器2、3和4共享不同的8位預分頻器。每個計時器都有它自己的專用時鐘分頻器,提供第二級時鐘劃分頻(預分頻器除以2、4、8或16)。

每個定時器都有它的32位遞減計數器;定時器時鐘驅動這個計數器。定時器計數緩沖寄存器(TCNTBn)加載遞減計數器的初始值。如果遞減計數器達到零,它將生成計時器中斷請求,通知CPU定時器操作完成。如果定時器下降計數器達到零,相應TCNTBn的值自動重新加載到下一個循環開始。但是,如果定時器停止,例如,在定時器運行模式下,通過清除TCONn的定時器使能位,TCNTBn的值將不會重新加載到計數器中。

PWM功能使用TCMPBn寄存器的值。定時器控制邏輯改變輸出電平下計數器值與定時器控制邏輯中比較寄存器的值相匹配。因此,比較寄存器決定PWM輸出的開啟時間或關閉時間。

每個定時器都是雙緩沖結構,帶有TCNTBn和TCMPBn寄存器,允許定時器參數在周期中更新。新值在當前計時器周期完成之前不會生效。

Exynos PWM定時器的特性

1)5個32位定時器;

2)2個8位PCLK分頻器提供一級預分,5個2級分頻器用來預分外部時鐘;3)可編程選擇PWM獨立通道。

4)4個獨立的可編程的控制及支持校驗的PWM通道。

5)靜態配置:PWM停止;

6)動態配置:PWM啟動;

7)支持自動重裝模式及觸發脈沖模式;

8)一個外部啟動引腳。

9)兩個PWM輸出可帶Dead-Zone 發生器。

10)中斷發生器。

PWM內部模塊圖

4f863e9c-56fc-11eb-8b86-12bb97331649.png

工作的步驟:

當時鐘PCLK被使能后,定時器計數緩沖寄存器(TCNTBn)把計數器初始值下載到遞減計數器中。

定時器比較緩沖寄存器(TCMPBn)把其初始值下載到比較寄存器中,并將該值與遞減計數器的值進行比較。當遞減計數器和比較寄存器值相同時,輸出電平翻轉。

遞減計數器減至0后,輸出電平再次翻轉,完成一個輸出周期。這種基于TCNTBn和TCMPBn的雙緩沖特性使定時器在頻率和占空比變化時能產生穩定的輸出。

每個定時器都有一個專用的由定時器時鐘驅動的16位遞減計數器。當遞減計數器的計數值達到0時,就會產生定時器中斷請求來通知CPU定時器操作完成。當定時器遞減計數器達到0的時候,如果設置了Auto-Reload 功能,相應的TCNTBn的值會自動重載到遞減計數器中以繼續下次操作。

然而,如果定時器停止了,比如在定時器運行時清除TCON中定時器使能位,TCNTBn的值不會被重載到遞減計數器中。

TCMPBn 的值用于脈沖寬度調制。當定時器的遞減計數器的值和比較寄存器的值相匹配的時候,定時器控制邏輯將改變輸出電平。因此,比較寄存器決定了PWM 輸出的開關時間。

舉例

下面我們舉個實例來看下,

4fd245da-56fc-11eb-8b86-12bb97331649.png

初始化寄存器 TCNTBn = 159 (50 + 109) ,TCMPBn =109.

開啟定時器: 通過設置TCON的開啟位.寄存器TCNTBn 的值159將自動加載到遞減寄存器down-counter, 同時輸出引腳TOUTn 設置為低電平.

當down-counter 的值遞減打破和寄存器TCMPBn 的值109相同時, 輸出引腳將從低拉到高.

當down-counter遞減到0時, 產生一個中斷請求.

如果我們設置成autoreload模式,那么down-counter會自動加載TCNTBn的值到down-counter,開啟新的一個周期。

我們可以通過設置TCNTBn、TCMPBn來控制占空比,而每個pwm周期后都可以重新設置新的值到TCNTBn、TCMPBn,我們通過精確的計算來設置TCNTBn、TCMPBn的值并通過設置dead zone我們可以設計出各種復雜的矩形波。

如下圖所示:

50482638-56fc-11eb-8b86-12bb97331649.png

本例我們只需要產生規則的舉行方波即可,所以我們只需要設置占空比為50%即可。

六、寄存器

由第四章可知,我們使用PWM控制器的timer 0,對應的寄存器組如下圖所示:

508633ec-56fc-11eb-8b86-12bb97331649.png

1、TFCG0

定時器配置寄存器0(TFCG0) ,主要用于預分頻設置。

50ae142a-56fc-11eb-8b86-12bb97331649.png

我們是timer 0,所以只需要設置該寄存器的bite【7:0】即可,最終的輸出頻率和value的公式如下:

50d54a04-56fc-11eb-8b86-12bb97331649.png

參考24.3.1節:

50fce3d4-56fc-11eb-8b86-12bb97331649.png

其中方波的頻率必須在音頻范圍內,也就是20Hz到20KHZ之間, 但是20Hz到20KHZ的頻率送給蜂鳴器后, 只有某一點的頻率是最響的, 這個頻率稱為蜂鳴器的諧振頻率, 離它越遠, 蜂鳴器發出的聲音越輕。

所以Prescaler 0 value值應該設置為255,divider value 應該是1/16,值由TCFG1設置。

PWM.TCFG0=PWM.TCFG0&(~(0xff))|0xf9;

2、TCFG1

定時器配置寄存器1(TCFG1) 主要用于PWM定時器的divider value設置。

5130fbce-56fc-11eb-8b86-12bb97331649.png

由上一節分析,秩序設置TCFG1 bite【3:0】為0100即0x2即可。

PWM.TCFG1=PWM.TCFG1&(~(0xf))|0x2;

3、TCON

timer控制寄存器TCON

515c08dc-56fc-11eb-8b86-12bb97331649.png

bite[3] : 設置定時器是只執行一個周期(One-shot)還是周期執行(auto-reload)

bite[1]: 置為1,則更新TCNTB0 、TCMPB0 的值

bit[0]:開啟或者停止定時器

針對不同操作,我們可以設置不同的值:

裝載

PWM.TCON=PWM.TCON&(~(0xff))|(1<

開啟定時器,蜂鳴器響

PWM.TCON=PWM.TCON&(~(0xff))|(1<

關閉定時器,蜂鳴器滅

PWM.TCON=PWM.TCON&(~(1<

4、TCNTB0

定時器計數緩沖寄存器(TCNTB0)根據測算,設置為100

519ad49a-56fc-11eb-8b86-12bb97331649.png

TCNTB0

PWM.TCNTB0=100;

5、TCMPB0

定時器比較緩沖寄存器(TCMPB0 )設置為50,占空比為50%

51e79eb0-56fc-11eb-8b86-12bb97331649.png

PWM.TCMPB0=50;

責任編輯:xj

原文標題:基于Cortex-A9的pwm詳解

文章出處:【微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請注明出處。

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

    關注

    114

    文章

    5214

    瀏覽量

    215883
  • CORTEX-A9
    +關注

    關注

    0

    文章

    38

    瀏覽量

    35532
  • 無源蜂鳴器
    +關注

    關注

    0

    文章

    42

    瀏覽量

    11234

原文標題:基于Cortex-A9的pwm詳解

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

收藏 人收藏

    評論

    相關推薦

    帶四核Arm Cortex-A57和四核Arm Cortex-A53 CPU的RZ/G2H超高性能微處理器數據手冊

    具有超高處理性能的四核 Arm?Cortex?-A57(1.5GHz)和四核 Arm Cortex-A53(1.2GHz)CPU,具有 3D 圖形和4K 視頻編碼器 / 解碼器。作為本產品的軟件平臺
    的頭像 發表于 03-12 17:59 ?185次閱讀
    帶四核Arm <b class='flag-5'>Cortex-A</b>57和四核Arm <b class='flag-5'>Cortex-A</b>53 CPU的RZ/G2H超高性能微處理器數據手冊

    基于嵌入式人工智能的高速圖像處理的微處理器RZ/A2M數據手冊

    ):Cortex-A9 內核,最高頻率 528 兆赫茲(MHz) 電壓:3 伏特(V)至 3.6 伏特(V) 封裝:272 至 324 引腳
    的頭像 發表于 03-11 15:54 ?172次閱讀
    基于嵌入式人工智能的高速圖像處理的微處理器RZ/<b class='flag-5'>A</b>2M數據手冊

    Arm Cortex-A320 CPU助力嵌入式設備實現高能效AI計算

    Arm Cortex-A320 是目前最小型的 Armv9-A 架構 CPU。得益于該處理器的推出,開發者現在能有更多選擇決定如何處理物聯網邊緣人工智能 (AI) 工作負載。然而,面對多樣化的選擇
    的頭像 發表于 02-27 17:17 ?372次閱讀
    Arm <b class='flag-5'>Cortex-A</b>320 CPU助力嵌入式設備實現高能效AI計算

    詳解Arm Cortex-A320 CPU的特性

    Arm Cortex-A320 CPU 的推出具有重要的里程碑意義。作為首個基于 Armv9 架構的超高能效 CPU,這一突破性的處理器為功耗有限的設備引入了此前僅在尖端移動計算解決方案中使用的先進功能,使其在人工智能 (AI) 處理、安全性和整體能效方面均實現了顯著提升
    的頭像 發表于 02-27 17:13 ?475次閱讀

    Arm發布基于Armv9架構的Cortex-A320處理器

    邊緣 AI 需要更卓越的計算性能、更強大的安全性,以及更出色的軟件靈活性。隨著軟件愈發復雜化,Armv9 架構應運而生,以提供先進的機器學習 (ML) 和 AI 功能,并具備增強的安全特性。該架構現已在 Cortex-A3xx 的超高能效系列實現,為新一代邊緣 AI 應用
    的頭像 發表于 02-27 17:10 ?404次閱讀

    一個基于Cortex的單片機專為USB耳機設備設計的USBCodec芯片

    USBCodec芯片 - CJC6811A是一款基于Cortex的單片機,專為USB耳機設備而設計。它集成了一個32位的RISC CPU和16KB的SRAM、USB、UART、IIC、音頻編解碼器、GPIO、定時器、WDT、PWM
    的頭像 發表于 01-15 09:41 ?233次閱讀
    一個基于<b class='flag-5'>Cortex</b>的單片機專為USB耳機設備設計的USBCodec芯片

    MHMF084A1A9M-MINAS A6N系列 介紹 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF084A1A9M-MINAS A6N系列 介紹相關產品參數、數據手冊,更有MHMF084A1A9M-MINAS A6
    發表于 12-09 18:59
    MHMF084<b class='flag-5'>A1A9</b>M-MINAS <b class='flag-5'>A</b>6N系列 介紹 松下

    Cortex-A55 處理器到底什么來頭?創龍教儀一文帶您了解

    。 Cortex-A55:同樣支持多核配置,但通常會有更高的核心數,如八核架構。在頻率方面,也會根據具體實現有所不同。 國產Cortex-A55處理器廠家 芯馳科技 芯馳科技是一家專注于車規級芯片的半導體公司,其X9系列
    發表于 12-03 17:00

    MHMF044A1A9M-MINAS A6N系列 介紹 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF044A1A9M-MINAS A6N系列 介紹相關產品參數、數據手冊,更有MHMF044A1A9M-MINAS A6
    發表于 10-18 19:11
    MHMF044<b class='flag-5'>A1A9</b>M-MINAS <b class='flag-5'>A</b>6N系列 介紹 松下

    智能機械臂人臉識別特效丨國產Cortex-A55人工智能實驗箱案例分享

    智能機械臂人臉識別特效丨國產Cortex-A55人工智能實驗箱案例分享
    的頭像 發表于 08-30 13:03 ?664次閱讀
    智能機械臂人臉識別特效丨國產<b class='flag-5'>Cortex-A</b>55人工智能實驗箱案例分享

    MHMF024A1A9M-MINAS A6N系列 介紹 松下

    電子發燒友網為你提供Panasonic(Panasonic)MHMF024A1A9M-MINAS A6N系列 介紹相關產品參數、數據手冊,更有MHMF024A1A9M-MINAS A6
    發表于 08-27 18:31
    MHMF024<b class='flag-5'>A1A9</b>M-MINAS <b class='flag-5'>A</b>6N系列 介紹 松下

    國產Cortex-A55高性能人工智能實驗箱機械臂姿態識別案例

    國產Cortex-A55高性能人工智能實驗箱機械臂姿態識別案例
    的頭像 發表于 07-19 08:32 ?378次閱讀
    國產<b class='flag-5'>Cortex-A</b>55高性能人工智能實驗箱機械臂姿態識別案例

    為什么更推薦Cortex-A55教學實驗箱?我來告訴您!

    丨國產嵌入式芯片,助力“中國芯”工程!TL3568-PlusTEB是一款基于瑞芯微RK3568國產化處理器設計的4核ARMCortex-A55嵌入式教學實驗箱。Cortex-A55/53性能對比表
    的頭像 發表于 05-31 08:32 ?1042次閱讀
    為什么更推薦<b class='flag-5'>Cortex-A</b>55教學實驗箱?我來告訴您!

    ARM Cortex-A53嵌入式開發平臺Android手冊

    電子發燒友網站提供《ARM Cortex-A53嵌入式開發平臺Android手冊.pdf》資料免費下載
    發表于 04-28 15:10 ?0次下載

    Imagination新推APXM-6200 CPU,性能超越Cortex-A53

    該CPU為新時代的64位應用型處理器,采用11級別雙通道線(11-stage, dual-issue pipeline),相較現有市場產品,其性能超出Arm Cortex-A53高達65%,賽過Cortex-A510則多出20%之多。
    的頭像 發表于 04-09 15:04 ?733次閱讀
    主站蜘蛛池模板: 国产在线亚洲精品观 | 理论片午午伦夜理片I | 美女胸被男子强捏视频 | 久久亚洲欧美国产综合 | 强行撕开衣服捏胸黄文 | 无套内射纹身女视频 | 午夜精品国产自在现线拍 | 亚洲国产在线精品国 | 色情内射少妇兽交 | 考好老师让你做一次H | 成人精品视频在线观看播放 | 混乱家庭电影完整版在线看 | 日韩欧美一区二区三区免费观看 | 99久久99久久久精品久久 | 无码人妻视频又大又粗欧美 | 国产爱豆剧果冻传媒在线 | 日夜啪啪一区二区三区 | Chineseman瘦老头77 | 中文字幕一区二区三区在线观看 | 麻生希第一部快播 | 暖暖日本在线手机免费完整版 | 亚洲欧洲日韩天堂无吗 | 国产一区内射最近更新 | 中文字幕在线视频在线看 | 男女车车的车车网站W98免费 | 99久久99久久精品免费看子 | 羞羞一区二区三区四区片 | 男人团apk| 亚洲色综合中文字幕在线 | 免费a视频在线观看 | 亚洲成A人片在线观看中文不卡 | 在线 日韩 欧美 国产 社区 | 欧美人妖12p| 野花韩国高清完整版在线观看5 | 久久精麻豆亚洲AV国产品 | 日本xxx护士与黑人 日本xxxx裸体xxxx | 暖暖视频在线高清播放 | 99久久免费精品国产免费 | 伊人久久亚洲综合天堂 | 拔擦拔擦8X永久华人免费播放器 | 51国产午夜精品免费视频 |