|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 lvben5d 于 2011-7-8 10:01 编辑
6 j' J% ?0 \1 [5 l$ L
5 B6 j) `& {9 N# ~ATAP6或7的寄存器访问时序中,有一个错误如下(我认为是错误) 见下图片
8 O- O. M; m- y# F9 j而参照的下图是cirrus公司的ARM9有关IDE接口时序的不同(DIOR-/DIOW-这个引脚时序和标准相反)
. D$ x" R3 {0 S0 v
+ S6 K, E8 @4 B, q因为DIOR-/DIOW-是低电平有效,我们以ARM9时序中写寄存器分析:首先地址ADDR VALID需要建立时间t1,然后DIOWn下降沿锁存地址,并维持t2时间有效(这期间接近结束,数据也要出现)当数据写入的时候,DIOW应该处于低电平,然后通过上升沿锁存要写入的数据。然后等待t2i恢复时间。
/ Z: x! u; K4 q' l7 g! e分析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]总线。$ |2 {, U/ f8 Y
|
|