15.08.2013 Views

DESIGN OF A CUSTOM ASIC INCORPORATING CAN™ AND 1 ...

DESIGN OF A CUSTOM ASIC INCORPORATING CAN™ AND 1 ...

DESIGN OF A CUSTOM ASIC INCORPORATING CAN™ AND 1 ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Acceptance Mask Registers (accepted); otherwise, the message will be overwritten by the next<br />

message (dropped). Shown in Figure 5.20, this register can only be accessed when the RR bit in<br />

the CCNTRL register is set.<br />

Figure 5.20 CAN Acceptance Code Register.<br />

AC7 – AC0: Acceptance Code Bits. These bits comprise a user defined sequence of bits<br />

with which the 8 most significant bits of the message identifier (ID10 – ID3) are<br />

compared. The result of this comparison is then masked with the Acceptance Mask<br />

Register. Once a message has passed the acceptance criterion the respective identifier,<br />

data length code and data are sequentially stored in a receive buffer, providing there is<br />

one free. If there is no free buffer, the data overrun condition will be signaled. On<br />

acceptance the receive buffer status bit is set to full and the receive interrupt bit is set<br />

(provided RIE=enabled).<br />

5.3.8 CAN Module Acceptance Mask Register (CACM)<br />

The Acceptance Mask Register, shown in Figure 5.21, specifies which of the<br />

corresponding bits in the Acceptance Code Register are relevant for acceptance filtering. This<br />

register can only be accessed when the RR bit in the CCNTRL register is set. When a particular<br />

bit in this register is clear, this indicates that the corresponding bit in the Acceptance Code<br />

Register must be the same as its corresponding identifier bit, before a match will be detected.<br />

The message will be accepted if all such bits match. When a bit is set, it indicates that the state<br />

154

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!