关于THVD8000收发器,我选用的波特率是38400,带载频率为500KHz,F-SET管脚选用电阻19.1K。从机的电感按照32节点计算选用的电感值为4.7mH的电感,但是实验时只用了7块从机进行通信,电容选用的是1uF的电容。具体外围电路可见附件图片。实验过程有加60Ω的终端电阻,然后出现了以下问题。能帮忙解决一下么
Kailyn Chen:
您好,加上THVD8000不能正常通信体现在哪里?
根据您的描述,首先终端您使用两个60ohm替代的120ohm 匹配电阻,建议在两个60ohm之间加上一个220uF的电容形成低通滤波,降低共模噪音。
另外,总线上现在有7个节点,通信中断,是多点通信时出现的问题,还是之和其中一个节点通信出现的问题? 多点通信的话,注意driver端有个timeout 特性,D输入端检测不到上升沿或下降沿如果超过tTX_TIMEOUT这个时间,driver端会停止通信。
这里有一篇design guideline,可以参考下:
www.ti.com.cn/…/slla496.pdf
user6509105:
回复 Kailyn Chen:
您好,验证从机程序时通信不正常是这样的,我从机的程序如下:从机一直处于接收状态,从机在收到相应的正确的数据后,会将这个数据发送出去。然后我用UART转USB接上位机验证从机时,在焊上THVD8000芯片状态下,上位机给从机发送相应的数据,从机并不会回发该数据,在我拆除该芯片后,从机就能正常回发该数据。所以我在想是不是由于芯片的A、B管脚没有输入,所以影响了D、R端的电平,导致不能正常回发数据。
而在进行多从机通信时,按照您的建议加上了终端,由于没有60ohm的电阻,我用56ohm的电阻进行了替代。情况还是没有变化 。然后我的主机程序是这样的:主机先给第一个从机发相应数据,在得到从机回发的数据并且判断数据正确才会发送下一个从机的数据,就这样一直循环与7个从机通信。如果从机回发的数据错误,主机会再此发送相同的数据,如果是主机没接收到从机的数据,主机就会一直处于接收状态,从而停止发送。所以可以判断通信中断是因为在通信过程中某个从机没有回发数据。下面是串口助手得到的数据:一般情况下通信状态就像第一张图,具体在哪个从机通信停止是随机的。第二张图通信状态比较好的情况,能通信10s左右,但是最终还是会中断。