15.8、 ADC模数转换实验.pdf

上传人:紫竹语嫣 文档编号:5514374 上传时间:2020-05-27 格式:PDF 页数:7 大小:321.98KB
返回 下载 相关 举报
15.8、 ADC模数转换实验.pdf_第1页
第1页 / 共7页
15.8、 ADC模数转换实验.pdf_第2页
第2页 / 共7页
15.8、 ADC模数转换实验.pdf_第3页
第3页 / 共7页
15.8、 ADC模数转换实验.pdf_第4页
第4页 / 共7页
15.8、 ADC模数转换实验.pdf_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《15.8、 ADC模数转换实验.pdf》由会员分享,可在线阅读,更多相关《15.8、 ADC模数转换实验.pdf(7页珍藏版)》请在三一文库上搜索。

1、 ADC模数转换实验模数转换实验 ADC:Analog-to-Digital Converter(模数转换器),顾名思意就是将模拟量转换成数字 量的设备或模块。 前面的例程,我们大家一起学习了STM32处理器的GPIO操作,以及串行接口的使用, 在这一节,我们将一起来简单学习STM32的ADC的使用。神舟IV号将电位器上采集到的数 据通过ADC转换后,通过串口将转换的结果数据打印出来。 ? 意义与作用意义与作用 日常中,我们直接接触的都是一些模拟的设备,电位器、传感器、语音和视频等等,那 么如何将这些设备采集到的数据进行传输呢?模拟数据在传输过程中, 数据量大, 占用带宽 大,受干扰严重,直接

2、限制影响到我们的通信传输质量。因此,在数据进行传输的第一步都 需要进行模拟/数字的转换。将模拟信号进行采样、量化、编码等一系列操作后,再传到通 信信道中进行通信。 那么第一步的模拟/数字的转换便是最基础的,所以,这节先让我们简单了解模拟/数字 转换的操作,以及对数据进行处理,然后从串口打印计算结果。 ? 实验原理实验原理 STM32处理器的ADC是一个12位的逐次逼近型模拟数字转换器。它有多达18个通道, 可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执 行。ADC的结果可以左对齐或者右对齐方式存储在16位数据寄存器中。需要强调的是ADC 的输入时钟不得超过

3、14MHz,并有PCLK2经分频产生。神舟系列开发板的ADC是一种逐次 逼近型模拟数字转换器,它的转换结果是12位二进制数,最快转换速度1uS,这么优秀的性 能不是一般的MCU所能具有的。 对于ADC中涉及的几个寄存器,如ADC控制器(ADC_CR)、ADC的采样事件寄存器 (ADC_SMPR) 、 ADC规则序列寄存器 (ADC_SQR) 以及ADC规则数据寄存器 (ADC_DR) , 这几个寄存器的使用在此就不展开描述,大家有兴趣可以查阅【中文】STM32F系列ARM 内核32位高性能微处理器参考手册V10_1资料155页开始的关于ADC的描述。此部分涉及 到的寄存器在ST标准库的外设驱动

4、“stm32f10x_adc.c”中有相关的定义以及初始化。ADC 的工程项目中,直接调用相关函数与定义。 谈到ADC时,我们就有必要提及DMA方式。因为规则通道转换的值存储在一个仅有的 数据寄存器中,所有当转换多个规则通道时,就需要使用DMA,否则将导致已经存储在 ADC_DR寄存器中的数据丢失。但是只有在规则通道的转换结束时,才产生DMA请求,并 将转换的数据从ADC_DR寄存器传输到用户指定的目的地址。 DMA:Direct Memory Access(存储器直接访问)是指一种高速的数据传输操作,提供 在外设和存储器之间或是存储器和存储器之间的高速数据传输。 CPU除了在数据传输开始和

5、结束时做一点处理外,在传输过程中CPU可以进行其他的工作。这样,在大部分时间里, CPU和输入输出都处于并行操作状态。因此,使整个系统的效率大大提高。这样便为快速, 高性能的ADC提供了通道。简单了解DMA具有多个channel即可。详见【中文】STM32F 系列ARM内核32位高性能微处理器参考手册V10_1资料142页关于DMA的描述。 ? 硬件设计硬件设计 神舟IV号开发板载有电位器与STM32处理器的PC0管脚相连,可以实现AD模数转换实 现。外部模拟信号由电位器(可调电阻)对3.3V电压分压得到,其硬件原理图如下图所示: 图表 1 电位器 AD 电路 RV1 为 10K 欧的电位器

6、(类似于滑动变阻器) , 其管脚 2 为滑片的输出, 根据分压原理, 其输出电压为: Vout = Vcc*(Rtop / Rv1) 其中 Vcc 为 3 脚的输入电压,本次是 3.3V;Rtop 为 2 脚与 3 脚的电阻值,与滑片当前 的位置有关; Rv1 为电位器 1 脚与 3 脚之间的电阻,本次为 10K。 R66 和 C4 组成一个 RC 滤波电路,对电位器的输出滤波,使输入比较稳定。注意此处 的电容容值不能选的太大, 太大不但起不到滤波作用还会改变电位器分压电路的特性, 例如 此处如果使用 10u 的电容将导致测量的电压比正常时偏高, 电容容值过小如 22p 则抗干扰能 力会下降也

7、是不能满足要求的。 神舟 IV 号本次实验的电位器连接在处理器的 PC0 管脚上, 由处理器手册控制处理器的 PC0 管脚是 AD 的第 10 输入通道。 ? 软件设计软件设计 如上面的实验原理中提到的,本节的软件设计主要是针对ADC转换器以及DMA转换器 的初始化以及调用,至于串口方面在前面章节已经做了介绍,在此只是提及而已。 神舟IV号的“08.ADC模数转换实验(神舟IV号)”位于神舟IV号光盘源码 STM32F10x_StdPeriph_Lib_V3.3.0.rar Project08.ADC模数转换实验(神舟IV号)目录。 进入08.ADC模数转换实验(神舟IV号) EWARMv5

8、目录后,双击Project.eww可以打 开IAR工程,以下为工程文件中主要代码的解释与说明。 神舟系列开发板ADC的转换结果是12位二进制数,最小转换结果为0x0000,最大转换 结果为0x0FFF,所以我们定义一个16位的变量ADCConvertedValue来保存转换结果。 先对使用的变量及设备进行声明 串口初始化,使用串口1,设置波特率位115200,其他串口参数如程序注释说明设置。 DMA结构体的使用配置,包括时钟设置、DMA通道选择、目标存储地址、转换模式、 数据宽度和优先级等等。 电位器使用的ADC通道初始化及其重新校准。 在完成上述初始化以后,ADC将开始连续连续,同时ADC通

9、过DMA方式不断的更新,最 新的ADC值,由于DMA通道传输无须CPU干预,由硬件自己完成,因此。程序只需要打印 读取的最新的ADC值即可,如下所示程序,重复打印ADC转换的值。 ? 下载与验证下载与验证 神舟IV号光盘源码目录包含本实验的工程源码,在神舟IV号光盘源码 08、ADC模数 转 换.rarProject8、ADC模 数 转 换EWARMv5STM32F107VC-ARMJISHUExe 目 录 下 的 ARMJISHU_ADC模数转换.hex文件即为前面我们分析的ADC模数转换实验编译好的固件, 我们可以直接将固件下载到神舟IV号开发板中,观察运行效果。 如果使用JLINK下载固

10、件,请按错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。下载固件 到神舟IV号开发板小节进行操作。 如果使用USB下载固件,请按错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。小节进行操 作。 如果使用串口下载固件,请按错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。错误!未找到引用源。小节进行 操作。 如果在IAR开发环境中, 下载编译好的固件或者在线调试, 请按错误! 未找到引用源。错误! 未找到引用源。 错误!未找到引用源。错误!未找到引用源。小节进行操作。 如果在MDK开发环境中,下载编译好的固件或者在线调试,请按错误!未找到引用源。错误!未找到引用源。 错误!未找到引用源。错误!未找到引用源。小节进行操作。 ? 实验现象实验现象 将固件下载在神舟IV号STM32开发板后,用随板配置的串口线连接神舟IV号串口2与电 脑的串口,打开超级终端,并按如下参数配置串口。 上电运行神舟IV号,串口将打印如下信息,旋转神舟IV号板载的电位器,如下图所示, 串口打印的串口打印的ADC转换电压值随之发生变化,如下图所示,红色部分表示调节电位器时 转换结果随之变化, 转换电压值随之发生变化,如下图所示,红色部分表示调节电位器时 转换结果随之变化,停止调节电位器时其值稳定不变:停止调节电位器时其值稳定不变:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料


经营许可证编号:宁ICP备18001539号-1