CAN ACK Status in Silent mode

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

CAN ACK Status in Silent mode

2,994件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nickich on Wed Aug 05 07:40:48 MST 2015
Is there a way to have the ACK bit (if being set or not) for each received message in Silent mode?
I see it is possible for the transmitted messages, but I'm looking for the received messages if being acknowledged by any device on the bus or not.
ラベル(1)
0 件の賞賛
返信
3 返答(返信)

2,534件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by arw on Thu Aug 06 10:22:10 MST 2015
nickich,

CAN is a broadcast bus, where a sender transmits its message, but doesn't necessarily know (or care) that any other node on the bus actually did something with the data.
The CAN protocol requires all active nodes to ACK each and every message on the bus, even if they do not accept and process the message.  Every node provides ACK at the exact same time slot - this is a hardwired function of the CAN controller.  As long as the sender of the message receives ACK, it will continue transmitting the message.  In case the sender does not receive ACK, an error interrupt will be generated from the CAN controller.
Sections 16.6.12 and 16.6.1.3 cover this in the LPC1100/11C00 user manual.

-arw
0 件の賞賛
返信

2,534件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nickich on Thu Aug 06 08:30:56 MST 2015

Quote: arw
Hello nickich,
Silent mode is defined specifically so that the CAN controller does not influence the bus by transmitting dominant bits.  The ACK bit is re-routed inside the chip only.
If you do not want the CAN controller to actually receive message, but still transmit ACK, you might simply set the message filter for an obscure ID that is not expected to be present on the bus. 

-arw



Thanks for your reply. Actually I'd like to be able to monitor the CAN Bus (silent mode, not transmit) and to be able to see what messages are not being acknowledged (by other devices on the bus, not by my device as it is silent).
Is there a way of monitoring the ACK slot of the messages on the bus?
0 件の賞賛
返信

2,534件の閲覧回数
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by arw on Thu Aug 06 06:48:03 MST 2015
Hello nickich,
Silent mode is defined specifically so that the CAN controller does not influence the bus by transmitting dominant bits.  The ACK bit is re-routed inside the chip only.
If you do not want the CAN controller to actually receive message, but still transmit ACK, you might simply set the message filter for an obscure ID that is not expected to be present on the bus. 

-arw
0 件の賞賛
返信