一种Windows2000下连续输出数据的PCI卡
图5
1.2.3最大允许中断延迟
要保证PCFl536输出连续数据,就必须保证FIFO不会被读空。FIFO输出数据的同时,PC机必须及时补充数据。从上可知,整个FIFO存储器被分成A、B两部分,每部分容量均为192K×32位。下面分析当数据从存储器B部分读取、向存储器A部分写入时,读写FIFO存储器的时间关系,如图7所示。
假定PC机的中断延迟时间为TINT_LAT,PC机写满存储器A部分所用时间为TPCI,剩余时间为TREM;读完存储器B部分所用时间为TOUT。如PCFl536输出连续数据流,剩余时间TREM必须大于等于0。
通过以上计算,在Windows2000操作系统的最大中断延迟不大于41.2ms的情况下,PCFl536能以16MB/s的传输率连续输出数据。
中断延迟决定了硬件产生的中断并得到PC机正确响应的最高频率。实际上,根据各种资料分析,虽然Windows2000操作系统的中断延迟会随着应用条件不同而差异很大;但可以肯定的是,其中断延迟远远小于41.2ms。
1.3驱动器模块
驱动器模块由七个7412245构成。每个74LS245能为8位数据(信号)提供驱动,其中四个74LS245用作32位数据线的驱动器,另外三个用作控制信号的驱动。
每个74LS245的输出分别连接到16脚的插座。16脚插座中的8个脚接信号线,另外8个脚接地线,以提高输出信号的抗干扰能力。采用这种输出方式,PCFl536与外设之间可以用4m的排线连接而不会受明显干扰。
2测试过程及测试结果
图8是PCFl536卡的测试系统。计算机重复发送如下数据:0x20002000、Ox32CF32CF、Ox3E6F3E6F、0x3E6F3E6F、Ox32CF32CF、0x20002000、0x0D300D30、0x01900190、Ox01900190、Ox0D300D30。以上10个数据实际上是对一个正弦波的10个均匀采样值。用示波器监视D/A转换器的输出。
在示波器上可以观测到:36路的D/A输出都是稳定的20kHz正弦波。该测试系统经过连续48小时运行,没有出现计算机死机和停止发送数据的现象。因此,结论显而易见:在Windows2000操作系统下,PCFl536能以16MB/s的速度连续输出数据,它满足某些系统对连续数据流的要求。利用该测试系统,虽然不能准确测出Windows2000的中断延迟到底有多大,但可以肯定:Windows2000的中断延迟远远小于41.2ms。
《一种Windows2000下连续输出数据的PCI卡(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/173223.html
1.2.3最大允许中断延迟
要保证PCFl536输出连续数据,就必须保证FIFO不会被读空。FIFO输出数据的同时,PC机必须及时补充数据。从上可知,整个FIFO存储器被分成A、B两部分,每部分容量均为192K×32位。下面分析当数据从存储器B部分读取、向存储器A部分写入时,读写FIFO存储器的时间关系,如图7所示。
假定PC机的中断延迟时间为TINT_LAT,PC机写满存储器A部分所用时间为TPCI,剩余时间为TREM;读完存储器B部分所用时间为TOUT。如PCFl536输出连续数据流,剩余时间TREM必须大于等于0。
通过以上计算,在Windows2000操作系统的最大中断延迟不大于41.2ms的情况下,PCFl536能以16MB/s的传输率连续输出数据。
中断延迟决定了硬件产生的中断并得到PC机正确响应的最高频率。实际上,根据各种资料分析,虽然Windows2000操作系统的中断延迟会随着应用条件不同而差异很大;但可以肯定的是,其中断延迟远远小于41.2ms。
1.3驱动器模块
驱动器模块由七个7412245构成。每个74LS245能为8位数据(信号)提供驱动,其中四个74LS245用作32位数据线的驱动器,另外三个用作控制信号的驱动。
每个74LS245的输出分别连接到16脚的插座。16脚插座中的8个脚接信号线,另外8个脚接地线,以提高输出信号的抗干扰能力。采用这种输出方式,PCFl536与外设之间可以用4m的排线连接而不会受明显干扰。
2测试过程及测试结果
图8是PCFl536卡的测试系统。计算机重复发送如下数据:0x20002000、Ox32CF32CF、Ox3E6F3E6F、0x3E6F3E6F、Ox32CF32CF、0x20002000、0x0D300D30、0x01900190、Ox01900190、Ox0D300D30。以上10个数据实际上是对一个正弦波的10个均匀采样值。用示波器监视D/A转换器的输出。
在示波器上可以观测到:36路的D/A输出都是稳定的20kHz正弦波。该测试系统经过连续48小时运行,没有出现计算机死机和停止发送数据的现象。因此,结论显而易见:在Windows2000操作系统下,PCFl536能以16MB/s的速度连续输出数据,它满足某些系统对连续数据流的要求。利用该测试系统,虽然不能准确测出Windows2000的中断延迟到底有多大,但可以肯定:Windows2000的中断延迟远远小于41.2ms。
《一种Windows2000下连续输出数据的PCI卡(第2页)》