3 can controller management – Rainbow Electronics T89C51CC01 User Manual
Page 73
![background image](/manuals/280558/73/background.png)
73
T89C51CC01
Rev. D – 17-Dec-01
15.2.1 Working on message
objects
The Page message object register (CANPAGE) is used to select one of the 15 message
objects. Then, message object Control (CANCONCH) and message object Status
(CANSTCH) are available for this selected message object number in the corresponding
SFRs. A single register (CANMSG) is used for the message. The mailbox pointer is
managed by the Page message object register with an auto-incrementation at the end of
each access. The range of this counter is 8.
Note that the maibox is a pure RAM, dedicated to one message object, without overlap.
In most cases, it is not necessary to transfer the received message into the standard
memory. The message to be transmitted can be built directly in the maibox. Most calcu-
lations or tests can be executed in the mailbox area which provide quicker access.
15.3 CAN Controller
management
In order to enable the CAN Controller correctly the following registers have to be
initialized:
•
General Control (CANGCON),
•
Bit Timing (CANBT 1,2&3),
•
And for each page of 15 message objects
–
message object Control (CANCONCH),
–
message object Status (CANSTCH).
During operation, the CAN Enable message object registers 1&2 (CANEN 1&2) gives a
fast overview of the message objects availability.
The CAN messages can be handled by interrupt or polling modes.
A message object can be configured as follows:
•
Transmit message object,
•
Receive message object,
•
Receive buffer message object.
•
Disable
This configuration is made in the CONCH field of the CANCONCH register (see
Table 36).
When a message object is configured, the corresponding ENCH bit of CANEN 1&2 reg-
ister is set.
Table 36. Configuration for CONCH1:2
When a Transmitter or Receiver action of a message object is completed, the corre-
sponding ENCH bit of the CANEN 1&2 register is cleared. In order to re-enable the
message object, it is necessary to re-write the configuration in CANCONCH register.
Non-consecutive message objects can be used for all three types of message objects
(Transmitter, Receiver and Receiver buffer),
CONCH 1
CONCH 2
Type of message object
0
0
disable
0
1
Transmitter
1
0
Receiver
1
1
Receiver buffer