微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS8556数据错乱

ADS8556数据错乱

时间:10-02 整理:3721RD 点击:

大家好,我用ADS8556和STM32F407采集信号,并口16位传输硬件模式,PA0 PA1 PB0 PB1四通道同时采集,但是读数据时第三四个数据总是不对,第三个数据和第一个差不了多少,第四个和第二个完全一样,这是为什么。请大家指教。

我用示波器看了CONVST_A CONVST_B的波形是没问题的。

void CollectData(uint16_t* ad_data)
{
uint8_t i;
uint16_t data;

SetADS8556Pin(ADS8556_PIN_CONVSTA);
SetADS8556Pin(ADS8556_PIN_CONVSTB);

while(!ReadADS8556Pin(ADS8556_PIN_BUSY));
while(ReadADS8556Pin(ADS8556_PIN_BUSY)); 

ResetADS8556Pin(ADS8556_PIN_CS);
for(i=0; i<4; i++)
{
ResetADS8556Pin(ADS8556_PIN_RD);
DelayNop(10);
data = ReadADS8556Data();
*(ad_data + i) = data;
SetADS8556Pin(ADS8556_PIN_RD);
DelayNop(5);
}
SetADS8556Pin(ADS8556_PIN_CS);
ResetADS8556Pin(ADS8556_PIN_CONVSTA);
ResetADS8556Pin(ADS8556_PIN_CONVSTB);

}

将CHA0 CHA1和CHB0 CHB1分开采集时,没有问题,但是我需要四通道同步采集

我的问题已经解决了 之前是CONVST_A CONVST_B两个PIN没有接在一起,而已两条语句分别拉高这两个脚,不满足数据手册的两脚最大拉高时间差4ns。将两个脚焊在一起就好了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top