Using the autobaud feature, Sing the, Utobaud – Maxim Integrated High-Speed Microcontroller Users Guide: DS80C390 Supplement User Manual
Page 149: Eature

High-Speed Microcontroller User’s Guide: DS80C390 Supplement
149 of 158
7. Software reads message center 2 and then programs message center 2 DTUP = 0.
8. The fourth message received that matches AV will be stored into message center 2, DTUP = 1, etc.
Note that in this example message center 1 or 2 will never be overwritten. The user must insure that the
proper number of message centers be allocated to the same arbitration value when using this arrangement.
If software fails to read the allocated message group, an incoming message may be lost without software
realizing it (ROW is never set when WTOE = 0). To put a message center back into operation software
must force DTUP = 0 and EXTRQ = 0. This indicates that software has read the message center.
Special Considerations for Message Center 15
Message center 15 incorporates a shadow message center used to buffer incoming messages, in addition
to the standard message center registers. When the message center is empty (DTUP=EXTRQ=0),
incoming messages are loaded directly into the message center registers. When the message center has
unread data (DTUP =1) or a pending remote frame request (EXTRQ = 1), incoming messages are loaded
into the shadow message center. Unread contents of the shadow message center are automatically loaded
into the message center when it becomes empty (DTUP=0). An overwrite condition is possible when both
the message center 15 and shadow message centers are full.
The response of message center 15 to the overwrite condition is dependent on the Writeover Enable
(WTOE) bit. When overwrite is enabled (WTOE = 1) and there is unread data (DTUP =1) or a pending
remote frame request (EXTRQ = 1), successfully received messages are stored in the shadow message
center, overwriting existing data. If the shadow message center contained previously unread data at the
time of the overwrite, the message center 15 ROW bit will be set. If the shadow message center was
empty at the time of the overwrite, then the incoming message will overwrite the previous message in the
shadow buffer and ROW will not be set to a 1. Note that the message center 15 ROW bit reflects only an
overwrite of the shadow message center, not the message center registers as with message centers 1-14.
When WTOE = 0 and there is unread data (DTUP =1) or a pending remote frame request (EXTRQ = 1)
in message center 15 and there is already a message stored in the shadow buffer, incoming messages will
not be stored in either the message center or shadow buffers.
USING THE AUTOBAUD FEATURE
It is sometimes necessary to connect a CAN node to a network with an unknown baud rate. The autobaud
feature of the DS80C390 provides a simple way for the CAN module to determine the baud rate of the
network and reconfigure the DS80C390 to operate at that baud rate. Special hardware inside the CAN
module allows it to interface to a fully functional CAN bus and perform the autobaud feature without
disturbing other CAN nodes.
The theory behind the CAN autobaud feature is relatively simple. If a CAN module operating at a
particular baud rate listens in on a CAN bus operating at a different baud rate, it will see a random bit
stream. Because the bit stream does not conform to the CAN 2.0B protocol, a large number of bus errors
(bit 0 error, bit 1 error, bit stuff error, etc.) will be seen by the "listening" CAN. These errors will
increment the appropriate CAN error counter registers. With only a moderate amount of CAN traffic,
enough errors will quickly accumulate to set the CAN Error Count Exceeded (CECE) bit in the
DS80C390 CAN module. This can be used as an indicator that the DS80C390 is not operating at the same
baud rate as the CAN. The DS80C390 would then adjust its baud rate and repeat the process.