7
AT7908E
4268B–AERO–10/04
The error_counters block is a counter that receives signals from can_tx and can_rx to
calculate the error state of th e CAN. If the number of er rors is highe r than 127 , the
AT7908E will be on the erro r passive state. If error counters is higher than 255, the
AT7908E will be on the bus-off state.
The synchronizer block synchronizes the controller with the can_rx incoming signal
and generates the internal clock and reset signals for the other blocks of the controller.
The stuff handler block handles the stuff bit generation, compliant with the standard
BOSCH 2.0 B specific ation. error_frame_gen block g enerates the err or frame on the
bus.
In the next sections, the interface block, the internal registers and the operational modes
of the AT7908E will be described.
Transmission of Message To tra nsmit a mes sage on the bus, the c ontro ller m ust p rogr am the con figurati on re gis-
ters of the AT7908E (interrupt generator configuration, data rate, bit timing
configuration , message len gth) and the transmit b uffer. After this, the controller must
write i n the intern al regi ster t he bi t (Tx req=1) to sta rt th e tr ansmis sion. A t thi s point, the
Transmit message buffer is sent to the bus line. At every moment the external MCU can
readout the status of the controller (error condition, bus-off condition, transmission
active or transmission OK).
Incoming Message The inc omin g mess age pa sses th rough the glo bal ma sk a nd is checke d with th e iden ti-
fier of the first receiver message buffer. If the message is accepted, the data will be
stored in th e firs t me ss ag e bu ffer and the sta tus of th e r eceiv er me ssage objec ts will b e
updated with the infor mati on o f the recei ved m essa ge: l ength of messag e, ex tend ed or
standar d fram e messag e, rec eptio n OK or over run cond ition . The in coming mess age is
stored in the message buffer at the end of the END of FRAME field (7 recessive bits).
If the inc oming m es sa ge is a r emo te fram e r equ est fr om anot her CAN nod e, the incom-
ing remote request will not be stored on the RX message buffer.
Remote Frame The AT79 08E support s remote frame features. To send on the bus a remote fr ame
request, the MCU must write two internal bits of SETUP register (TMRMR=1 and
TXRM=0). The arbitration registers of the transmitter message buffer must have the
identifier for the remote frame request. The start of the remote frame request will be per-
formed when the transmission request is set by the MCU on the AT7908E. The
AT790 8E that re ceives a RE MOTE FR AME reque st (RTR bit = recess ive) that ma tches
the id entifie r stored on own TX_arb itrati on registe r (filter ing func tionalit y with don’ t care
feature) send on the bus the TX message buffer as an answer to the remote frame
request. To answer the remote frame request, the AT7908E must be pre-programmed
with two bits of the internal registe r: TMRMR=0 and TX RM=1. The TX arbitr ation regis-
ter must be initialized with the message identifier to which to answer and the transmitter
data bu ffer mu st be load ed with the data to be sent as the answ er to the r emote fr ame
request. The transmission request must be set as:
Answer to remote request if
for i = 28 down to 18
(“MsgID(i)” XOR” TX_arbitration (i) )AND “Accept. Mask(i)” = 0
Filterin g of Messag e The filtering func tion is implemented with a glob al mask and the arbitratio n register of
the receiver message buffers. The Global Mask permits to define the don’t care bit on
the filtering operation. The incoming message ID (msg_ID(28:18) is checked (xor) with