国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

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

先楫半導體HPMicro ? 2023-06-01 15:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概 述

在進行電機類、電源類應用開發時,如何使用PWM定時器模塊靈活、高效的實現所需 PWM波形的輸出,是眾多開發者關注的問題。在上篇文章里,我們介紹了PWM定時器模塊內的一些概念,以及如何生成普通PWM的過程。本篇內容將繼續介紹互補PWM、同步 PWM、錯相 PWM以及PWM如何使用ACMP封波等內容。

互補PWM

關于相同的代碼部分,此處不再重復講解,請參考《上篇》的普通PWM的講解。

efe2b496-ff48-11ed-ba01-dac502259ad0.jpgf00496b0-ff48-11ed-ba01-dac502259ad0.jpg

此處設置了 3 個比較器:cmp_config[0]與 cmp_config[1]用來生成中心對稱 PWM,cmp_config[2]作為 PWM 影子寄存器的更新事件源,當 CNT 等于 cmp_config[2]時,影子寄存器寫入寄存器內生效。

f02c3800-ff48-11ed-ba01-dac502259ad0.jpg

互補 PWM 對的配置,配置左死區寬度為 8000 個 half_clock,右死區寬度為 16000 個 half_clock。

f04f8530-ff48-11ed-ba01-dac502259ad0.jpg

設置 cmp_config[2]作為 PWM 影子寄存器的更新事件源,啟動計數器。

f06d255e-ff48-11ed-ba01-dac502259ad0.jpg

通過修改 CMP0 與 CMP1 的值,每 100ms 更新一次互補 PWM 占空比。運行結果如下:

f0878cdc-ff48-11ed-ba01-dac502259ad0.jpg

互補PWM

同步PWM

本節實驗設計:使用 PWM0 的比較器比較事件去做 PWM1、PWM2、PWM3 的同步事件。故輸出波形上看,PWM1、PWM2、PWM3 應完全同步,PWM0 與其則不同步。代碼如下:

f0ad19de-ff48-11ed-ba01-dac502259ad0.jpg

使能 4 個 PWM 定時器的 SYNCI 信號。

f0c95400-ff48-11ed-ba01-dac502259ad0.jpg

設置 STA 與 RLD。

f0ef16cc-ff48-11ed-ba01-dac502259ad0.jpg

cmp_config[0]與 cmp_config[1]用來做中心對稱 PWM 所需的比較器。

f11751fa-ff48-11ed-ba01-dac502259ad0.jpg

cmp_config[2]用來做使 PWM 影子寄存器生效的比較器。

f12f41e8-ff48-11ed-ba01-dac502259ad0.jpg

cmp_config[3]設置在 PWM0 CH8 上,用來產生比較事件,同步 PWM1、PWM2、PWM3。

f14c5f94-ff48-11ed-ba01-dac502259ad0.jpg

互補 PWM 的死區設置與輸出設置。

f17e8780-ff48-11ed-ba01-dac502259ad0.jpg

設置 PWM0 CH0 CH1 互補輸出,同時設置 PWM1 CH8 使用 CMP3 產生比較事件。

f1a996aa-ff48-11ed-ba01-dac502259ad0.jpg

設置 PWM1、PWM2、PWM3 互補輸出。

f1d69312-ff48-11ed-ba01-dac502259ad0.jpg

啟動計數器。

以下代碼是對互聯管理器的配置。配置 PWM0 CH8 的下降沿輸出到TRGM0_OUTX0 上,同時 TRGM0_OUTX0 作為 TRGM1、TRGM2、TRGM3的輸入,路由到 PWM1、PWM2、PWM3 的 SYNCI 信號上。

f1f47634-ff48-11ed-ba01-dac502259ad0.jpg

波形如下:

f21cb112-ff48-11ed-ba01-dac502259ad0.jpg

可見 PWM1、PWM2、PWM3 是完全同步的,PWM0 則與其有 20ns 的不同步。

同步PWM

錯相 PWM

本節實驗設計:使用 SYNT 實現 PWM0、PWM1、PWM2、PWM3 錯相90°。代碼如下:

f24f479e-ff48-11ed-ba01-dac502259ad0.jpgf28134ac-ff48-11ed-ba01-dac502259ad0.jpgf2a6f2be-ff48-11ed-ba01-dac502259ad0.jpgf2ca4aa2-ff48-11ed-ba01-dac502259ad0.jpgf2f85f82-ff48-11ed-ba01-dac502259ad0.jpg

以上代碼請參考上文 “同步PWM” 章節的講解,主要目的是生成 4 對互補PWM。

f318db72-ff48-11ed-ba01-dac502259ad0.jpg

配置 TRGM,將 SYNT CH0 的比較事件路由到 PWM0 的 SYNCI 信號上,將 SYNT CH1 的比較事件路由到 PWM1 的 SYNCI 信號上,將 SYNT CH2 的21 / 24先楫半導體比較事件路由到 PWM2 的 SYNCI 信號上,將 SYNT CH3 的比較事件路由到PWM3 的 SYNCI 信號上。

f342ccc0-ff48-11ed-ba01-dac502259ad0.jpg

配置 SYNT,分別設置 SYNT CH0 比較器比較值為 0,SYNT CH1 比較器比較值為 reload/4,SYNT CH2 比較器比較值為 reload/2,SYNT CH4 比較器比較值為 reload*3/4。

波形如下:

f3651b4a-ff48-11ed-ba01-dac502259ad0.jpg

錯相PWM

PWM+ACMP 封波

本節實驗設計:使用兩個片上 ACMP 對目標模擬電壓進行監控,當電壓超過 1.65V 時停止 PWM 輸出。其基本思路為,將 ACMP 的輸出信號通過互聯管理器 TRGM 路由到 PWM 的內部 Fault 信號上,當 Fault 信號有效時 PWM波停止輸出(故障保護功能)。

代碼如下:

f385e2d0-ff48-11ed-ba01-dac502259ad0.jpg

初始化 PWM 引腳,初始化 DAC 時鐘與引腳(使用 DAC 輸出模擬電壓到ACMP 上模擬過壓)。

f3a57424-ff48-11ed-ba01-dac502259ad0.jpg

輸出互補 PWM 波。

f3cabd1a-ff48-11ed-ba01-dac502259ad0.jpg

設置 Fault 信號高電平有效;使能 FaultI0 與 FaultI1 有效(PWM 共 4 內2 外 fault 信號,哪些信號生效可選)。

f3e5af8a-ff48-11ed-ba01-dac502259ad0.jpg

設置 DAC 輸出為直接模式,12bit DAC 輸出范圍 0~4095,4030 約為3.247V。該部分代碼請直接參考 DAC 例程。

f40fbee2-ff48-11ed-ba01-dac502259ad0.jpg

配置 ACMP,使能 ACMP2 與 ACMP3。

f4350e5e-ff48-11ed-ba01-dac502259ad0.jpg

配置互聯管理器,將 ACMP2 與 ACMP3 的輸出信號路由到 PWM 的FaultI0 與 FaultI1 上去。

f4563994-ff48-11ed-ba01-dac502259ad0.jpg

acmp_config 函數源碼如下:

f47764de-ff48-11ed-ba01-dac502259ad0.jpg

代碼中將 ACMP 的正極輸入選擇為 IO 引腳,負極輸入選擇為 ACMP 內部專用 DAC,參考電壓設置為 0x80,即 1.65V。

當 IO 引腳電壓 3.247V 時(來自于外設 DAC 輸出),ACMP 正極電壓超過負極電壓 1.65V,ACMP 輸出有效,為高電平;經過互聯管理器路由到PWM 的 Fault 信號上;由于 PWM 模塊內配置了 Fault 信號為高電平有效,因此此時 Fault 信號有效,PWM 波形停止輸出。

當 IO 引腳電壓 0V 時(將引腳與 GND 短接),ACMP 正極電壓未超過負極電壓 1.65V,ACMP 輸出無效,PWM 波形正常輸出。

PWM+ACMP

小 結

本文首先介紹了 PWM 定時器內各模塊的基本概念與功能,而后對 PWM的使用由淺入深依次以代碼實例進行講解。可以看到,PWM 的使用只要配置好 STA、RLD、CMPx、影子寄存器等即可實現輸出;如果有同步需求或與其它外設協同使用需求,則主要通過互聯管理器 TRGM 的配置進行實現。


比較經典的例程還包括使用 PWM 觸發 ADC 采樣,先楫半導體 SDK 中已經有完整的實例與代碼,各位開發者可以到官網下載研究,并歡迎大家多多交流。

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

    關注

    185

    文章

    18841

    瀏覽量

    263553
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5872

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32G474 HRTIME PWM問題分析與解決

    STM32G474 中包含了針對數字電源應用的高精度定時器(HRTIMER),客戶在應用該定時器產生 PWM 時,發現 PWM 的輸出出現了“丟”現象,本文對該問題進行分析并給出解決方案。2.
    發表于 01-04 13:47 ?0次下載

    GTM IP PWM生成技術在電動汽車中的應用

    談及電動汽車,就離不開PWM(Pulse Width Modulation)。作為汽車動力域/電源域的核心,如何輸出穩定、高質量的PWM
    的頭像 發表于 12-19 09:57 ?5679次閱讀
    GTM IP <b class='flag-5'>PWM</b><b class='flag-5'>波</b>生成技術在電動汽車中的應用

    HPM monitor studio 只能在 hpm芯片+hpm_sdk 的組合才能用嗎?

    使用 hpm6200evk開發板,但未使用hpm_sdk。 然后編譯的固件elf無法在hpm monitor studio解析成功。所以說必須要使用hpm_sdk 才可以使用
    發表于 08-28 09:36

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

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

    hpm6364內部flash使用時的openocd配置問題.

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

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

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

    重磅更新 | HPM_SDK v1.10.0 發布

    版本更新概況[New]增加HPM5E00系列MCU以及HPM5E00EVK支持增加flash_xip_hybrid構建,在該模式AXI_SRAM被用作FLASH前256KB的緩存,位
    的頭像 發表于 07-02 15:07 ?1409次閱讀
    重磅更新 | <b class='flag-5'>HPM</b>_SDK v1.10.0 發布

    HPM6P41 BuckBoost 開發板之()硬件設計

    本章基于HPM6P00的豐富外設與高性能特性,剖析了四開關BuckBoost開發板的硬件設計思路與實現細節。從寬范圍輸入/輸出電壓的功率拓撲選型,到電源管理、驅動電路、采樣電路及各類接口的原理圖
    的頭像 發表于 06-30 11:14 ?3957次閱讀
    <b class='flag-5'>HPM</b>6P41 BuckBoost 開發板之(<b class='flag-5'>一</b>)硬件設計<b class='flag-5'>篇</b>

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

    HPM6P00、HPM5E00系列SoC的燒寫及其它操作,新增HPM6E00、HPM5E00固件;新增verify-checksum及que
    的頭像 發表于 06-04 08:28 ?2073次閱讀
    支持<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發布

    零死角玩轉STM32——中級

    (EEPROM) 6、SPI(2M-Flash) 7、PWM(軟件仿真) 8、CAN(Looback) 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內容有幫助可以關注、點贊、評論支持一下哦~)
    發表于 05-21 13:56

    路燈單燈控制器:讓每盞路燈裝上智慧的大腦盡在掌控

    路燈單燈控制器:讓每盞路燈裝上智慧的大腦盡在掌控
    的頭像 發表于 05-19 08:26 ?1089次閱讀
    路燈單燈控制器:讓每<b class='flag-5'>一</b>盞路燈裝上智慧的大腦<b class='flag-5'>盡在</b>掌控

    【強勢上新】HPM5E00:EtherCAT運動控制MCU,先楫半導體再拓工業總線產品新版圖

    2025年5月6日上海|高性能微控制器及嵌入式解決方案提供商“上海先楫半導體科技有限公司”(先楫半導體,HPMicro)正式發布新代EtherCAT運動控制MCU——HPM5E00系列。該
    的頭像 發表于 05-06 11:09 ?1342次閱讀
    【強勢上新】<b class='flag-5'>HPM</b>5E00:EtherCAT運動控制MCU,先楫半導體再拓工業總線產品新版圖

    LTC3886輸出PWM異常的原因?

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

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

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

    先輯半導體HPM6E00系列產品能用來做EtherCAT的主站嗎

    雖然明確說明了先輯半導體HPM6E00系列產品能用來做EtherCAT的從站,但它可以用來做主站嗎,還是說必須用其他芯片做主站呢
    發表于 03-16 10:16