完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
1个回答
|
|
模拟量是指变量在一定范围连续变化的量,物理世界的数据几乎大多数是模拟量,比如温度,电流,电压,风速,振动等等。模拟量需要通过采样,才可能转化成近似,离散的数字值。
传感器采样的数据大多数都是模拟量。未来的趋势是将大幅度增加各种智能数据采集设备和传感器,智能设备采集,处理,分析模拟量的能力非常重要。智能设备的作用是将物理世界的模拟数据经过本地处理后采集传输给数据分析系统,模拟数据的采集和网络连接非常重要的一环。 AI和大数据威廉希尔官方网站 的基础是数据,而这些数据主要是模拟数据。比如在工业领域,需要检测机器的振动数据,可以预测出设备的健康状况。所以需要检测电机,轴承,变速箱的振动数据,温度等模拟数据。然后可以使用神经网络威廉希尔官方网站 或者大数据统计分析,都得出判断结果。数据采集和测量威廉希尔官方网站 越来越重要。也可以说,大数据实际上是模拟大数据(Big Analog Data)。 常见的物理模拟量包括:
大多数模数转换系统都包含模拟前端电路,这些处理称之为信号调理。包括了信号隔离,增益放大器,滤波,输出驱动。 模拟信号的标准化接口 送入ADC 的电信号需要是一个标准的电信号。只有这样才能使的ADC 转换板具有通用性。常见的ADC 输入信号有下列几种。 标准电流4~20mA 4~20mA 是传感器模拟信号的工业标准。传感器变送器可将模拟值从传感器输出转换为等效的 4 至 20mA 电流。 标准电压 传送给ADC 接口的信号是一个标准的电压范围。典型的是-10 to +10 volts DC。 ADC 威廉希尔官方网站 的分类
内置ADC 现代单片机普遍内置了ADC外围电路和多个模拟量输入,以STM32F429为例,它内部带有3个12位精度的ADC。它有如下特点:
STM32 内置的ADC 位数只有12 位,速度高达1M ,一般使用在要求速度快,精度不是很高的场合使用,比如用来采集电机驱动器中的电流,电压等等。 Mbed 的AnalogIn 控制类 Mbed OS 有两个模拟量类,分别是analogIn和analogOut 类。他们是针对处理器内部ADC和DAC的接口类。 Analogin 类 构造函数: AnalogIn (PinName pin) 成员函数: float read () unsigned short read_u16 () operator float () 选择的PIn 需要是具有ADC 输入功能的Pin。 Mbed OS源代码 #include
例1:读取STM32内部温度传感器 STM32有一个内部的温度传感器,可以用来测量CPU及周围的温度(TA)。STM32的内部温度传感器支持的温度范围为:-40~125度。精度比较差,为±1.5℃左右。 STM32F内部温度的计算公式如下: T(℃)={(V25-Vsense)/Avg_Slope}+25 V25=Vsense在25度时的数值(典型值为:1.43)。 Avg_Slope=温度与Vsense曲线的平均斜率(单位为mv/℃或uv/℃)(典型值为4.3mV/℃)。 TEMP=(1.43-Vsense)/0.0043+25; 或者 TEMP=(1.42 - adc*3.3/4096)*1000/4.35 + 25; 令人高兴的是,Mbed 内部已经计算了温度;只需要放大100倍就可以了。 程序代码 #include "mbed.h"AnalogIn temp(ADC_TEMP);main(){while (1){ printf("chip temp=%4.4fn", temp.read()*100); wait(1.0); // 1 sec}} 例2:读取 Vref和Vbat #include modular-2 内置ADC 接口板 Mbed OS 源代码 外接ADC转换器 处理器芯片上的ADC 控制器一般都是精度为12bit,如果需要更高的精度,需要使用外接ADC 芯片。ADC 的国际大厂包括了ADI,TI和maxim。下面我们举两个例子。 TI ADS1256 ADS1256 是TI 公司低噪声AD转换芯片。 主要特性 -24位分辨率,23位无噪声。 -数据输出速率 30KSPS -支持4路差分或者8路单端模拟信号输入。 -信号范围:±2VREF, VREF=2.5V 时,信号范围为±5V。 -该芯片内置PGA可编程放大器,小信号输入信号范围可以通过PGA放大。 -5V兼容的SPI接口 -模拟电压5V -数字电压1.8~3.6V -SSOP-28 封装 ADS1256 内部结构 ADSL-1256 使用要点 模拟信号输入 ADS1256 具有两种模拟信号输入方式 - 8路单端输入,AINCOM 为公共端 - 4路差分输入。任意一个AIN 可以选择成为AINP,同样,任意一个AIN可以成为AINN,内部使用模拟开关,通过软件选择。 可编程增益放大器 ADS1256内部有一个可编程增益放大器PGA。PGA的放大倍数可以为1,2,4,8,16,32,和64 倍。可以将输入的模拟信号预先放大最大64倍。 数字接口 MCU 通过下面的信号线和ADS1256相连。 SPI 从模式 -DIN 对应于SPI MOSI DOUT 对应于SPI MISO CLK 对应于 SPI CLK CS 对应于 SPI-CS DRDY 输出信号 ,当转换数据就绪时,DRDY为低电平。当24位数据被读走,MCU发出RDATA或者(RDATAC) 命令时,DRDY被复位成高电平。 RESET 输入信号,低电平时为ADS1256 复位。 SYNC/PDWN输入信号。 内部寄存器 内部寄存器和控制命令 ADS1256 具有11个内部寄存器(详见ADS1256 数据手册),通过SPI 命令访问。 SPI命令 通过发送SPI 命令访问ADS1256 内部寄存器和控制。SPI 命令由一个或者2个字节组成。 ADS1256 命令包括:
M2-ADS1256=20mA是以ADS1256为核心的 modular-2 的I/O模块 。该模块支持4~20mA电流环模拟量输入。将8路标准20mA电流环的传感器信号转换成0~5V的电压信号,然后通过ADS1256芯片转换成数字数据,通过SPI接口传送给MCU。 另外,该模块还支持4路数字输出,一路RS485接口。 M2-ADS1256=20mA的内部结构和数字引脚: ADS1256类的实现 在Mbed OS 下,我们为ADS1256设计了一个类 ADS1256. 首先我们在ADS1256类中实现了四个底层驱动函数: -Read_reg 读内部寄存器。 -Write_reg 写内部寄存器。 -Command 发送命令。 -ReadData 读数据。 AD7689 芯片 AD7689是analog device 公司的ADC 芯片。 特性 16 位分辨率 8路多路复用器 内部可选择 2.5V 或者4.096V 参考电压 兼容SPI 接口 内置温度传感器 AD7689 的配置寄存器 AD7689 的配置非常简单,只有一个内部配置寄存器,14位长度。 配置寄存器的描述 M2-7689-10V 接口板 MbedOS AD7689 驱动 AD7689 类 (未完成) |
|
|
|
只有小组成员才能发言,加入小组>>
4514个成员聚集在这个小组
加入小组3337 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4266 浏览 1 评论
4292 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 15:53 , Processed in 0.647222 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号