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

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

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

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

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

前言

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

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

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

下載

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

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

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

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

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

準(zhǔn)備工作

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

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

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

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


配置過程詳情

①RCC時(shí)鐘


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

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

注意:

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

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

②DAC輸出引腳配置


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

注意:

這里引腳PA4配置是針對輸出通道而定,必須匹配才行(請看數(shù)據(jù)手冊中的引腳說明)。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,不像其他型號可以使用外部參考電壓,所以這里的計(jì)算方式中3.3就是參考電壓的值,4096是2的12次方。不懂的請自行想一下哦。

說明

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

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

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

    關(guān)注

    43

    文章

    2261

    瀏覽量

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

    關(guān)注

    1

    文章

    311

    瀏覽量

    33040
  • STM32F0
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    17078
收藏 人收藏

    評論

    相關(guān)推薦

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

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

    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,并通過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)行介紹:硬件資源對比
    的頭像 發(fā)表于 09-06 09:40 ?891次閱讀
    【GD32 MCU 移植教程】8、從 <b class='flag-5'>STM32F4xx</b> 系列移植到 GD32<b class='flag-5'>F4xx</b> 系

    上電瞬間單片機(jī)DAC管腳輸出0v電壓,LM258會(huì)有20MS處于失控狀態(tài),為什么?

    上電瞬間單片機(jī)DAC管腳輸出0v電壓,LM258會(huì)有20MS處于失控狀態(tài),輸出9.8V的電壓
    發(fā)表于 07-30 06:40

    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 ?8次下載

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

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

    stm32f0xx_stdperiph_lib_um.chm怎么用?

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

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

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

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

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

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

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

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

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

    DAC輸出范圍是0~VDD范圍的話,電壓輸出型的DAC輸出端能否加個(gè)電容隔直?

    DAC輸出范圍是0~VDD范圍的話,電壓輸出型的DAC輸出
    發(fā)表于 12-19 06:57

    RT-thread源碼移植到STM32F10x和STM32F4xx

    RT-thread源碼移植到STM32F10x和STM32F4xx: 一、源碼下載 點(diǎn)擊入門->下載 ? 在歷史版本里邊隨便選取一個(gè) ? 會(huì)進(jìn)入百度云盤的下載地址,里邊有全部版本的源碼。這里下載
    的頭像 發(fā)表于 11-15 09:38 ?2367次閱讀
    RT-thread源碼移植到<b class='flag-5'>STM32F</b>10x和<b class='flag-5'>STM32F4xx</b>