4 ata transactions, 1 pio mode transactions, 1 class 1-pio read – Freescale Semiconductor MPC5200B User Manual

Page 395: 1 class 1—pio read

Advertising
background image

MPC5200B Users Guide, Rev. 1

11-30

Freescale Semiconductor

ATA Bus Background

11.7.4

ATA Transactions

ATA Transactions are divided into three types:

PIO Mode

Multiword DMA

Ultra DMA

11.7.4.1

PIO Mode Transactions

PIO mode transactions are the simplest transaction available on the ATA interface. They essentially consist of single word accesses across the
ATA interface. There are currently 6 PIO modes available, which are summarized in

Table 11-36

. Timing and sequence information are given

in the MPC5200B datasheet.

Three classes of ATA commands use PIO Mode:

Class 1—PIO Read

Class 2—PIO Write

Class Non-Data Command

11.7.4.1.1

Class 1—PIO Read

Figure 11-5

shows the PIO Read process.

— PIO Single sector read [identify drive, read buffer, read sector(s)]
— Interrupt is generated after each sector is read into the sector buffer:

1.

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

2.

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

3.

HOST: Poll drive to see if it is ready.

4.

DRIVE: Read sector from physical medium to sector buffer.

5.

DRIVE: Interrupt HOST when done.

6.

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

7.

DRIVE: Clear interrupt after reading status register.

8.

HOST: Read ATA data register 256 times to get all 512Bytes from sector buffer.

9.

Repeat steps 4–8 for multiple sectors.
— PIO Block mode read [read multiple]
— Interrupt is generated after each block is read into sector buffer:

1.

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

2.

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

3.

HOST: Poll drive to see if it is ready.

4.

DRIVE: Read block of sectors from physical medium to sector buffer.

5.

DRIVE: Interrupt HOST when done.

6.

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

7.

DRIVE: Clear interrupt after reading status register.

8.

HOST: Read ATA data register to get all sectors from sector buffer.

Advertising