2018-07-02 06:27 AM
Hello,
I have 2 CAN nodes ( both are nucleo f446re boards) and both connected to separate transceivers .
I am exploring CAN_Networking ( NORMAL MODE) given in the ST example .
even if i Tx only one time, the Transmitter sending continuous same messages, and receiver node continuously getting Rx interrupt .
i have connected CANH ( NODE 1 ) ---> CANH(NODE2) , CANL(NODE 1) ---> CANL(NODE 2 ) using jumper wires.
also in the documentation it is mentioned that bus has to be terminated with 120ohm resistor which i have not used. is that causing any issues. ? can anyone please help me understand the problem ?
Thank you
#stm32-discoverySolved! Go to Solution.
2018-07-02 12:31 PM
I recommend reading about the CAN bus, e.g. the
. A CAN bus without termination is like an I2C bus without pull-up resistor, there is nothing to provide the idle/recessive bit state, so the recessive bit symbol is missing. Being a bus also means that there are no directions on the physical level, every node receives the same common bus symbols. Just as I2C, CAN also has an ACK bit, which is set by a receiver node instead of the transmitter of the frame, this ensures that at least one other node received the frame successfully. Without this bit set, the transmission is considered failed, and the transmitter will try to resend it unless it has the NART bit set.2018-07-02 12:31 PM
I recommend reading about the CAN bus, e.g. the
. A CAN bus without termination is like an I2C bus without pull-up resistor, there is nothing to provide the idle/recessive bit state, so the recessive bit symbol is missing. Being a bus also means that there are no directions on the physical level, every node receives the same common bus symbols. Just as I2C, CAN also has an ACK bit, which is set by a receiver node instead of the transmitter of the frame, this ensures that at least one other node received the frame successfully. Without this bit set, the transmission is considered failed, and the transmitter will try to resend it unless it has the NART bit set.2018-07-08 08:54 AM
Thanks Ben for the reply . i actually found out that my transceiver is not working properly . i need to test with different one.
2018-07-08 07:31 PM
Yes, without a connected(properly) receiver, the TX will run continuously until acknowledged by a receiver ( not connected in your case)
Yes, you must must have a Terminator.
the CanBus output stage can only pull the wire one way, the resistor pulls it back.
the lower the value of the resistor the faster the CanBus can go.
60ohms is the smallest value specified over the bus.