ATA协议

ATA协议

1、什么是ATA协议?

ATA协议定义了ATA主机控制器与ATA存储设备之间的接口标准,它包括一下几个方面的内容:
(1)接口的物理电气特性
(2)接口信号定义
(3)接口寄存器定义
(4)数据传输中使用的命令定义
(5)数据传输协议
(6)数据传输时序

2ATA接口信号定义

ATA物理接口共40根信号线,其中大部分信号由主机控制驱动,另一些由ATA设备(如硬盘)驱动,而16位数据线是双向驱动的。

 Interface signal name assignments

Description

Host

Dir

Dev

Acronym

Cable select

(See note 1)

CSEL

Chip select 0

 

®

 

CS0-

Chip select 1

 

®

 

CS1-

Data bus bit 0

 

«

 

DD0

Data bus bit 1

 

«

 

DD1

Data bus bit 2

 

«

 

DD2

Data bus bit 3

 

«

 

DD3

Data bus bit 4

 

«

 

DD4

Data bus bit 5

 

«

 

DD5

Data bus bit 6

 

«

 

DD6

Data bus bit 7

 

«

 

DD7

Data bus bit 8

 

«

 

DD8

Data bus bit 9

 

«

 

DD9

Data bus bit 10

 

«

 

DD10

Data bus bit 11

 

«

 

DD11

Data bus bit 12

 

«

 

DD12

Data bus bit 13

 

«

 

DD13

Data bus bit 14

 

«

 

DD14

Data bus bit 15

 

«

 

DD15

Device active or slave (device 1) present

(See note 1)

DASP-

Device address bit 0

 

®

 

DA0

Device address bit 1

 

®

 

DA1

Device address bit 2

 

®

 

DA2

DMA acknowledge

 

®

 

DMACK-

DMA request

 

¬

 

DMARQ

Interrupt request

 

¬

 

INTRQ

I/O read

 

®

 

DIOR-

I/O ready

 

¬

 

IORDY

I/O write

 

®

 

DIOW-

Passed diagnostics

(See note 1)

PDIAG-

Reset

 

®

 

RESET-

Note:

1 See signal descriptions for information on source of these signals

 

3ATA接口的三种数据传输方式

 

1PIOProgrammable Input-Output)传输,可以分为PIO寄存器传输和PIO数据传输。PIO寄存器传输主要用于对ATA设备中的寄存器进行读写。读写的数据位数为8DD[7:0]ATA主机控制器根据所要读写的寄存器地址设置CS0_CS1_DA[2:0]地址信号,同时将DIOW_DIOR_设为有效,ATA主机控制器或ATA设备驱动数据总线释放数据。当DIOW_DIOR_撤销时,ATA主机控制器或ATA设备从数据总线上读取数据。对于PIO数据传输,所读写的地址为数据端口,读写数据为16位。

2MDMAMultiword DMA传输,用于数据传输。ATA主机控制器向ATA设备下达MDMA传输命令后,等待设备向主机发送DMARQ数据传输请求信号。当主机收到DMARQ信号后,向设备发送DMACK_响应信号。MDMA数据传输过程与PIO方式大致相同,也是通过DIOW_DIOR_的周期变化来控制数据的传输。在数据传输过程中,DMARQDMACK_握手信号一直保持有效。

3UDMAUltra DMA),也是用于数据传输。这种传输方式的传输速度比MDMA要快,ATA/ATAPI-5协议中所定义的UDMA传输方式最高数据传输速率是66MB/sUDMA对数据传输的控制信号重新进行了定义。另外,UDMA还引入了CRC数据校验机制,保证了数据传输过程的正确性,但其传输过程较为复杂。

 

4ATA接口寄存器的定义

 

ATA主机与设备的通信是通过主机对ATA接口上的寄存器的读写实现的,而这些接口寄存器由主机发送的地址信号CS1_CS0_DA2DA1DA0来进行寻址。除了在DMA传输模式下,CS1_CS0_全有效或全无效都是不可用的地址,在这种情况下,数据线应该在释放状态下(即数据总线没有驱动源)。当CS0_无效,CS1_有效时,DA[2:0]只有在值为06H07H时地址才为有效,在其他的无效地址状态下,设备会使数据总线处于高阻态。

ATA接口寄存器可分为命令块寄存器和控制块寄存器。

1)命令块寄存器是主机用来向设备传输命令或从设备读取状态的,这组寄存器包括:

柱面号高(Cylinder High8位寄存器

柱面号低(Cylinder Low8位寄存器

设备/磁头(Device/Head)寄存器

扇区数(Sector Count)寄存器

扇区号(Sector Number)寄存器

命令(Command)寄存器

状态(Status)寄存器

特征(Features)寄存器

错误(Error)寄存器

数据(Data)寄存器。

2)控制块寄存器是用来控制设备和替换状态,这组寄存器包括:

设备控制(Device Control)寄存器

替换状态(Alternate Status)寄存器

驱动器地址(Drive Address)寄存器

posted @ 2009-04-01 16:03  含青血匕  阅读(3521)  评论(0编辑  收藏  举报