rcu_periph_clock_enable(RCU_TIMER1);
timer_deinit(TIMER1);
/* TIMER configuration */
timer_initpara.prescaler = 0;
timer_initpara.alignedmode = TIMER_COUNTER_EDGE;
timer_initpara.counterdirection = TIMER_COUNTER_UP;
timer_initpara.period = 19;
timer_initpara.clockdivision = TIMER_CKDIV_DIV1;
timer_init(TIMER1, &timer_initpara);
//定时器主输出触发源选择
timer_master_output_trigger_source_select(TIMER1,TIMER_TRI_OUT_SRC_UPDATE);
//定时器更新事件使能
timer_update_event_enable(TIMER1);
/* TIMER enable */
timer_enable(TIMER1);
}
当然也可使用TIMER中断来更新数据,从而也可实现正弦波,但是会消耗CPU资源,建议使用笔者给出的方式。
4 实验现象
4.1 DAC普通方式输出
将程序编译好后下载到板子中,通过串口助手可以看到在接收区有电压值输出。这个和ADC输入不同,我们使用DAC的目的是通过板子得到相应的模拟电压值,看到串口的输出值只是我们的调试手段,要想确认实验是否成功,是需要通过电压表测量PA4的电压值是否串口的输出一致。我们设置的步进是400,因此电压值也是在以400*3.3/4096的电压步进。
当然啦,还需要万用表测量引脚电压即可。你可以使用一个固定值,或者延时更长这样便于测量。为了更好的测量,笔者将转换电压设置为固定值,因此在循环体的前面加了一句话。
da = 2048;
接下来看看实验结果:
当然也可以使用万用表测量实际电压。
4.2 DAC正弦波输出
将程序编译好后下载到板子中,通过示波器可看到波形输出。
这里测量出的正弦波的频率是187.42kHz,和计算结果相符。
[
1] [
2]
关键字:GD32 开发实战 DAC
引用地址:
GD32开发实战指南(基础篇) 第13章 DAC
推荐阅读最新更新时间:2024-11-13 07:30
DAC解码芯片ES9023特性评测简介
美国ES9023是一款单端输出24bit立体声音频数模转换DAC芯片,芯片内集成2Vrms输出的驱动运放。采用了业界先进的SABRE数-模转换技术;集音质、高性价比于一身,使之成为数模转换的理想选择。 ES9023不仅仅是安全质量得到保障,使用寿命长,更重要是使实际性能能达到设计目标的强有力保证; 内部使用专利技术的超线流(Hyperstream)架构和时域抖动消除技术,使之可以实现无抖动录音级别的音质,动态范围达到了112dB。 原理框图: ES9023将最好的音频与最低的系统成本和最高的性能到理想的D/A转换器的线级输出应用,如蓝光播放器,CD/DVD播放器,机顶盒,数字电视和音频接收器。 美国ESS DAC芯片
[嵌入式]
利用AD5426/32/43、Iout DAC处理交流信号
本文所述电路利用电流输出DAC AD5426/AD5432/AD5443 和一个运算放大器,提供二象限信号乘法功能。它的乘法带宽最高可达10 MHz,因而用户能够精确调理带宽最高为该频率的交流信号。该电路非常适合通信、工业和医疗市场中的交流信号调理应用。 图1:交流信号处理配置 电路描述 AD5426、AD5432和AD5443分别是CMOS、8/10/12位、电流输出数模转换器。这些器件采用+2.5 V至+5.5 V电源供电,因而适合电池供电应用以及信号衰减、通道均衡和波形生成等许多其它应用。最大信号范围可以达到±12 V,但输出要受所用放大器的电源电压限制。图1显示了用于交流信号处理的Iout DAC典型应用电路。利
[模拟电子]
STM32数模转换器(DAC)简析
STM32F4xx系列提供的DAC模块是12 位电压输出数模转换器。DAC可以按 8 位或 12 位模式进行配置,并且可与DMA控制器配合使用。在 12 位模式下,数据可以采用左对齐或右对齐。DAC有两个输出通道,每个通道各有一个转换器。在DAC双通道模式下,每个通道可以单独进行转换;当两个通道组合在一起同步执行更新操作时,也可以同时进行转换。可通过一个输入参考电压引脚VREF+(与ADC共享)来提高分辨率。 DAC通道框图 DAC引脚 DAC通道使能 将 DAC_CR 寄存器中的相应 ENx 位置 1,即可接通对应 DAC 通道。经过一段启动时间tWAKEUP 后,DAC 通道被真正使能。 注意:ENx 位只会使能模
[单片机]
使用MCU GD32替代STM32的体会
GD32作为国产MCU里的佼佼者,产品线也比较丰富,是替代STM32的一个很好的选择。前段时间有个项目用到GD32的单片机,今天来说说使用的一些体会。 1.硬件我用的单片机型号为GD32F405RGT6,对应STM32F405RGT6。首先,硬件上基本兼容,有一点不同的是GD32的31和47脚为NC,STM32的为VCAP。STM32这两个引脚需要分别连接一个电容到GND,而GD32则不需要。当然,有这两个电容也无所谓,所以,硬件上GD32可以直接替换STM32。 仿真器可以使用Jlink,也可以使用STLink,但是下载程序时会弹框提示,非ST芯片。 2.软件软件上,前期
[单片机]
一文详解GD32单片机和STM32单片机
一、GD32单片机的概念、工作原理及内部结构 1.概念 GD32单片机是中国龙芯集成电路公司推出的一款ARM Cortex-M3内核的微控制器。它具有与STM32单片机相同的架构和指令集,但是价格相比STM32更为便宜。同时,GD32单片机有着更高的品质和可靠性,成为一个理想的低成本单片机解决方案。 2.工作原理 GD32单片机的工作原理基于时钟周期,其中时钟周期是单片机执行机器指令的重要组成部分。单片机中的每个时钟周期都包含多个时钟周期,每个时钟周期都可以执行一组基本指令。这些指令对应于单片机内部的不同部分,例如处理器、总线、存储器、IO等。 3.内部结构 GD32单片机的内部结构包含三个主要元件:处理器、存储器和输
[单片机]
STM32—DAC配置
一.DAC介绍 ADC是模数转换器,可以将模拟电压转换位数字信号;DAC是数模转换器,可以将数字信号转换为模拟电压。 STM32F103ZET6内部DAC有2个通道,12位数字输入(也可以配置为8位),可以按要求输出不同的信号波形,其主要特点如下: 2个DAC转换通道 每个通道都有DMA功能 2个通道可以同时转换或者分别转换 输入信号可以是12位或8位 12位输入模式分为:右对齐、左对齐 有同步更新功能 可以生成噪声波形 可以生成三角波形 DAC框图如下: 二.主要寄存器说明 一般使用DAC情况不多,而且使用也就是单纯输出电压,基本用不到STM32输出一些特殊的波形,所以了解一下基本的寄存器就可以配饰DAC了。 D
[单片机]
ADC/DAC IC上的集成强化型DSP改进宽带多通道系统
Integrated Hardened DSP on DAC/ADC ICs Improves Wideband Multichannel Systems ADC/DAC IC上的集成强化型DSP改进宽带多通道系统 简介 过去几十年来,无线系统通道数和带宽一直稳步增长。对数据速率和系统整体性能的要求成为这些现代电信、雷达和仪器仪表系统发展的驱动因素。但与此同时,这些要求也加大了电源封装和系统的复杂度,使功率密度和组件级别的功能变得更为重要。 为打破其中的一些限制,半导体行业将更多的通道整合到同一个硅封装中,借此降低每个通道的功率要求。此外,半导体公司还将更复杂的功能整合到数字前端,简化了过去在专用集成电路(A
[模拟电子]
STM32F103使用DAC功能输出正弦波
在DAC的主要特征中可以看出,DAC内部带有波形发生器。 DAC 主要特征 2个DAC转换器:每个转换器对应1个输出通道 8位或者12位单调输出 12位模式下数据左对齐或者右对齐 同步更新功能 噪声波形生成 三角波形生成 双DAC通道同时或者分别转换 每个通道都有DMA功能 外部触发转换 输入参考电压V REF+ 但是这里面只有三角波和噪声波,那么正弦波要如何生成呢? 虽然DAC没有自带正弦波的功能,但是我们可以先生成一个符合正弦规律的数组,然后通过定时器,将正弦数组中的值依次发送出去,这样输出的电压值也就会成正弦规律变化了。 下面直接通过代码来演示如何输出正弦波 #include dac_sin.h
[单片机]