Receive History List Function - NEC V850E/RS1 User Manual

32-/16-bit single-chip microcontroller with can interface
Table of Contents

Advertisement

16.9.2 Receive history list function

The receive history list (RHL) function records in the receive history list the number of the receive mes-
sage buffer in which each data frame or remote frame was received and stored. The RHL consists of
storage elements equivalent to up to 23 messages, the last in-message pointer (LIPT) with the corre-
sponding CnLIPT register and the receive history list get pointer (RGPT) with the corresponding
CnRGPT register.
The RHL is undefined immediately after the transition of the CAN module from the initialization mode to
one of the operation modes.
The CnLIPT register holds the contents of the RHL element indicated by the value of the LIPT pointer
minus 1. By reading the CnLIPT register, therefore, the number of the message buffer that received and
stored a data frame or remote frame first can be checked. The LIPT pointer is utilized as a write pointer
that indicates to what part of the RHL a message buffer number is recorded. Any time a data frame or
remote frame is received and stored, the corresponding message buffer number is recorded to the RHL
element indicated by the LIPT pointer. Each time recording to the RHL has been completed, the LIPT
pointer is automatically incremented. In this way, the number of the message buffer that has received
and stored a frame will be recorded chronologically.
The RGPT pointer is utilized as a read pointer that reads a recorded message buffer number from the
RHL. This pointer indicates the first RHL element that the CPU has not read yet. By reading the
CnRGPT register by software, the number of a message buffer that has received and stored a data
frame or remote frame can be read. Each time a message buffer number is read from the CnRGPT reg-
ister, the RGPT pointer is automatically incremented.
If the value of the RGPT pointer matches the value of the LIPT pointer, the RHPM bit (receive history
list pointer match) of the CnRGPT register is set to 1. This indicates that no message buffer number
that has not been read remains in the RHL. If a new message buffer number is recorded, the LIPT
pointer is incremented and because its value no longer matches the value of the RGPT pointer, the
RHPM bit is cleared. In other words, the numbers of the unread message buffers exist in the RHL.
If the LIPT pointer is incremented and matches the value of the RGPT pointer minus 1, the ROVF bit
(receive history list overflow) of the CnRGPT register is set to 1. This indicates that the RHL is full of
numbers of message buffers that have not been read. When further message reception and storing
occur, the last recorded message buffer number is overwritten by the number of the message buffer that
received and stored the new message. After the ROVF bit has been set (1), therefore, the recorded
message buffer numbers in the RHL do not completely reflect the chronological order.
However the messages themselves are not lost and can be located by a CPU search in the message
buffer memory with the help of the DN bit. As long as the RHL contains 23 or less entries the sequence
of occurrence is maintained. If more receptions occur without the RHL being read by the host proces-
sor, a complete sequence of receptions can not be recovered.
Remark:
630
Downloaded from
Elcodis.com
electronic components distributor
Chapter 16 FCAN Controller
n = 0, 1
m = 0 to 31
User's Manual U16702EE3V2UD00

Advertisement

Table of Contents
loading

Table of Contents