1.2. 采用所支持的 Altera 器件实现 IDE/ATA 控制器
IDE 接口支持两种数据传送模式 - PIO 模式和 DMA 模式。 本设计实例仅限于 PIO 数据传送的 0 模式。
信号 | 大小 | 方向 | 说明 |
---|---|---|---|
clk | 1 | 输入 | 与处理器的时钟相同。 本实例工作的时钟频率为 100 MHz。 |
arst | 1 | 输入 | 异步有效低电平复位,用于将控制器复位。 |
iderst | 1 | 输入 | 有效高电平信号,用于将 IDE 器件复位。 |
ideen | 1 | 输入 | 有效高电平信号,用于启用 IDE 器件。 |
pioiordyen | 1 | 输入 | 有效高电平信号,用于启用 IDE 器件的 IORDY 信号。 |
piorqst | 1 | 输入 | 有效高电平信号,用于启动 PIO 数据传送周期。 |
pioaddr[3:0] | 4 | 输入 | 4 位总线,用于选择器件地址和 IDE 器件的片选信号。 |
piodatain[15:0] | 16 | 输入 | 16 位总线,用于将数据发送到 IDE 器件。 |
piowe | 1 | 输入 | 有效高电平信号,用于设置数据传送的方向。
|
intrrqstsignal | 1 | 输出 | 用于中断 CPU 的信号。 |
pioack | 1 | 输出 | 用于指示 PIO 读/写周期结束的信号。 |
piodataout [15:0] | 16 | 输出 | 16 位总线,用于保持从 IDE 器件读取的数据。 |
rstn | 1 | 输出 | 有效低电平信号,用于将 IDE 器件复位。 |
ddo [15:0] | 16 | 输出 | 16 位数据总线,用于将 CPU 发送的数据传送到器件。 低 8 位用于 8 位数据传送。 |
da [2:0] | 3 | 输出 | 3 位有效高电平信号。 包含主机置位的二进制编码地址,以访问器件中的寄存器或数据端口。 |
cs0n | 1 | 输出 | 来自主机的有效低电平片选信号,用于选择命令模块或控制模块寄存器。
|
cs1n | 1 | ||
diorn | 1 | 输出 | 主机置位的有效低电平选通信号,用于读取器件寄存器或数据端口。 |
diown | 1 | 输出 | 主机置位的有效低电平选通信号,用于写入器件寄存器或数据端口。 |
dstrb | 1 | 输出 | 来自器件的 data-in strobe 信号。 dstrb 的上升沿将来自器件的数据锁存到主机中。 |
ddi [15:0] | 16 | 输入 | 16 位数据总线,包含从 IDE 器件读取的数据。 |
iordy | 1 | 输入 | 当器件还没有准备好响应数据传送请求时,此信号被置反以延长任何主机寄存器访问(读或写)的主机传送周期。 可以选择 0 模式,但要求更高的模式。 |
intrq | 1 | 输入 | 所选器件利用该信号来通知主机有事件发生。 当发生此类事件时,将设置器件内部中断待定状态。 |
ddoe | 1 | 输出 | 用于从 IDE 器件读取数据。 该信号变为低电平后,ddi 总线上的数据被放到 piodataout 数据线上。 |