Dynamic allocation of message buffers
First Claim
1. A method for allocating memory that is associated with a CAN (controller area network) controller, the method comprising:
- receiving a data frame comprising an identifier (ID) and data;
dynamically allocating a message buffer (MB) within the memory for queuing the data frame; and
generating a pointer that points to the MB, where the pointer is accessed via a static location in the memory.
30 Assignments
0 Petitions
Accused Products
Abstract
A method for allocating memory that is associated with a CAN (controller area network) controller, comprises receiving a data frame comprising an identifier (ID) and data; dynamically allocating a message buffer (MB) within the memory for queuing the data frame; and generating a pointer that points to the MB, where the pointer is accessed via a static location in the memory. A corresponding host interface for the CAN controller can be implemented in IC circuitry, is configured to be coupled to a host CPU and a CAN bus interface, and includes a memory allocation unit for dynamic memory allocation and a memory access controller, coupled to the memory allocation unit and the memory, that is configured to control access to the memory to facilitate transmitting and receiving a multiplicity of data frames over a CAN bus.
42 Citations
20 Claims
-
1. A method for allocating memory that is associated with a CAN (controller area network) controller, the method comprising:
-
receiving a data frame comprising an identifier (ID) and data; dynamically allocating a message buffer (MB) within the memory for queuing the data frame; and generating a pointer that points to the MB, where the pointer is accessed via a static location in the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A CAN (controller area network) controller comprising:
-
a memory allocation unit implemented as an integrated circuit and configured; to dynamically allocate a message buffer (MB) within a memory, the MB for queuing, upon reception, a data frame comprising an identifier (ID) and data; and to provide a pointer that points to the MB, where the pointer is accessed via a static location in the memory; and a memory access controller coupled to the memory allocation unit and the memory and configured to control access to the memory to facilitate transmitting and receiving a multiplicity of data frames over a CAN bus. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A host interface for a controller area network (CAN) controller, the host interface implemented in integrated circuit (IC) circuitry and configured to be coupled to a host and to a CAN Bus interface, the host interface comprising:
-
a memory allocation unit for dynamically allocating message buffers (MBs) for queuing data frames in one or more linked list of MBs wherein for each linked list of MBs a first pointer to a first MB is stored is a predetermined memory location, a second pointer to a second MB is stored in the first MB, and subsequent pointers to subsequent MBs are stored in the respective immediately preceding MBs; a receive engine coupled to the CAN bus interface for receiving data frames from the CAN bus and storing received data frames in the one or more linked list of MBs of type receive; a transmit engine coupled to the CAN bus interface for transmitting transmit data frames stored in the one or more linked list of MBs of type transmit; and a memory access controller for controlling access by the receive engine, transmit engine, and the host to the one or more linked list of MBs. - View Dependent Claims (20)
-
Specification