Patent ID: 6604156
Filing Date: 2003-08-05
Classification: G06F,H04L

Abstract:
A CAN microcontroller that supports a plurality of message objects, comprising:a processor core that runs CAN applications; a plurality of message buffers associated with respective ones of the message objects; a CAN/CAL module that processes incoming messages that include a plurality of frames, each frame having a maximum number n of data bytes; a plurality of message object registers associated with each of the message objects, including: at least one buffer size register that contains a message buffer size value that specifies the size of the message buffer associated with that message object; and, at least one buffer location register that contains an address pointer that points to an address of the storage location in the message buffer associated with that message object where the next data byte of the current incoming message is to be stored; wherein the CAN/CAL module includes: a message handling function that transfers successive frames of the current incoming message to the message buffer associated with a selected one of the message objects designated as a receive message object for the current incoming message; a frame status detection function that detects whether or not the current frame of the current incoming message is the final frame of the current incoming message; and, a buffer-full detection function that, in response to a detection that the current frame of the current incoming message is not the final frame of the current incoming message: determines the number of available bytes of remaining storage capacity in the message buffer associated with the designated receive message object for the current incoming message; and, declares a message buffer-full condition if the determined number of available bytes is less than the maximum number n of data bytes.