STM32F103 SPI1 更换到SPI2 操作MCP3208 AD采集误差大,求解?
STM32F103RCT6SPI1接MCP3208采集8路AD 4-20MA输入千1或千2精度,由于项目需要加DAC输出,SPI1与DAC复用,所以采用SOPI2操作MCP3208,解决了时钟问题能读到MCP3208,但实际输入20MA时,读到只有19.11MA左右,同一块PCB板,烧录对应SPI1的程序,通过飞线连接到SPI1要是正常的,请问那么大神遇到过这样的问题?项目 赶的急,原有的AD采集芯片这块没有变动, 直接把SPI2更换到SPI1,目前采集正常,1/千 精度 如果确定SPI2的配置都正确并且和其他端口没冲突的话,可以查一查ADC的电路 SPI通信只是读MCP3208的结果值,不会存在影响AD采样的问题,你对比看下两种情况下AD的标准电压和AD采样电压是否一样 AD芯片MCP3208放在什么位置?布局布线是什么样的?
可能数据信号与模拟信号之前有干扰。 照道理说模拟域到 MCP3208 就结束了。这个问题要仔细检查模拟域的设计,排除可能的干扰。 maxtch 发表于 2019-8-6 11:53
照道理说模拟域到 MCP3208 就结束了。这个问题要仔细检查模拟域的设计,排除可能的干扰。 ...
嗯!我在尝试着,更换到SPI1,过两天有结果。 00-405686 发表于 2019-8-6 10:35
SPI通信只是读MCP3208的结果值,不会存在影响AD采样的问题,你对比看下两种情况下AD的标准电压和AD采样电压 ...
嗯!理论上是这样,我飞线测试时,是把MCP3208的引脚翘起来的,如果有问题,就出来MCP到MCU之前的走线上。 飞线的时候可能有干扰了。看一下引脚采集到的电压是多少。 手工飞线造成的吧,这个确定接地是良好的吗? 如果可以的话,降低速度试试,看看是不是布线引起的:)
页:
[1]
2