English
Language : 

MC68HC908AS32A Datasheet, PDF (83/280 Pages) Freescale Semiconductor, Inc – Microcontrollers
BDLC Protocol Handler
4.5.4 Digital Loopback Multiplexer
The digital loopback multiplexer connects RxD to either BDTxD or BDRxD, depending on the state of the
DLOOP bit in the BCR2 register (see 4.6.3 BDLC Control Register 2).
4.5.5 State Machine
All of the functions associated with performing the protocol are executed or controlled by the state
machine. The state machine is responsible for framing, collision detection, arbitration, CRC
generation/checking, and error detection. The following subsections describe the BDLC’s actions in a
variety of situations.
4.5.5.1 4X Mode
The BDLC can exist on the same J1850 bus as modules which use a special 4X (41.6 kbps) mode of
J1850 variable pulse width modulation (VPW) operation. The BDLC cannot transmit in 4X mode, but can
receive messages in 4X mode, if the RX4X bit is set in BCR2 register. If the RX4X bit is not set in the
BCR2 register, any 4X message on the J1850 bus is treated as noise by the BDLC and is ignored.
4.5.5.2 Receiving a Message in Block Mode
Although not a part of the SAE J1850 protocol, the BDLC does allow for a special block mode of operation
of the receiver. As far as the BDLC is concerned, a block mode message is simply a long J1850 frame
that contains an indefinite number of data bytes. All of the other features of the frame remain the same,
including the SOF, CRC, and EOD symbols.
Another node wishing to send a block mode transmission must first inform all other nodes on the network
that this is about to happen. This is usually accomplished by sending a special predefined message.
4.5.5.3 Transmitting a Message in Block Mode
A block mode message is transmitted inherently by simply loading the bytes one by one into the BDR
register until the message is complete. The programmer should wait until the TDRE flag (see 4.6.4 BDLC
State Vector Register) is set prior to writing a new byte of data into the BDR register. The BDLC does not
contain any predefined maximum J1850 message length requirement.
4.5.5.4 J1850 Bus Errors
The BDLC detects several types of transmit and receive errors which can occur during the transmission
of a message onto the J1850 bus.
Transmission Error
If the message transmitted by the BDLC contains invalid bits or framing symbols on non-byte
boundaries, this constitutes a transmission error. When a transmission error is detected, the BDLC
immediately will cease transmitting. The error condition ($1C) is reflected in the BSVR register (see
Table 4-5). If the interrupt enable bit (IE in BCR1) is set, a CPU interrupt request from the BDLC is
generated.
CRC Error
A cyclical redundancy check (CRC) error is detected when the data bytes and CRC byte of a received
message are processed and the CRC calculation result is not equal to $C4. The CRC code will detect
any single and 2-bit errors, as well as all 8-bit burst errors and almost all other types of errors. The
CRC error flag ($18 in BSVR) is set when a CRC error is detected. See 4.6.4 BDLC State Vector
Register.
MC68HC908AS32A Data Sheet, Rev. 2.0
Freescale Semiconductor
83