Patent ID: 6647440
Filing Date: 2003-11-11
Classification: G06F,H04L

Abstract:
A CAN microcontroller that supports a plurality of uniquely-numbered message objects, comprising:a processor core that runs CAN applications; a plurality of message buffers associated with respective ones of the message objects; a plurality of individual message object registers associated with each message object, including at least one control register that contains an interrupt-enable control bit, a receive enable bit, and a transmit enable bit; a plurality of global message object control registers, including: at least one message complete status register that contains a plurality of status flag bits for respective ones of the message objects; at least one interrupt flag register that contains a receive complete interrupt flag bit and a transmit complete interrupt flag bit; and, a message complete info register that contains a plurality of message object identification bits and a status bit; a CAN/CAL module that automatically assembles fragmented, multi-frame messages, wherein the CAN/CAL module includes: an acceptance filtering function that performs acceptance filtering on each incoming, multi-frame message by comparing a screener field of the incoming, multi-frame message with an acceptance filter field associated with each message object which has its associated receive enable bit set, wherein the incoming, multi-frame message is accepted if its screener field matches the acceptance filter field of a receive-enabled message object; a message handling function that automatically transfers successive frames of an accepted incoming multi-frame message to the message buffer associated with the matching receive-enabled message object; an end-of-message detection function that detects an end-of-message condition which occurs when the last frame of the accepted incoming multi-frame message has been stored in the message buffer associated with the matching receive-enabled message object; and, an end-of-message detection handling and interrupt generation function that, in response to the detection of the end-of-message condition: sets the status flag bit contained in the at least one message complete status register corresponding to the matching receive-enabled message object; sets the receive complete interrupt flag bit contained in the at least one interrupt flag register, if the interrupt-enable control bit contained in the at least one control register associated with the matching receive-enabled message object is set; and, sets the status bit contained in the message complete info register, if the interrupt-enable control bit contained in the at least one control register associated with the matching receive-enabled message object is set.