请问可否将两块DSP的CANR和CANT引脚直接相连接来测试Can通信收发功能?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,
不可以这样操作,需要使用can Transceiver,在以下手册中section 3.2 有详细说明 :
http://www.ti.com/lit/an/spra876b/spra876b.pdf
3.2 Why a Transceiver is Needed
One cannot directly connect CANTX of node-A to CANRX of node-B and vice versa and expect successful
CAN communication. In this case, CAN is unlike other serial interfaces like SCI or SPI. For example, SCI
can be made to work with a RS232 transceiver or through a direct connection (SCITX of one node to
SCIRX of another node and vice versa). However, CAN bus needs a CAN transceiver for the following
reason: In addition to converting the single-ended CAN signal for differential transmission, the transceiver
also loops back the CANTX pin to the CANRX pin of a node. This is because a CAN node needs to be
able to monitor its own transmission. Why?
• This has to do with the ACK requirement mandated by the CAN protocol. When a node transmits a
frame on the CAN bus, it expects an ACK from at least one other node on the network. For the ACK
phase, the transmitter puts out a 1 and expects to read back a 0.
• During arbitration, a node with a higher-priority MSGID needs to be able to override a 1 with a 0. Here
again, the transmitter needs to be able to read back the transmitted data. When a node puts out a 1
and reads back a 0 during the arbitration phase, it loses arbitration.