历史上的今天
返回首页

历史上的今天

今天是:2025年01月18日(星期六)

正在发生

2021年01月18日 | STM32F0xx_DAC输出电压配置详细过程

2021-01-18 来源:eefocus

前言

数模转换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基本延时配置详细过程”修改而来,以上实例总结仅供参考,若有不对之处,敬请谅解。


推荐阅读

史海拾趣

Degson Electronics Co Ltd公司的发展小趣事

随着市场需求的不断变化,Degson意识到只有不断创新和升级产品,才能在激烈的市场竞争中保持领先地位。因此,公司投入大量资金用于研发,并在技术上取得了重大突破。Degson成功研发出了一系列新型接线端子和精密模具,不仅提高了产品的性能和质量,还降低了生产成本。这些新产品迅速在市场上获得了广泛应用,进一步巩固了Degson在电子连接器领域的领先地位。

顺芯(Everest-semi)公司的发展小趣事

在技术创新的同时,顺芯公司也注重市场拓展和品牌建立。公司积极参加国内外各类展会和论坛,与潜在客户和合作伙伴建立了广泛的联系。同时,顺芯公司还加强了与渠道商的合作,提高了产品的市场覆盖率。通过一系列的市场推广活动,顺芯公司的品牌知名度和美誉度逐渐提升。

Bogen Communications Inc公司的发展小趣事

在电子行业的发展过程中,Bogen Communications Inc公司意识到单打独斗难以取得长久的成功。因此,公司积极寻求与其他企业和机构的合作,共同开发新技术、新产品。通过与合作伙伴的紧密合作,公司不仅获得了更多的资源和技术支持,还成功地将产品推向了更广阔的市场。

台湾岱恩(DAIN)公司的发展小趣事

在电子行业的发展过程中,Bogen Communications Inc公司意识到单打独斗难以取得长久的成功。因此,公司积极寻求与其他企业和机构的合作,共同开发新技术、新产品。通过与合作伙伴的紧密合作,公司不仅获得了更多的资源和技术支持,还成功地将产品推向了更广阔的市场。

DuPont公司的发展小趣事

随着全球环保意识的提高,对于环保型电子材料的需求也日益增长。DuPont公司积极响应这一趋势,致力于环保型电子材料的研发和生产。公司采用先进的环保技术和生产工艺,开发出了一系列低污染、低能耗的电子材料。这些材料不仅具有良好的性能,而且对环境友好,符合可持续发展的要求。DuPont公司的这一举措,不仅提升了公司的竞争力,也为电子行业的可持续发展做出了积极贡献。

兆易创新(GigaDevice)公司的发展小趣事

为了进一步拓展电子市场,DuPont公司积极寻求与全球知名电子企业的合作。通过与国际知名品牌的战略合作,DuPont成功进入了多个重要的电子市场领域,如智能手机、平板电脑、汽车电子等。这些合作不仅为DuPont公司带来了广阔的市场空间,也促进了公司在电子领域的技术创新和产品升级。

问答坊 | AI 解惑

请高手指点一下-转自其他主题的留言

这是zhangxyttkx在《电子设计1000例》主题中的一份留言,这是一个很好的题目,恐怕湮没在那个主题内,故抄录如下: 请高手指点一下能不能找人帮我看一个电路,我的电路是这样的,一个高压放大电路,是要将0-2.5V的电压放大到0-150V,我的供电电 ...…

查看全部问答>

找2450开发高手

我有2450开发了一款产品,不幸不能从SD卡启动因此无法将启动驱动注入FLASH里。有哪位帮我们解决,重酬。 可以和我联系 13826040112, larry_laigz@126.com。…

查看全部问答>

扬创2440核心板加LCD如何正常显示

大家好,我刚刚接触2440不久,用的是开发板,它上面提供了一块核心板,我把核心板拆下来了,单独接LCD,但是上电后,是白屏,有的时候有彩色的竖纹,检查了LCD的连线,应该没问题,我怀疑是2440没有正常工作,请大家指点下,让核心板正常工作应该注 ...…

查看全部问答>

用汇编编写了一段程序,用到了8255和8253,怎么不能让机器动起来?

DATA1   SEGMENT ;       TABLE DB R(S*N) DUP (?)             ;S为选针器数=16,N为总针数=1024,R为转数=1,2,3...。            ...…

查看全部问答>

213132321321

60H,61H,62H作里程计数单元,6CH,6DH作T1计数扩充单元, ;       68H,69H,6AH,6BH存放自行车每圈时间数,70H,71H,72H,73H ;       作显示BCD码存放数用,11H--15H存放被除数,16H-19H存放除数 ...…

查看全部问答>

串口问题几个疑问

1。异步串行通信中前一个字节的停止位和后一个字节的起始位之间一般要留多长时间的间隔,不留行不行?2。怎样避免校验字节和帧头相同?3。半双工通信中(如RS485)如何协调双方的收发,即如何确保一方发的时候另一方一定为收,会不会出现双方同时发 ...…

查看全部问答>

请问版主ST的M0大概什么时候可以出来!

之前用的 STM32 做 GPS 产品! 因为STM32对 GPS 频段有干扰在信号弱的时候定位不了! 现在解决的方法是 用四层PCB+屏蔽罩 才解决! (成本高出 8 RMB) 产品本身利润就不高! 所以现在想看看 ST的 M0 怎么样!…

查看全部问答>

求CEUSB驱动分析文档

最近在搞wince下的USB摄像头。从官方网站上下载的驱动http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=2ef087c0-a4ae-42cc-abd0-c466787c11f2#Instructions,但是摄像头打不开。通过在网上到处疯狂的寻找。终于简单 ...…

查看全部问答>

LPC1300 USB接口问题

下图是周工的LPC1300开发板上的USB接口,大家看看,电源输入端口的电阻是不是太大了?…

查看全部问答>

CAN总线资料寻求

最近朋友要写一篇毕业论文,是关于CAN总线的数据采集的,但是我们呢,对于这方面的东西全然不是很懂,希望对于这些东西比较了解的朋友能不能分享一些经验,还有,能不能分享一些论文,资料,系统的详细的为好,呵呵,不是小弟要求高,而是真的什么 ...…

查看全部问答>