工具与软件:
您好:
我们对使用 THVD1420的系统存在的问题有一些疑问、对于该问题、我们将提供相关指导。
我们的器件有两块 PCB、它们使用 THVD1420通过 RS485进行通信。 该接口中只有两个节点-控制器和外设、通过约1米的电缆连接。 我们使用的原理图与 产品说明书第8.2.2节中的原理图相同。
我们的系统如下所示:
通信时、控制器用消息查询外设、外设以响应进行响应。 通信始终由控制器启动。 当控制器发送数据时、它随后开始立即侦听线路。
我们面临的问题是、当控制器将其方向引脚从发送更改为接收时、线路现在处于空闲状态、并且存在一个小的毛刺脉冲、使控制器认为它接收到的是一个字节、而实际上它没有接收到。 这个较短的空闲时间被 MCU 的 UART 外设视为起始位。 这种情况在90%的时间内发生、因此很难将接收到的第一个位丢弃掉。
写入和读取通过 DMA 进行控制、因此很难在读取之前添加延迟(此 MCU 的 DMA 使得 TX+RX 操作链可以定义为单个工作单元)。
我的问题是、我们可以采取什么措施来缓解这一问题? 我的印象是 THVD1420具有失效防护电阻器、这些电阻器应该有助于解决空闲总线问题。 我们是否需要更强的电阻器? 除了这个问题、我们以2Mbps 的速率进行通信是非常可靠的、所以我怀疑这可能是电缆和终端电阻器之间的阻抗不匹配。 但我可能错了!
下面是通信的捕获。 我用红色圈出了当控制器从发送更改为接收时发生的干扰。
非常感谢在这方面提供的任何帮助!
谢谢!
-爱德华多·加西亚