stm32驱动LTC2494详解
背景
有项目使用LTC2494作为ADC采集温度信号,主控采用STM32 MCU,其他主控MCU也一样,就是调一下管脚和时序。本文提供详细的STM32驱动LTC2494的设计过程,并给出参考代码。
该款ADC的手册见附件材料。关于该芯片,具体可以参考数据手册,以下是一些简单介绍。
LTC®2494 是一款采用 Easy Drive 技术的 16 通道 (8 个差分通道)、16 位、无延迟增量累加 (No Latency ΔΣ™) ADC。这种已获专利的采样方案通过差分输入电流的自动抵消功能而消除了动态输入电流误差和片内缓冲的缺点。这使得既能够保持出色 DC 准确度,同时又可对大的外部源阻抗和轨至轨输入信号直接进行数字化处理。
LTC2494 具有可编程增益、一个高准确度温度传感器和一个集成振荡器。可以对该器件进行配置,以测量一个外部信号 (从 16 个工作于单端或差分模式的模拟输入通道的组合) 或其内部温度传感器。集成温度传感器提供了 1/2ºC 的分辨率和 2ºC 的绝对准确度。可对 LTC2494 进行配置以提供一个从 1 至 256 (分 8 级) 的可编程增益。
LTC2494 提供了一个宽共模输入范围 (0V 至 VCC),这与基准电压无关。可以选择单端输入或差分输入的任何组合,而且,第一个转换 (在选择一个新通道之后) 是有效的。
- 多达 8 个差分输入或 16 个单端输入
- Easy Drive™ 技术实现了具零差分输入电流的轨至轨输入
- 能够以全准确度对高阻抗传感器直接进行数字化处理
- 600nVRMS 噪声
- 可编程增益范围:1 至 256
- 集成高准确度温度传感器
- GND 至 VCC 输入 / 基准共模范围
- 可编程 50Hz、60Hz 或同时 50Hz/60Hz 抑制模式
- 2ppm INL,无漏失码
- 1ppm 偏移和 15ppm 全标度误差
- 2x 速度模式/降功率模式 (15Hz 时采用内部振荡器以及在 7.5Hz 输出频率时具 80μA 电流)
- 无延迟:数字滤波器可在单个周期内实现稳定 (即使在选择一个新的通道之后也不例外)
- 2.7V 至 5.5V 单电源操作
- 内部振荡器
- 纤巧型 5mm x 7mm QFN 封装
具体设计
实际编程中需要注意的参考时序如下图。
这里时序需要注意的是SDO片选拉低后才可以写入数据,也就是片选CS拉低后,需要等待t1时间。这里可以参考具体读取时序
具体时序时间,这里主要t7、t8的取值,程序设计时要注意
硬件连接,其中MCU的PB3/PB4/PB5/PG7分别连接LTC2494芯片的SCLK/SDI/SDO/CS管脚,如下图所示
读写管脚的宏定义如下
#define LTC2494_CS_HIGH HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET) ;
#define LTC2494_CS_LOW HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET) ;#define LTC2494_SCLK_HIGH HAL_GPIO_WritePin(SCLK_GPIO_Port, SCLK_Pin, GPIO_PIN_SET) ;
#define LTC2494_SCLK_LOW HAL_GPIO_WritePin(SCLK_GPIO_Port, SCLK_Pin, GPIO_PIN_RESET) ;#define LTC2494_SDI_HIGH HAL_GPIO_WritePin(SDI_GPIO_Port, SDI_Pin, GPIO_PIN_SET) ;
#define LTC2494_SDI_LOW HAL_GPIO_WritePin(SDI_GPIO_Port, SDI_Pin, GPIO_PIN_RESET) ;#define LTC2494_CLK_HZ 5
#define LTC2494_SDO HAL_GPIO_ReadPin(SDO_GPIO_Port, SDO_Pin)
工程下载
stm32驱动LTC2494详解,资源提供了STM32驱动LTC2494的详解过程,并给出代码工程,同时提供说明文档,LTC2494的参考手册,加速LTC2494的开发
stm32驱动LTC2494详解,资源提供了STM32驱动LTC2494的详解过程,并给出代码工程,同时提供说明文档,LTC2494的参考手册,加速LTC2494的开发资源-CSDN下载