ADC1115调试记录------消除芯片本身误差

这只是调试记录和解决采集大差异方法。
调试工具:1. 19999字 电压表,精度校准OK
2. UT61E+ 22000字四位半万用表 精度OK 与电压表基本一致(0.1mv跳动)
3. ADS1115 增益0-1024mv 64SPS 单次采集 无重复采样算平均。
4. MCP4725 12位DAC
出现问题:ADC1115采集电压偏低。与两表不一致。
目的:使ADC保证达到±0.5mV准确的。
调试步骤:

  1. 各模块电源添加电容0.1uf, DAC输出端加对地电容0.1uf. (未果)
  2. ADC多次采样算平均(5次), (未果)
  3. 通过对各段电压进行采样,统计各阶段电压 并列下表:

在这里插入图片描述

  1. 经统计,ADC1115变化接近线性。
  2. ADC测量压差呈上行趋势,且接近线性。
    计算:
    电压表:963.4-55.1=908.3;
    误差:4.3-0.1=4.2;
    补偿系数:=1+4.2/908.3=1.00462402289992;
for(;;)
  {
    if (ads.checkADS1115())
    {   
        vTaskDelay(10);
        adc0= ads.readVoltage(0)*1.004624023;
        vTaskDelay(10);
        Serial.print("A0:");
        Serial.print(adc0);
        Serial.print("mV,  ");
        vTaskDelay(10);
        adc1= ads.readVoltage(1)*1.004624023;
         Serial.print("A1:");
         Serial.print(adc1);
         Serial.println("mV,  ");
         adc2 = ads.readVoltage(2)*1.004624023;
        // Serial.print("A2:");
        // Serial.print(adc2);
        // Serial.print("mV,  ");
         adc3 = ads.readVoltage(3)*1.004624023;
        // Serial.print("A3:");
        // Serial.print(adc3);
        // Serial.println("mV");
        vTaskDelay(500);
    }
    else
    {
        Serial.println("ADS1115 Disconnected!");
    }

    vTaskDelay(1000);
  }     

结果:OK ±0.5mv. 没再细调。
实测: ±0.2mv左右。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPGA高速ADC接口实战是一项非常有挑战性的工作,需要考虑到很多方面,包括硬件设计、信号处理、数据传输等。本文将以250MSPS采样率ADC9481为例,介绍如何实现FPGA高速ADC接口。 一、硬件设计 1. ADC选型 首先要选定一款适合自己应用场景的ADC芯片,对于高速ADC来说,采样率和分辨率是最为重要的指标。本文选择ADI公司的250MSPS采样率ADC9481,分辨率为14位,接口为LVDS。 2. 时钟设计 ADC的时钟源可以是外部时钟或者内部PLL产生的时钟。在使用外部时钟时,需要考虑时钟信号的抖动问题,因为抖动会对ADC的性能产生影响。内部PLL产生的时钟可以减小时钟抖动,但是需要注意PLL的配置。 3. 电源设计 ADC的电源设计也非常重要,需要保证ADC的电源噪声和电源干扰都尽可能小。可以使用电源滤波器和独立的电源来提高电源的质量。 4. PCB设计 ADC的信号传输需要使用差分信号,因此需要在PCB上设计差分传输线路。差分传输线路需要考虑阻抗匹配和信号完整性,以保证信号传输的质量。 二、信号处理 1. 数据格式 ADC采集到的数据需要进行格式转换,一般情况下会将LVDS格式转换为串行数据格式。串行数据格式可以是串行LVDS或者串行CMOS。 2. 数据校准 ADC的采样误差可能会导致数据精度降低,因此需要进行数据校准。数据校准可以分为偏移校准和增益校准。偏移校准可以消除ADC输出的直流偏移,增益校准可以消除ADC输出的增益误差。 三、数据传输 1. 数据接口 FPGA与高速ADC之间的数据传输可以使用并行接口或者串行接口。串行接口可以减少传输线路的数量,但是需要考虑时钟同步问题。并行接口可以提高传输速率,但是需要考虑布线和调试的问题。 2. 数据帧同步 FPGA与ADC之间的数据传输需要进行帧同步,以保证数据的完整性和准确性。帧同步可以使用帧起始标识符或者帧结束标识符来实现。 3. 数据传输速率 FPGA与高速ADC之间的数据传输速率需要根据ADC的采样率和分辨率来计算。传输速率可以使用DMA或者FIFO来实现。 四、总结 FPGA高速ADC接口实战需要考虑到硬件设计、信号处理和数据传输等方面。在实际应用中,还需要考虑到应用场景和系统要求等因素。通过本文的介绍,相信读者可以更好地理解FPGA高速ADC接口的实现方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值