English
Language : 

MC68HC908QL4 Datasheet, PDF (149/226 Pages) Motorola, Inc – Microcontrollers
Registers
14.8.8 SLIC Identifier and Data Registers
The SLIC identifier (SLCID) and eight data registers (SLCD7–SLCD0) comprise the transmit and receive
buffer and are used to read/write the identifier and message buffer 8 data bytes. In BTM mode (BTM = 1),
only SLCID is used to send and receive bytes, as only one byte is handled at any one time. The number
of bytes to be read from or written to these registers is determined by the user software and written to
SLCDLC. To obtain proper data, reads and writes to these registers must be made based on the proper
length corresponding to a particular message. It is the responsibility of the user software to keep track of
this value to prevent data corruption. For example, it is possible to read data from locations in the
message buffer which contain erroneous or old data if the user software reads more data registers than
were updated by the incoming message, as indicated in SLCDLC.
NOTE
An incorrect length value written to SLCDLC can result in the user software
misreading or miswriting data in the message buffer. An incorrect length
value might also result in SLIC error messages. For example, if a 4-byte
message is to be received, but the user software incorrectly reports a
3-byte length to the DLC, the SLIC will assume the 4th data byte is actually
a checksum value and attempt to validate it as such. If this value doesn’t
match the calculated value, an incorrect checksum error will occur. If it does
happen to match the expected value, then the message would be received
as a 3-byte message with valid checksum. Either case is incorrect behavior
for the application and can be avoided by ensuring that the correct length
code is used for each identifier.
The first data byte received after the LIN identifier in a LIN message frame will be loaded into SLCD0. The
next byte (if applicable) will be loaded into SLCD1, and so forth.
.
Bit 7
6
5
4
3
2
1
Bit 0
Read: R7
R6
R5
R4
R3
R2
R1
R0
Write: T7
T6
T5
T4
T3
T2
T1
T0
Reset: 0
0
0
0
0
0
0
0
Figure 14-12. SLIC Identifier Register (SLCID)
The SLIC identifier register is used to capture the incoming LIN identifier and when the SLCSV value
indicates that the identifier has been received successfully, this register contains the received identifier
value. If the incoming identifier contained a parity error, this register value will not contain valid data.
In byte transfer mode (BTM = 1), this register is used for sending and receiving each byte of data. When
transmitting bytes, the data is loaded into this register, then TXGO in SLCDLC is set to initiate the
transmission. When receiving bytes, they are read from this register only.
Bit 7
6
5
4
3
2
1
Bit 0
Read: R7
R6
R5
R4
R3
R2
R1
R0
Write: T7
T6
T5
T4
T3
T2
T1
T0
Reset: 0
0
0
0
0
0
0
0
Figure 14-13. SLIC Data Register x (SLCD7–SLCD0)
R — Read SLC Receive Data
T — Write SLC Transmit Data
MC68HC908QL4 Data Sheet, Rev. 7
Freescale Semiconductor
149