You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于16位SPI接口读取20位及以上高精度ADC结果的方案咨询

问题解答

方案可行性说明

完全可以通过纯软件方案实现16位SPI接口读取20位及以上外置ADC的采样结果,无需额外增加硬件。

具体实现逻辑

F2837xD的SPI接口支持连续多帧传输,可通过配置SPISTE(片选)引脚为连续有效模式,在多帧传输过程中保持片选信号不释放,避免传输中断。你可以根据ADC的输出规则选择两种拆分传输方式:

  • 配置SPI字长为8位:20位采样数据拆分为3次连续8位传输,读取完成后通过移位拼接得到完整采样值,示例代码逻辑为full_sample = (uint32_t)first_byte << 16 | (uint32_t)second_byte << 8 | third_byte,最后根据ADC有效位长度屏蔽无效低位即可。
  • 配置SPI字长为16位:20位采样数据拆分为2次连续16位传输,第一次读取高16位有效数据,第二次读取低4位有效数据(剩余12位为无效填充位),拼接逻辑为full_sample = (uint32_t)first_16bit << 4 | (second_16bit >> 12)。

精度保留说明

SPI为同步串行传输协议,只要将SPI时钟频率配置在ADC接口支持的阈值范围内,传输过程无误码的前提下,ADC的有效精度可以100%保留,拆分传输不会引入精度损失。
你需要额外注意的精度损失来源为以下环节,和SPI传输无关:

  • 外置ADC的实际有效位(ENOB),标称20位以上的ADC实际有效位通常会比标称值低1~3位,选型时可优先选有效位参数≥20位的型号
  • 模拟前端信号链噪声、参考源精度、ADC电源纹波抑制能力,这是测量极小纹波场景下的主要误差来源
  • ADC输出编码格式的处理错误,需注意区分补码、原码输出的符号位处理逻辑

内容的提问来源于stack exchange,提问作者jvnlendm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:15:02