基于STM的数字电压
表的设计
Coca-cola standardization office【ZZ5AB-ZZSYT-ZZ2C-ZZ682T-ZZT18】
题目:
华南理工大学广州学院
基于STM32的数字电压表的设计
姓 名: 学 号: 系 别: 班 级: 指导老师: 完成时间:
一、设计目的
1. 培养综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练。
2. 掌握AD转换的基础知识,学习基于DMA专递方式的ADC采集软件的编制及控制流程。
3. 通过软硬件设计实现数字电压表的功能。
二、设计内容
1、将一模拟电压信号输入到A/D转换器的任一通道。 2、A/D转换器将输入的模拟电压值转换成数字量。
3、根据学习开发板所用A/D转换器的类型,将转换成的数字量通过一定的算法转换成相应的电压值。
4、将转换成电压值通过学习开发板上的LCD显示屏进行显示,要求显示一位小数。
三、设计原理
1、A/D变换原理
◆采样:
间隔一定时间对信号进行采样,用信号序列来代替原来时间上连续的信号。
均匀采样:
可完整地恢复原始信号,其中,T为采样时间间隔,fs表示采样频率,fm表示原始信号最大频率。 ◆量化:
把采集到的数值送到量化器编码成数字形式,每个样值代表一次采样所获得的信号的瞬时幅度。
A/D转换器一般为标量均匀量化。(量化还可分为:标量量化、矢量量化)
量化误差(与舍入方式相关):1LSB或 1/2LSB
◆编码:
A/D模拟/数字转换器一般采用二进制编码,A/D变换后的结果到此可以表示为一个以0、1二进制形式表示的比特流,单位时间内可以传输的二进制比特速率就是A/D之后的码速率,数值上等于采样频率与量化比特数值之乘积。
二进制编码:量化与字长的关系。
3、ADC的A/D转换方式
模拟信号A/D转换器D0 D1D2D3D4D5D6D7数据输出
开始转换 SOC
结束转换 EOC 输出使能
在查询方式下,软件可通过读取ADC模块转换完毕引脚EOC的状态或状态寄存器中的转换完成标志位判断本次A/D是否结束;
若结束则从数据总线或数据寄存器中读取A/D结果数据。
2、ADC模拟/数字转换器:
STM32的ADC是12位逐次逼近型的模拟数字转换器。它有18个通道可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。
3、转换特点:
STM32的ADC最大的转换速率为1Mhz,也就是转换时间为1us(ADCCLK=14M,采样周期为个ADC时钟下得到),不能让ADC的时钟超过14M,否则将导致结果准确度下降。
4、STM32将ADC的转换分为2个通道组:
规则通道组和注入通道组。规则通道相当于运行的程序,而注入通道就相当于中断。在程序正常执行的时候,中断是可以打断程序正常执行的。同这个
类似,注入通道的转换可以打断规则通道的转换,在注入通道被转换完成之后,规则通道才得以继续转换。规则组设置后,可以按照设置的通道顺序对各通道进行依次采集。方便于对多路ADC通道的自动采集。注入组最多设置4个通道,简单来讲就是需要触发才能采集设置的通道ADC值。 本设计选择了采用规则组,设置了一个通道进行自动采集。
5、此设计显示电压的特点:
本设计测量电压值范围为的电压,显示误差为±。 LCD实时显示电压值,MicroSD卡对数据进行同步存储。 系统原理框图如图1所示。
6、DMA请求:
在这次设计中用到了ADC转换结果采用DMA传递方式。直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU任何干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。
7、LCD控制电路
(1)本设计所使用的LCD为3寸,400X240分辨率。LCD模块使用STM32的FSMC接口控制。3TFT显示屏焊接在奋斗显示转接板上,在屏上贴有触摸屏,通过40芯的接口与V3或者MINI连接。40芯接口定义如下: