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.

[参考译文] ADS122U04:无法与芯片通信

Guru**** 2529630 points
Other Parts Discussed in Thread: ADS122U04

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/625730/ads122u04-unable-to-communicate-with-chip

部件号:ADS122U04

我不能用我的头脑来解释为什么我无法与ADS122U04... 我尝试了Arduino和FTDI USB到TTL电缆,但芯片完全没有响应。 我只是想“ping”芯片来验证它是否存在,所以我尝试读取寄存器01h,传输55h,然后是22h,波特率为9600。 我知道我肯定是在向芯片传输,但没有什么回来。

有什么建议? 我是否在打开芯片电源和读取寄存器之间遗漏了一个步骤? 在我尝试与芯片通信的整个过程中,我确实将重置线路驱动到了高位,我确实尝试向它发送重置命令,但这没有帮助。

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

    您是否有通信的屏幕截图? 是否确定RX和TX转至正确的针脚?

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

    我没有任何有用的屏幕截图,我只能展示传输十六进制代码的串行端口工具。 我检查了带有示波器的主板的接头,可以看到数据进入RX引脚。 TX引脚被ADS122U04保持在高位,且没有在其上传输数据的信号。 我甚至尝试与EVM上的芯片进行对话,但没有成功。 我猜我没有传输正确的字节数来做出响应。

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

    您好,Doug,

    很遗憾听到您的沟通仍有问题。  除了波特率之外,唯一严格的通信要求 是 重置引脚必须高,通信必须为8位,无奇偶校验和1个停止位。  要传输命令,必须按0x55 (0101 0101)执行命令。  您可以仔细检查以确保不会将其作为小数值55发送。  我找到的解决通信问题的最佳方法是使用逻辑分析器(例如Saleae)来验证我的计时和协议。  如今,这款工具相对便宜,而且在节省时间的故障排除方面,成本非常值得。  您会认为这样简单的事情会很容易,但并非如此。

    /*
    *从指定的地址读取注册表内容
    *
    \param Regnum标识要读取
    的地址*/
    
    char regRead (unsigned int Regnum)
    {
    UINT32_t ulDataTx;
    uINT32_t ulDataRx;
    UINT8_t垃圾邮件;
    	ulDataTx = REGRD_OPCODE_MASK +((Regnum & 0x07)<1);
    	while (UARTCharsAvail(UART_base))
    	{
    		垃圾邮件= UARTCharGet(UART_base);
    	}
    	while (UARTBusy(UARTCharPut(UART_base);
    	UARTCharPut(UART_base, 0x55)
    	ulDataTx);
    	ulDataRx = UARTCharGet(UART_base);
    	返回ulDataRx;
    } 

    以上示例是 使用EVM和TIVA的寄存器读取函数。  这里没有什么特别的。  当事情变得复杂时,ADS122U04不是全双工,因此如果您在ADS122U04传输时尝试向其传输,设备将不会喜欢它。

    此致,

    Bob B

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Bob,您好!
    我发现了问题,我没有为芯片的模拟端供电。 当我去测试我的主板时,我没有连接模拟电源,因为我没有连接传感器,但我忘记了所有的东西,而且还为一半的芯片供电。 现在我已经让芯片的两侧都能正常工作了。
    谢谢!
    道格
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Doug,

    很高兴听到您发现了问题。  很抱歉 ,我之前应该说模拟和数字电源都必须正常工作且有效 ,否则设备将保持重置状态。

    此致,

    Bob B

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

    我应该更聪明一点,首先让整个芯片通电。 在下一个修订版本的数据表中放一个注释可能不是一个坏主意。

    谢谢!
    道格