吴忠躺衫网络科技有限公司

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

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

3天內不再提示

STM32F0xx_ DAC輸出電壓配置詳細過程

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-07 11:19 ? 次閱讀

前言

數模轉換DAC的功能在現實應用中所占的分量,相對定時器TIM、串口USART等要小的多,這也是ST為什么內部集成DAC模塊相對來說不是那么多的原因。但在有需要使用數模轉換功能的項目中,自帶的這個DAC模塊基本上可以取代外掛一片DAC芯片,因為自帶的這個模塊功能也很強大,只需要簡單的配置一下就可以輸出指定的電壓信號(如:PWM波形、三角波、正選波),中途無需要軟件干預。當然,今天提供的軟件工程只有輸出電壓的基本操作,沒有輸出特殊的波形。但是,當你了解輸出電壓的原理之后,以后你想輸出這些特殊的波形,也就容易多了。

STM32F0系列的DAC功能大部分是單通道,相對比較簡單。只有STM32F072系列芯片是兩路輸出通道、有DAC控制單元輸出三角波形等。

今天主要是總結DAC輸出電壓基本操作。輸出三角波、正選波相對復雜一點的功能后期整理一份,敬請等待。

下載

ST標準外設庫和參考手冊、數據手冊等都可以在ST官網下載,你也可以到我的360云盤下載。關于F0系列芯片的參考手冊有多個版本(針對F0不同芯片),但有一個通用版本,就是“STM32F0x128參考手冊V8(英文)2015-07”建議參考該手冊,以后如果你換用一種型號芯片也方便了解。

今天的軟件工程下載地址(360云盤):

https://yunpan.cn/cSIyxQKbvcQi6訪問密碼 3e6b

STM32F0xx的資料可以在我360云盤下載:

https://yunpan.cn/cS2PVuHn6X2Bj訪問密碼 8c37

準備工作

今天總結的軟件工程是基于“TIM基本延時配置詳細過程”修改而來,因此需要將該軟件工程下載準備好。打開軟件工程,新建源程序文件(dac.c 和 dac.h),在工程中添加新建的源程序文件dac.c和使用到標準外設庫stm32f0xx_dac.c。添加的源代碼響應的源文件代碼就OK了。

數模轉換原理

從系統框圖中可以看的出,這個控制單元相對比較簡單,所以軟件在操作的這些寄存器的時候也是相對較簡單的。

文章開頭說了DAC可以輸出指定的電壓信號(如:PWM波形、三角波、正選波),其實這些信號產生的原理很簡單,就是使用定時器來觸發DAC輸出,信號幅度需要用特定的算法生成(更加項目需求而定)。當然,今天提供的工程是固定輸出一個電壓信號,只需配置輸出值就行了。


配置過程詳情

①RCC時鐘


該函數位于bsp.c文件下面;

我個人習慣第一步配置時鐘,ST官方提供的例程也是把配置時鐘放在前面。關于RCC時鐘的配置比較重要,有好幾次我就是由于忘記配置相應RCC時鐘,讓我找了很久的問題,最后才發現是RCC時鐘沒有配置。

注意:

外設時鐘不要隨便添加,比如:RCC_APB1外設不要配置在RCC_APB2時鐘里面【如:RCC_APB2PeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);這樣能編譯過,但是錯誤的】

我每次都提醒RCC時鐘,是因為很多人就是因為時鐘而導致軟件運行有問題,所以,提醒更多人要注意配置RCC.

②DAC輸出引腳配置


該函數位于dac.c文件下面;

注意:

這里引腳PA4配置是針對輸出通道而定,必須匹配才行(請看數據手冊中的引腳說明)。F0芯片中只有STM32F072才有兩個通道,也就是只有它才能配置PA5。

③DAC輸出配置


該函數位于dac.c文件下面;

重點注意:

這里紅色標記三項都需要注意,特別的產生波形這一個參數,只有F0芯片中只有STM32F072才能是別的值,其他芯片都是固定這個參數。同樣,通道也是。

④輸出電壓的計算


該函數位于dac.c文件下面;

由于F0芯片的參考電壓固定為VDD,不像其他型號可以使用外部參考電壓,所以這里的計算方式中3.3就是參考電壓的值,4096是2的12次方。不懂的請自行想一下哦。

說明

或許你硬件芯片不是提供的工程里面的芯片,但是STM32F0的芯片軟件兼容性很好,可以適用于F0其他很多型號的芯片,甚至是F2、F4等芯片上(具體請看手冊、或者親自測試)。

今天的工程是基于工程“STM32F0xx_TIM基本延時配置詳細過程”修改而來,以上實例總結僅供參考,若有不對之處,敬請諒解。

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

    關注

    43

    文章

    2309

    瀏覽量

    191562
  • VDD
    VDD
    +關注

    關注

    1

    文章

    312

    瀏覽量

    33541
  • STM32F0
    +關注

    關注

    0

    文章

    61

    瀏覽量

    17135
收藏 人收藏

    評論

    相關推薦

    STM32F405xxSTM32F407xx微控制器數據手冊

    電子發燒友網站提供《STM32F405xxSTM32F407xx微控制器數據手冊.pdf》資料免費下載
    發表于 01-03 14:49 ?1次下載

    【RA-Eco-RA4E2-64PIN-V1.0開發板試用】1.DAC輸出電壓通過ADC采樣

    ;g_dac0_ctrl); } 2.輸出電壓 /** @brief設置當前的電壓 @param需要控制的電壓 @retval
    發表于 12-16 11:37

    DAC38RF82寄存器配置輸出一直是0,為什么?

    現在正在調試DAC38RF82,JESD參數如下:L=4 ,M=1,F=3, S=8 ,HD=0, K=20,雙通道12bit ,采樣率2400MHz,REFCLK=5MHz,相關寄存器應該怎么
    發表于 12-09 08:32

    DAC81408配置DAC寄存器內的值與各通道輸出電壓不相符,且偏差較大,是什么原因?如何解決?

    公式計算后,得到CODE值,配置DAC通道寄存器中去,然后去用萬用表去測實際芯片輸出電壓,發現實際芯片輸出
    發表于 11-27 06:56

    DAC7563輸出電壓異常的原因?

    DAC7563_WRITE(0x19,1348<<4); 測試發現下面異常問題: 1.部分板子輸出參考電壓異常,正常的板子參考電壓
    發表于 11-20 08:39

    STM32F407輸出I2S信號給TAS5719始終無聲,偶爾會有干擾噪聲,為什么?

    STM32F407輸出I2S信號給TAS5719,始終無聲,偶爾會有干擾噪聲。外接其他DAC聲音正常。TAS57XX GDE產生的配置文件
    發表于 10-30 06:41

    AIC31xx/DAC31xx器件和揚聲器輸出上的EMI濾波

    電子發燒友網站提供《AIC31xx/DAC31xx器件和揚聲器輸出上的EMI濾波.pdf》資料免費下載
    發表于 10-18 10:07 ?0次下載
    AIC31<b class='flag-5'>xx</b>/<b class='flag-5'>DAC31xx</b>器件和揚聲器<b class='flag-5'>輸出</b>上的EMI濾波

    STM32CUBEMX(7)--移植雅特力AT32F403AVGT(兼容STM32F103VGT6),DAC輸出電壓

    概述 本篇文章主要介紹如何使用STM32CubeMX移植到雅特力AT32F403AVGT7,并通過DAC輸出電壓,在芯片中有2個12位的
    發表于 09-06 16:40

    【GD32 MCU 移植教程】8、從 STM32F4xx 系列移植到 GD32F4xx

    GD32F4xx 系列 MCU 是基于 Arm? Cortex?-M4 處理器的 32 位通用微控制器,與 STM32F4xx系列 MCU 保持高度兼容。本文主要從以下三個方面進行介紹:硬件資源對比
    的頭像 發表于 09-06 09:40 ?1514次閱讀
    【GD32 MCU 移植教程】8、從 <b class='flag-5'>STM32F4xx</b> 系列移植到 GD32<b class='flag-5'>F4xx</b> 系

    STM32F10xx芯片資料

    電子發燒友網站提供《STM32F10xx芯片資料.pdf》資料免費下載
    發表于 07-08 14:56 ?1次下載

    CW2015_STM32F1XX_C8T6資料包分享

    CW2015_STM32F1XX_C8T6
    發表于 06-07 12:46 ?10次下載

    請問STM32F DAC最大輸出的電流是多少?

    使用DAC測試點亮板上的LD,同時用串口打印輸出電壓,當輸出電壓到達3.2V時,燈的亮度沒有輸出
    發表于 05-15 07:06

    stm32f0xx_stdperiph_lib_um.chm怎么用?

    最近用STM32F0,沒有中文文檔找到庫里面有個stm32f0xx_stdperiph_lib_um.chm 這個怎么用?搗鼓了一會沒整明白比如 我想知道所有RCC的庫函數, 怎么看?
    發表于 04-24 07:19

    STM32cubeMX配置外接DAC,具體需要注意些什么呢?

    STM32cubeMX配置外接DAC,具體需要注意些什么呢,可有教程教教我如何使用外設DAC模塊輸出電壓
    發表于 03-28 06:22

    STM32G4XX不能夠像STM32F1XX STM32F4XX那樣對GPIO進行位帶操作呢?

    請教下,在STM32G4XX系列里面,GPIO掛載在AHB2總線上面,地址在0x4800 0000. 是不是也就意味著,STM32G4XX不能夠在像STM32F1XX
    發表于 03-21 07:16
    百家乐园sun811| 天地人百家乐官网现金网| 风水做生意店铺的门| 大发888游戏平台188| 金殿百家乐官网的玩法技巧和规则| 大发888游戏客户端| 做生意门朝东好吗| 互助| 赌场百家乐破解| 大亨百家乐官网游戏| 真人百家乐网络游戏信誉怎么样| 澳门百家乐官网在线| 大发888游戏代充值| 金域百家乐官网的玩法技巧和规则 | 百家乐视频台球下载| 东方市| 葡京百家乐的玩法技巧和规则| 金博士百家乐官网娱乐城| 大发888游戏平台 46| 百家乐室系统软件| 百家乐官网怎么赢9| 威尼斯人娱乐城极好| 百家乐官网棋| 长岭县| 威尼斯人娱乐城首存优惠| 免费百家乐官网缩水| 百家乐官网视频象棋| 威尼斯人娱乐城赌博网站| 澳门百家乐官网赌场文| 肥东县| 威尼斯人娱乐城怎么样lm0| 罗盘的 24卦位| 百家乐官网赢钱秘密| 大发888下载免费游戏| 百家乐园zyylc| 百家乐官网赌场讨论群| 大发888娱乐城客服lm0| 百家乐手机投注平台| 专业百家乐官网筹码| 188金宝博| 威尼斯人娱乐场wnsrdcylcbywz |