3-PCI局部总线note3

来源:互联网 发布:java断点下载 项目报告 编辑:程序博客网 时间:2024/06/09 17:12

3.7 纠错功能

3.7.1 奇偶位的产生(PAR位)

       PCI局部总线中,利用奇偶校验在每次传输中检查主设备是否成功地寻址到所希望的目标,以及它们之间的数据传输是否正确。

       在任何总线周期,驱动AD线的设备负责计算出奇偶位并驱动PAR信号线。

       只要是地址期和数据期,无论AD[31:0]C/BE[3:0]#各线上是否携带有效信息,奇偶位都将包含它们。因此,对于那些无意义或者说实际上并不传送数据的字节所对应的信号线,必须将其驱动到稳定状态,并包含于奇偶计算之中。但在过渡周期中,PAR位因与AD线由同一设备驱动,也处于过渡周期之中。

       总之,奇偶位(PAR)产生遵循以下原则:

(1) 奇偶校验与交易的类型与形式无关,在任何PCI交易中算法都一样;

(2) AD[31:0], C/BE[3:0]PAR各线上,“1”的个数为偶数;

(3) 奇偶校验的产生是必须实现的功能项,所有的PCI设备都必须完成该功能项。

PAR信号线的驱动情况和行为与AD[31:0]完全相同,只是在时钟上比相应的地址或数据期推迟一个时钟周期。

3.7.2 地址奇偶错误

       在任何情况下,一个设备检测到一个地址奇偶错误时,它都应该将“检测奇偶错误位”(状态寄存器位15)置1。若此时“奇偶错误响应位”(命令寄存器位6)已设置,同时设备的地址译码器也指出了所选择的设备,设备必须采取如下措施中的一种:

a.       声明交易并将它终止,就像没有发生地址/命令错误一样;

b.       声明交易并用目标设备废止它;

c.       不声明交易并用主设备废止终止它。

3.7.3 错误的报告

       “奇偶错误响应位”(命令寄存器位6)用来设置PCI设备是否报告数据奇偶错误。除不需要奇偶校验的设备外,其他所有设备都要实现该位。如果该位置1,设备必须在所有总线操作中报告数据奇偶错误;如果该位清零,检测奇偶错误的设备必须忽略错误并像没有奇偶错误一样完成交易。

1.  PERR#信号上报告数据奇偶错误(区分PAR信号线)

PERR#信号线专门用来报告除特殊周期命令之外的所有交易中发生的数据奇偶校验错误。除了不需要进行奇偶校验的设备外,其它所有设备都需要PERR#信号线。

在奇偶错误响应位(命令寄存器位6)置1且检测到数据奇偶错误的情况下,主设备在读交易中驱动PERR#信号,从设备在写交易中驱动PERR#信号。因此,总是由接收数据的一方驱动PERR#信号线。对于主设备,PERR#既是输入信号,又是输出信号,而对于目标设备,PERR#只是输出信号。因为最终由主设备使用PERR#信号为设备驱动程序记录是否发生错误。

接收数据的设备总是在发生错误的数据期完成之后的两个PCI时钟处发出PERR#信号。(发送数据的设备在驱动数据线AD[31:0]后的第一个时钟周期处驱动PAR信号,因此接收数据的设备要在紧跟着的第二个时钟处驱动PERR#线)。如果接收数据的设备在中间插入了等待周期,则它不应受等待状态影响,应在发送数据的设备建立好数据后一旦发现奇偶错误,即发出PERR#信号。PERR#信号一经建立有效,就必须保持其有效状态直到数据期完成(IRDY#TRDY#都有效)之后2个时钟周期。

目标设备若在数据传输完成前检测到奇偶错误并使PERR#有效,则该数据期最终必须以IRDY#TRDY#有效地方式完成,而不是以其它方式完成。

PERR#是一个三态信号,它必须由接收数据的设备在每个认可的时钟边沿上有源地驱动到正确的值。在每个总线操作结束时,PERR#必须在AD总线过渡周期之后两个时钟内,由接收数据的设备被将它驱动到高电平并保持一个时钟周期。

2.  主设备数据奇偶错误位

如果主设备的奇偶错误响应位(命令寄存器位6)被置1并且发生了以下两种情况之一时,它必须设置数据奇偶错误状态位(状态寄存器位8):

a.主设备在一个读交易中检测到数据奇偶错误;

b.主设备在一个写交易中采样到PERR#有效;

如果奇偶错误响应位被清零,主设备就不能设置主设备数据奇偶错误位,即使主设备检测到一个奇偶错误或者目标设备已使PERR#有效。

3.  检测奇偶错误状态位

当设备的奇偶校验逻辑电路检测到一个奇偶错误,无论奇偶错误响应位的状态如何,设备必须将检测奇偶错误状态位(状态寄存器的位15)置1。这里的奇偶错误包括:

a.       设备的奇偶校验逻辑在一个单地址周期或一个双地址周期的任何一个地址期检测到一个错误;

b.       目标设备的奇偶校验错误在写交易中检测到一个数据奇偶错误;

c.       主设备的奇偶校验逻辑在读交易中检测到一个数据奇偶错误。

原创粉丝点击