This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] ADS7953:CAN#39;t 获取 ADS7953以返回任何数据。

Guru**** 2538950 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/912833/ads7953-can-t-get-the-ads7953-to-return-any-data

器件型号:ADS7953

我不明白为什么我没有从芯片获取任何数据... 遗憾的是、我没有示波器来帮助我进行调试。 我尝试了很多组合、但没有成功、但下面是我的最新代码故障代码。 我不知道还有什么要做的...  

PS:我尝试了手动、自动1和自动2、但没有成功。

 

#include 

Auto ADC_CLK = 1000000;

// Arduino MEGA 的引脚
#define MOSI 51
#define MISO 50
#define cs 53
#define clk 52



// unsigned int cmd_1 = 0x4200;
//unsigned int cmd_2 = 0x8000;
//unsigned int cmd_3 = 0xFFFF;
//unsigned int cmd_4 = 0x2C00;//unsigned int
cmd_5 =
0x280000;// unsigned int cmd = 0x40;/unsigned int

//unsigned int cmd_1 = 0x4200;
//unsigned int cmd_2 = 0x3C00;
//91int cmd_3 = 0x93C0;
//unsigned int cmd_4 = 0x3800;
//unsigned int cmd_5 = 0x3800;//unsigned
int cmd_6 = 0x0000;
//unsigned int cmd_7 = 0x1840;

0x0000
= 0x1000 cmd = 0x400 // 1001 0001 1100 0000
unsigned int cmd_3 = 0x0000;// 0000 0000 0000 0000


0000 void setup (){

Serial.begin(115200);
pinMode (cs、output);

delay (1000);

ADS7953_setup();

Serial.println ("设置完成");
}

void loop (){

Serial.print ("接收的数据:");
Serial.println (ADS7953_Call (0x0000));

delay (500);
}



void tl7953_setup ()
{printn
(cs、high);Serial.printn










命令:/5n (0593n)


;

//
Serial.print ("Command #5:");
// Serial.println (ADS7953_Call (cmd_5));
//
Serial.print ("Command #6:");
// Serial.println (ADS7953_Call (cmd_6));

}

unsigned int ADS7953_Call (cmd_Call (

SPI.beginTransaction(SPISettings(ADC_CLK)
、unsigned mspi 命令0、unsigned mspi 命令0 (unsigned mspi);unsigned int mspi 命令0)、unsigned mspi 命令0、unsigned mspi、unsigned mindeint
unsigned int received_data = spi.transfer (命令);
digitalWrite (cs、HIGH);
spi.endTransaction ();

延迟(100);

返回 Received_data;

}

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我强烈建议您保留示波器或逻辑分析仪、以帮助您直观地检查代码实际执行的操作。 这也有助于确保计时正确。 在没有任何视觉元素的情况下调试代码是相当困难的。

    我建议只使用一种模式、手动模式、一旦工作、您就可以转到不同的自动模式。 自动模式需要更多的数字通信、如果没有建立数字通信、那么成功使用这些模式就更难了。

    在手动模式下、您可以选择要采样的通道、因此您可以立即查看器件响应。 使用一个通道并使用已知的直流输入、这将有助于将预期结果与测量的输出进行比较。 请注意、该器件具有三帧延迟来获得测量的输出。

    请尝试以下要求、并查看输出是否正确。 连接器件 x1范围内的已知直流输入(即1V)

    1000xh、1000xh、1000xh

    这将在手动模式下运行器件、对通道0进行采样、输出将显示在输出的前四位中采样的通道。 第三个帧应产生接近0666xh 的结果(如果输入为1V)

    如果这起作用、那么现在尝试对不同的通道进行采样。 确保每个通道具有不同的已知直流输入、例如 Ch0 = 1V、通道1 =2V)

    尝试:1000xh、1080xh、1000xh、1000xh

    在这里、第三个帧将具有通道0响应(1V 时为0666xh)、第四个帧将具有1CCDxh

    此致

    Cynthia

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您的快速回复!

    遗憾的是、我没有让它工作... 如果我找到解决方案、我将在这里发布代码。

    我本以为我可以找到 Arduino 这种芯片的库。 您知道吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    如果我提供的命令仍然不起作用、那么我怀疑它不是 ADC。 示波器在这里非常有用、因为您无法确认您的代码在实际执行什么操作。  

    该团队会更好地了解、我建议在标题中发布一个新问题、并由他们回答您的问题。 此外、您还可以查看社区论坛。  

    此致

    Cynthia