1 ata register addressing, 2 drive interrupt, 3 sector addressing – Freescale Semiconductor MPC5200B User Manual

Page 393

Advertising
background image

MPC5200B Users Guide, Rev. 1

11-28

Freescale Semiconductor

ATA Bus Background

11.7.3.1

ATA Register Addressing

The address used to reference an ATA drive register. This is the actual address (CS[1]FX, CS[3]FX, DA[2:0]) present on the physical ATA
interface.

Table 11-37

gives details.

11.7.3.2

Drive Interrupt

A pending drive interrupt is cleared by the following actions:

Read of status (not the alternate status) register

Write to command register

11.7.3.3

Sector Addressing

Sector addressing is the address used to reference data on the drive. It is the address used by the low-level drivers to access a particular piece
of data and to place it into one or more ATA registers as part of a command block. To understand the data addressing, it is necessary to
understand the physical organization of data in a drive, as presented in

Figure 11-1

. Each drive contains a number of disks, each with one or

two heads (one head per surface). Each disk is divided into concentric tracks that are then divided into a number of sectors. A sector is the
smallest unit of data that can be written or read by a drive. The collections of tracks that can be accessed by the heads at a single position is
called a cylinder. Therefore, a sector can be uniquely identified by a sector number, a head number and a cylinder number. From this
addressing scheme there are two ways to address an individual sector: physical addressing and logical block addressing, which are described
in the next two sections.

Table 11-37. ATA Register Address/Chip Select Decoding

Address

Function

System

Address

CS[1]FX

CS[3]FX

DA[2]

DA[1]

DA[0]

READ (DIOR)

WRITE (DIOW)

Control Block Registers

1

1

x

x

x

Data bus high impedance

Not used

03F0–03F3

1

0

0

x

x

Data bus high impedance

Not used

03F4–03F5

1

0

1

0

x

Data bus high impedance

Not used

03F6

1

0

1

1

0

Alternate status

Device control

03F7

1

0

1

1

1

Obsolete

Not used

Command Block Registers

01F0

0

1

0

0

0

Data

Data

01F1

0

1

0

0

1

Error register

Features

01F2

0

1

0

1

0

Sector count

Sector count

01F3

0

1

0

1

1

Sector number

Sector number

01F3

0

1

0

1

1

LBA bits 0–7

1

LBA bits 0–7

1

01F4

0

1

1

0

0

Cylinder low

Cylinder low

01F4

0

1

1

0

0

LBA bits 8–15

1

LBA bits 8–15

1

01F5

0

1

1

0

1

Cylinder high

Cylinder high

01F5

0

1

1

0

1

LBA bits 16–23

1

LBA bits 16–23

1

01F6

0

1

1

1

0

Drive/head

Drive/head

01F6

0

1

1

1

0

LBA bits 24–27

1

LBA bits 24–27

1

01F7

0

1

1

1

1

Status

Command

0

0

x

x

x

Invalid address

Invalid address

Note:

1.

LBA mode register mapping—system addresses are for a single channel, accommodating two drives only.

Advertising