Table 21-13. uart sccs field descriptions, 21 scc uart programming example, Scc uart programming example -22 – Freescale Semiconductor MPC8260 User Manual

Page 726: Uart sccs field descriptions -22, Table 21-13

Advertising
background image

SCC UART Mode

MPC8260 PowerQUICC II Family Reference Manual, Rev. 2

21-22

Freescale Semiconductor

21.21 SCC UART Programming Example

The following initialization sequence is for the 9,600 baud, 8 data bits, no parity, and stop bit of an SCC
in UART mode assuming a 66-MHz system frequency. BRG1 and SCC2 are used. The controller is
configured with RTS2, CTS2, and CD2 active; CTS2 acts as an automatic flow-control signal.

1. Configure port D pins to enable TXD2 and RXD2. Set PPARD[27,28] and PDIRD[27] and clear

PDIRD[28] and PSORD[27,28].

2. Configure ports C and D pins to enable RTS2, CTS2 and CD2. Set PPARD[26], PPARC[12,13]

and PDIRD[26] and clear PDIRC[12,13], PSORC[12,13] and PSORD[26].

3. Configure BRG1. Write BRGC1 with 0x0001_035A. The DIV16 bit is not used and the divider is

429 (decimal). The resulting BRG1 clock is 16

× the preferred bit rate.

4. Connect BRG1 to SCC2 using the CPM mux. Clear CMXSCR[RS2CS,TS2CS].

5. Connect the SCC2 to the NMSI. Clear CMXSCR[SC2].

6. Write RBASE and TBASE in the SCC2 parameter RAM to point to the RxBD and TxBD tables in

dual-port RAM. Assuming one RxBD at the start of dual-port RAM followed by one TxBD, write
RBASE with 0x0000 and TBASE with 0x0008.

7. Write 0x04A1_0000 to CPCR to execute the

INIT

RX

AND

TX

PARAMS

command for SCC2. This

command updates RBPTR and TBPTR of the serial channel with the new values of RBASE and
TBASE.

8. Write RFCR with 0x10 and TFCR with 0x10 for normal operation.

9. Write MRBLR with the maximum number of bytes per Rx buffer. For this case, assume 16 bytes,

so MRBLR = 0x0010.

10. Write MAX_IDL with 0x0000 in the parameter RAM to disable the maximum idle functionality

for this example.

11. Set BRKCR to 0x0001 so

STOP

TRANSMIT

commands send only one break character.

12. Clear PAREC, FRMEC, NOSEC, and BRKEC in parameter RAM.

13. Clear UADDR1 and UADDR2. They are not used.

14. Clear TOSEQ. It is not used.

15. Write CHARACTER1–8 with 0x8000. They are not used.

16. Write RCCM with 0xC0FF. It is not used.

17. Initialize the RxBD. Assume the Rx buffer is at 0x0000_1000 in main memory. Write 0xB000 to

the RxBD[Status and Control], 0x0000 to RxBD[Data Length] (optional), and 0x0000_1000 to
RxBD[Buffer Pointer].

Table 21-13. UART SCCS Field Descriptions

Bits

Name

Description

0–6

Reserved, should be cleared.

7

ID

Idle status. Set when RXD has been a logic one for at least a full character time.
0 The line is not idle.
1 The line is idle.

Advertising