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. Table11-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.

Table11-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–71LBA bits 0–71
01F4 0 1 1 0 0 Cylinder low Cylinder low
01F4 0 1 1 0 0 LBA bits 8–151LBA bits 8–151
01F5 0 1 1 0 1 Cylinder high Cylinder high
01F5 0 1 1 0 1 LBA bits 16– 231LBA bits 16–231
01F6 0 1 1 1 0 Drive/head Drive/head
01F6 0 1 1 1 0 LBA bits 24– 271LBA bits 24–271
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.