打印
[应用相关]

《iCore4T 双核心工控板》实验指导书

[复制链接]
1106|31
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
实验二十五:DDS 实验——输出正弦波一、 实验目的与意义1、 了解 STM32 DAC 结构2、 了解 STM32 DAC 特征3、 掌握 DDS 原理4、 掌握 STM32 HAL 库中 DAC 属性的配置方法5、 掌握 KEIL MDK 集成开发环境使用方法

使用特权

评论回复
沙发
实际测量不符|  楼主 | 2020-9-27 22:37 | 只看该作者
二、 实验设备及平台
1、 iCore4T 双核心板
2、 iCore4T 扩展底板
3、 JLINK(或相同功能)仿真器
4、 Micro USB 线缆
5、 Keil MDK 开发平台
6、 STM32CubeMX 开发平台
7、 装有 WIN XP(及更高版本)系统的计算机

使用特权

评论回复
板凳
实际测量不符|  楼主 | 2020-9-27 22:38 | 只看该作者
三、 实验原理
1. DAC 简介
STM32H750 的 DAC 模块(数字/模拟转换模块)是 12 位数字输入,电压输出型的 DAC。
DAC 可以配置为 8 位或 12 位模式,也可以与 DMA 控制器配合使用。DAC 工作在 12 位模
式时,数据可以设置成左对齐或右对齐。DAC 模块有 2 个输出通道,每个通道都有单独的
转换器。在双 DAC 模式下,2 个通道可以独立地进行转换,也可以同时进行转换并同步地
更新 2 个通道的输出。DAC 可以通过引脚输入参考电压 Vref+(通 ADC 共用)以获得更精
确的转换结果。
STM32H750 的 DAC 模块主要特性:
两个 DAC 接口,各自最多对应两个输出通道
12 位模式下数据采用左对齐或右对齐
同步更新功能
噪声波和三角波生成
DAC 双通道单独或同时转换
每条通道的 DMA 功能,包括 DMA 下溢错误检测
通过外部触发信号进行转换
DAC 输出通道缓冲/非缓冲模式
缓冲器偏移校准
每路 DAC 输出均可与 DAC_OUTx 输出引脚断开连接
DAC 输出可与片上外设连接
可在停止模式下通过采样和保持模式实现低功耗运行
来自 VREF+ 引脚的输入参考电压或内部 VREFBUF 参考电压

使用特权

评论回复
地板
实际测量不符|  楼主 | 2020-9-27 22:39 | 只看该作者
DAC 框图:

使用特权

评论回复
5
实际测量不符|  楼主 | 2020-9-27 22:40 | 只看该作者
DAC 包含:
多达两条输出通道
DAC_OUTx 可与输出引脚断开连接并用作普通 GPIO
dac_outx 可使用与片上外设(如比较器和 OPAMP)的内部引脚连接。
DAC 输出通道(缓冲/非缓冲)
使用 LSI 时钟源在停止模式下运行以实现静态转换的采样和保持模块及其寄存器

使用特权

评论回复
6
实际测量不符|  楼主 | 2020-9-27 22:44 | 只看该作者
DAC 包含多达两条独立的输出通道。每条输出通道均可连接到片上外设,如 COMP、
OPAMP 和 ADC。在这种情况下, DAC 输出通道可与 DAC_OUTx 输出引脚断开连接,
相应的 GPIO 可用于其他用途。
DAC 输出可缓冲、也可以不缓冲。采样和保持模块及其关联寄存器可在停止模式下使
用 LSI 时钟源运行。

使用特权

评论回复
7
实际测量不符|  楼主 | 2020-9-27 22:47 | 只看该作者
图中 VDDA 和 VSSA 为 DAC 模块模拟部分的供电,而 VREF+则是 DAC 模块的参考电
压。DAC_OUT1/2 就是 DAC 的两个输出通道了(对应 PA4 或者 PA5 引脚)。

使用特权

评论回复
8
实际测量不符|  楼主 | 2020-9-27 22:50 | 只看该作者
从图中可以看出,DAC 输出是受 DORx(x=1/2,下同)寄存器直接控制的,但是我们
不能直接往 DORx 寄存器写入数据,而是通过 DHRx 间接的传给 DORx 寄存器,实现对 DAC输出的控制。前面我们提到,STM32H750 的 DAC 支持 8/12 位模式,8 位模式的时候是固
定的右对齐的,而 12 位模式又可以设置左对齐/右对齐。单 DAC 通道 x,总共有 3 种情况:
①8 位数据右对齐:用户将数据写入 DAC_DHR8Rx[7:0]位(实际存入 DHRx[11:4]位)。
②12 位数据左对齐:用户将数据写入 DAC_DHR12Lx[15:4]位(实际存入 DHRx[11:0]位)。
③12 位数据右对齐:用户将数据写入 DAC_DHR12Rx[11:0]位(实际存入 DHRx[11:0]位)。

使用特权

评论回复
9
实际测量不符|  楼主 | 2020-9-27 22:57 | 只看该作者
如果没有选中硬件触发(寄存器 DAC_CR1 的 TENx 位置‘0’),存入寄存器 DAC_DHRx
的数据会在 1 个 APB1 时钟周期后自动传至寄存器 DAC_DORx。如果选中硬件触发(寄存器
DAC_CR1 的 TENx 位置’1’),数据传输在触发发生以后 3 个 APB1 时钟周期后完成。一旦
数据从 DAC_DHRx 寄存器装入 DAC_DORx 寄存器,在经过时间 tSETTLING 之后,输出即
有效,这段时间的长短依电源电压和模拟输出负载的不同会有所变化。

使用特权

评论回复
10
实际测量不符|  楼主 | 2020-9-27 23:00 | 只看该作者
关闭触发 (TEN = 0) 时的转换时序图:

使用特权

评论回复
11
实际测量不符|  楼主 | 2020-9-27 23:31 | 只看该作者
2. DAC 输出电压公式
经过线性转换后,数字输入会转换为 0 到 VREF+ 之间的输出电压。
各 DAC 通道引脚的模拟输出电压通过以下公式确定:

使用特权

评论回复
12
实际测量不符|  楼主 | 2020-9-27 23:42 | 只看该作者

使用特权

评论回复
13
实际测量不符|  楼主 | 2020-9-27 23:43 | 只看该作者
4、DDS 原理
4.1 什么是频率
频率是指单位时间内某事件重复的次数。在电子学中,信号的频率是指单位时间内信号
的周期数,单位是赫兹(Hertz,简称Hz)。很多年前有一个著名的德国物理学家海因里希 ·鲁
道夫 · 赫兹,他首先证明了电磁波的存在,为了纪念他,频率的单位就用他的名字命名。

使用特权

评论回复
14
实际测量不符|  楼主 | 2020-9-27 23:49 | 只看该作者
频率是一个非常常用、也是一个非常重要的国际单位;日常生活中,我们收听的收音机、观
看的电视机、交流市电、移动蜂窝电话等信号的传输过程,都利用了信号的频率特性。频率
与信号的周期互为倒数关系,所以频率也可以表示为:

使用特权

评论回复
15
实际测量不符|  楼主 | 2020-9-27 23:50 | 只看该作者
4.2 怎么得到任意频率的信号
既然信号的频率特性那么重要,我们怎么样才能得到自己想要的频率的信号呢?一般来
说,我们通过下面三种方法得到想要的频率信号。
晶体或者晶体振荡器:晶体振荡器是利用石英晶体的压电效应,来产生我们想要的频率,
他有精度高、稳定性强、温漂小等特点。晶体或者晶振是电路中常用的元器件,它能给我们
的电路提供稳定的时钟源,但它也有它的局限性,晶体一旦切割完毕,他的固有频率也就固
定了,所以晶体或者晶振不适用于要求频率时刻变化的场合。
RLC 振荡器:利用 RC 振荡或者 LC 振荡的原理,通过改变其中的 R、L 或者 C 达到
改变振荡频率的目的。这种振荡器电路简单、起振容易,所以也很常用。不过他频率稳定性
一般,不适合在频率精度要求较高的场合使用。
频率合成技术:频率合成技术可以理解为我们通过某种方法,对固定的频率进行运算,
来完成频率的变换。频率合成方法一般有锁相环(PLL)法和直接数字合成技术。PLL 是一种
闭环系统,他通过对输入频率进行倍频、分频等过程,完成频率的变换。这种技术一般用于
输出频点不多的场合(例如 MCU 中频率的倍频过程),它得天独厚的优势是可以产生比输
入频率更高的频率。直接数字合成技术为本节讨论的重点,以下内容均讨论直接数字合成技
术。

使用特权

评论回复
16
实际测量不符|  楼主 | 2020-9-27 23:51 | 只看该作者
4.3 直接数字合成技术简介
直接数字合成(Direct Digital Synthesizer, DDS)是 1971 年由 J.Tierncy 等人提出的,
它通过基于相位累加的变换方式,对输入频率进行变换,来达到任意频率输出的目的。它具
有输出频率稳定、分辨率高、切换速度快等优点,配合波形查找表及相关路,它能产生任意
的波形,这也是它最大的优势。
4.4 DDS 原理
一个典型的 DDS 系统包括相位累加器、幅度变换及 DA 转换电路。它基于同一个系统
时钟驱动的。在某一个时钟时刻,相位累加器产生一个特定的相位角度,通过相位角度-幅
度变换,查找到波形表中电压值,然后送给 DAC,来重现这一时刻的模拟电压,这就完成
了 DDS 工作的一个步进。通过不断的时钟驱动,我们就能得到连续的模拟波形。

使用特权

评论回复
17
实际测量不符|  楼主 | 2020-9-27 23:53 | 只看该作者
4.4.1 相位累加器
相位累加器(ACCUMULATOR)是 DDS 的核心,它由一个加法器和一个 D 触发器组
成。相位累加器由多位组成,典型的应用中,一般取 16~48 位。相位累加器工作过程中,
时钟每动作一次,累加器便累加一次调谐字(TUNING WORD);所以相位累加器输出一个
以时间为序列的数字字,它线性增长,直到达到最大值 2n(假设该累加器为 n 位),如果大于
最大值,则舍弃溢出的高位,仍然保留 n 位。
为了形象的描述相位累加器的工作过程,我们可以把相位累加器看做一个圆周,如图三
所示。其中,n 表示相位累加器的位数,2n 为相位累加器的模数,也就是圆周等分点数,每
次的步进值为调谐字(TUNING WORD)。如果把相位累加器旋转一周作为一个周期的话,
则最终频率输出可以用方程式(2)来描述

使用特权

评论回复
18
实际测量不符|  楼主 | 2020-9-27 23:53 | 只看该作者

使用特权

评论回复
19
实际测量不符|  楼主 | 2020-9-27 23:54 | 只看该作者

使用特权

评论回复
20
实际测量不符|  楼主 | 2020-9-27 23:55 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

560

帖子

0

粉丝