Microchip
直播中

张芳

7年用户 174经验值
私信 关注
[问答]

怎么无需外部CAN收发器即可使用CAN?

你好,我们正在搞一个项目,需要连接两个pic18f45k80。现在我们正试图用两个pic18进行测试设置,其中一个只传输简单数据,另一个只接收数据。这个想法是,两张图片将颠倒一个LED的当前状态,因此当他们收到一条消息时,他们应该同步闪烁。但是,我们还没有达到那个程度。我认为我们已经为发送方和接收方都配置了正确的软件配置。我们设置了发送方的CANTX被校正为接收方的CANRX。我已经看到发送节点正在尝试发送,但我认为接收方不会向发送方确认至少一个节点正在监听。该范围显示发送器的TX线在几毫秒内被拉到零。之后线路很高,接着是15个非常短的零点。我想知道这个没有CAN收发器的硬件设置是否可能。我也想知道,如果没有看到我们的源代码,您是否有任何建议或提示。预先感谢

回帖(17)

倪辰曦

2019-10-31 08:41:40
你可能需要收发器。一个想法-但我不是舒尔是否工作:配置TX引脚作为两个设备上的开路漏,并连接一个上拉复位器。在每个PIC连接TX引脚到RX引脚。然后连接一个设备的TX/RX到第二设备的TX / RX。
举报

潘璐

2019-10-31 08:50:19
为了扩展一下Weydert的想法……如果CANTX引脚是开路漏极,你可以把所有的TX/RX线绑在一起,然后加上一个上拉线。否则,如果CANTX信号是推挽信号,你必须用一个二极管隔离它,这样它只能把总线拉低。可以使用EGIST位来实现这一点。根据描述,在ENDRHI=0的情况下,CANTX管脚在隐形时是三态的。通常使用收发信机时,我必须设置这个位=1,这样CANTX管脚在隐形时将驱动VDD。否则,线路浮动,收发信机有问题。
举报

李焯尤

2019-10-31 08:59:05
Weydert是正确的。我以前用另一个制造商的MCU做过这件事。然而,当这些MCU配置为CAN时,我们不能将它们配置为开漏极,因此我们需要在两个MCU的CAN-TX和CAN-RX引脚(朝向CAN-TX引脚的阴极)之间添加阻塞二极管。然后将CAN-RX线与上拉电阻连接到VDD。
1 举报

潘璐

2019-10-31 09:12:18
如果您正在以低速(<100Kbps)工作,并使用缺省的PORTB CANTX/CANRX引脚,那么您甚至可能能够使用内部PORTB上拉来逃避。我会试着打开两端的所有引脚,虽然我不知道使用CAN外围设备是否会覆盖TX引脚上拉功能。如果你想要更高的速度,那么我肯定会添加一个外部上拉。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分