chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

以NUCLEO-L031為例介紹產(chǎn)生相移信號(hào)的方法

STM32單片機(jī) ? 來(lái)源:STM32單片機(jī) ? 作者:STM32單片機(jī) ? 2022-08-29 09:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、前言

客戶想要使用 STM32L031 產(chǎn)生兩個(gè)特定的 PWM 波,這兩個(gè)波形頻率相同,占空比相同,但相位不同。經(jīng)過(guò)驗(yàn)證,使用定時(shí)器的輸出比較模式可以產(chǎn)生這種帶相移的 PWM 波形。

下面以 STM32L031 的 TIM2 為例來(lái)介紹使用產(chǎn)生相移信號(hào)的方法。

2、概述

在未使能預(yù)裝載寄存器時(shí)(OCxPE=0),使用輸出比較模式,可以隨時(shí)通過(guò)軟件更新

TIM_CCRx 寄存器的值,以控制輸出波形。

DMA 的循環(huán)模式,可以在最后一次數(shù)據(jù)傳輸完成后,自動(dòng)重新加載初始編程值,內(nèi)部地址寄存器會(huì)重新加載基址值,進(jìn)入下一個(gè)循環(huán)。

使用輸出比較模式配合 DMA 的循環(huán)模式可以不斷更新 TIMx_CCR 寄存器的值,從而輸出可控的波形。

下面以 NUCLEO-L031 為例介紹產(chǎn)生相移信號(hào)的方法。

3、目標(biāo)波形

為了便于觀察,令 PWM 波的周期為 100ms,占空比為 20%。以 TIM2_CH1 輸出的波形的為基準(zhǔn),其為 0 度相移。

? TIM2_CH1: 相移 0 度,占空比為 20%

? TIM2_CH2: 相移 90 度,占空比為 20%

? TIM2_CH3: 相移 180 度,占空比為 20%

? TIM2_CH4: 相移 270 度,占空比為 20%

4. 使用 STM32CubeMX 進(jìn)行配置

使用 STM32CubeMX 進(jìn)行基礎(chǔ)參數(shù)的配置。

這里配置時(shí)鐘為 32MHz,如圖 1 所示。

02316108-26f8-11ed-ba43-dac502259ad0.png

配置時(shí)鐘源為內(nèi)部時(shí)鐘,因?yàn)?TIM2_CH1 為基準(zhǔn)信號(hào),直接配置為 PWM 輸出即可。

TIM2_CH2、TIM2_CH3 和 TIM2_CH4 配置為輸出比較模式,如圖 2 所示。

025dcdb0-26f8-11ed-ba43-dac502259ad0.png

配置 TIM2 的預(yù)分頻值與計(jì)數(shù)周期,配置計(jì)數(shù)周期為 100,計(jì)數(shù)模式配置為"Up"。配置channel1 的模式為"PWM mode 1",因?yàn)檎伎毡葹?20%,計(jì)數(shù)周期為 100,所以 CCR1 寄存器配置為 20(也即 Channel1 的 Pulse 配置為"20"),極性配置為"High"。Channel2、Channel3 和 Channel4 的模式都配置為"Toggle on match"(匹配時(shí)翻轉(zhuǎn)電平),極性配置為"low",CCR 不需要配置,因?yàn)闀?huì)通過(guò) DMA 自動(dòng)寫(xiě)入。具體配置如圖 3 所示。

027766d0-26f8-11ed-ba43-dac502259ad0.png

添加 TIM2_CH2、TIM2_CH3 和 TIM2_CH4 的 DMA,并進(jìn)行配置,配置的內(nèi)容都相同,配置如下:

? Direction: Memory To Peripheral

? Mode: Circular

? Data Width: Word

具體配置如圖 4 所示

02aa49ec-26f8-11ed-ba43-dac502259ad0.png

5. 修改代碼

由 STM32CubeMX 生成代碼之后,需要在生成的代碼中添加一些處理。

首先需要計(jì)算 channel2、channel3 和 channel4 的 CCR 值。以 channel2 為例:配置的計(jì)數(shù)周期為 100,初始極性為 low,當(dāng) CNT 計(jì)數(shù)值與 CCR 寄存器匹配的時(shí)候,輸出電平發(fā)生翻轉(zhuǎn),所以為了實(shí)現(xiàn)與 channel1 占空比相同的波形,需要翻轉(zhuǎn)兩次電平。

第一次翻轉(zhuǎn)的 CCR 可以通過(guò)相位差進(jìn)行計(jì)算,第二次翻轉(zhuǎn)的 CCR 值可以通過(guò)占空比和第一次翻轉(zhuǎn)的 CCR 值這兩個(gè)條件進(jìn)行計(jì)算。Channel2 第一次翻轉(zhuǎn)的 CCR 值為: "100 x (90°/360°) = 25";第二次翻轉(zhuǎn)的 CCR 值為:"25 + (20% x 100) = 45"

表 1 由上面計(jì)算方式同理可得:

02ca7b2c-26f8-11ed-ba43-dac502259ad0.png

在 main.c 文件中需要建立三個(gè)數(shù)組,將 channel2~4 的兩次 CCR 值存入這三個(gè)數(shù)組中,具體如下所示:

02d5b32a-26f8-11ed-ba43-dac502259ad0.png

02edc550-26f8-11ed-ba43-dac502259ad0.png

然后在 mian 函數(shù)中添加如下代碼。使 channel1 輸出 PWM 波,配置 channel2~4 在 DMA 模式下使用輸出比較模式進(jìn)行輸出。

030152b4-26f8-11ed-ba43-dac502259ad0.png

6. 測(cè)試結(jié)果

測(cè)試結(jié)果如下圖所示,4 個(gè) channel 產(chǎn)生的 PWM 波的周期都為 100ms,占空比都為20%,測(cè)試出來(lái)的 channel2~4 的相移與設(shè)計(jì)目標(biāo)波形一致。

031d6d0a-26f8-11ed-ba43-dac502259ad0.png

7、小結(jié)

使用定時(shí)器的輸出比較模式與 DMA 進(jìn)行搭配,可以比較靈活的生成波形。

審核編輯:湯梓紅

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

    關(guān)注

    116

    文章

    5809

    瀏覽量

    222532
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3347

    瀏覽量

    120974
  • stm32l031
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    2427

原文標(biāo)題:工程師筆記|使用 TIMER 輸出比較模式輸出相移信號(hào)

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    為什么用THS6012搭建的電路會(huì)產(chǎn)生相移呢?

    為什么我用THS6012搭建的電路會(huì)產(chǎn)生相移呢?頻率越高相移越嚴(yán)重,應(yīng)該怎么解決呢?
    發(fā)表于 09-19 07:38

    轉(zhuǎn):HRTIMER產(chǎn)生多相相移信號(hào)

    HRTIMER產(chǎn)生多相相移信號(hào) 前言STM32F334內(nèi)部集成了高精度Timer,最高主頻4.6GHz,靈活的控制用于產(chǎn)生數(shù)字電源等產(chǎn)品的PWM控制
    發(fā)表于 07-12 15:15

    請(qǐng)問(wèn)運(yùn)算放大器信號(hào)放大后會(huì)產(chǎn)生相移是什么原因

    各位大蝦好,最近本人在做一個(gè)微弱信號(hào)放大的設(shè)計(jì),設(shè)計(jì)要求如下:①有兩路需要放大的信號(hào)頻率3Hz以下,幅度2~3mV,放大后幅值1.5V左右(多級(jí)放大)。②按照設(shè)計(jì)需求,兩路
    發(fā)表于 08-19 06:04

    函數(shù)/任意波形發(fā)生器的帶限噪聲信號(hào)產(chǎn)生方法介紹

    /任意波形發(fā)生器利用其配套的任意波形編輯軟件就可以直接實(shí)現(xiàn)滿足不同需求的各種帶限噪聲信號(hào)的輸出,真實(shí)模擬通信系統(tǒng)內(nèi)部和實(shí)際信道中的干擾環(huán)境,極大地方便了對(duì)系統(tǒng)進(jìn)行有效、可靠的分析。  本文著重RIGOL DG系列函數(shù)/任意波形發(fā)生器
    發(fā)表于 07-22 07:12

    RFID讀寫(xiě)器系統(tǒng),介紹MDO4000的跨域調(diào)試應(yīng)用

    如何測(cè)量系統(tǒng)中時(shí)間相關(guān)的時(shí)域和頻域信號(hào)?RFID讀寫(xiě)器系統(tǒng),介紹MDO4000的跨域調(diào)試應(yīng)用
    發(fā)表于 04-09 06:18

    DAC介紹AMS-Design數(shù)?;旌想娐贩抡娴?b class='flag-5'>方法是什么?

    DAC,介紹AMS-Design數(shù)?;旌想娐贩抡娴?b class='flag-5'>方法是什么?混合電路仿真有哪幾種方法?分
    發(fā)表于 06-22 07:00

    L298N介紹電機(jī)驅(qū)動(dòng)模塊的使用方法

    電機(jī)驅(qū)動(dòng)模塊在電子制作中會(huì)經(jīng)常使用到,下面L298N型號(hào)的模塊介紹其使用方法。 模塊引腳說(shuō)
    發(fā)表于 12-30 07:47

    STM32 Nucleo的相關(guān)資料分享

    在實(shí)驗(yàn)室找到一塊 STM32 的開(kāi)發(fā)板,型號(hào)是STM32 Nucleo-L031K6。趁著十一假期,入門(mén)一下,順便隨便記點(diǎn)東西。NUCLEO-L031K6 | Mbedhttps
    發(fā)表于 02-11 06:05

    求助,能否獲得指向NUCLEO-L031K6的正確pdf原理圖的鏈接

    NUCLEO-L031K6 文檔頁(yè)面上,有一個(gè)包含 ST Nucleo 原理圖的壓縮文件。不幸的是,這些原理圖適用于不同的 Nucleo 板。我能否獲得指向 NUCLEO-L031
    發(fā)表于 01-12 08:09

    NUCLEO-L031K6 ST-link未被識(shí)別是何原因?

    我最近購(gòu)買(mǎi)了一塊 NUCLEO-L031K6 開(kāi)發(fā)板,當(dāng)通過(guò) USB ST-Link 連接時(shí)無(wú)法識(shí)別。我還有另外 2 個(gè) st-link,它們工作起來(lái)很有魅力,所以有驅(qū)動(dòng)程序
    發(fā)表于 01-29 08:08

    求助,關(guān)于運(yùn)算放大器信號(hào)放大后會(huì)產(chǎn)生相移的問(wèn)題

    相移誤差越小越好,因?yàn)樽罱K要求的數(shù)據(jù)就是兩路信號(hào)的相位差。 ③兩束信號(hào)放大都產(chǎn)生相移后,如果兩路信號(hào)相位差的誤差能夠小于1/50000能
    發(fā)表于 11-20 06:54

    STM32_Nucleo-32_boards_UM1956_User_manual

    The STM32 Nucleo-32 board (NUCLEO-F031K6, NUCLEO-F042K6, NUCLEO-F303K8, NU
    發(fā)表于 03-17 17:59 ?24次下載

    HRTIMER產(chǎn)生多相相移信號(hào)

    HRTIMER產(chǎn)生多相相移信號(hào)
    發(fā)表于 03-20 10:11 ?8次下載

    基于NUCLEO-L031K6微控制器的參考設(shè)計(jì)

    View the reference design for NUCLEO-L031K6. http://www.brongaenegriffin.com/soft/ has thousands of reference designs to help bring your project to life.
    發(fā)表于 08-31 10:58 ?1次下載
    基于<b class='flag-5'>NUCLEO-L031</b>K6微控制器的參考設(shè)計(jì)

    ADC對(duì)連續(xù)外部信號(hào)進(jìn)行采樣的概念和用法-M031/M032

    ADC對(duì)連續(xù)外部信號(hào)進(jìn)行采樣的概念和用法-M031/M032
    的頭像 發(fā)表于 08-10 16:21 ?1606次閱讀
    ADC對(duì)連續(xù)外部<b class='flag-5'>信號(hào)</b>進(jìn)行采樣的概念和用法-<b class='flag-5'>以</b>M<b class='flag-5'>031</b>/M032<b class='flag-5'>為</b><b class='flag-5'>例</b>