|
由于开发板没有装有CAN的收发器,在CAN通讯调测时,是否能像TTL232一样 交叉连接TX/RX进行通信呢? CAN收发器将MCU的逻辑电平转换为差分电平,同时将CAN总线上接收到的差分电平信号转换回逻辑电平信号。正处理数据的是CAN核控制器,在共地的情况下两个CAN-TX/RX在无收到器时是可以像TTL232一样 交叉TX/RX直连的; 但这还不够,因为CAN控制器的优先仲裁机制还需要实时RX侦测总线信号,只交叉连接时TX的电平无法反馈到RX上,将发送端的Tx+Rx直接并接可以实现RX反馈TX信号,但接收端的Tx+Rx直接并接会坏TX电平,当接收端转为发送端时亦是如此。 参考了网上的方法,使用二极管对RX->TX进行隔离,实际在STM32F4x上测试,发现不通,示波器波形发现TX根本无法将电平拉低到地,最多只能拉到一半VCC(3V3); 于是想到用三极管,于是做出如下改进电路:
改进后 实测效果OK,波形与带收发器一致,完美通信;
此电路在20K~250K速率下短距离(10~20CM)测试没问题; 如果需要较高速率时,应将三极管更换为高频管,并视情况降低其驱动电阻R1/R3的阻值,可以获得更好的驱动效果。
|