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

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

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

STM32F0xx_ DAC輸出電壓配置詳細(xì)過(guò)程

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-04-07 11:19 ? 次閱讀

前言

數(shù)模轉(zhuǎn)換DAC的功能在現(xiàn)實(shí)應(yīng)用中所占的分量,相對(duì)定時(shí)器TIM、串口USART等要小的多,這也是ST為什么內(nèi)部集成DAC模塊相對(duì)來(lái)說(shuō)不是那么多的原因。但在有需要使用數(shù)模轉(zhuǎn)換功能的項(xiàng)目中,自帶的這個(gè)DAC模塊基本上可以取代外掛一片DAC芯片,因?yàn)樽詭У倪@個(gè)模塊功能也很強(qiáng)大,只需要簡(jiǎn)單的配置一下就可以輸出指定的電壓信號(hào)(如:PWM波形、三角波、正選波),中途無(wú)需要軟件干預(yù)。當(dāng)然,今天提供的軟件工程只有輸出電壓的基本操作,沒(méi)有輸出特殊的波形。但是,當(dāng)你了解輸出電壓的原理之后,以后你想輸出這些特殊的波形,也就容易多了。

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

今天主要是總結(jié)DAC輸出電壓基本操作。輸出三角波、正選波相對(duì)復(fù)雜一點(diǎn)的功能后期整理一份,敬請(qǐng)等待。

下載

ST標(biāo)準(zhǔn)外設(shè)庫(kù)和參考手冊(cè)、數(shù)據(jù)手冊(cè)等都可以在ST官網(wǎng)下載,你也可以到我的360云盤(pán)下載。關(guān)于F0系列芯片的參考手冊(cè)有多個(gè)版本(針對(duì)F0不同芯片),但有一個(gè)通用版本,就是“STM32F0x128參考手冊(cè)V8(英文)2015-07”建議參考該手冊(cè),以后如果你換用一種型號(hào)芯片也方便了解。

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

https://yunpan.cn/cSIyxQKbvcQi6訪問(wèn)密碼 3e6b

STM32F0xx的資料可以在我360云盤(pán)下載:

https://yunpan.cn/cS2PVuHn6X2Bj訪問(wèn)密碼 8c37

準(zhǔn)備工作

今天總結(jié)的軟件工程是基于“TIM基本延時(shí)配置詳細(xì)過(guò)程”修改而來(lái),因此需要將該軟件工程下載準(zhǔn)備好。打開(kāi)軟件工程,新建源程序文件(dac.c 和 dac.h),在工程中添加新建的源程序文件dac.c和使用到標(biāo)準(zhǔn)外設(shè)庫(kù)stm32f0xx_dac.c。添加的源代碼響應(yīng)的源文件代碼就OK了。

數(shù)模轉(zhuǎn)換原理

從系統(tǒng)框圖中可以看的出,這個(gè)控制單元相對(duì)比較簡(jiǎn)單,所以軟件在操作的這些寄存器的時(shí)候也是相對(duì)較簡(jiǎn)單的。

文章開(kāi)頭說(shuō)了DAC可以輸出指定的電壓信號(hào)(如:PWM波形、三角波、正選波),其實(shí)這些信號(hào)產(chǎn)生的原理很簡(jiǎn)單,就是使用定時(shí)器來(lái)觸發(fā)DAC輸出,信號(hào)幅度需要用特定的算法生成(更加項(xiàng)目需求而定)。當(dāng)然,今天提供的工程是固定輸出一個(gè)電壓信號(hào),只需配置輸出值就行了。


配置過(guò)程詳情

①RCC時(shí)鐘


該函數(shù)位于bsp.c文件下面;

我個(gè)人習(xí)慣第一步配置時(shí)鐘,ST官方提供的例程也是把配置時(shí)鐘放在前面。關(guān)于RCC時(shí)鐘的配置比較重要,有好幾次我就是由于忘記配置相應(yīng)RCC時(shí)鐘,讓我找了很久的問(wèn)題,最后才發(fā)現(xiàn)是RCC時(shí)鐘沒(méi)有配置。

注意:

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

我每次都提醒RCC時(shí)鐘,是因?yàn)楹芏嗳司褪且驗(yàn)闀r(shí)鐘而導(dǎo)致軟件運(yùn)行有問(wèn)題,所以,提醒更多人要注意配置RCC.

②DAC輸出引腳配置


該函數(shù)位于dac.c文件下面;

注意:

這里引腳PA4配置是針對(duì)輸出通道而定,必須匹配才行(請(qǐng)看數(shù)據(jù)手冊(cè)中的引腳說(shuō)明)。F0芯片中只有STM32F072才有兩個(gè)通道,也就是只有它才能配置PA5。

③DAC輸出配置


該函數(shù)位于dac.c文件下面;

重點(diǎn)注意:

這里紅色標(biāo)記三項(xiàng)都需要注意,特別的產(chǎn)生波形這一個(gè)參數(shù),只有F0芯片中只有STM32F072才能是別的值,其他芯片都是固定這個(gè)參數(shù)。同樣,通道也是。

④輸出電壓的計(jì)算


該函數(shù)位于dac.c文件下面;

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

說(shuō)明

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

今天的工程是基于工程“STM32F0xx_TIM基本延時(shí)配置詳細(xì)過(guò)程”修改而來(lái),以上實(shí)例總結(jié)僅供參考,若有不對(duì)之處,敬請(qǐng)諒解。

聲明:本文內(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)投訴
  • dac
    dac
    +關(guān)注

    關(guān)注

    43

    文章

    2296

    瀏覽量

    191149
  • VDD
    VDD
    +關(guān)注

    關(guān)注

    1

    文章

    312

    瀏覽量

    33263
  • STM32F0
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    17106
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    STM32F405xxSTM32F407xx微控制器數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F405xxSTM32F407xx微控制器數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 01-03 14:49 ?0次下載

    【RA-Eco-RA4E2-64PIN-V1.0開(kāi)發(fā)板試用】1.DAC輸出電壓通過(guò)ADC采樣

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

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

    現(xiàn)在正在調(diào)試DAC38RF82,JESD參數(shù)如下:L=4 ,M=1,F=3, S=8 ,HD=0, K=20,雙通道12bit ,采樣率2400MHz,REFCLK=5MHz,相關(guān)寄存器應(yīng)該怎么
    發(fā)表于 12-09 08:32

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

    公式計(jì)算后,得到CODE值,配置DAC通道寄存器中去,然后去用萬(wàn)用表去測(cè)實(shí)際芯片輸出電壓,發(fā)現(xiàn)實(shí)際芯片輸出
    發(fā)表于 11-27 06:56

    DAC7563輸出電壓異常的原因?

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

    AIC31xx/DAC31xx器件和揚(yáng)聲器輸出上的EMI濾波

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

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

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

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

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

    STM32F10xx芯片資料

    電子發(fā)燒友網(wǎng)站提供《STM32F10xx芯片資料.pdf》資料免費(fèi)下載
    發(fā)表于 07-08 14:56 ?1次下載

    CW2015_STM32F1XX_C8T6資料包分享

    CW2015_STM32F1XX_C8T6
    發(fā)表于 06-07 12:46 ?9次下載

    請(qǐng)問(wèn)STM32F DAC最大輸出的電流是多少?

    使用DAC測(cè)試點(diǎn)亮板上的LD,同時(shí)用串口打印輸出電壓,當(dāng)輸出電壓到達(dá)3.2V時(shí),燈的亮度沒(méi)有輸出
    發(fā)表于 05-15 07:06

    stm32f0xx_stdperiph_lib_um.chm怎么用?

    最近用STM32F0,沒(méi)有中文文檔找到庫(kù)里面有個(gè)stm32f0xx_stdperiph_lib_um.chm 這個(gè)怎么用?搗鼓了一會(huì)沒(méi)整明白比如 我想知道所有RCC的庫(kù)函數(shù), 怎么看?
    發(fā)表于 04-24 07:19

    STM32G4XX不能夠像STM32F1XX STM32F4XX那樣對(duì)GPIO進(jìn)行位帶操作呢?

    請(qǐng)教下,在STM32G4XX系列里面,GPIO掛載在AHB2總線上面,地址在0x4800 0000. 是不是也就意味著,STM32G4XX不能夠在像STM32F1XX
    發(fā)表于 03-21 07:16

    STM32F101xxSTM32F103xx ARM 內(nèi)核32位高性能微控制器參考手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F101xxSTM32F103xx ARM 內(nèi)核32位高性能微控制器參考手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 01-29 09:25 ?8次下載

    STM32U5系列TIMER+DMA+DAC應(yīng)用演示

    有人使用STM32U575芯片的DAC功能。他希望使用TIMER事件觸發(fā)DMA,并通過(guò)DMA傳輸內(nèi)存數(shù)據(jù)到DAC輸出寄存器,進(jìn)而產(chǎn)生相應(yīng)的DAC
    的頭像 發(fā)表于 01-24 09:10 ?1878次閱讀
    <b class='flag-5'>STM32</b>U5系列TIMER+DMA+<b class='flag-5'>DAC</b>應(yīng)用演示