Philips P89LPC908, P89LPC906, P89LPC907 user manual 9TH BIT BIT 8 in Double Buffering Modes 1, 2

Models: P89LPC907 P89LPC908 P89LPC906

1 110
Download 110 pages 25.77 Kb
Page 67
Image 67

Philips Semiconductors

User’s Manual - Preliminary -

 

 

 

UART

P89LPC906/907/908

 

TxD

Write to

SBUF

Tx Interrupt

Single Buffering (DBMOD/SSTAT.7 = 0), Early Interrupt (INTLO/SSTAT.6 = 0) is Shown

TxD

Write to

SBUF

Tx Interrupt

Double Buffering (DBMOD/SSTAT.7 = 1), Early Interrupt (INTLO/SSTAT.6 = 0) is Shown, No End-

ing Tx Interrupt (DBISEL/SnSTAT.4 = 0)

TxD

Write to

SBUF

Tx Interrupt

Double Buffering (DBMOD/SSTAT.7 = 1), Early Interrupt (INTLO/SSTAT.6 = 0) is Shown, With

Ending Tx Interrupt (DBISEL/SSTAT.4 = 1)

Figure 8-8: Transmission with and without Double Buffering

THE 9TH BIT (BIT 8) IN DOUBLE BUFFERING (MODES 1, 2 AND 3)

If double buffering is disabled (DBMOD, i.e. SSTAT.7 = 0), TB8 can be written before or after SBUF is written, provided TB8 is updated before that TB8 is shifted out. TB8 must not be changed again until after TB8 shifting has been completed, as indicated by the Tx interrupt.

If double buffering is enabled, TB8 MUST be updated before SBUF is written, as TB8 will be double-buffered together with SBUF data. The operation described in the section "Transmit Interrupts with Double Buffering Enabled (Modes 1, 2 and 3)" becomes as follows:

1.The double buffer is empty initially.

2.The CPU writes to TB8.

3.The CPU writes to SBUF.

4.The SBUF/TB8 data is loaded to the shift register and a Tx interrupt is generated immediately.

5.If there is more data, go to 7, else continue on 6.

6.If there is no more data, then:

-If DBISEL is ’0’, no more interrupt will occur.

-If DBISEL is ’1’ and INTLO is ’0’, a Tx interrupt will occur at the beginning of the STOP bit of the data currently in the shifter (which is also the last data).

2003 Dec 8

67

Page 67
Image 67
Philips P89LPC908, P89LPC906 9TH BIT BIT 8 in Double Buffering Modes 1, 2, Transmission with and without Double Buffering