我们在共享UART总线上有一组PIC32 MCU,加上一对I / O作为手抖动,类似于芯片选择。一个主要的多个奴隶。从主站到从站的传输是直接的,并且顺利进行。从机到主机的响应信号通过一个1K电阻,主机侧有10K上拉电阻。如果未选择,每个从站必须禁用其UART,以免干扰其他从站的传输。主设备始终处于活动状态,允许两个从设备之间的400 us延迟通信序列。传输以4字节块进行。
我们构建的5个系统中有一个存在问题,其中一个从属的起始位不完整。大约1/4位宽的毛刺。当这附加时,主控制器无法识别块并超时传输。到目前为止,我们通过更改故障MCU解决了这个问题,但这是一个开发时修复,不利于生产。
有人见过类似的东西吗?可能是什么问题?
我们正在将pic32mx320F064H-80用于主设备和从设备。
谢谢。
答案 0 :(得分:0)
在传输之前,所选择的从站未尽快启用
- 或 -
以前选择的从属设备不会很快被禁用。
了解波特会有所帮助,因为这会使“400我们”成为可能。
答案 1 :(得分:0)
与电阻器的比率为1:10可能很狡猾,并且主机可能无法很好地识别低电平。 对于您的电路,我假设1k电阻用于保护从设备,如果两个设备同时启用。为此,在3.3V(14mA短路电流)下120欧姆就足够了。
在之前的项目中,我发现10k上拉趋于弱,取决于扇入(你的情况下的奴隶数量)。我建议你把它减少到4.7k 。 使用这些值,该比率现在为0.025。