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.

[参考译文] ADS1220:消除寄生效应

Guru**** 2390755 points
Other Parts Discussed in Thread: LM2575, MSP430F5529, ADS1220

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/603346/ads1220-removing-parasitic-effect

部件号:ADS1220
主题中讨论的其他部件:MSP430F5529,LM2575, MSPWARE

您好,

我设计了一个使用MSP430F5529微控制器和ADS1220 IC测量电阻的定制板。 此外,该板还具有隔离的RS485线路,可将测量数据发送到PC。 我遵循了Github上的ADS1220数据表和MSP430库以获得读阻值。

我设计了如ADS1220数据表所示的印刷电路板布局,但底部未覆盖GND。 电源线从侧面进入ADS1220。

如果没有任何东西靠近PCB底部,ADS1220就可以完美工作。 如果我将手指靠近5 mm (或将其放在表上),ADS1220将返回“-1”值,并进入不稳定模式。 在离开主板后(没有任何东西靠近PCB底部),它将返回到真值。

我做了一些测试:

如果我只将 MSP430G2启动板的GND连接到定制板的GND,寄生效应就会消失! 我正在使用MSP430G2启动板作为主板的编程器设备。  

LM2575为MSP430F5529和ADS1220提供3.3V电源。 ADS1220的模拟和数字电源电压不是隔离的(供您参考)。

你能提出什么建议来使这种寄生效应得到影响吗? MSP430G2启动板的效果是什么?

此致,

奥努尔

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


    如果不查看原理图和主板布局,很难知道问题出在哪里。

    但是,您提到"如果我只将MSP430G2启动板的GND连接到定制板的GND,寄生效应就会消失! 我正在使用MSP430G2启动板作为主板的编程器设备。"

    我怀疑你在孤立中有一些问题。 通常,我希望启动板和ADS1220板的接地将连接在一起,并且任何隔离都将位于启动板和计算机之间。 但是,可以在微控制器和ADC之间进行隔离。

    如果您遇到这种隔离问题,我希望通信与您所看到的类似。 请注意,-1作为数据读取值为FFFFFFh,因此DOUT行的读数始终为高。 您如何构建隔离屏障? 通过将手指移动到它上面,您肯定会以某种方式破坏它。

    无论如何,我需要更多有关您电路的数据来帮助调试通信。


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

    您好,Joseph:

    在这里,您可以看到电路的各个部分:

    此致,

    奥努尔

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

    Onur,

    您上一篇文章中的示意图在显示数字连接方面有点受限。 此外,我对您的系统隔离仍有些困惑。 为了确保我了解您的设置,我将此图与您的示意图术语组合在一起:

    我仍然认为这是您的隔离问题,并且ADS1220的某个位置没有接地。 我假定您已将ADS1220连接到MSP430F5529,并且将其作为RS485线路的一侧连接到U9。 我将使用示波器来确保来自ADS1220的通信正确发出并被MSP430F5529正确接收,然后查看MSP430F5529发出的通信是否正确发送到RS485驱动器。

    再次强调,我认为这不是ADS1220的问题,而是您设置的隔离问题。 使用示波器,您应该能够验证ADS1220中的数字线路,以查看器件是否正在正确地计时数据。

    验证我的图表是否正确。 然后使用示波器(或逻辑分析仪)查看ADS1220发出的信号。 您可以在此处发布示波器镜头。

    吴若瑟

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

    Onur,

    无论出于什么原因,我的图表没有嵌入文本中。 这又是:

    吴若瑟

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

    您好,

    我现在在度假。 我将在此发布逻辑分析器结果。

    图示如下:

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


    我将等待逻辑分析器的结果。 但是,看起来您在RS485隔离过程中仍然遇到问题。 通过连接启动板,您可以改变MSP430F5529/ADS1220的1220的相对接地,并且您可能会在隔离环境中将接地拉在一起。

    您需要检查从MSP430F5529到ADS1220的SPI通信以及从MSP430F5529通过UART到RS485隔离的VCC_3V端的通信。 这将帮助您确定通信失败时的位置。 我还要检查MSP430F5529是否与ADS1220有共同之处。 您可能已正确设置,但图表中未显示。


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

    您好,Joseph:

    我发现了问题。  

    我将SPI线路连接到逻辑分析器,发现CS引脚永远不会变低! 我正在使用MSPWare,SPI.c和spi.h (另一个示例)。 和SPI.c使用UCB0,不配置UCB0STE -> WFP 2.7

    这里是:

    void SPI_init()
    {/*
    	在MSP430器件上为USI_B */
    	#ifdef __MSP430F5172
    	P1SEL || BIT3 | BIT4 | BIT5;
    	#endif
    	#ifdef __MSP430F5529
    	P3SEL || BIT0 | BIT1 | BIT2;
    	#endif
    
    	/* BITS5;#UCTSPI_MSP430F5529 P3SEL || BITS0
    	
    	UCB0CTL0 = UCCKPH | UCMSB | UCMST | UCMODE_0 | UCSYNC;// SPI模式0,主
    	UCB0BR0 = 0x01;// SPI以与SMCLK
    	UCB0BR1 = 0x00相同的速度计时
    	
    ;UCB0CTL1 = UCSSCI_2;//时钟= SMCLK,清除CCSSB模块} 

    在main.c中,我添加了以下行:

    SPI_init();
    GPIO _setAsOutputPin (GPIO端口P2,GPIO _PIN7);
    GPIO _setOutputLowOnPin (GPIO端口P2,GPIO _PIN7); 

    因此,CS引脚始终为低电平。 而且它正在工作。

    现在,桌面上的设备没有任何问题。 我不是把手指放在ADS1220上,而是触摸它,它可以正常工作:)

    解决了! 谢谢!

    奥努尔

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


    我很高兴您能够解决您的问题。 通常,使用示波器或逻辑分析器有助于更快地调试问题,在您的情况下,这似乎是有帮助的。 如果您有任何其他问题,请随时回复。


    吴若瑟