我正面临CAN总线通信问题,我不知道原因。我将MCP2515作为SPI-> CAN接口连接到MCP2551(过去),现在是TI的HVD256。
目前,组件按架构中的描述进行连接。 SCK,MOSI,MISO和CAN-CS连接到AVR的相应引脚。
schematic + oscilloscope screenshots
问题在于,CAN通信有时会起作用,有时则不会,而后者则显着。有时我甚至没有得到MCP2515的响应,而MISO(绿色)信号在左侧示波器屏幕截图中看起来像。
我甚至建议尝试在MISO线上使用下拉或上拉(我以前从未遇到过);然后信号在右边。
知道为什么会这样吗?
还有一个次要问题 - 在极少数情况下,MCP2515通过SPI进行良好通信,所有寄存器的内容都有意义,TX引脚上没有信号/数据传输到随后的MCP2551(或HVD256) 。输出为0V或+ 5V但没有数据。
非常感谢任何线索!!
-blume -
答案 0 :(得分:0)
CanLo / CanHigh之间有电阻吗?它至少应该在线的一端。 见这里:SN65HVD256 with MCU example schematics
据我所知,下拉应该是规范所在。我想,120欧姆电阻是常见的标称值。