|
TAP6或7的寄存器访问时序中,有一个错误如下(我认为是错误) 见下图片2 jpg
而参照的下图3.jpg是cirrus公司的ARM9有关IDE接口时序的不同(DIOR-/DIOW-这个引脚时序和标准相反)
因为DIOR-/DIOW-是低电平有效,我们以ARM9时序中写寄存器分析:首先地址ADDR VALID需要建立时间t1,然后DIOWn下降沿锁存地址,并维持t2时间有效(这期间接近结束,数据也要出现)当数据写入的时候,DIOW应该处于低电平,然后通过上升沿锁存要写入的数据。然后等待t2i恢复时间。
分析ATAPI6时序:推测寄存器地址和要写入的数据的锁存发生在DIOW,DIOR的跳变沿。首先DIOR默认是高,接着地址出现,就需要拉低DIOR/DIOW 保持t1, 然后靠上升沿锁存寄存器地址,然后等待t2时间,在t2结束之前,如果是写数据,则需要提前把数据放在DD[7:0]上,给予t3建立时间,然后下降沿锁存,保持DIOR-/DIOW-为低。哈哈,这样分析,ATAPI6协议倒是没错了。备注: 我感觉ARM9提供的时序比较靠谱,因为地址是在DIOR-DIOW-为低建立,等待上升沿锁存。这个时候IDE转SATA接口的寄存器地址就被访问了。然后IDE转SATA芯片内部在t2时间下去处理数据寄存器(写==把D[7:0]的数据放入数据寄存器,读==把D[7:0]bus从数据寄存器拿出来) 接着控制DIOR-/DIOW-上升沿锁存数据到/出数据寄存器form/to D[7:0]总线。
[ 本帖最后由 lvben5d 于 2011-7-8 10:10 编辑 ]
|
-
2.jpg
(30.77 KB, 下载次数: 1)
-
3.jpg
(29.52 KB, 下载次数: 1)
|