2 class 2-pio write, Figure 11-5, 2 class 2—pio write – Freescale Semiconductor MPC5200B User Manual

Page 396

Advertising
background image

ATA Bus Background

MPC5200B Users Guide, Rev. 1

Freescale Semiconductor

11-31

Figure 11-5. Timing Diagram—PIO Read Command (Class 1)

11.7.4.1.2

Class 2—PIO Write

The PIO single sector write command [format, write buffer, write sector(s)] is as follows:

1.

HOST: Write to ATA control/command block registers to setup for data write.

2.

HOST: Write to ATA command register to execute write command.

3.

HOST: Poll drive to see if it is ready.

4.

HOST: Write ATA data register 256 times to get all 512Bytes into sector buffer.

5.

DRIVE: When sector buffer is filled, write sector to physical medium.

6.

DRIVE: Interrupt HOST when done.

7.

HOST: Read ATA control/command block registers to get status.

8.

DRIVE: Clear interrupt after reading status register.

9.

Repeat steps 4–8 for multiple sector writes.

The PIO block mode write command (write multiple) is as follows:

1.

HOST: Write to ATA control/command block registers to set up for data write.

2.

HOST: Write to ATA command register to execute write command.

3.

HOST: Poll drive to see if it is ready.

4.

HOST: Write ATA data register 256 times to get all sectors into sector buffer.

5.

DRIVE: When sector buffer is filled, write sector to physical medium.

6.

DRIVE: Interrupt HOST when done.

7.

HOST: Read ATA control/command block registers to get status.

8.

DRIVE: Clear interrupt after reading status register.

Figure 11-6

shows the PIO Write process.

Host

Drive

DRDY

BSY

DRQ

INTRQ

Set Up

Register

Block

Send

Command

Read

Sector

Read

Status

Read

Sector
Buffer

Read

Sector

Read

Status

Read

Sector
Buffer

Advertising