一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

看完這一篇,HPM6000系列PWM波盡在掌握(上)

先楫半導體HPMicro ? 2023-05-30 10:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概 述

在進行電機類、電源類應(yīng)用開發(fā)時,如何使用PWM定時器模塊靈活、高效的實現(xiàn)所需 PWM波形的輸出,是眾多開發(fā)者關(guān)注的問題。先楫半導體已發(fā)布的HPM6000系列芯片上,均帶有PWM定時器模塊。與普通定時器產(chǎn)生的PWM相比,其產(chǎn)生的PWM可方便的配置為互補PWM對,并帶有強制輸出、死區(qū)插入、故障封鎖、影子寄存器等功能。

本文將簡單介紹PWM定時器模塊內(nèi)的一些概念,以圖文的形式幫助開發(fā)者理解PWM定時器模塊的運行方式。然后輔以大量代碼實例,介紹了如何生成普通 PWM、互補 PWM、同步 PWM、錯相 PWM,以及PWM如何使用ACMP封波。幫助廣大開發(fā)者更好地使用 PWM 定時器模塊實現(xiàn)自己所需的功能。

1

24+4 位向上計數(shù)器

一個 PWM 定時器模塊內(nèi)共有 3 個 24+4 位寄存器,分別為 STA、CNT、RLD。STA 與 RLD 為計數(shù)器計數(shù)的起點和終點;CNT 內(nèi)保存著當前時刻的計數(shù)值。計數(shù)器從 STA 開始計數(shù),達到 RLD 后重新從 STA 計數(shù),一個又一個周期的循環(huán)往復(fù),周期為 RLD-STA+1。

a143e4f8-f8ff-11ed-ba01-dac502259ad0.jpga16592ec-f8ff-11ed-ba01-dac502259ad0.jpg

4 位拓展位,為開發(fā)者提供了更多樣的計數(shù)信息:每當 CNT 計數(shù)到 RLD時,會產(chǎn)生 RLD 事件(可以生成中斷或 DMA 請求);若 XRLD 不為 0,則每當 CNT 計數(shù)到 RLD 時,XCNT 加 1,當 XCNT 等于 XRLD 時,產(chǎn)生 XRLD 事件(可以生成中斷或 DMA 請求)。

2

比較器

一個 PWM 定時器具有 16~24 個通道,以及 24 個比較器 CMPx(x=1~24)。比較器 CMPx 可以理解為 CNT 計數(shù)過程中的觸發(fā)開關(guān):每當CNT 等于 CMPx 時,該通道 PWM 輸出會進行翻轉(zhuǎn)。

開發(fā)者可以配置將哪些 CMPx 安裝在目標通道上:配置方法為指定 x,再指定用于該通道比較器的數(shù)量 n,結(jié)果就是 CMPx、CMPx+1、... 、CMPx+n-1 比較器被應(yīng)用于該通道。

假設(shè)我們對通道 1 進行配置,x=0,n=2,則如下圖所示:

a17aec3c-f8ff-11ed-ba01-dac502259ad0.jpg

假設(shè)我們對通道 2 進行配置,x=2,n=4,則如下圖所示:

a1948c82-f8ff-11ed-ba01-dac502259ad0.jpg

3

影子寄存器

影子寄存器的作用是為 PWM 定時器的部分關(guān)鍵寄存器提供保護。在 CPU訪問寄存器的時候,實質(zhì)上改變的是它的影子寄存器,新值并不馬上生效。只有在指定的時刻,才把影子寄存器的值更新到寄存器,防止即時生效的方式導致 PWM 輸出波形異常,導致炸管子、短路等事故發(fā)生。

在芯片內(nèi),STA、RLD、CMPx、FRCMD 寄存器帶有影子寄存器(這 4 類寄存器的更新會影響 PWM 的波形)??傮w而言,HPM 芯片提供了 4 種方式將影子寄存器更新到控制寄存器內(nèi),分別為:

軟件將 SHCR [SHLK]位置 1 時生效

即時生效

某個 CMPx 比較事件發(fā)生時生效

SHRLDSYNCI 上捕獲到上升沿時生效

通常建議開發(fā)者配置影子寄存器為“某個 CMPx 比較事件發(fā)生時生效”,其它 3 種方式更新影子寄存器到寄存器內(nèi)時,多多少少不能保證此時 PWM 輸出的狀態(tài),可能會導致 PWM 波形異常。只有在開發(fā)者確定用其它 3 種更新方式不會導致硬件故障時,才推薦使用。下圖展示了 CPU 以實時方式將影子寄存器更新到寄存器內(nèi)可能產(chǎn)生的異常。

a1b4713c-f8ff-11ed-ba01-dac502259ad0.jpg

4

同步輸入 SYNCI 與同步定時器 SYNT

同步輸入 SYNCI 的作用是,當此信號有效時 CNT 的值被強制為 STA,SYNCI 無效后 CNT 開始正常計時。當需要多個 PWM 定時器的時基相同或錯相時,操作PWM 定時器的 SYNCI 信號即可達到目標。

同步定時器 SYNT 是專門用來完成以上操作的計時器。SYNT 上有 4 個通道,每個通道有一個 CMP,發(fā)生 CMP 比較事件時,可通過互聯(lián)管理器 TRGM將此事件路由到 SYNCI 信號上,從而實現(xiàn)了多個 PWM 的同步/錯相。

a1d8bd3a-f8ff-11ed-ba01-dac502259ad0.jpg

5

互聯(lián)管理器 TRGM

互聯(lián)管理器是將片上眾多外設(shè)相互關(guān)聯(lián)使用的橋梁。例如可以用 PWM 比較事件觸發(fā) ADC 采樣,使用模擬比較器 ACMP 比較結(jié)果對 PWM 封波,使用IO 輸入觸發(fā) GPTMR 同步計時等等。其功能非常強大,且易用。下面以一張圖繪出 TRGM 的基本模型。

a1fa6ea8-f8ff-11ed-ba01-dac502259ad0.jpg

簡而言之,TRGM 的每個 output 通道都可以在眾多的 INPUT 中選一個。例如可以將 SYNT 的比較事件做為 INPUT,輸出到 PWM 的 SYNCI,這樣就實現(xiàn)了 PWM 同步;例如可以將 IO 作為 INPUT,輸出到 IO,這樣就實現(xiàn)了IO 電平的轉(zhuǎn)移輸出。

TRGM 可以實現(xiàn)外設(shè)硬件級別的同步與觸發(fā),可以實現(xiàn)各種外設(shè)互聯(lián)配合使用,是極有用的一個功能模塊。使用 TRGM 時,需要參考 UM 手冊中TRGMx_INPUT_MUX 列表與 TRGMx_OUTPUT_MUX 列表,合理分配資源,選擇需要的 INPUT 與 OUTPUT 信號。

a21484dc-f8ff-11ed-ba01-dac502259ad0.jpga24d6a86-f8ff-11ed-ba01-dac502259ad0.jpg

PWM模塊

普通PWM

由上述可知,一路普通PWM的輸出需要配置好以下幾點:

PWM 輸出控制:是否互補對、死區(qū)插入等

RLD、STA

CMPx

影子寄存器

函數(shù)如下,逐一進行分析:

a2767502-f8ff-11ed-ba01-dac502259ad0.jpg

首先停止 PWM 計時器的計數(shù)器,將 PWM 計數(shù)器清零,獲取 SDK 提供的 PWM 輸出默認配置。程序沒有特別之處,屬于配置前的初始化工作。

a297b0aa-f8ff-11ed-ba01-dac502259ad0.jpg

配置 PWM 允許輸出,死區(qū)為 0,輸出不反相;

a2ac8a66-f8ff-11ed-ba01-dac502259ad0.jpg

設(shè)置 RLD 與 STA,分別為 reload 和 0;

a2c6b828-f8ff-11ed-ba01-dac502259ad0.jpg

配置 CMPx,模式為輸出比較模式,比較值為 reload+1,影子寄存器更新方式為寫入 shlk 位更新;此時由于計數(shù)器計數(shù)無法達到 CMPx,故輸出波形恒為低電平。

a2e99884-f8ff-11ed-ba01-dac502259ad0.jpg

配置通道 0 使用 CMP0,比較器數(shù)量為 1 個,因此 CMP0 的大小決定了pwm 的占空比,占空比為(RLD-CMP0)/RLD

a302334e-f8ff-11ed-ba01-dac502259ad0.jpg

啟動計數(shù)器,更新 CMP0 的影子寄存器為 reload/4,最后將影子寄存器的值提交到寄存器內(nèi)生效。運行結(jié)果如下:

a31baa2c-f8ff-11ed-ba01-dac502259ad0.jpg

普通PWM

本篇內(nèi)容到此結(jié)束,下一篇我們會介紹了如何生成互補 PWM、同步 PWM、錯相 PWM,以及PWM如何使用ACMP封波。敬請期待哈~

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

    關(guān)注

    116

    文章

    5530

    瀏覽量

    219520
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3300

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    hpm6364內(nèi)部flash使用時的openocd配置問題.

    xpi0 hpm_xpi 0x80000000 0x2000000 1 1 $_TARGET0 0xF3040000 0x7 0x1000 這樣改是不是flash大小設(shè)置為32MB了,但hpm6364的內(nèi)部flash是4MB的.還有最后兩個參數(shù)是什么意思?有大佬講解
    發(fā)表于 07-12 19:48

    看懂毫米雷達,這一就夠啦!

    今天這篇文章,我們來聊聊最近很火的個概念——“毫米”。█什么是毫米?毫米(mmWave),是種頻率在30GHz至300GHz之間的
    的頭像 發(fā)表于 07-09 19:02 ?682次閱讀
    看懂毫米<b class='flag-5'>波</b>雷達,<b class='flag-5'>這一</b><b class='flag-5'>篇</b>就夠啦!

    支持HPM6P00/HPM5E00系列!HPMicro Manufacturing Tool v0.6.0發(fā)布

    HPM6P00、HPM5E00系列SoC的燒寫及其它操作,新增HPM6E00、HPM5E00固件;新增verify-checksum及que
    的頭像 發(fā)表于 06-04 08:28 ?561次閱讀
    支持<b class='flag-5'>HPM</b>6P00/<b class='flag-5'>HPM</b>5E00<b class='flag-5'>系列</b>!HPMicro Manufacturing Tool v0.6.0發(fā)布

    【強勢新】HPM5E00:EtherCAT運動控制MCU,先楫半導體再拓工業(yè)總線產(chǎn)品新版圖

    。該系列是繼HPM6E00后的又重磅布局,標志著先楫在EtherCAT工業(yè)通信領(lǐng)域的持續(xù)發(fā)力與技術(shù)深化。 HPM5E00系列 在延續(xù)
    發(fā)表于 05-07 14:07 ?732次閱讀
    【強勢<b class='flag-5'>上</b>新】<b class='flag-5'>HPM</b>5E00:EtherCAT運動控制MCU,先楫半導體再拓工業(yè)總線產(chǎn)品新版圖

    【強勢新】HPM5E00:EtherCAT運動控制MCU,先楫半導體再拓工業(yè)總線產(chǎn)品新版圖

    HPM6E00后的又重磅布局,標志著先楫在EtherCAT工業(yè)通信領(lǐng)域的持續(xù)發(fā)力與技術(shù)深化。HPM5E00系列在延續(xù)HPM6E00高算力基
    的頭像 發(fā)表于 05-06 11:09 ?558次閱讀
    【強勢<b class='flag-5'>上</b>新】<b class='flag-5'>HPM</b>5E00:EtherCAT運動控制MCU,先楫半導體再拓工業(yè)總線產(chǎn)品新版圖

    LTC3886輸出PWM異常的原因?

    嘗試過按照datasheet第50頁的建議,去修改電阻來控制抖動,但是沒有任何效果,現(xiàn)在因為OUT0PWM不穩(wěn)的問題導致這一路輸出的噪聲很大,請問各位大佬還有什么辦法可以讓OUT0這一
    發(fā)表于 04-17 06:59

    重磅更新 | 先楫半導體HPM_SDK v1.9.0 發(fā)布

    版本更新概況[New]增加HPM6P00系列MCU以及hpm6p00evk支持[New]增加了開發(fā)板已知問題說明[Update]將全系列開發(fā)板VCore電壓調(diào)節(jié)至1.275V,
    的頭像 發(fā)表于 04-02 08:31 ?435次閱讀
    重磅更新 | 先楫半導體<b class='flag-5'>HPM</b>_SDK v1.9.0 發(fā)布

    開發(fā)者分享 | 適用于HPM的RustSBI實現(xiàn)

    HPMicro的MCU直以高性能著稱,之前也直有想在HPM的MCU運行Linux的想法。直到看見Linux6.10中支持了RISC-V架構(gòu)在S-mode中運行nommu內(nèi)核*,才
    的頭像 發(fā)表于 02-08 13:44 ?606次閱讀
    開發(fā)者分享 | 適用于<b class='flag-5'>HPM</b>的RustSBI實現(xiàn)

    先楫半導體發(fā)布高性能HPM6E8Y系列MCU

    近日,上海先楫半導體科技有限公司,國內(nèi)領(lǐng)先的高性能微控制器及嵌入式解決方案提供商,推出了專為機器人運動與控制設(shè)計的高性能MCU產(chǎn)品——HPM6E8Y系列。這一創(chuàng)新產(chǎn)品為當前蓬勃發(fā)展的機器人市場帶來了全新的活力。
    的頭像 發(fā)表于 01-23 15:40 ?681次閱讀

    精準驅(qū)動,盡在掌握 —— 探索伺服編碼器的無限可能

    ,讓自動化生產(chǎn)線的每步操作都盡在掌握之中。 伺服編碼器,顧名思義,是與伺服系統(tǒng)緊密結(jié)合的編碼器。它通過將機械位移轉(zhuǎn)換為電信號,實現(xiàn)對伺服電機位置、速度、加速度等參數(shù)的精確測量與反饋。在伺服系統(tǒng)中,編碼器如
    的頭像 發(fā)表于 01-06 08:36 ?392次閱讀

    SDK里面是否能添加HPM5300系列芯片支持包?

    SDK里面是否能添加HPM5300系列芯片支持包?只發(fā)現(xiàn)板級支持包。
    發(fā)表于 09-27 10:01

    高清視界,盡在掌握——深度解析變焦機芯模組技術(shù)

    隨著科技的飛速發(fā)展,變焦機芯模組技術(shù)作為影像領(lǐng)域的核心技術(shù)之,正以前所未有的速度改變著我們的視覺體驗。這項技術(shù)不僅提升了影像的清晰度和動態(tài)范圍,還極大地豐富了拍攝和觀察的方式,讓高清視界真正盡在
    的頭像 發(fā)表于 09-10 15:59 ?924次閱讀
    高清視界,<b class='flag-5'>盡在</b><b class='flag-5'>掌握</b>——深度解析變焦機芯模組技術(shù)

    用EEPROM存儲遇到的技術(shù)問題,看這一就夠了!

    用EEPROM存儲遇到的技術(shù)問題,看這一就夠了!
    的頭像 發(fā)表于 09-05 15:54 ?1992次閱讀

    pwm與spwm,載波、參考與輸出波形的關(guān)系

    存在著密切的關(guān)系。 、PWM的基本原理與關(guān)系 1. PWM的基本原理 PWM
    的頭像 發(fā)表于 08-14 16:58 ?4760次閱讀

    Keysight InfiniiVision 6000 X 系列示波器

    KeysightInfiniiVision6000X系列示波器深入探索,分析更多信號細節(jié),直觀的觸摸屏用戶界面、語音控制和區(qū)域觸發(fā),讓復(fù)雜的任務(wù)變得簡單無比。樹立示波器性價比新標桿
    的頭像 發(fā)表于 08-14 08:34 ?839次閱讀
    Keysight InfiniiVision <b class='flag-5'>6000</b> X <b class='flag-5'>系列</b>示波器