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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

求一種基于STM32G4芯片TIM+SPI+DMA應用設計方案

茶話MCU ? 來源:茶話MCU ? 2024-03-17 10:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

現在有STM32用戶使用STM32G474R芯片開發產品,其中用到TIM1做電源驅動,TIM1工作在中心對齊計數模式。現在有個應用需求,就是希望在TIM1每個周期的下圖箭頭所指時刻觸發外部ADC器件的采樣,等ADC完成轉換后并通過SPI接口將結果取回來。但有個要求,從觸發時刻【下圖中的A點】開始到把ADC結果取回來這個過程不能有CPU的參與。

79944cd8-e402-11ee-a297-92fbcf53809c.png

該用戶覺得原理上可行,但經一番折騰感覺相應硬件時序的實現和DMA傳輸都遇到了些障礙。就像拼魔方一樣,規則和需求雖然很清晰,基本動作也簡單,但真要轉成功不太容易。

我們來進一步看看他目前所用ADC器件跟STM32G4在硬件時序上有哪些關聯與要求。下圖黃色欄里記錄的是外部ADC器件用到的幾個信號,綠色欄記錄的是它跟STM32G4芯片相連的信號或管腳。圖中紅色信號代表從ADC器件給到STM32的,藍色信號就是STM32芯片給到ADC器件的。

79a7699e-e402-11ee-a297-92fbcf53809c.png

目前大致時序要求是,在TIM1每個計數周期的A點,STM32首先產生兩個ADC啟動信號,即上圖中的兩個下沿窄脈沖。等ADC轉換完成后根據ADC器件的BUSY信號的下沿到來,啟動STM32的SPI接收多個數據,顯然這里需要DMA出場。

現在的問題就是,如何將A點跟ADC啟動信號同步關聯起來?如何實現那兩個啟動脈沖?然后,ADC轉換完成信號出現后又如何跟STM32這邊的SPI接收關聯起來?記住,這整個過程不讓CPU插手。

我這里提供一個方案供參考。因為下面的驗證測試僅僅基于STM32G4芯片本身,并沒有連接上相應的ADC器件。所以,下面測試驗證過程中,我通過STM32G4芯片模擬產生ADC器件的Busy信號。另外用到SPI1和SPI2,SPI1作為STM32G4端的主SPI,負責從外部ADC器件讀回結果。SPI2模擬ADC器件那邊的從SPI設備,負責發送結果到STM32G4芯片。

我讓TIM2跟TIM1同步啟動,并設置相同的計數周期。TIM2計數到對應于TIM1的A點時產生OC1事件去同步啟動TIM3和TIM4,TIM3基于兩個通道輸出兩路ADC啟動脈沖后停下來,TIM4用來模擬產生ADC器件的BUSY信號。BUSY信號接到STM32G474RE芯片的PC2腳,基于PC2腳下沿觸發的外部中斷事件再作為STM32G474SPI1的DMA發送的同步信號。

我將上面描述的內容用下圖示意出來,即從A點開始到產生Busy信號的各種信號前后關系時序圖,這樣便于觀察和理解。具體參數可以根據實際情況適當調整。

79b4fa0a-e402-11ee-a297-92fbcf53809c.png

要產生這個時序關系,所需核心知識點就是TIMER的主從觸發與同步以及TIMER不同輸出比較模式的特性,并加以活用。

解決了前面幾個信號間的時序關系,還不能萬事大吉。我們還需要對DMA以及DMAMUX的有關原理和SPI應用相關知識點有著清晰地把握,才能解決眼前的問題。

下面我會把全部配置及用戶代碼都貼出來供參考,這里就沒法逐字逐句解說了。

原理弄清晰后,我們就可以使用STM32開發神器-STM32CubeMx圖形化工具進行初始化配置。順便說明下,這里提到的方案不是一成不變的,能達到目的即可。尤其有關TIMER的具體實現方式往往靈活多樣。

一、有關TIM1的配置。它其實不是這里的重點,這里主要是基于它再構造一個跟它同步啟動的輔助定時器2。TIM1的主要任務是做它該做的驅動就好。

79c6e2ba-e402-11ee-a297-92fbcf53809c.png

二、定時器2的配置。它被TIM1同步觸發啟動。計數周期跟TIM1一樣,并在特定計數點【前面提到的對應于A點的位置】產生OC1比較事件。

79ccf79a-e402-11ee-a297-92fbcf53809c.png

三、定時器3的配置,它被TIM2觸發啟動,工作在單脈沖模式。計數周期根據自身信號特征和時序要求來擬定。使用通道1和通道2來產生兩路相同的ADC啟動信號。

79e711fc-e402-11ee-a297-92fbcf53809c.png

四、定時器4的配置,也是被TIM2觸發啟動,工作在單脈沖模式。計數周期根據自身信號特征和時序要求來擬定。這里使用其通道1模擬產生ADC器件的BUSY信號。

7a954c68-e402-11ee-a297-92fbcf53809c.png

五、SPI的配置。SPI1作為主設備,負責從ADC器件讀取結果到RAM。SPI2模擬ADC器件的從設備,負責發送ADC結果給主設備。我這里啟用了SPI1收、發的DMA傳輸,并且DMA發送使用EXTI2事件做同步。另外我也啟用了SPI2的DMA發送功能。這里重點關注下SPI1發送功能的DMA配置。

7ae3adcc-e402-11ee-a297-92fbcf53809c.png

需要重點關注的基本配置就是上面這些,其它有關時鐘、EXTI2配置就不貼圖了。創建工程后,添加用戶代碼。這里需添加的用戶代碼比較簡單。見下圖,清一色的啟動代碼,寥寥幾行。

7aff7048-e402-11ee-a297-92fbcf53809c.png

因為這里只需接收數據,MOSI腳釋放出來無妨,所以才有了上面截圖的第一行,不做重點關注。下圖是我驗證測試過程中的實際波形圖:

7b191660-e402-11ee-a297-92fbcf53809c.png

上圖中的黃色波形是TIM1的輸出波形。兩路綠色波形是STM32G4給到ADC器件的啟動信號。紫色波形是STM32G4模擬產生的BUSY信號。

我們不妨看看基于上面配置及代碼的驗證結果。每次讀取4個數據回來。下面兩圖是基于兩次不同的模擬測試結果截圖。TxData是從SPI2發過來的數據,RxData是主SPI1收到的數據。

7b2e4224-e402-11ee-a297-92fbcf53809c.png

7b3bf342-e402-11ee-a297-92fbcf53809c.png

好,今天的話題就分享到這里,希望能帶給大家一些參考和啟示。上面內容涉及的東西較多,應該說有較強的綜合性,應用上也不失靈活。如果有啥相關問題,我們可以討論交流~!




審核編輯:劉清

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

    關注

    8

    文章

    1392

    瀏覽量

    117399
  • SPI接口
    +關注

    關注

    0

    文章

    263

    瀏覽量

    35486
  • 電源驅動
    +關注

    關注

    1

    文章

    41

    瀏覽量

    14754
  • ADC采樣
    +關注

    關注

    0

    文章

    134

    瀏覽量

    13176
  • STM32芯片
    +關注

    關注

    0

    文章

    38

    瀏覽量

    4612

原文標題:基于STM32G4芯片TIM+SPI+DMA應用示例

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32G4 UART+TIMER+DMA應用示例

    這里使用STM32G4系列Nucleo開發板演示如下需求的實現過程。
    的頭像 發表于 11-27 10:42 ?3411次閱讀
    <b class='flag-5'>STM32G4</b> UART+TIMER+<b class='flag-5'>DMA</b>應用示例

    stm32G4tim2有霍爾模式,能不能用tim1的通道4連接tim2?

    stm32G4tim2有霍爾模式,能不能用tim1的通道4連接tim2
    發表于 07-24 07:47

    一種新型系統級可編程芯片設計方案

    一種新型系統級可編程芯片設計方案
    發表于 05-06 07:44

    STM32G4定時器TIM輸入捕獲頻率測量

    摘要本文章基于國信長天M4開發板,講述了STM32G4 定時器TIM輸入捕獲頻率測量的因通過用,祝各位學生藍橋杯比賽取得好成績!M4開發板 頻率發生器部分原理圖由上圖可以看出,開發板上
    發表于 08-16 06:35

    請問STM32G4定時器TIM輸入捕獲頻率測量的應用?

    請問STM32G4定時器TIM輸入捕獲頻率測量的應用?
    發表于 11-18 07:01

    一種基于STM32F103C8T6的無線飛鼠設計方案

    一種基于STM32F103C8T6的無線飛鼠設計方案
    發表于 12-20 06:15

    STM32G4 TIM PWM輸出的使用步驟是怎樣的?

    STM32G4 TIM PWM輸出的使用步驟是怎樣的?
    發表于 01-26 06:03

    請問STM32G4是不是不具備雙緩沖DMA功能啊?

    請問STM32G4是不是不具備雙緩沖DMA功能啊?
    發表于 12-16 06:08

    一種基于單片機系統的DMA控制電路的模塊化設計方案

    一種基于單片機系統的DMA控制電路的模塊化設計方案
    發表于 01-14 22:41 ?19次下載

    基于STM32G4芯片的DAC應用示例分享

    。這里要演示的基本功能就是讓DAM將內存數據周期性傳輸給DAC數據寄存器,最后輸出路正弦波。 結合STM32G4芯片的特性,這里可以有兩實現方式。 第
    的頭像 發表于 11-26 11:39 ?5421次閱讀
    基于<b class='flag-5'>STM32G4</b><b class='flag-5'>芯片</b>的DAC應用示例分享

    STM32G4 系列壽命估算

    STM32G4 系列壽命估算
    發表于 11-21 08:11 ?2次下載
    <b class='flag-5'>STM32G4</b> 系列壽命估算

    STM32G4系列安全手冊

    STM32G4系列安全手冊
    發表于 11-22 08:21 ?4次下載
    <b class='flag-5'>STM32G4</b>系列安全手冊

    基于STM32G4STM32H7的ST室內和商用空調方案

    電子發燒友網站提供《基于STM32G4STM32H7的ST室內和商用空調方案.pdf》資料免費下載
    發表于 08-01 09:29 ?1次下載
    基于<b class='flag-5'>STM32G4</b>和<b class='flag-5'>STM32</b>H7的ST室內和商用空調<b class='flag-5'>方案</b>

    STM32G4 應用程序與 Option Bytes 同時燒錄問題

    STM32G4 應用程序與 Option Bytes 同時燒錄問題
    的頭像 發表于 09-28 18:02 ?1420次閱讀
    <b class='flag-5'>STM32G4</b> 應用程序與 Option Bytes 同時燒錄問題

    STM32G4市場和特性篇

    電子發燒友網站提供《STM32G4市場和特性篇.pdf》資料免費下載
    發表于 09-19 14:44 ?1次下載
    <b class='flag-5'>STM32G4</b>市場和特性篇
    主站蜘蛛池模板: 国产麻豆剧果冻传媒免费网站 | 亚洲成人黄色片 | 2020最新无码国产在线视频 | 俄罗斯雏妓的BBB孩交 | 国产日韩精品一区二区三区在线 | 护士喂我吃乳液我脱她内裤 | 日韩AV成人无码久久精品老人 | 掀开奶罩边躁狠狠躁软学生 | 香蕉59tv视频 | 9420高清完整版在线电影免费观看 | 国产一区二区三区影院 | 国产精品99久久久久久AV下载 | 渔夫床满艳史bd高清在线直播 | 丰满的女朋友韩国版在线观看 | 动漫美女被到爽了流漫画 | 校花在公车上被内射好舒 | 国产手机精品一区二区 | 美国色情三级欧美三级纸匠情挑 | 精品亚洲国产熟女福利自在线 | 久久电影院久久国产 | 国产精品成人免费视频99 | 成人在线观看视频免费 | 午夜伦理一yy4480影院 | 久久夜色噜噜噜亚洲AV0000 | 欧美日本高清动作片www网站 | 日本高清免费在线观看 | 麻豆精品一卡2卡三卡4卡免费观看 | 99热成人精品国产免男男 | 乳色吐息未增删樱花ED在线观看 | 国产精品大全国产精品 | 又色又爽又黄gif动态视频 | 中文字幕va一区二区三区 | 午夜男人免费福利视频 | 国产AV精品久久久毛片 | 亚洲黄网站wwwwww | 大香网伊人久久综合观看 | 成人无码国产AV免费看 | 办公室丝袜老师在线观看 | A国产一区二区免费入口 | 亚洲精品无夜久久久久久久久 | 欧美色图天堂网 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品