PCI系统结构(第四版) 第8章 之一

上一篇 / 下一篇  2008-01-09 18:40:23 / 个人分类:读书笔记

8章:读传送

 

关于读和写的一些基本规则

   当设备开始驱动有效数据到数据总线上时,作为数据源的设备的准备信号(IRDY#TRDY#)必须有效,同时收到数据的设备保持准备信号有效,直到它准备接收数据。一旦设备的准备信号有效,它就会保持到当前数据段结束(例如,直到传送完数据)。

   设备一旦表明准备完成当前数据段,它必须不改变其控制线位置。一旦主设备有效IRDY#表明它准备传送当前数据项,无论TRDY#处于何种状态,它可以不改变IRDY#FRAME#的状态。只要目标已经有效TRDY#STOP#,直到当前数据段结束,它才改变TRDY#STOP#DEVSEL#

单数据段读交易举例

   见图8-1,为了便于查阅,每个时钟周期都编号且以上升沿开始。假设总线主设备已经仲裁并授权访问总线,然后总线主设备等待总线变为空闲,这通过在每个时钟上升沿采样FRAME#IRDY#(和GNT#)的状态来完成。当两个信号都无效(且GNT#仍有效)时,总线空闲,总线主设备起动交易。

8-1 单数据段读举例

时钟1:当检测总线空闲(FRAME#IRDY#都无效),主设备在时钟1的上升沿起动交易。主设备驱动AD[310]上的地址和C/BE[30]上的命令。同时主设备有效FRAME#表明交易开始,总线上具有有效的地址和命令。

时钟2:总线上的所有目标在时钟2的上升沿采样地址、命令和FRAME#,完成地址段。目标开始译码以确定谁是交易目标。主设备有效IRDY#表明它准备接收来自目标的第一个数据项。当主设备有效IRDY#时,它同时有效FRAME#表明它准备完成交易的第一个数据段。主设备停止驱动C/BE[30]上的命令,并且开始驱动字节使能表明它准备从第一个双字的哪个位置读取数据。在时钟2没有目标有效DEVSEL#以声明交易。

时钟3:在时钟3的上升沿,主设备采样DEVSEL#无效,表明目标还没有声明交易,因此第一个(且唯一的)数据段还不能完成,它在时钟3延长了一个时钟(等待状态)。在等待状态过程中,主设备必须继续驱动字节使能并有效IRDY#,它必须继续驱动它们直到数据段完成。目标有效DEVSEL#声明交易。目标同时有效TRDY#表明它正在驱动第一个双字到AD总线上。

时钟4:主设备和目标在时钟4的上升沿同时采样IRDY#TRDY#有效。主设备还保存数据和有效的TRDY#,表明数据是好的。成功地读取了第一个(且唯一的)数据项。如果目标需要采样字节使能,它可以在此时采样。但本例中,目标不管字节使能就向主设备提供数据。如果是好的存储器目标(即读操作不改变存储器位的内容),这样做是允许的,这称为预提取存储器。目标采样无效的FRAME#,表明这是最后数据段。因为交易已经完成,主设备无效IRDY#并停止驱动字节使能。目标在时钟4无效IRDY#DEVSEL#,并停止驱动数据。

时钟5:在时钟5的上升沿,总线返回空闲状态。


FPGA/CPLD器件价格查询

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar