English
Language : 

MC9S08EL32 Datasheet, PDF (208/356 Pages) Freescale Semiconductor, Inc – 8-Bit HCS08 Central Processor Unit (CPU)
• The third section of the message frame header is the IDENTIFIER FIELD (ID). The identifier is
covered more in Section 12.6.8, “Handling Command Message Frames,” and Section 12.6.9,
“Handling Request LIN Message Frames.”
The SLIC automatically reads the incoming pattern of the SYNCHRONIZATION BREAK and FIELD
and determines the bit rate of the LIN data frame, as well as checking for errors in form and discerning
between a genuine BREAK/FIELD combination and a similar byte pattern somewhere in the data stream.
After the header has been verified to be valid and has been processed, the SLIC module updates the SLIC
bit time register (SLCBT) with the value obtained from the SYNCH FIELD and begins to receive the ID.
After the ID for the message frame has been received, an interrupt is generated by the SLIC and will trigger
an MCU interrupt request if unmasked. At this point, it might be possible that the ID was received with
errors such as a parity error (based on the LIN specification) or a byte framing error. If the ID did not have
any errors, it will be copied into the SLCD for the software to read. The SLCSV will indicate the type error
or that the ID was received correctly.
In a LIN system, the meaning and function of all messages, and therefore all message identifiers, is
pre-defined by the system designer. This information can be collected and stored in a standardized format
file, called a Configuration Language Description (CLD) file. In using the SLIC module, it is the
responsibility of the user software to determine the nature of the incoming message, and therefore how to
further handle that message.
The simplest case is when the SLIC receives a message which the user software determines is of no interest
to the application. In other words, the slave node does not need to receive or transmit any data for this
message frame. This might also apply to messages with zero data bytes (which is allowed by the LIN
specification). At this point, the user can set the IMSG control bit, and exit the interrupt service routine by
clearing the SLCIF flag. Because there is no data to be sent or received, the SLIC will not generate another
interrupt until the next message frame header or bus goes idle long enough to trigger a “No-Bus-Activity”
error according to the LIN specification.
NOTE
IMSG will prevent another interrupt from occurring for the current message
frame; however, if data bytes are appearing on the bus they may be received
and copied into the message buffer. This will delete any previous data which
might have been present in the buffer, even though no interrupt is triggered
to indicate the arrival of this data.
At the time the ID is read, the user might also choose to read SLCBT and copy this value out to an
application variable. This data can then be used at a time appropriate to both the application software and
the LIN communications to adjust the trim of the internal oscillator. This operation must be handled very
carefully to avoid adjusting the base timing of the MCU at the wrong time, adversely affecting the
operation of the SLIC module or of the application itself. More information about this is contained in
Section 12.6.17, “Oscillator Trimming with SLIC.”
If the user software determines that the ID read out of the SLCD corresponds to a command or request
message for which this node needs to receive or transmit data (respectively), it will then move on to
procedures described in Section 12.6.8, “Handling Command Message Frames,” and Section 12.6.9,
“Handling Request LIN Message Frames.”
MC9S08EL32 Series and MC9S08SL16 Series Data Sheet, Rev. 3
210
Freescale Semiconductor