91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

STM32定時(shí)器主從級(jí)聯(lián)的應(yīng)用示例分享

茶話MCU ? 來源:茶話MCU ? 作者:Miler ? 2021-11-26 11:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在STMCU中文社區(qū)有人咨詢了類似下面的應(yīng)用問題,有部分需求如下:

1.發(fā)送12個(gè)周期為500ns的脈沖(高電平200ns,低電平300ns),每隔4us發(fā)送一次,共計(jì)三次(36個(gè)脈沖,每12個(gè)脈沖之間間隔4us)。

2.在第一步中的每段12個(gè)脈沖的上升沿時(shí),訪問GPIO口,共計(jì)12個(gè),三次共計(jì)36個(gè)。相關(guān)時(shí)序圖如下:

384a2dec-4ddc-11ec-9eda-dac502259ad0.png

這里,我們就該問題的部分需求聊聊它的大致實(shí)現(xiàn)。先整理下需求:

連續(xù)三組12個(gè)周期為500ns的指定個(gè)數(shù)的小脈沖;

一個(gè)固定時(shí)間間隔10us(含12個(gè)脈沖本身的時(shí)間);

每個(gè)小脈沖對(duì)應(yīng)1次GPIO的訪問;

顯然,我們一般會(huì)很自然地想到通過TIMER來完成,可以使用1個(gè)TIMER,也可以通過2個(gè)TIMER來完成。

如果使用1個(gè)TIMER,我們可以考慮使用更新事件對(duì)脈沖個(gè)數(shù)的統(tǒng)計(jì)及時(shí)間間隔的控制,同時(shí)基于比較事件或更新事件來觸發(fā)DMA來實(shí)行對(duì)GPIO的訪問。不過,這里每個(gè)脈沖周期為500ns,勢(shì)必會(huì)發(fā)生頻繁進(jìn)入更新中斷。

如果使用2個(gè)TIMER來實(shí)現(xiàn)起來就更為方便點(diǎn)。2個(gè)TIMER實(shí)現(xiàn)主從級(jí)聯(lián),各自任務(wù)如下安排:

主TIMER做時(shí)間間隔的控制,每10us產(chǎn)生一次觸發(fā)事件,并開啟更新事件中斷,每發(fā)生3次更新事件即為一個(gè)大周期,后續(xù)啟動(dòng)根據(jù)其它條件定,此處不表。

從ITMER工作在觸發(fā)從模式,同時(shí)選擇它的某一通道做PWM輸出,并工作在單脈沖模式,同時(shí)每個(gè)脈沖的比較事件觸發(fā)一次DMA實(shí)現(xiàn)GPIO與內(nèi)存間的傳輸。

基于上面的需求及規(guī)劃,下面簡(jiǎn)單介紹下實(shí)現(xiàn)過程。我們選用STM32G4系列的Nucleo板【Nucleo-G431RB】來進(jìn)行驗(yàn)證測(cè)試。

選擇TIM1工作在從模式,輸出脈沖的比較事件觸發(fā)DMA完成對(duì)GPIO的訪問。DMA每傳輸12個(gè)數(shù)據(jù)后進(jìn)入DMA傳輸完成中斷,并進(jìn)行相關(guān)數(shù)據(jù)處理。令TIM3工作在主模式,它的計(jì)時(shí)周期為10us,每個(gè)周期產(chǎn)生一次更新事件作為觸發(fā)輸出并與TIM1的觸發(fā)輸入相連,作為TIM1的啟動(dòng)觸發(fā)信號(hào)

通過查看STM32G4系列參考手冊(cè),我們可以得到如下片內(nèi)定時(shí)器互聯(lián)信號(hào)表。TIM3的TRGO信號(hào)可以作為TIM1的觸發(fā)輸入通道2的輸入信號(hào)。

389a4174-4ddc-11ec-9eda-dac502259ad0.png

下面我們使用CubeMx進(jìn)行配置。先看TIM1的相關(guān)配置【定時(shí)器計(jì)數(shù)時(shí)鐘為10MHz】:

3903d45e-4ddc-11ec-9eda-dac502259ad0.png

39914e4c-4ddc-11ec-9eda-dac502259ad0.png

39f5c20a-4ddc-11ec-9eda-dac502259ad0.png

再看看看TIM3的基本配置:

3a5e6396-4ddc-11ec-9eda-dac502259ad0.png

完成相關(guān)初始化配置后創(chuàng)建工程,然后添加必要的用戶代碼。代碼很簡(jiǎn)單,開啟TIM1通道的pwm輸出,使能TIM1-ch1比較事件的DMA觸發(fā)功能,調(diào)用相關(guān)DMA功能函數(shù),啟動(dòng)TIM3的計(jì)數(shù)器。

3ace4bd4-4ddc-11ec-9eda-dac502259ad0.png

其中,TIM_DMAcptPro()為DMA傳輸完成中斷的回調(diào)函數(shù),負(fù)責(zé)做相關(guān)數(shù)據(jù)的處理。TIM1的啟動(dòng)靠TIM3的更新事件來觸發(fā)實(shí)現(xiàn)。

稍作編譯調(diào)試即可看到如下結(jié)果:

黃色的信號(hào)為TIM1周期的脈沖輸出,小脈沖間的間隔為4us.

藍(lán)色信號(hào)為通過DMA寫到GPIO的數(shù)據(jù),高、低電平均代表一個(gè)數(shù)據(jù)。這些只是模擬下操作過程。

顯然,當(dāng)弄清實(shí)現(xiàn)原理后,基于CubeMx進(jìn)行配置,整個(gè)過程實(shí)現(xiàn)起來還是比較簡(jiǎn)單的。這里需要我們對(duì)定時(shí)器的主從級(jí)聯(lián)、定時(shí)器各類事件、比較輸出的單脈沖模式的特性及對(duì)DMA運(yùn)用有些了解。上面主要演示基于定時(shí)器主從模式的實(shí)現(xiàn)過程,更多細(xì)節(jié)還得閱讀相關(guān)技術(shù)手冊(cè)。

最后提醒個(gè)地方,現(xiàn)在是TIM3的更新事件去觸發(fā)啟動(dòng)TIM1,顯然第一次啟動(dòng)TIM1時(shí)需等待TIM3一個(gè)計(jì)數(shù)周期,如果不希望這樣的話,我們也可以在TIM3啟動(dòng)的同時(shí)啟動(dòng)TIM1計(jì)數(shù),只需在啟動(dòng)TIM3的同時(shí)手動(dòng)產(chǎn)生個(gè)更新事件來實(shí)現(xiàn)。

編輯:jq

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

    關(guān)注

    23

    文章

    3368

    瀏覽量

    123828
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    582

    瀏覽量

    105985
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4971

    瀏覽量

    74035
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1329

    瀏覽量

    56255

原文標(biāo)題:STM32定時(shí)器主從級(jí)聯(lián)的又一應(yīng)用示例

文章出處:【微信號(hào):stmcu832,微信公眾號(hào):茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    LM555QML定時(shí)器:功能特性、應(yīng)用及設(shè)計(jì)要點(diǎn)

    LM555QML定時(shí)器:功能特性、應(yīng)用及設(shè)計(jì)要點(diǎn) 在電子設(shè)計(jì)領(lǐng)域,定時(shí)器是一種常用的器件,可用于生成精確的時(shí)間延遲或振蕩。TI公司的LM555QML定時(shí)器就是這樣一款高度穩(wěn)定的器件,下面我們來詳細(xì)
    的頭像 發(fā)表于 02-10 15:40 ?152次閱讀

    深入解析 LM555 定時(shí)器:特性、應(yīng)用與設(shè)計(jì)要點(diǎn)

    深入解析 LM555 定時(shí)器:特性、應(yīng)用與設(shè)計(jì)要點(diǎn) 一、引言 在電子工程師的工具箱中,定時(shí)器芯片是常用的基礎(chǔ)元件之一。而 TI 公司的 LM555 定時(shí)器,以其高穩(wěn)定性、多種工作模式和廣泛的應(yīng)用范圍
    的頭像 發(fā)表于 02-10 15:35 ?276次閱讀

    LAT1173高精度定時(shí)器的同步功能應(yīng)用筆記

    STM32G474 所含的高精度定時(shí)器(HRTIMER)其實(shí)包含了多個(gè)定時(shí)器,多個(gè)定時(shí)器之間可以單獨(dú)工作,也可以進(jìn)行同步,且高精度定時(shí)器還能
    發(fā)表于 01-11 17:32 ?0次下載

    LAT1183+高精度定時(shí)器中 single-shot 計(jì)數(shù)模式不工作應(yīng)用筆記

    客戶使用 STM32G474 的高精度定時(shí)器,基于 CubeMX 進(jìn)行外設(shè)配置與代碼生成,將某個(gè)子定時(shí)器的計(jì)數(shù)方式設(shè)置為 retriggerable single shot 方式,發(fā)現(xiàn)該子定時(shí)
    發(fā)表于 01-11 17:28 ?0次下載

    CW32F030是32位的MCU為什么不提供32位的定時(shí)器?

    CW32F030提供豐富的定時(shí)器資源,有1個(gè)高級(jí)定時(shí)器、4個(gè)通用定時(shí)器和3個(gè)基本定時(shí)器,雖然定時(shí)器是16位的,但各個(gè)
    發(fā)表于 12-22 15:22

    CW32L010+定時(shí)器介紹

    模式和連續(xù)計(jì)數(shù)模式 6路獨(dú)立輸入捕獲和輸出比較通道 死區(qū)時(shí)間可編程的互補(bǔ)PWM輸出 支持雙點(diǎn)比較移相,支持邏輯與移相 支持2個(gè)剎車輸入 觸發(fā)輸入信號(hào)(TRGI)控制定時(shí)器實(shí)現(xiàn)多種從模式 定時(shí)器級(jí)聯(lián)ITR
    發(fā)表于 12-01 07:53

    PWM、定時(shí)器、SysTick 區(qū)別及應(yīng)用場(chǎng)景

    在單片機(jī)和嵌入式開發(fā)中,經(jīng)常會(huì)遇到PWM(脈寬調(diào)制)、定時(shí)器、SysTick(系統(tǒng)滴答定時(shí)器)這幾個(gè)詞。很多初學(xué)者容易把它們混為一談,以為都是“定時(shí)相關(guān)的東西”。其實(shí),它們?cè)诒举|(zhì)和應(yīng)用上有明顯差別
    的頭像 發(fā)表于 11-17 10:53 ?539次閱讀
    PWM、<b class='flag-5'>定時(shí)器</b>、SysTick 區(qū)別及應(yīng)用場(chǎng)景

    SysTick系統(tǒng)滴答定時(shí)器簡(jiǎn)介

    SysTick—系統(tǒng)定時(shí)器是屬于CM33內(nèi)核中的一個(gè)外設(shè),內(nèi)嵌在NVIC中。系統(tǒng)定時(shí)器是一個(gè)24bit的向下遞減的計(jì)數(shù),計(jì)數(shù)每計(jì)數(shù)一次的時(shí)間為 1/SYSCLK,一般我們?cè)O(shè)置系統(tǒng)時(shí)
    的頭像 發(fā)表于 09-23 09:50 ?1648次閱讀
    SysTick系統(tǒng)滴答<b class='flag-5'>定時(shí)器</b>簡(jiǎn)介

    定時(shí)器同步之并行模式

    AT32F4xx定時(shí)器同步之并行模式 支持型號(hào): AT32F 系列 主要使用外設(shè): TIMER 獲取示例 1 快速使用方法 1.1 硬件資源 AT-START-F403A V1.0 實(shí)驗(yàn)
    發(fā)表于 09-22 09:56

    大彩講堂:VisualHMI-LUA教程-定時(shí)器的使用指南

    定時(shí)器的使用
    的頭像 發(fā)表于 08-31 16:59 ?1176次閱讀
    大彩講堂:VisualHMI-LUA教程-<b class='flag-5'>定時(shí)器</b>的使用指南

    STM32H750定時(shí)器抓最高30M信息源,定時(shí)器能不能配置成100M?

    你好,我們要用 STM32H750 定時(shí)器抓最高30M 信息源,定時(shí)器能不能配置成100M?超過1M用適波無法看到波形,不知道是哪的問題
    發(fā)表于 08-08 06:23

    stm32H743定時(shí)器溢出的原因?怎么解決?

    我利用定時(shí)器更新中斷實(shí)現(xiàn)軟件計(jì)時(shí),定時(shí)時(shí)間是固定的按照{(diào)10ms, 20ms,650ms, 50ms,50ms}周期性進(jìn)行的。由于下一次的計(jì)時(shí)時(shí)間是需要在定時(shí)器的中斷處理函數(shù)中更新的,定時(shí)器
    發(fā)表于 06-23 08:26

    第十二章 SysTick——系統(tǒng)定時(shí)器

    本章介紹了W55MH32的SysTick系統(tǒng)定時(shí)器,它是24位遞減計(jì)數(shù),含4個(gè)寄存,可配置定時(shí)、中斷,用于產(chǎn)生時(shí)基 等。
    的頭像 發(fā)表于 05-22 17:16 ?1102次閱讀
    第十二章 SysTick——系統(tǒng)<b class='flag-5'>定時(shí)器</b>

    MCU定時(shí)器/計(jì)數(shù)

    RISC-V核低功耗MCU通過靈活的定時(shí)器架構(gòu)、低功耗模式適配及硬件級(jí)中斷優(yōu)化,在工業(yè)控制、智能家居等場(chǎng)景中實(shí)現(xiàn)高精度計(jì)時(shí)與能耗控制的協(xié)同設(shè)計(jì),滿足復(fù)雜任務(wù)調(diào)度與實(shí)時(shí)響應(yīng)的雙重需求?。 一、?硬件
    的頭像 發(fā)表于 04-27 13:54 ?800次閱讀

    STM32定時(shí)器基本原理及常見問題之培訓(xùn)資料

    STM32 定時(shí)器基本原理及常見問題之培訓(xùn)資料v3.10 時(shí)基單元、捕捉比較功能、主從觸發(fā)與級(jí)聯(lián)、案例分享 培訓(xùn)內(nèi)容:
    發(fā)表于 04-08 16:26