2020-08-13 04:09 AM
2020-08-13 05:11 AM
The accknowledge is a feature of the CAN bus protocol, it is not specific to STM32F103.
All nodes that receive a correct message acknowledge receipt of the message. The sender may retry to send the message if it is not acknowledged by at least one node.
The ack is a very low level feauture, executed before filtering.
You can put a node in silent mode: this node can receive messages but can't be active on the bus (send message or ack received messages).
Read the ref manual CAN chapter, silent mode paragraph.
2020-08-13 02:51 PM
Thank you for your reply.
Yes, my understanding is same as you.
All nodes should send the acknowledge as CAN rule, so this is not depend on STM32F103.
Of course, if it is configured as in silent mode, STM32F103 cannot send the acknowledge to CAN bus.
But our supplier said STM32F103 can send the acknowledge for only filtering CAN frames.
It means,
But this is very strange for me and this is out of the rule from CAN-bus protocol that is defined as ISO11898.
Is my understanding correct?
Thanks,
2020-08-14 06:26 AM
According to the F103 RM (Rev 17, page 663) you are right, the STM32 have a special behaviour:
"A received message is considered as valid when it has been received correctly according to
the CAN protocol (no error until the last but one bit of the EOF field) and It passed through
the identifier filtering successfully"
As I have always used only 2 nodes, I did not notice this peculiarity.
2020-08-14 09:11 PM
Thank you for your reply.
Let me confirm just in case.
Is the following meaning STM32 can send ACK only for filtering CAN frames?
There is no mention about ACK in the manual and I could not understand this behaviour.
------------------------------------
"A received message is considered as valid when it has been received correctly according to
the CAN protocol (no error until the last but one bit of the EOF field) and It passed through
the identifier filtering successfully"
-----------------------------------
Thanks,
2020-08-15 09:08 AM
Humm... I am a bit confused.
After careful reading of the RM, it seems that there is no mention of the conditions for acknowledging a frame.
IMO the frame is acknowledged when it has been received correctly according to the CAN protocol (before the filter test).
I don't have a CAN at the moment, but I don't think we can manage the acknowledge.
2023-06-22 02:08 PM
I just quickly checked. Stm32f103 does in fact ack any message despite set up filters.