前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >LTCGM1272使用札记

LTCGM1272使用札记

作者头像
云深无际
发布2025-03-21 11:44:26
发布2025-03-21 11:44:26
340
举报
文章被收录于专栏:云深之无迹云深之无迹

好的,之前写过:列拓科技LTCGM1272电化学前端 ,后面销售老哥找我了。经过签协议什么的,拿到了资料和评估板,确实是资料齐全。

因为没办法什么也放,就说一点开发的时候需要注意的事情,SPI 0模式,1M就可以驱动。内部为了满足各种传感器设计了电子开关:

在输入级其实是有个Buffer 的,但是没明说,默认打开

可以满足各种测量方式,还是三极的多,稳定

使用过程很简单,就是和MCU差不多,先配置电气连接,然后是是相关寄存器的配置。

这里需要DAC和TIA:

有趣的是,还有一个限流电阻可以使用

ADC是12bit的,但是有过采样功能。

过采样(Oversampling) 是指 ADC(模数转换器)以比实际需要更高的采样率采集信号,然后通过数学处理(如 求平均、滤波、降采样)来提高信噪比(SNR)和分辨率。

ADC 在测量过程中会受到 量化噪声(Quantization Noise)和 随机噪声(Thermal Noise)影响。

过采样可以 通过多次测量同一个信号,然后求平均值,从而降低噪声,提高有效分辨率。

过采样 并不会真正提升 ADC 的硬件位数,但它可以增加有效分辨率(ENOB, Effective Number of Bits)

这是一个简单的说明

公式

LT是32次,算一下:

这意味着 ADC 每次转换会取 32 次数据,然后求平均。

32 倍过采样→ 提高 2.5 位分辨率(12-bit → 14.5-bit)应该内部是SAR-ADC。

由于 12-bit ADC 存储在 16-bit 数据中(高 4-bit 可能是 0),所以右移 4 位。

上面的意思是,把两个8位拼接成了16位,但是高位是0,空的,然后移动右边,把0去掉。

一般过采样很好用,但是需要ADC的采样足够快

芯片还有三种低功耗模式,在FIFO是1的时候就差不多是正常模式了

ADC也可以设置启动的时间间隔,比如一分一次(不记得是不是这样用)

其次,里面的AFE其实就是运放,所以需要在使用前使能

INT 触发后,MCU 读取 FIFO

FIFO 读取 & 清理

所有的文章里面都说的是单次获取数据,根本没有把FIFO的好处用起来。

在 LTCGM1272 中,FIFO 触发 INT(中断) 表示 FIFO 里存储的数据已达到设定阈值(如 fifo_water_line = 10,说明 FIFO 里至少有 10 组数据)。

代码只读取了一次 ADC 结果,没有遍历整个 FIFO,这意味着只获取了最新的一次数据,而丢失了之前存入 FIFO 的历史数据。

  1. 如果没有及时读取数据,FIFO 可能继续存储数据直到满 128 级
  2. FIFO 读出之前不会自动清空
  3. 必须 MCU 主动读取

这是读取一次的,0xff限制8位,下面是拼接16位

先读取 FIFO 剩余数据数量,然后循环读取:

很简单,有几组就读取几次,先获得这个数据量,循环读取。

如果有DMA,可以这样写,一次性读取多个 FIFO 数据:

不停的读取,存,因为FIFO里面有读写指针,不需要管

笨逼芯片得清楚一下FIFO的满标志

完整的就是这样

其实这个ADC还是12的,把前面的0去掉也行,不过这就看怎么考虑了,有点数据对齐的感觉。好像是过采样就到了16bit。

这样处理好一些

SPI的读写都很简单:SPI协议,这篇就够了!

其实LT的DAC是比较粗的

但是连续测量的功耗是小的,这点不错

LT可能最大的问题还是ADC的精度差了一些。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档