一种Windows2000下连续输出数据的PCI卡

发布者:幸福的人生最新更新时间:2014-09-15 来源: 21ic关键字:存储器  模块  输出 手机看文章 扫描二维码
随时随地手机看文章

在视频输出、声呐仿真等实际应用中,经常要求计算机能根据要求稳定输出连续数据流。然而,当计算机工作于Windows2000操作系统下时,由于该操作系统是一个多任务的非实时操作系统,当它收到外部设备发来的中断时,需要延迟一定时间间隔后,才开始执行中断服务程序。这样,从计算机I/O口直接输出的数据流只能是间歇的数据流,无法提供连续数据流,不能满足实际应用的需要。

幸运的是,许多实际应用只需要低速的连续数据流。可以利用PCI总线的高速数据传输特性,在PCI接口后加入一个大容量FIFO存储器,高速的PCI数据流从FIFO存储器的输入端输入,在FIFO的输出端就能获得低速的连续数据流。这样屏蔽了Windows2000的非实时性,成功满足实际应用的需要。在图1所示的具体应用中,计算机与PCI卡之间通过PCI总线形成峰值速率达132MB/s的间歇数据流;PCI卡通过局部总线与大容量存储器之间同样是峰值速率达132MB/s的间歇数据流;最后通过多路D/A转换电路获得了速率为16MB/s的连续数据流。为了便于应用,将PCI接口模块与大容量存储器结合,设计了一块能在Windows2000下以16MB/s的速率连续输出数据的PCI卡PCF1536。

1 PCF1536的工作原理

PCI卡PCF1536是一个带有1536KB FIFO的通用PCI卡;在Windows2000操作系统下,它能以16MB/s的速度连续输出数据。图2是PCF1536的结构框图,整个 PCF1536包括PCI接口、大容量FIFO存储器和驱动器三个模块。

1.1 PCI接口模块

PCI接口模块由PCI9052和配置EEPROM 93LC46组成。PCI9052是PLX技术公司的产品,兼容于PCI协议(2.1版);它可作为PCI总线的从设备,支持32位数据突发传输。图3是 PCI9052与PCI金手指和存储器模块的连接示意图。

 


PCI9052与存储器有三种连接方式:数据地址复用、数据地址非复用和ISA方式[1]。在PCF1536中,PCI9052采用数据地址非复用方式连接FIFO存储器。其时序参见文献[1]。PCI9052与FIFO的连接信号中,ADS表示一次突发传输的开始,BLAST表示一次突发传输的结束,LAD[0:31] 为32位数据,LBE[0:3]为字节有效信号。缓存后的时钟输出信号BCLKO经74LS00送回PCI9052,同时也送到FIFO。FIFO半满时发出的中断信号通过LINTI1进入PCI9052,再通过INTA发送给CPU。由于FIFO的写入不需要地址,因此PCI9052与FIFO之间没有地址连接。

 


 


1.2 存储器模块

1.2.1 存储器组织

存储器模块由CPLD器件EPM7128SQC100和四片FIFO器件AL422B组成。AL422B是AVERLOGIC公司的产品,每片AL422B包含 384K×8位DRAM,主要应用于视频输出。在现有的FIFO存储器中,AL422B具有最低的价格/存储位比。这是PCF1536选择使用 AL422B的主要原因。AL422B的结构框图如图4所示。它能完成初始化、复位、写和读等四种操作[2]。初始化操作发生在上电后0.1ms内,和 保持为低电平,然后可以开始正常操作。复位操作中,有效,则输入数据地址设置为0且清空输入缓存; 有效,则数据输出地址设置为0且将数据预取到输出缓存。当有效时,完成写操作,在WCK上升沿将DI7~DI0写入写数据寄存器;无效时,禁止写操作,写地址计数器保持不变。四片AL422B通过位扩展成384K×32位的FIFO存储器,如图5所示。

 


1.2.2 存储器控制器

AL422B虽然有不同的数据输入和输出端口,但与通用FIFO存储器不同,它并不提供半满信号、数据有效信号等。因此AL422B不是完全意义上的FIFO存储器[2]。在PCF1536上,使用一片可编程逻辑设备EPM7128作为FIFO控制器,全面控制AL422B的功能。从图2和图5可以看出,EPM7128为FIFO提供RCK、、、 DI[0:31]、、、TST、和WCK等读写控制信号;当FIFO半满时提供半满信号HF;另外EPM7128为外设提供正负数据有效信号、4MHz和 8MHz的时钟信号等,供外设灵活使用。图6是用VHDL语言对EPM7128编程而成的FIFO控制器。该控制器由JTAG模块、写模块、读模块和控制模块组成。计算机通过JTAG接口对EPM7128现场编程。当PCI9052的数据准备好后,写模块按LCLK时钟将数据读入,接着按WCK时钟将数据写入AL422B。在FIFO控制器的控制下,整个384K×32位的FIFO存储器被分为A、B两部分。当数据从A部分读出时,PCI9052将数据写入B部分;反之,当数据从B部分读出时,PCI9052将数据写入A部分。数据读出的速率为16MB/s。当A(或B)部分数据读完后,FIFO控制器接着从B(或A)部分读数,并通过中断通知CPU向A(或B)部分写入数据。如此循环往复。

 


1.2.3 最大允许中断延迟

要保证PCF1536输出连续数据,就必须保证FIFO不会被读空。FIFO输出数据的同时,PC机必须及时补充数据。从上可知,整个FIFO存储器被分成A、B两部分,每部分容量均为192K×32位。下面分析当数据从存储器B部分读取、向存储器A部分写入时,读写FIFO存储器的时间关系,如图7所示。[page]

 


假定PC机的中断延迟时间为TINT_LAT,PC机写满存储器A部分所用时间为TPCI,剩余时间为TREM;读完存储器B部分所用时间为TOUT。如PCF1536输出连续数据流,剩余时间TREM必须大于等于0。

TREM = TOUT-TINT_LAT-TPCI≥0 (1)

根据公式(1),有:   TOUT-TINT_LAT-TPCI≥0 (2)   TINT_LAT≤TOUT-TPCI (3)

PC机写满存储器A部分所用时间:   TPCI=192KB×4/(132×1024)×1000≈5.68ms (4)

读完存储器B部分所用时间:

通过以上计算,在Windows2000操作系统的最大中断延迟不大于41.2ms的情况下,PCF1536能以16MB/s的传输率连续输出数据。

中断延迟决定了硬件产生的中断并得到PC机正确响应的最高频率。实际上,根据各种资料分析[3],虽然Windows2000操作系统的中断延迟会随着应用条件不同而差异很大;但可以肯定的是,其中断延迟远远小于41.2ms。

1.3 驱动器模块

驱动器模块由七个74LS245构成。每个74LS245能为8位数据(信号)提供驱动,其中四个74LS245用作32位数据线的驱动器,另外三个用作控制信号的驱动。每个74LS245的输出分别连接到16脚的插座。16脚插座中的8个脚接信号线,另外8个脚接地线,以提高输出信号的抗干扰能力。采用这种输出方式,PCF1536与外设之间可以用4m的排线连接而不会受明显干扰。

2 测试过程及测试结果

图 8是PCF1536卡的测试系统。计算机重复发送如下数据:0x20002000、0x32CF32CF、0x3E6F3E6F、0x3E6F3E6F、 0x32CF32CF、0x20002000、0x0D300D30、0x01900190、0x019-00190、0x0D300D30。以上10个数据实际上是对一个正弦波的10个均匀采样值。用示波器监视D/A转换器的输出。

 

在示波器上可以观测到:36路的D/A输出都是稳定的20kHz正弦波。该测试系统经过连续48小时运行,没有出现计算机死机和停止发送数据的现象。因此,结论显而易见:在Windows 2000操作系统下,PCF1536能以16MB/s的速度连续输出数据,它满足某些系统对连续数据流的要求。利用该测试系统,虽然不能准确测出 Windows2000的中断延迟到底有多大,但可以肯定:Windows2000的中断延迟远远小于41.2ms。

参考文献

1 PLX Technology,Inc. PCI9052 Data Book.V2.0, September 2001.www.plxtech.com.

2 AverLogic Technologies,Inc. AL422 Data Sheets. Jan 2001.www.averlogic.com.

3 李圣怡,戴一帆.Windows环境下软硬件接口技术.长沙:国防科技大学出版社,2001

关键字:存储器  模块  输出 引用地址:一种Windows2000下连续输出数据的PCI卡

上一篇:基于微小井眼钻井技术的A/D转换器选型研究
下一篇:基于Xilinx PCI Express Core的高速DMA读写设计

推荐阅读最新更新时间:2024-05-02 23:10

大联大世平集团推出77G毫米波感测模块之人员计数解决方案
致力于亚太地区市场的领先半导体元器件分销商--- 大联大控股 宣布,其旗下世平推出基于德州仪器( TI )IWR 1642的77G毫米波感测模块之人员计数解决方案。 在物联网时代,人们的位置、去向、生理讯号以及安全状况等信息将会对 IoT智能楼 宇产生重要影响,监测 并追踪他们在室内外的活动可以大大提高系统的智能化程度 ,照明、电梯、自动门、空调系统和监控系统可以根据实际使用情况更加有效的工作。未来的智能楼宇系统将会使用智能传感器来自动调整,从而提高效率及舒适性并减少浪费。 目前楼宇自动化的感测技术包括红外线(PIR)、摄像机(IP Cam)等,这些技术在准确性、隐私性、环境稳定性等各方面都面临着挑战,故其无法有效地满
[网络通信]
大联大世平集团推出77G毫米波感测<font color='red'>模块</font>之人员计数解决方案
电容传感器测量系统模块电路设计之精密放大电路
  基于海上溢油回收的特殊环境,该文设计了一种基于AT89S51单片机的海上液位测量系统。该系统采用分段电容检测的原理,以实现油水双液位的检测。合理搭建了微小电容测量的硬件电路。系统可以准确无误地应用于海上油位的测量。   方波产生电路      图4 方波产生电路   由NE555构成的多谐振荡器是二极管交流电桥测量的方波信号源,其具体电路如图4所示。频率计算如式(4)、式(5)和式(6)所示。    (4)    (5)    (6)   令 , , ,则: 。因此,NE555可以为电容检测电路提供电压幅值为5V、频率为500kHz的方波信号源。   双T二极管交流电桥电容测量电路   电容传感器
[单片机]
电容传感器测量系统<font color='red'>模块</font>电路设计之精密放大电路
使机器尺寸减小40%的功率模块,你值得拥有!
全球先进电子元件分销商世强与国际桥堆制造领军企业Shindengen签订分销协议,正式全线代理新 电元的桥堆、二极管、电源模块、IGBT及MOS等产品。而新电元工业株式会社一直以来都将由多个功率半导体器件构成的功率模块产品的开发作为重点。通过 功率电路零部件的集成化,为电子设备的小型化和制造过程的生产效率改善作出贡献。 其中最具代表性的功率模块为 Shindengen的800V的功率模块MG020200和MG020201,产品示意图和内部电路图如图1、图2所示,其结构均是由一个三相 Converter(二极管组合)和一个Brake(IGBT和二极管组合)组成。三相Converter二极管的非重复峰值浪涌电压VRSM均是800V,
[电源管理]
使机器尺寸减小40%的功率<font color='red'>模块</font>,你值得拥有!
基于TDA5210的868 MHz无线接收模块设计
随着无线技术的发展,无线控制应用已经深入各行各业,安防、汽车电子、玩具等随处可见无线遥控的应用。目前市面上无线遥控产品比较多工作在315 MHz和433 MHz的频段,主要采用ASK调制方式。与此同时,在这两个频段上的干扰源也比较多。特殊行业的产品由于关系到人身安全,对系统的稳定性要求苛刻,需要尽可能地减少同频干扰,比如医疗监控,无线温度采集系统,汽车胎压监测等应用,因此采用868 MHz频段比采用315 MHz和433 MHz频段具有更少的干扰源。目前市面上能够提供868 MHz无线接收芯片的芯片厂家非常少,英飞凌(Infineon)公司是少数能够提供868 MHz单芯片接收芯片的厂家。本设计采用英飞凌TDA5210接收芯片,
[单片机]
基于TDA5210的868 MHz无线接收<font color='red'>模块</font>设计
运用单片机指纹识别系统电路模块设计
  随着时代的发展,社会越来越需要高效、可靠的身份识别系统传统的个人身份鉴别手段如钥匙、口令、密码、身份证件,甚至IC卡等识别方式,由于它们具有可假冒、可伪造、可盗用、可破译的弱点,已不能完全满足现代社会经济活动和社会安全防范的需要。随着识别技术的不断成熟和计算机技术的飞速发展,各种基于人体生理特征的身份识别系统如:指纹、手掌、声音、视网膜、瞳孔和面纹等识别技术纷纷从实验室中走出来。目前,从实用的角度看,指纹识别技术是优于其它生物识别技术的身份鉴别方法。本次设计我们利用指纹识别传感器进行指纹采集与识别,在单片机中对指纹进行处理,用按键标志当前指纹识别的状态,录入状态,识别状态,清除状态,用液晶1602能够显示当前指纹识别的状态信息
[电源管理]
运用单片机指纹识别系统电路<font color='red'>模块</font>设计
水工业行业PLC的选型探讨
  在PLC系统设计时,首先应确定控制方案,下一步工作就是PLC工程设计选型。工艺流程的特点和应用要求是设计选型的主要依据。PLC及有关设备应是集成的、标准的,按照易于与工业控制系统形成一个整体,易于扩充其功能的原则选型。所选用PLC应是在相关工业领域有投运业绩、成熟可靠的系统,PLC的系统硬件、软件配置及功能应与装置规模和控制要求相适应。熟悉可编程序控制器 、功能表图及有关的编程语言有利于缩短编程时间,因此,工程设计选型和估算时,应详细分析工艺过程的特点、控制要求,明确控制任务和范围,确定所需的操作和动作,然后根据控制要求,估算输人输出点数、所需存储器容量、确定PLC的功能、外部设备特性等,最后选择有较高性能价格比的PLC和设计
[嵌入式]
函数发生器输出电压值会与设定值不同
我是在做STM32AD采样时发现的这个问题,明明输出的信号峰峰值1V,通过单片机计算过幅值之后,却翻了一倍。加上直流偏移量之后,就变得无规律可循。本以为是程序的问题,后来放到示波器上验证了一下,发现结果和我用STM32计算的一模一样。 实际上,是因为两个仪器的阻抗不匹配。 函数和任意波形发生器的缺省设置的输出阻抗是50欧姆,而示波器则是1M欧姆(大概单片机也是吧)。 现实中的电压源一般可等效为理想电压源串联内阻(阻值很小)的方式。 函数信号发生器高阻输出时,发生器的设置值即为模型中理想电压源的真实值2V。低阻输出时,应接入与发生器输出阻抗匹配的负载网络,达到分压一半的目的。此时,尽管函数信号发生器的输出电压和高阻输出时并无不同(还
[测试测量]
函数发生器<font color='red'>输出</font>电压值会与设定值不同
车企自研功率模块加速落地,国产SiC MOSFET和代工厂迎新机会
碳化硅在电动汽车上的应用正在越来越普遍,而车企自研碳化硅模块,也成为了不少车企选择的方向。最近,蔚来自研碳化硅模块C样件在芯联集成下线,这也意味着蔚来与芯联集成合作开发的碳化硅模块 产品 即将迈进量产。 迈进800V平台,车企倾向自研 功率模块 芯联集成在今年1月30日宣布与蔚来签署碳化硅模块产品的生产供货协议,按照协议内容,芯联集成将为蔚来自研1200V 碳化硅模块的代工方,而这款碳化硅模块将应用于蔚来的旗舰车型ET9上。 蔚来ET9采用全域900V的 高压 平台,是蔚来第一款400V以上高压平台的车型。如今800V高压平台正在成为中高端纯电车型的标配,各大车企也开始倾向于自研碳化硅功率模块。 从供应链的角度来看,车企首先
[汽车电子]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved