mc68hc908gp32 Freescale Semiconductor, Inc, mc68hc908gp32 Datasheet - Page 183

no-image

mc68hc908gp32

Manufacturer Part Number
mc68hc908gp32
Description
M68hc08 Microcontrollers Microcontroller
Manufacturer
Freescale Semiconductor, Inc
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
mc68hc908gp32CF8
Manufacturer:
MOT
Quantity:
600
Part Number:
mc68hc908gp32CF8
Manufacturer:
MOT
Quantity:
1 000
Part Number:
mc68hc908gp32CFB
Manufacturer:
ON
Quantity:
11
Part Number:
mc68hc908gp32CFB
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
Part Number:
mc68hc908gp32CFB
Manufacturer:
MOTOROLA/摩托罗拉
Quantity:
20 000
Part Number:
mc68hc908gp32CFBE
Manufacturer:
GAIA
Quantity:
5
Part Number:
mc68hc908gp32CFBR2
Manufacturer:
FREESCALE
Quantity:
69
Part Number:
mc68hc908gp32CP
Manufacturer:
ROCKWELL
Quantity:
201
Part Number:
mc68hc908gp32CP
Manufacturer:
MOTOROLA/摩托罗拉
Quantity:
20 000
15.7.1 Overflow Error
The overflow flag (OVRF) becomes set if the receive data register still has unread data from a previous
transmission when the capture strobe of bit 1 of the next transmission occurs. The bit 1 capture strobe
occurs in the middle of SPSCK cycle 7. (See
received after the overflow and before the OVRF bit is cleared does not transfer to the receive data
register and does not set the SPI receiver full bit (SPRF). The unread data that transferred to the receive
data register before the overflow occurred can still be read. Therefore, an overflow error always indicates
the loss of data. Clear the overflow flag by reading the SPI status and control register and then reading
the SPI data register.
OVRF generates a receiver/error CPU interrupt request if the error interrupt enable bit (ERRIE) is also
set. The SPRF, MODF, and OVRF interrupts share the same CPU interrupt vector. (See
It is not possible to enable MODF or OVRF individually to generate a receiver/error CPU interrupt request.
However, leaving MODFEN low prevents MODF from being set.
If the CPU SPRF interrupt is enabled and the OVRF interrupt is not, watch for an overflow condition.
Figure 15-9
possible to read the SPSCR and SPDR to clear the SPRF without problems. However, as illustrated by
the second transmission example, the OVRF bit can be set in between the time that SPSCR and SPDR
are read.
In this case, an overflow can be missed easily. Since no more SPRF interrupts can be generated until this
OVRF is serviced, it is not obvious that bytes are being lost as more transmissions are completed. To
prevent this, either enable the OVRF interrupt or do another read of the SPSCR following the read of the
SPDR. This ensures that the OVRF was not set before the SPRF was cleared and that future
transmissions can set the SPRF bit.
SPSCR read, enable the OVRF to the CPU by setting the ERRIE bit.
Freescale Semiconductor
shows how it is possible to miss an overflow. The first part of
SPSCR
OVRF
READ
READ
SPDR
SPRF
1
2
3
4
BYTE 1
BYTE 1 SETS SPRF BIT.
CPU READS SPSCR WITH SPRF BIT SET
AND OVRF BIT CLEAR.
CPU READS BYTE 1 IN SPDR,
CLEARING SPRF BIT.
BYTE 2 SETS SPRF BIT.
1
Figure 15-9. Missed Read of Overflow Condition
2
3
MC68HC908GP32 Data Sheet, Rev. 10
Figure 15-10
BYTE 2
4
Figure 15-4
illustrates this process. Generally, to avoid this second
BYTE 3
5
5
6
7
8
6
and
CPU READS SPSCR WITH SPRF BIT SET
AND OVRF BIT CLEAR.
BYTE 3 SETS OVRF BIT. BYTE 3 IS LOST.
CPU READS BYTE 2 IN SPDR, CLEARING SPRF BIT,
BUT NOT OVRF BIT.
BYTE 4 FAILS TO SET SPRF BIT BECAUSE
OVRF BIT IS NOT CLEARED. BYTE 4 IS LOST.
7
Figure
15-6.) If an overflow occurs, all data
BYTE 4
8
Figure 15-9
shows how it is
Error Conditions
Figure
15-11.)
183

Related parts for mc68hc908gp32