trueleven

个性签名:请修改签名 ^_^

  • 2019-01-28
  • 发表了主题帖: PCI 设备 RTX 驱动开发方法

    关键词: PCI 反射内存 RTX摘要:简要介绍了PCI驱动程序的特点、RTX 驱动整体架构,并以反射内存卡的 RTX 驱动为例给出了驱动开发方法,列举了需要使用的 RTX API, 最后给出了驱动开发中常见问题的解决思路。   PCI 设备 RTX 驱动开发方法 1. RTX 下操作外设时, 需要把设备从 Windows 移动到 RTX 下面,具体移植方法可以参考 RTX Help 文档中间 Converting a Windows Device to an RTX Device 一节或者参考附件<<串口设备移植向导.doc>> 2. PCI驱动程序的特点在设计驱动程序之前,首先要对欲控制的硬件设备进行细致地分析,更需要详细了解硬件设备的特性。硬件设备的特性会对驱动程序设计产生重大的影响。需要了解的最主要的硬件特性包括:(1) 设备的总线结构设备采用什么总线结构非常关键,因为不同的总线类型(如ISA和PCI)在许多硬件工作机制上是不同的,所以驱动程序设计也不同。(2) 寄存器要了解设置的控制寄存器、数据寄存器和状态寄存器,以及这些寄存器工作的特性。(3) 设备错误和状态要了解如何判断设备的状态和错误信号,这些信号要通过驱动程序返回给用户。(4) 中断行为要了解设备产生中断的条件和使用中断的数量。(5) 数据传输机制最常见的数据传输机制是通过I/O端口(port),也就是通过CPU进行数据读写。PC的另一种重要的传输机制是DMA,但PCI规范不包括从属DMA的说明。(6) 设备内存许多设备自身带有内存,PCI设备大多是采用映射的方式映射到PC系统的物理内存。有的设备还要通过驱动程序设置设备的接口寄存器 3. RTX 驱动整体架构使用 RTX Device Driver 开发向导, 选择支持(1) Interrupt Service Routine (ISR)(2) Support for Sharing an Interrupt(3) Basic Port I/O Support(4) Basic Mapped Memory Support,即可生成 RTX PCI 设备驱动程序框架。该程序框架分成两个函数, Driver 文件和 DriverFunc 文件:Driver 文件主要包括 main 函数,中断服务程序和中断服务线程;DriverFunc 文件主要是对 PCI 设备的基本操作函数, 包括 PCI 设备搜索, PCI 设备初始化,使能或关闭中断, 处理 PCI 设备共享中断, 以及 PCI 驱动程序资源清理等函数。4. 完整的 RTX PCI驱动基于RTX PCI 设备驱动程序框架, 用户需要添加相应的代码, 下面基于反射内存卡的 RTX 驱动进行分析。反射内存卡的基本特点:(1) PCI、PCIe、PMC、VME 外形, 节点之间组成环形连接或通过光纤 Hub 组成星型连接(2) 节点之间数据确定性的传输延迟, 延迟小于 750usPCI 反射内存卡的 RTX 驱动也分成 Driver 文件和DriverFunc 文件两个文件。Driver 文件主要包括 main 函数,中断服务程序和中断服务线程, 下面是详细的分析:(1) Main 函数:Main 函数并不是 RTX PCI 驱动程序的一部分, 准确的讲它是如何使用 RTX PCI驱动程序的流程。用户需要做的工作:a. 在 RTX PCI 设备驱动程序框架生成的 main 函数需要在设备初始化 (DeviceInit()) 完成之后与使能 PCI 中断之前添加设备打开(open())函数, 该函数的功能主要是创建信号量和初始化板卡.b. 使能 PCI 中断之后, 用户即可调用 PCI驱动程序里的读写等函数写一段简单的读写测试程序。(2) 中断服务程序:这个函数接收到中断后交给中断服务线程来处理, 用户一般不需要改动。(3) 中断服务线程:中断服务线程主要完成读取和记录 PCI 板卡的中断信息, 释放相关的信号量等工作, 一般不完成具体的中断处理工作。PCI 驱动程序一般还提供一个函数来捕捉这些释放的信号量, 完成中断具体含义的解析工作。DriverFunc 文件主要是对 PCI 设备的基本操作函数, 包括 PCI 设备搜索, PCI 设备初始化,使能或关闭中断, 处理 PCI 设备共享中断, 以及 PCI 驱动程序资源清理, 数据读写, 发送和接收消息类中断等函数。下面是详细的分析:(1) DeviceSearch 函数这个函数根据 PCI 设备的 Vendor ID 和 Device ID 搜索 PCI 设备, 返回 PCI 配置信息和 slot Number. 用户修改 Vendor ID 和 Device ID 即可。(2) DeviceInit 函数PCI设备初始化函数. 该函数中间调用了两个RTX 系统函数RtTranslateBusAddress() 和 RtMapMemory(), RtTranslateBusAddress() 作用为把 PCI 设备地址转换为 CPU 可以直接访问的物理地址, RtMapMemory() 函数把物理地址映射到虚拟地址。映射到虚拟地址空间后 ring3用户即可以读写 PCI 内存空间或者 I/O 空间了。用户需要关注的是物理地址到虚拟地址映射的地址范围,一般设置为 4K Bytes. RtMapMemory() 函数默认最大可以映射的地址范围为 64M Bytes, 如果需要更大的范围, 可以参考内存管理一节。(3) Enable/Disable Interrupts On Chip 函数使能或者关闭 PCI 设备上的中断。用户根据 PCI 设备进行修改。(4) IsMyInterrupt函数RTX 下 PCI 设备中断号可以共享。如果有 RTX 下 PCI 设备共享, 需要在该函数中间区分是否是该设备的中断.(5) DeviceCleanup 函数该函数释放中断句柄和解除物理地址于虚拟地址之间的映射。用户基本不需要修改该函数。(6) RFM2gOpen 函数反射内存功能函数。该函数的功能主要是为 DMA 通道,发送和接收Event(反射内存的一种消息类中断)等硬件功能模块创建信号量和初始化板卡。为了防止对硬件资源的访问冲突, 使用这些硬件资源前需要先拿到信号量, 使用结束后释放这些信号量。(7) RFM2gEnableEvent函数反射内存功能函数。使能板卡接收消息类中断。(8) RFM2gSendEvent 函数反射内存功能函数。向其它节点发送消息类中断。(9) RFM2gWaitForEvent函数反射内存功能函数。该函数结束中断服务线程释放的信号量, 解析中断的具体含义, 记录接收到的信息类型, 根据返回值判断是否接收到信息。(10) R

  • 发表了主题帖: 远程导弹的半实物仿真技术研究

    在各种远程导弹系统的研制中,采用全数字仿真试验难以模拟真实的电磁、信号环境;而采用全实物仿真或外场试验又面临一些难于克服的困难(如很难形成较为逼真的电磁、信号环境,试验周期长、费用高、保密性差、易受气候与环境等因素的影响)。而半实物仿真技术能有效地弥补全实物仿真或外场试验的诸多不足,试验过程及电磁信号环境均可控制、系统重复性能好,能获得比较全面的试验数据。典型的半实物仿真系统主要由目标模拟天线阵列、目标/杂波/干扰信号模拟器、目标阵列校准系统、微波暗室和仿真转台等部分组成。导弹射频系统的半实物仿真技术(射频仿真技术)是在微波暗室中通过仿真手段建立起来的电磁环境来模拟目标和环境的电磁散射特性,实现射频系统(实物)的测试与仿真试验。半实物仿真具有实时性,仿真对象和仿真环境具有可变性,无需对所有的环节建立复杂的数学模型,不需要实物仿真或外场试验那么多的实物设备。半实物仿真技术兼有全数字仿真和全实物仿真的优点。可以在复杂电磁环境下(存在空中、地面、海面目标的欺骗式、宽带压制式等干扰情况),为现代雷达、电子对抗及其他射频系统提供实验室条件下的系统仿真、系统性能测试、系统性能验证与技术指标评估、系统和分系统开发以及故障诊断手段等。 半实物仿真技术可对导弹末制导雷达系统、无线电指令制导系统(数据链路)进行测试与性能仿真。超视距远程打击己成为现代战争的重要特征,远程导弹已广泛应用于现代战争。远程导弹广泛采用多模制导体制及远程数据链系统,这对半实物仿真技术提出了新的要求。半实物仿真在导弹型号研制过程中发挥着重要的作用,在系统调试、系统算法验证和飞行靶试结果预测等方面是一个不可或缺的试验鉴定手段。世界各军事强国竞相在新一代武器系统的研制过程中不断完善半实物仿真技术,美国海军在加州的中国湖和默古角建有完善的仿真设施,同时还首先进行了异地的分布式仿真试验¨’51。美国空军除在埃格林空军基地建有完善的半实物仿真设施,它的制导武器鉴定设施中心运行有美国及其盟国中唯一可以试验全频谱武器寻的器的设施。美国陆军的高级仿真中心(ASC)睁”始建于1960年代,ASC的半实物仿真系统支持X、K、Ka及W波段的射频制导导弹(包括地空、空空、空地导弹系统的被动、半主动、相干和不相干主动寻的、指令、驾束、成像制导导弹)从发射到拦截全过程的半实物仿真,已经支持了“爱国者”导弹(PAC3)、“地狱火”导弹和“霍克”导弹等项目的开发哺刊。 我国半实物仿真技术的研究与应用“州¨始于1980年代。目前国内在半实物仿真领域研究工作主要集中在天线口径较小的制导雷达系统上。已建成了多种制导雷达系统的半实物仿真系统。在半实物仿真技术研究工作中取得了可喜成绩“H引,逐步解决了制导雷达系统射频仿真中目标、杂波与干扰信号的模拟产生方法问题,球面天线阵列的设计、加工与测试、校准问题。半实物仿真技术的研究与应用有效的提高了我国新型武器的研制进度、优化了系统设计、提高了武器系统性能,也为诊断并排除系统故障、提高型号研制质量和系统效费比发挥了巨大作用,随着我国国防建设的发展,对半实物仿真技术提出了更高的要求,半实物仿真技术的研究日益重要。 1 远程导弹半实物仿真技术的特点 1.1远程导弹的仿真要求 新一代远程导弹采用捷联惯导+数据链指令修正+主动/被动雷达双模末制导的复合制导、高性能推进系统等先进技术,超视距作战能力、抗干扰能力和反预警机、干扰机、防区外导弹载机、巡航导弹能力将得到显著提高。从载机发射导弹,利用无线电修正指令引导导弹飞向目标,到导弹主动雷达开机截获目标,最终命中目标,。第十一届全国遥感遥测遥控学g.zH.-t会”论文集第一部分系统总体技术与工程应用 对整个过程进行仿真、定量地研究载机无线电修正通道、雷达末制导系统对空空导弹命中概率的影响。从仿真技术角度看远程导弹与中、近距导弹相比有不同的特点:主动/宽带被动多模复合制导体制仿真;远距离数据链信息传输仿真;末制导雷达系统的仿真。 1.2远程导弹半实物仿真系统 1.2.1宽带射频目标模拟器 当远程导弹导引头使用宽带被动头工作模式时,被动接收模式的工作频段一般要覆盖2~18 GHz,这就要求仿真系统的射频目标模拟器也能够工作在这样一个宽的频段。而微波器件受工作带宽的限制,因此宽带系统的设计有较大的难度。 当远程导弹导引头采用主动接收模式时,相应要求射频目标模拟器具有模拟主动目标回波特性的功能,同时还需要解决主动/被动射频目标仿真共源性的问题。共源性问题是指导引头探N-N的主动与被动目标辐射信号是同一个目标产生的,目标模拟器在实现这些目标特性的仿真时,必须保证这两种目标特征信号等效在空间上同一个位置辐射,即目标的共源性。低分辨率窄带末制导雷达系统的主要特征量是目标回波功率、功率谱、目标速度和目标距离等,其目标回波信号是窄带信号,可以通过对雷达发射信号进行时延控制、幅度和多普勒频率调制后获得。但对于高分辨率的宽带雷达系统,其发射信号和接收信号都是宽带信号。宽带雷达目标回波信号仿真可以看作是雷达发射的脉冲信号经过一个系统后的输出,该系统的系统函数取决于目标信息(距离和视线角、后相散射系数以及散射附加相移、雷达与目标间相对运动速度/多普勒相位等)。为保证所产生的雷达目标回波信号的相参性,拟采用数字射频存储处理(DRFM)技术,将通过对特定目标、背景进行建模、计算获得的目标散射特性数据、杂波散射特性数据与雷达发射信号在数字域进行实时卷积处理计算目标回波基带信号序列;通过延迟控制将计算得到的基带数据送给数据率变换器和数字正交调制器,把多普勒频率和幅度信息调制上去并获得中频目标回波信号;最后经上变频组件得到目标回波的射频信号。新体制雷达的地物、海面杂波信号、与目标信号的产生方法类似,宽带杂波与欺骗干扰信号也必须是相参的,各种欺骗干扰信号(速度欺骗干扰、距离欺骗干扰、角度欺骗干扰)的实时模拟方法也需要采用DRnI技术和实时信号处理方法实现。宽带相参射频目标模拟器的组成原理图如图1所示。http://www.vmic5565.com/uploadfile/20130613/20130613162637790.jpg 1.2.2导航模拟器(数据链模拟器) 随着导弹攻击距离的增加,载机与导弹的信息交换必须采用远距离通信方式(如GPs、北斗)和战区网络信息共享等方式,因此在半实物仿真中需要根据实际情况研制新的数据链模拟器,来满足远程导弹的半实物仿真需要。数据链模拟器的研制难度不大。 在实验室环境下可以采用信息/信号注入的方式实现,参照实物系统解决好工作时序和接口关系问题就可以实现。采用卫星导航时,卫星信号模拟器主要涉及信号的产生与精度控制、电离层折射误差模拟等技术。卫星模拟器产生的卫星信号动态范围很宽,拟器作为接收机精度测试的标准信号源,对所产生的伪码延迟和载波频率的精度要求很高。为满足精度要求,必须以较高频率对模拟器的伪码和载频实施控制,使产生的信号能够及时跟踪上目标运动特性的变化。精确的电离层延迟误差模型是卫星信号模拟器,解决的难题,实际测量中应根据目标的特定情况采取不同的技术方案。在攻击中远程目标时,导弹发射后,导弹按照惯性飞行,利用弹上惯性平台,获得导弹相对惯性空间的位置和速度等信息,用以实现导弹的制导。由于各种误差及目标大机动等因素的影响,往往造成飞控系统给导引头的目标指示误差较大,甚至影响目标的截获,在实战过程中,通常采用载机数据链通道为导弹提供目标信息和载机信息,用于修正导弹中制导段的飞行弹道,以减小导航误差对目标截获的影响。为防止干扰,载机往往采用专用编码技术对载机信息和目标信息进行编码,经过调制,形成射频形式的特定波段的数据链信息。导弹接收到射频数据链信息后,进行解调、译码及信息处理,然后将信息提供给弹载计算机,用于弹道修正。数据链模拟器真实模拟载机数据链通道的功能,数据链模拟器的功能框图如图2所示。http://www.vmic5565.com/uploadfile/20130613/20130613162707262.jpg1.2.3半实物仿真系统的精度 远程导弹攻击距离远,完成一次弹道仿真的时间长,造成仿真系统运行中信息传递中的累积误差较大。目前半实物仿真子系统间的工作信息传递已实现数字化,避免了数/模、模/数转换造成的较大量化误差;同时仿真计算机模型计算也都采用32位、64位浮点数格式,这样长数据格式将数字量化误差减到了最小。因此远程导弹仿真运行时间长不会带来仿真系统误差的过度累积,而影响仿真结果。 2远程导弹半实物仿真系统关键技术 2.1射频目标模拟器的结构 射频目标仿真中所要模拟的目标电磁散射特性和目标的空间属性中,除目标相对于导引头的空间角度和角度变化率外,都是用电路的形式来实现,射频目标仿真器按照实现角度运动的模拟方法来划分,有机械式射频目标模拟器和阵列式射频目标模拟器两类,其中机械式射频目标模拟器又包括轨道式和紧缩场式两种结构形式。 2.1.1轨道式射频目标模拟器 轨道式射频目标模拟器是采用两个相互垂直的弧形导轨,其中水平导轨一般是固定不动的,垂直导轨可以在水平导轨上面移动,同时垂直导轨上还安装有辐射喇叭天线,该喇叭天线能够沿垂直导轨运动。这样垂直导轨在水平导轨上的运动和辐射天线沿垂直导轨的运动组合就模拟了目标在空间的2自由度平面运动。这是典型机械式射频目标模拟器的结构,由于其结构简单,曾被广泛用于产品测试等工作中。 2.1.2紧缩场式射频目标模拟器 紧缩场式是采用2个可以相互垂直运动的2自由度框架,这2个框架上带有一个抛物面反射镜,目标模拟信号通过一天线照射该反射镜,通过反射形成平面波模拟电磁波在自由空间的传播环境,这被称为“紧缩场”技术。这样导引头就可以安装在距抛物面反射镜较近的位置上。这种方法结构上综合了仿真导弹姿态运动三轴转台,形成五轴制导过程仿真试验台。采用五轴转台的形式,使整个仿真系统结构紧凑、简单、方便。 2.1.3阵列式射频目标模拟器 阵列式射频目标仿真器是由若干个辐射天线按一定规律排列组成一个天线阵(线阵或面阵),每相邻的三只天线组成一个三元组。通过控制三元组中三只天线辐射信号的相对幅度和相位,改变三元组三个天线单元合成信号的视在位置,模拟目标相对于导引头的视线运动。这属于电路控制式的目标模拟器,其优点是便于模拟复杂自标(包括多目标)和复杂的射频环境。这种目标模拟器是在微波暗室环境下工作的,其工作的电磁环境比其他形式的目标模拟器要好,其缺点是技术复杂、设备量大、成本较高。 2.2远程导弹宽带目标模拟系统关键技术问题 远程导弹导引头被动模式的工作频段覆盖2~18 GHz,射频目标模拟器必须分频段实现,这是由于微波器件工作带宽所决定的。分频段组合实现射频目标模拟器的宽带要求从实际需要来说也是合理可行的。虽然导引头被动模式的工作频段覆盖2,-一ISGHz,但其探测目标的雷达特征信号也就是工作在几个典型的频段,如预警雷达工作在L、S波段,机载雷达工作在X波段,主动目标回波是Ku、Ka等波段,因此完全可以根据这些典型工作频段来划分,分别生成各个频段的目标特征信号。整个宽带射频目标模拟器就可以由几个不同工作频段的模拟器组合而成。这样大大简化了宽带射频目标模拟器的设计。 2.2.1射频目标模拟器的宽带问题 对于机械式射频信号模拟器:目标的幅度、多普勒频率、时间延迟等参数的模拟可以按照频段组合方案研制射频目标模拟器,可满足半实物仿真宽带的需求:由于目标运动仿真部分是通过机械运动实现的,宽带问题只涉及到一个辐射源(辐射天线)的问题,因此可以通过更换天线及馈电网络的方法实现。对于阵列式射频目标模拟器:可以按照频段组合方案研制射频源,可满足宽带仿真的需求;阵列式射频目标仿真器目标运动仿真部分通过天线阵列系统实现,通过调节射频信号的幅度和相位来控制目标的运动,这实际上是一个微波网络,存在着微波器件工作带宽的限制问题。解决方案依然是按照典型频段组合方案研制天线阵列系统。按照远程导弹的特点宽带天线阵列仿真系统可划分成2~6 GHz和6--18GHz两个频段组合。 2,2.2射频目标模拟器的共源问题, 机械式射频目标仿真器共源性的问题主要是馈源天线的安装问题,馈源天线应该安装在抛物面的焦点上,这样才能保证抛物面镜的反射波是平面波。馈源天线是一个宽频带天线,覆盖导引头主动、被动工作模式所有的工作频段。对于2~18GHz可采用一个馈源天线;对于导引头主动模式工作在Ka波段的馈源天线可通过更换安装馈源天线实现。阵列式射频目标模拟器的基本工作原理就是共用一个天线阵,将多个模拟的目标信号通过功率合成器送入天线阵列,达到方便模拟多目标的功能。当工作频率高时天线阵列上的馈源天线的间距要小些,当工作频率较低时,天线阵列上的馈源天线的间距可大些。利用这一特点合理划分、设计天线工作频段,在阵面上交叉布置这些天线,就能保证天线阵(仿真)的共源性。根据目前的技术水平和需求情况,可以将馈源天线分成2~18 GHz和26.540 GHz两个频段,这样整个实验室就可以实现覆盖从L波段到I(a波段的仿真功能。 2.2.3注入式仿真方法 注入式半实物仿真技术就是将根据目标信号、外部环境特征信号直接转换为中频信号或射频信号,注入导引头的中频接收机或微波接收机中,与其他导引头实物、导航控制系统实物等构成半实物仿真。利用这种仿真手段,可以解决多模目标仿真中的目标模拟共源性和宽带难题。注入式半实物仿真技术的不足是不能直接对导弹与目标相对运动环节的仿真,因此开展注入式半实物仿真技术需要研究的问题包括:flz入式仿真误差分析与评估、注入式目标模拟器生成技术、注入环节(微波注入或中频注入)等。注入式仿真方法实现的前提是产品设计留有相应注入接口。 3结束语 远程导弹半实物仿真涉及多个技术领域,宽带射频目标仿真可采用频段组合方案实现。论文对针对不同的射频目标仿真器结构形式,分析实旅中需要解决的关键技术问题。注入式仿真方法也是解决射频目标仿真的一种重要方法,文中还讨论了导弹半实物仿真系统中数据链模拟器组成、原理等问题。本文研究讨论的问题已经在雷达型导弹的研制中得到了应用,设计思想与设计方法也可以推广应用于类似的系统,如地空导弹、空地导弹及中远程红外型空空导弹和后继型中远程雷达型导弹的半实物仿真系统设计中。 此内容由EEWORLD论坛网友trueleven原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 发表了日志: 远程导弹的半实物仿真技术研究

  • 2019-01-16
  • 发表了主题帖: 制导系统测试

    制导系统是现代武器的眼睛,精确制导武器在现代战争中发挥着越来越重要的作用。而随着雷达技术、总线技术、图像处理技术、微电子技术的发展,制导系统也向着复杂化、小型化、多功能方向发展,相关的测试系统也越来越复杂,涉及到信号处理机、雷达灵敏度、通讯系统、IQ/LVDS 视频信号、雷达发射频谱/ 功率等众多分功能测试以及相互之间协调完成整机测试。同时,针对某些频段的制导系统,NI 提供的现成模块化产品可大大简化目标模拟器的研制过程。        NI 能够为相关测试工程师,提供最流行和通用的软硬件测试工具,包括高速数据采集、LVDS 数字信号采集设备、矢量信号发生器、矢量信号分析仪、射频功率计、RS-422/485/232、MIL-STD-1553B 通信模块、具备隔离功能的高可靠性模拟/ 开关信号输入输出模块等各种设备,以及测控行业广泛采用的NI LabVIEW、LabWindows/CVI、NI TestStand 等标准软件。        制导系统的测试要求保证最高级别的可靠性,以达到差错归零的要求。NI 提供的解决方案,从模块化硬件的隔离设计、PXI 平台的电气结构特性、实时操作系统、稳定的驱动和开发软件等多个方面,保证了测试系统可以在7/24 工作条件下满足高可靠性的要求。 此内容由EEWORLD论坛网友trueleven原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2019-01-12
  • 发表了日志: 反射内存网在远距离分布式系统中的应用

  • 发表了主题帖: 反射内存网在远距离分布式系统中的应用

    反射内存网作为一种成熟技术,经过多年发展,目前在半实物实时仿真、飞行器模拟器、自动检测系统、发动机试验台,电站模拟器,高速数据采集,超视距雷达等应用领域得到广泛的应用。 反射内存独特的硬件结构,最大程度的简化了大量数据的实时传输问题。软件开发人员不需要理解复杂的数据传输过程,重发机制。只读进行本机的内存读写操作,由硬件自动完成与反射内存网中其它节点的数据同步。这种机制使得数据传输简单迅速,其极高的易用性简化了系统设计。反射内存网中节点网络的全局化内存、高速数据传输以及软件透明,使得反射内存卡在多机通讯方案中具有无可比拟的优势。 反射内存卡的系统框图如图1所示。 该系统主要由SFF光模块、FPGA 控制模块、SDRAM存储模块、电源与时钟模块、串行解串器组成。其中,SFF 光模块实现 FPGA 控制模块与网络中其它反射内存卡之间的高速通信互联,提供 2.125Gbps 光纤通道连接;FPGA 控制模块选用高性能的FPGA芯片,实现整个数据发送与接收逻辑;板载128M或256M SDRAM,用于暂存网络中各反射内存卡的共享数据;电源与时钟模块为系统提供所需的电源与时钟。 FPGA模块将内存中发生改变的数据通过通过串行解串器和SFF光模块传输至网络中其它反射内存节点;同时,如果网络中其它反射内存卡内存中的数据发生改变, FPGA模块也将通过专用的串行通信模块接收SFF光模块传输的改变数据,并写入板载内存中,以实现局域网中计算机间的高带宽数据的交互共享。 http://editerupload.eepw.com.cn/201311/a1ec4ba235a20da788798117a78010ab.jpg 图1:反射内存卡硬件原理框图 http://editerupload.eepw.com.cn/201311/1cc6364edcb1a838038b920fb6eb15cb.jpg 图2:环形拓扑结构 反射内存网提供了一个通过多模或单模光缆以2.12Gbaud速率运行的数据插入环形架构网络。与以太网系统不同,任意节点间传输不会影响到其它节点间的通讯,反射内存网可避免列队与检查数据包所需的复杂性、确保合适的连通性,不存在附加负载限制或终端规则。节点间的距离长达10KM。这些特性允许反射内存的数据传输速率高达170 MB/s,远高于千兆以太网100MB/s的效率。 反射内存允许所有网络节点中断其他或所有的节点。最多可分配多达 4个中断并可供用户用于功能、优先级和向量等原因进行自定义的中断。这些中断可用于任何功能,比如邮箱或网络数据同步。启用后,中断通常用于数据传输后中断某个或所有的网络节点。反射内存实时仿真网站分享了大量的技术资料和使用案例可供下载。 在一些分布式系统中,节点间的距离较远,反射内存卡使用单模光纤,节点距离可达10KM,例如在某系统中设备与监视中心必须与其保持最少3KM的距离。通过分配执行过程,设计人员能够在测试台安装能够进行数字化与预处理操作的计算机。这样,在控制室中,就仅需高速反射内存网络连接将数据发送回主计算机,从而取代长达 3KM数以百计的离散布线。这个远距离计算机接着分析、存档、格式化并将数据显示在测试人员的数据监视器上。通过使用高速反射内存连接,操作者可以观察并在发生改变时对其做出反应,在连接时会产生轻微延迟。通过安排控制人员和核心处理计算机至远离易变测试的安全位置,操作员可将对人员和设备的危险降至最低,并且不会影响到测试效果。如下图,中电八所与实时仿真技术网进行10KM单模光纤大批量数据传输测试。 http://editerupload.eepw.com.cn/201311/1def8d27102570fb197daa1be8ce5fd1.jpg 图3:10公里多模光纤 http://editerupload.eepw.com.cn/201311/28d6144504c172730576138dd00a7b9f.jpg 图4:10公里单模光纤传输测试现场 在实时通讯系统中,反射内存卡逐渐成为标配。其原理易于理解,使用方法简单,抗干扰能力强,实时性高,支持中断传输,中断,软件开发代码少,扩展能力强,应用案例多,缩短了系统的研发周期,节省了人员支出,增强了系统健壮性,将软件开发人员从复杂的通讯协议中解放出来,不再为大批量的数据传输担心带宽,不确定的时延而浪费时间。反射内存卡也应用于包括轨道交通、冶金,电力系统仿真等行业。实时仿真技术网分享了大量的使用案例可供下载。 此内容由EEWORLD论坛网友trueleven原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2019-01-08
  • 发表了主题帖: GE智能平台针对严苛的仿真、过程控制和数据采集应用推出反射内存节点卡

      GE智能平台宣布推出半高卡PCIE-5565PlORC PCI Express反射内存节点卡,进一步扩充了GE的RFM 5565反射内存解决方案阵容,也体现 GE在该技术上的广泛经验。半高卡PCIE-5565PIORC的设计除面向仿真与培训、工业过程控制和数据流与采集等实时应用,还可以满足各种商业、电信和军事以及航空航天应用对高可用性冗余的需求。这种应用通常需要以确定性的高速率传输和共享数据,而在很多情况下符合该环境的解决方案就是反射内存。     反射内存网络是一种特殊的共享内存系统,可通过多台独立计算机共享一套统一数据。反射内存可自主将某处理器的内存内容复制到其他所有网络成员的内存节点。PCI一5565PIORC具有许多客户应用时非常看重的体积小的特点。该板卡的特点包括2.12 G波特串联速率、更佳的可编程I/0(PIO)读取性能、现场可升级固件和RolS合规性。PCI峰值速率已加倍到每秒512 MB,支持更大内存(256 MB)。GE的反射内存网络可扩展到256个节点,运行速度达到174 Mb/s。节点之间的距离可达到10 km。

  • 2018-12-09
  • 发表了主题帖: PCI 设备 RTX 驱动开发方法

    1. RTX 下操作外设时, 需要把设备从 Windows 移动到 RTX 下面, 具体移植方法可以参考 RTX Help 文档中间Converting a Windows Device to an RTX Device 一节或者参考附件<<串口设备移植向导.doc>> 2. PCI驱动程序的特点 在设计驱动程序之前,首先要对欲控制的硬件设备进行细致地分析,更需要详细了解硬件设备的特性。硬件设备的特性会对驱动程序设计产生重大的影响。需要了解的最主要的硬件特性包括: (1) 设备的总线结构 设备采用什么总线结构非常关键,因为不同的总线类型(如ISA和PCI)在许多硬件工作机制上是不同的,所以驱动程序设计也不同。 (2) 寄存器 要了解设置的控制寄存器、数据寄存器和状态寄存器,以及这些寄存器工作的特性。 (3) 设备错误和状态 要了解如何判断设备的状态和错误信号,这些信号要通过驱动程序返回给用户。 (4) 中断行为 要了解设备产生中断的条件和使用中断的数量。 (5) 数据传输机制 最常见的数据传输机制是通过I/O端口(port),也就是通过CPU进行数据读写。PC的另一种重要的传输机制是DMA,但PCI规范不包括从属DMA的说明。 (6) 设备内存 许多设备自身带有内存,PCI设备大多是采用映射的方式映射到PC系统的物理内存。有的设备还要通过驱动程序设置设备的接口寄存器 3. RTX 驱动整体架构 使用 RTX Device Driver 开发向导, 选择支持 (1) Interrupt Service Routine (ISR) (2) Support for Sharing an Interrupt (3) Basic Port I/O Support (4) Basic Mapped Memory Support, 即可生成 RTX PCI 设备驱动程序框架。 该程序框架分成两个函数, Driver 文件和DriverFunc 文件: Driver 文件主要包括 main 函数,中断服务程序和中断服务线程; DriverFunc 文件主要是对 PCI 设备的基本操作函数,包括 PCI 设备搜索, PCI 设备初始化,使能或关闭中断,处理 PCI 设备共享中断, 以及 PCI 驱动程序资源清理等函数。 4. 完整的 RTX PCI驱动 基于RTX PCI 设备驱动程序框架, 用户需要添加相应的代码, 下面基于反射内存卡的 RTX 驱动进行分析。 反射内存卡的基本特点: (1) PCI、PCIe、PMC、VME 外形, 节点之间组成环形连接或通过光纤 Hub 组成星型连接 (2) 节点之间数据确定性的传输延迟, 延迟小于750us PCI 反射内存卡的 RTX 驱动也分成 Driver 文件和DriverFunc 文件两个文件。Driver 文件主要包括 main 函数,中断服务程序和中断服务线程, 下面是详细的分析: (1) Main 函数: Main 函数并不是 RTX PCI 驱动程序的一部分, 准确的讲它是如何使用 RTX PCI驱动程序的流程。用户需要做的工作: a. 在 RTX PCI 设备驱动程序框架生成的 main 函数需要在设备初始化 (DeviceInit()) 完成之后与使能 PCI 中断之前添加设备打开(open())函数, 该函数的功能主要是创建信号量和初始化板卡. b. 使能 PCI 中断之后, 用户即可调用 PCI驱动程序里的读写等函数写一段简单的读写测试程序。 (2) 中断服务程序: 这个函数接收到中断后交给中断服务线程来处理, 用户一般不需要改动。 (3) 中断服务线程: 中断服务线程主要完成读取和记录 PCI 板卡的中断信息, 释放相关的信号量等工作, 一般不完成具体的中断处理工作。PCI 驱动程序一般还提供一个函数来捕捉这些释放的信号量, 完成中断具体含义的解析工作。 DriverFunc 文件主要是对 PCI 设备的基本操作函数,包括 PCI 设备搜索, PCI 设备初始化,使能或关闭中断,处理 PCI 设备共享中断, 以及 PCI 驱动程序资源清理, 数据读写,发送和接收消息类中断等函数。下面是详细的分析: (1) DeviceSearch 函数 这个函数根据 PCI 设备的 Vendor ID 和 Device ID 搜索 PCI 设备,返回 PCI 配置信息和 slot Number. 用户修改 Vendor ID 和 Device ID 即可。 (2) DeviceInit 函数 PCI设备初始化函数. 该函数中间调用了两个RTX 系统函数RtTranslateBusAddress() 和 RtMapMemory(),RtTranslateBusAddress() 作用为把 PCI 设备地址转换为 CPU 可以直接访问的物理地址, RtMapMemory() 函数把物理地址映射到虚拟地址。映射到虚拟地址空间后 ring3用户即可以读写 PCI 内存空间或者 I/O 空间了。用户需要关注的是物理地址到虚拟地址映射的地址范围,一般设置为 4KBytes. RtMapMemory() 函数默认最大可以映射的地址范围为 64M Bytes, 如果需要更大的范围, 可以参考内存管理一节。 (3) Enable/Disable Interrupts On Chip 函数 使能或者关闭 PCI 设备上的中断。用户根据 PCI 设备进行修改。 (4) IsMyInterrupt函数 RTX 下 PCI 设备中断号可以共享。如果有 RTX 下 PCI 设备共享, 需要在该函数中间区分是否是该设备的中断. (5) DeviceCleanup 函数 该函数释放中断句柄和解除物理地址于虚拟地址之间的映射。用户基本不需要修改该函数。 (6) RFM2gOpen 函数 反射内存功能函数。该函数的功能主要是为 DMA 通道,发送和接收Event(反射内存的一种消息类中断)等硬件功能模块创建信号量和初始化板卡。为了防止对硬件资源的访问冲突, 使用这些硬件资源前需要先拿到信号量, 使用结束后释放这些信号量。 (7) RFM2gEnableEvent函数 反射内存功能函数。使能板卡接收消息类中断。 (8) RFM2gSendEvent 函数 反射内存功能函数。向其它节点发送消息类中断。 (9) RFM2gWaitForEvent函数 反射内存

  • 2018-11-13
  • 发表了日志: GE智能平台针对严苛的仿真、过程控制和数据采集应用推出反射内存节点卡

  • 2018-10-18
  • 发表了日志: 使用NI PXI和LabVIEW实时模块有效简化硬件在环仿真系统

  • 发表了主题帖: PCI 设备 RTX 驱动开发方法

    1. RTX 下操作外设时, 需要把设备从 Windows 移动到 RTX 下面, 具体移植方法可以参考 RTX Help 文档中间Converting a Windows Device to an RTX Device 一节或者参考附件<<串口设备移植向导.doc>> 2. PCI驱动程序的特点 在设计驱动程序之前,首先要对欲控制的硬件设备进行细致地分析,更需要详细了解硬件设备的特性。硬件设备的特性会对驱动程序设计产生重大的影响。需要了解的最主要的硬件特性包括: (1) 设备的总线结构 设备采用什么总线结构非常关键,因为不同的总线类型(如ISA和PCI)在许多硬件工作机制上是不同的,所以驱动程序设计也不同。 (2) 寄存器 要了解设置的控制寄存器、数据寄存器和状态寄存器,以及这些寄存器工作的特性。 (3) 设备错误和状态 要了解如何判断设备的状态和错误信号,这些信号要通过驱动程序返回给用户。 (4) 中断行为 要了解设备产生中断的条件和使用中断的数量。 (5) 数据传输机制 最常见的数据传输机制是通过I/O端口(port),也就是通过CPU进行数据读写。PC的另一种重要的传输机制是DMA,但PCI规范不包括从属DMA的说明。 (6) 设备内存 许多设备自身带有内存,PCI设备大多是采用映射的方式映射到PC系统的物理内存。有的设备还要通过驱动程序设置设备的接口寄存器 3. RTX 驱动整体架构 使用 RTX Device Driver 开发向导, 选择支持 (1) Interrupt Service Routine (ISR) (2) Support for Sharing an Interrupt (3) Basic Port I/O Support (4) Basic Mapped Memory Support, 即可生成 RTX PCI 设备驱动程序框架。 该程序框架分成两个函数, Driver 文件和DriverFunc 文件: Driver 文件主要包括 main 函数,中断服务程序和中断服务线程; DriverFunc 文件主要是对 PCI 设备的基本操作函数,包括 PCI 设备搜索, PCI 设备初始化,使能或关闭中断,处理 PCI 设备共享中断, 以及 PCI 驱动程序资源清理等函数。 4. 完整的 RTX PCI驱动 基于RTX PCI 设备驱动程序框架, 用户需要添加相应的代码, 下面基于反射内存卡的 RTX 驱动进行分析。 反射内存卡的基本特点: (1) PCI、PCIe、PMC、VME 外形, 节点之间组成环形连接或通过光纤 Hub 组成星型连接 (2) 节点之间数据确定性的传输延迟, 延迟小于750us PCI 反射内存卡的 RTX 驱动也分成 Driver 文件和DriverFunc 文件两个文件。Driver 文件主要包括 main 函数,中断服务程序和中断服务线程, 下面是详细的分析: (1) Main 函数: Main 函数并不是 RTX PCI 驱动程序的一部分, 准确的讲它是如何使用 RTX PCI驱动程序的流程。用户需要做的工作: a. 在 RTX PCI 设备驱动程序框架生成的 main 函数需要在设备初始化 (DeviceInit()) 完成之后与使能 PCI 中断之前添加设备打开(open())函数, 该函数的功能主要是创建信号量和初始化板卡. b. 使能 PCI 中断之后, 用户即可调用 PCI驱动程序里的读写等函数写一段简单的读写测试程序。 (2) 中断服务程序: 这个函数接收到中断后交给中断服务线程来处理, 用户一般不需要改动。 (3) 中断服务线程: 中断服务线程主要完成读取和记录 PCI 板卡的中断信息, 释放相关的信号量等工作, 一般不完成具体的中断处理工作。PCI 驱动程序一般还提供一个函数来捕捉这些释放的信号量, 完成中断具体含义的解析工作。 DriverFunc 文件主要是对 PCI 设备的基本操作函数,包括 PCI 设备搜索, PCI 设备初始化,使能或关闭中断,处理 PCI 设备共享中断, 以及 PCI 驱动程序资源清理, 数据读写,发送和接收消息类中断等函数。下面是详细的分析: (1) DeviceSearch 函数 这个函数根据 PCI 设备的 Vendor ID 和 Device ID 搜索 PCI 设备,返回 PCI 配置信息和 slot Number. 用户修改 Vendor ID 和 Device ID 即可。 (2) DeviceInit 函数 PCI设备初始化函数. 该函数中间调用了两个RTX 系统函数RtTranslateBusAddress() 和 RtMapMemory(),RtTranslateBusAddress() 作用为把 PCI 设备地址转换为 CPU 可以直接访问的物理地址, RtMapMemory() 函数把物理地址映射到虚拟地址。映射到虚拟地址空间后 ring3用户即可以读写 PCI 内存空间或者 I/O 空间了。用户需要关注的是物理地址到虚拟地址映射的地址范围,一般设置为 4KBytes. RtMapMemory() 函数默认最大可以映射的地址范围为 64M Bytes, 如果需要更大的范围, 可以参考内存管理一节。 (3) Enable/Disable Interrupts On Chip 函数 使能或者关闭 PCI 设备上的中断。用户根据 PCI 设备进行修改。 (4) IsMyInterrupt函数 RTX 下 PCI 设备中断号可以共享。如果有 RTX 下 PCI 设备共享, 需要在该函数中间区分是否是该设备的中断. (5) DeviceCleanup 函数 该函数释放中断句柄和解除物理地址于虚拟地址之间的映射。用户基本不需要修改该函数。 (6) RFM2gOpen 函数 反射内存功能函数。该函数的功能主要是为 DMA 通道,发送和接收Event(反射内存的一种消息类中断)等硬件功能模块创建信号量和初始化板卡。为了防止对硬件资源的访问冲突, 使用这些硬件资源前需要先拿到信号量, 使用结束后释放这些信号量。 (7) RFM2gEnableEvent函数 反射内存功能函数。使能板卡接收消息类中断。 (8) RFM2gSendEvent 函数 反射内存功能函数。向其它节点发送消息类中断。 (9) RFM2gWaitForEvent函数 反射内存

  • 发表了日志: PCI 设备 RTX 驱动开发方法

  • 发表了日志: GE智能平台针对严苛的仿真、过程控制和数据采集应用推出反射内存节点卡

  • 2018-08-22
  • 发表了主题帖: 高速传输反射内存卡

    实时反射内存网络是一种为使多个独立的计算机进行数据共享而特别设计的共享内存系统。实时反射内存网络在系统中的每个节点放置一个共享内存的独立的拷贝。每个节点都有写入数据访问和读取本地内存的权限。当数据写入本地内存,FPGA 捕获并发送数据到实时反射内存中网络下数据写入本地内存并送到下一节点,数据写入本地内存并送到下一节点,直到数据回到源发送的节点才将网络中的数据移除。由于这种特别的硬件和一系列的节点,在极短的时间内,网络中所有的节点都被更新,在同样的地址有同样的数据。本地处理器可以随时访问内存中的数据,而不需要以随时访问内存中的数据,而不需要通过网络进行访问。由此,每个计算机都有新的的内存数据拷贝。在 4节点的实例中,仅需要 2.1us,所有的计算机都会收到写入实时反射内存的数据。实时反射内存卡(节点)由本地内存,PCI(或 PCIE,VME)接口,和提供计算机访问和实时网络内存网络更新的仲裁逻辑组成。实时反射内存卡可以与计算机总线连接,安装在VME,PCI/PCI-X,CPCI,PCIE 和其它标准系统中。这可以使大多部工作站和单板计算机通过实时网络内存连接而不用考虑与背板接口的互通性。其它串行网络连接计算机和 PLC 进行连接的地方,但它不是所有应用的解决方案。实时反射内存在实时是主要考虑因素的的系统中起到很大的作用。在需要低潜伏期,高速通迅的系统中,实时反射内存提供超高性能硬件和易用性。使用类似实时反射内存的低软件开销,高速,硬件驱动网络在整个网络和独立的网络节点有低的潜伏期,短潜伏时间性能对建立一个仿真的实时系统是十分重要的。PCI5565 PCI-5565  PMC5565 VMIC5565 反射内存 反射内存卡 GE反射内存       反射内存网中的每个反射内存节点(任何5565反射内存卡)以菊花链的形式用光纤线互联。第一块卡的发送必须连接到第二块卡的接收端,第二块卡的发送端连接到第三块卡的接收端,以此类推,直到再连接到第一块卡的接收端完成一个完整的环形连接。也可以将所有节点连接到一个或多个ACC-5595反射内存HUB,每个节点的接收和发送都必须连接,如果没有检测到光信号或失去同步反射内存卡RFM-5565将不会发送数据包(例如光纤线已损坏)。反射内存网中每个节点的节点号必须一,节点号通过板上的拨码开关S2进行设置,任何两个节点不能有设置成同一个节点号,每个板卡的节点号可以在通过NODEID进行读取显示,节点号的顺序并不重要。主系统对反射内存卡的板载SDRAM的写操作后,反射内内卡的硬件检测电路将自动发起一个整个反射内存网的数据传输动作。这个写操作可以是一个简单的PIO写或是一个DMA周期。当产生一个对SDRAM的写操作时,RFM-5565反射内存卡自动将数据和其它相关的信息写入到发送缓冲器中(其它相关信息包括节点号,数据地址等信息),在发送缓冲器中,发送电路检测数据,并且将数据变成一个4到64字节长度可变的数据包。通过光纤接口发送到下一个板卡的接收端口。接收电路检查数据包是否有错误,当无错误发生时数据被接收。接收电路解开数据包并且将数据存储到板载的接收缓冲器。在接收缓冲器中,另一个电路将数据写入到本地的SDRAM的和源节点相同的地址中。同时,该电路将数据同时发送到发送FIFO中,重复这个处理过程直到这个数据返回到源节点的接收端,在源节点中,接收电路检测到数据包的NODEID和源节点的NODEID相同,因此将数据包从网络中移除,这样所有的节点数据都被更新了。所以计算机将数据写入其本地网络内存卡后的,极短时间内,网上所有计算机都可以访问这个新数据。网络内存卡使用简单的读写方式,网络内存网上的数据传输是纯硬件操作,不需要考虑网络的通信协议,软件上只需要几行代码就可完成对网络内存卡的读、写操作,因此它与以太网等其他传统网络相比具有更低的数据传输延迟、更快的传输速度,更简单灵活的使用操作,可以满足实时系统快速反应周期的要求,而采用其他网络就很难满足这种要求。反射内存是一种通过局域网在互连的计算机间提供高效的数据传输的技术,强实时网络设计人员已经越来越多地采用这种技术。反射内存实时局域网的概念十分简单,就是设计一种网络内存板,在分布系统中实现内存至内存的通信,并且没有软件开销。每台计算机上插一块反射内存卡,卡上带有双口内存,各层软件既可以读也可以写这些内存,当数据被写入一台机器的反射内存卡的内存中后,反射内存卡自动地通过光纤传输到其他连在网络上的反射内存卡的内存里,通常,只需几百纳秒的时间延迟,所有的反射内存卡上的内存将写入同样的内容。而各成员在访问数据时,只要访问本地的反射内存卡中的内存即可实时网络需求为提升计算能力,人们自然地想到研发性能更强的计算机,如天河系列等超级计算机应运而生,但超级计算机研制周期长、成本大、应用领域受限。为此,提出了集群系统概念,计算机集群系统是通过网络将PC机或工作站连接起来组成高性能计算系统。集群系统将一个任务并行在多台计算机上执行,组成一个实时系统。在实时系统中,系统终结果的正确性不仅依赖于每一步计算得到的逻辑结果,而且依赖于得到结果的时刻,任务的完成时间是实时系统的决定性特征。根据实时性能的要求程度,实时系统可认为两类,即软实时和硬实时系统。对于软实时系统,要求事件相应是实时的,但并不是严格强制的。但是,对于硬实时系统来讲,每个任务都有一个处理截止事件,任务必须在规定的时间内完成,否则会影响全局任务的完成,给系统带来不希望的破坏或者造成不可恢复的灾难性后果。目前许多实时系统都采用硬实时系统,因为具有更强的实时性能。实时系统的应用需要实时互联,构建实时网络,完成数据在网络节点间的实时传输。实时网络必须具备高速、可靠、可预测三个特点,重要的是通信的可预测性,可预测性是指实时网络中各个节点之间数据传输的时间是确定的。随着实时网络应用领域的不断扩展,目前已不仅仅局限于计算机集群系统的互联,而是广泛地应用在各种具有实时需求的互联系统中,如半实物仿真、高速数据获取等。实时网络发展过程中,出现过两种设计思路:基于单一总线的多CPU共享全局内存和基于网络的分布式内存:相比基于单一总线的多CPU共享全局内存系统,在基于网络的分布式内存体系中每个节点只访问自己的本地内存,不存在内存占有冲突,由于这种方式能够避免大量的总线仲裁控制时间而成为实时网络的主要设计方式。实时网络要保证高速、可靠、可预测这三大指标,但千兆以太网、光纤通道(Fiber Channel,FC)协议等,在可预测性上很差,首先是因为通过设备驱动和软件网络协议的工作模式增加了额外的不确定开销,其次是同样存在共享冲突和碰撞的问题(如千兆以太网GBE中采用CSMA/CD载波监听多路访问/冲突检测机制、FC协议采用令牌环仲裁等)进一步增加了传输时间的不确定性。光纤反射内存网很好的解决了上述问题。反射内存网是基于网络的分布式内存硬实时网络的一种设计思想,特点:1)反射内存网硬件实现分布式RAM之间数据的传输、共享,整个过程具有很低的实现延迟;2)反射内存网依靠硬件实现、不需要复杂的网络协议控制,能够在相同的传输带宽下达到更高的有效速率;3)反射内存网对数据的各种处理是通过硬件电路实现,在固定的时钟频率下周期工作,没有不确定的时间开销,确保数据处理的可预测性。反射内存卡节点延时测试方法:反射内存卡数据传输过程全部由硬件完成,在windows这种非实时操作系统下和实时vxworks操作系统下由软件测试这种节点延时都是不可取的。反射内存卡、,首先它是一个PCI设备,提供给用户128MB的读写空间。当一节点有写入操作时,自动通过光纤链路将数据同步到所有节点。这一系列传输写入操作由硬件完成。两个节点间更新的延时为100ns级。Sdram时钟:66MHZFIFO时钟:106MHZ图1:反射内存硬件数据流下面提供两种方式来说明或测试节点传输延时:A:理论计算方式Sdram时钟:66MHZFIFO时钟:106MHZ在系统无数据传输过程是由PCI总线通过桥片PCI9656将数据写入到SDRAM中,在写SDRAM的同时数据,地址和控制数据打包发送至发送FIFO,这个过程是同时进行的,SERDES在接收到FIFO数据的中断后,立即将FIFO的数据读取至SERDES完成并串转换并发送至光纤收发器,FIFO的读取时间约只需要4个周期。在较短距离时,光纤传输的时间约为零,不予考虑。在接收端SERDES将光纤收发器数据进行并串转换。送至接收FIFO,接收FIFO中断本地SDRAM控制器,将数据写入SDRAM,完成本次数据的更新过程。SDRAM时钟周期时间为15NS左右,FIFO时钟周期为9.4NS,由此可以计算出理论时间 15*21+9.4*10≈405ns。B:硬件触发方式由于光纤收发器数据传输的快速特性,由软件来来测试时间误差较大,本方法对两个节点上的数据信号进行采集并测量延时。测试探头分别测试节点A的SDRAM和节点B的SDRAM信号,发送特征数据,并在B节点等待触发信号。由示波器看到信号延时。触发后在节点B用软件观察数据是否更新到节点B,改变特征数据及触发条件,可重复数次测特征数据与SDRAM控制信号。可以记录延时约得出延时大小。2.网络内存卡带宽测试:网络内存卡带宽测试可采用本公司提供的软件进行测试或采用RFM2G下的命令行工具测试不同数据大小包的传输速度。 此内容由EEWORLD论坛网友trueleven原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 发表了主题帖: 通用总线仿真测试系统

    1553B/ARINC429/RS422通用总线仿真/测试系统是一个针对1553B、ARINC429、RS422总线系统的、基于以太网的、分布式综合仿真/测试系统,它采用标准化、规范化的设计,实现了1553B、ARINC429、RS422总线系统设计与测试的一体化,彻底改变了总线系统仿真/测试设备的研制一直处于高投入、低效率、低可靠性的局面。它可以广泛应用于航空、航天等各种1553B、ARINC429、RS422总线系统的仿真/测试中。该系统是目前国内外功能最完整、使用最方便、可靠性最高的1553B、ARINC429、RS422总线仿真/测试系统,它可靠性高、通用性好、使用性强、操作简单的特点不仅在多个飞机型号中得到证明,也在航天领域中得以验证。 MIL-STD-1553B总线即数字式时分制指令/响应型多路传输数据总线,它由数据总线、远程终端、总线监视器、总线控制器组成。Ø  总线控制器(BC)是总线系统中组织信息传输的终端。Ø  总线监控器(BM)是总线系统中指定做接收且记录总线上传输的信息并有选择的提取信息以备后用的终端。Ø  远程终端 (RT)是总线系统中除总线控制器或总线监控器之外的所有终端。Ø  数据总线(简称总线)是指在各终端之间提供一路单一数据通路所需要的包括双绞屏蔽电缆、隔离电阻、耦合变压器等在内的所有硬件。总线系统信息传输的控制权唯一归总线控制器所有;采用指令/响应型的异步操作;信息传输采用半双工方式;数据总线上的信息流由消息组成。 目前,国外1553B、ARINC429生产厂家一般只提供与ICD数据库结合的总线测试系统,用户使用时将总线数据按照ICD文件的定义逐一输入到测试系统中,数据定义改变时,要在测试系统中修改变化的数据.。这种方式的仿真与测试功能不强,系统没有通用性。国内分为两种情况:一是按照ICD的数据定义单独编写测试代码,一般不进行仿真开发,工作量大、周期长、效率低,可靠性差;另外一种是采用ICD数据库与测试系统结合的方式,由于ICD数据库采用文档结构,数据接口没有标准化,很难进行二次开发,测试只能按工作方式进行,深度不够,没有仿真功能。 北京中航昊天科技有限公司开发的最新型仿真/测试系统已经将A/D、IO、实时网等数据的的仿真与测试结合到通用总线仿真/测试系统中,即:最新型仿真测试系统已经能够完成1553B总线、ARINC429总线、RS422总线、A/D信号、IO信号、实时网数据的仿真与测试。 此内容由EEWORLD论坛网友trueleven原创,如需转载或用于商业用途需征得作者同意并注明出处

  • 2018-08-10
  • 加入了学习《玩转示波器,2017年是德科技干货教程汇总》,观看 【3.1】啥是六合一示波器?

  • 2018-03-31
  • 发表了主题帖: 一种基于PCI总线的反射内存卡系统设计

    1 引言 对实时传输, 传统的以太网络由于传输协议开销的不确定性, 很难满足实时网络的要求, 实时网络是一种应用于高实时性要求的专用网络通信技术, 一般采用基于高速网络的共享存储器技术实现。除了具有严格传输确定性和可预测性外, 还具有传输速度高、通讯协议简单、软硬件平台适应性强、可靠的传输纠错能力、支持中断信号的传输等特点。鉴于以上原因, 设计一款反射内存卡, 写入一个节点的内存的数据可以通过网络硬件传输到其它所有的节点。 2 硬件设计 反射内存卡系统的总体框图如图1 所示, 主要由5部分组成:FPGA、PCI 接口、SDRAM、数据编解码电路、光纤收发电路。 其中,FPGA 内部包含SDRAM控制器和FIFO 控制器、编解码控制器、接收FIFO、发送FIFO、中断FIFO及中断控制等。FPGA 选用Cyclone II 系列的EP2C35F484C7;PCI 选用PLX 公司的PCI9054,能够提供两个独立的DMA 引擎,每个都可以进行读写,在一个DMA 读取数据的同时另一个DMA 可以写入数据,加快系统工作速度; 编解码芯片选用安捷伦的H D M P -1636A,提供十位的并行IO,串行数据传输速率达1062.5MBd,负责数据串并行和并串行转换,以便与光纤收发器内部数据格式进行匹配; 光纤收发器选用安捷伦的HFBR-57L5AP,支持多模光纤,串行传输速率达1.0625Gb/s,负责将电信号转化为光信号, 通过光纤向下一节点传输。 图1 反射内存卡系统的总体框图 2.1 SDRAM 控制器 与双端口RAM 相比,SDRAM 容量大、价格低,采用128M 的SDRAM 作为反射内存卡的数据存储器。由于SDRAM 读写不能同时进行,且需要刷新维护,因此,需要设计SDRAM 控制器。 SDRAM 控制器实现对SDRAM 的读写控制与仲裁,提供类似于双端口RAM 的外部接口。SDRAM 控制器内部由初始化模块、刷新计数器、地址多路开关、仲裁及信号产生器等组成,SDRAM 控制器结构如图2 所示。 图2 SDRAM 控制器结构图 SDRAM 控制器内部各模块功能如下: (1) 初始化模块在上电之后对SDRAM 的模式寄存器进行设置;(2) 刷新计数器对SDRAM 进行定时刷新;(3) 地址多路开关将地址总线上的地址转化为SDRAM 的行列地址;(4) 仲裁机构要对上位机读、上位机写、网络写和刷新等操作做出仲裁。当读写和刷新同时产生时, 先完成相应的读写操作然后再刷新, 而上位机读、上位机写、网络写这三种操作的优先级从高到低依次是网络写、上位机读、上位机写;(5) 信号产生器根据不同的读写操作产生不同的读写信号, 从而SDRAM 可以正常工作, 而不发生读写冲突。 2.2 FIFO 控制器 在峰值速率下进行数据传输,SDRAM 存储器很难达到要求,所以使数据经过FIFO 缓存后发送或接收,可以降低了对存储器传输速率的要求, 实现较高的传输速率。设计了FIFO 控制器,它由数据解析、数据封装、仲裁、读信号产生器、写信号产生器[工业电器网-cnelc]组成。FIFO 控制器结构如图3 所示。 图3 FIFO 控制器结构图 FIFO 控制器内部各模块功能如下: (1) 数据解析对从网络中接收的数据进行判断,如果是中断事件将中断数据写到中断FIFO 中,如果是需要共享的数据则一部分送到SDRAM 控制器,一部分送仲裁机构;(2) 数据封装对本节点发送的数据重新打包,加入数据类型、数据包长度、发送节点ID、目标节点ID 及校验等相关信息,以便于其他节点对数据进行解析;(3) 仲裁机构对来自接收FIFO 的数据和本节点发送到数据进行仲裁, 当他们同时到达时来自接收FIFO的数据优先;(4) 读信号产生器在接收到半满中断时产生读信号,从接收FIFO 中读出相应的数据,避免FIFO 充满或溢出;(5) 写信号产生器在仲裁机构向下发送数据时给发送FIFO一个写信号。FIFO控制器仿真时序如图4所示。 图4 FIFIO 控制器仿真时序 2.3 编解码控制器 编解码控制器由信号产生器、数据校验、8B/10B编码、8B/10B 解码组成。编解码控制器结构如图5 所示。在这部分主要是进行数据8B/10B 编解码,以与编解码芯片数据格式匹配同时给编解码芯片的正常工作提供控制信号,数据编解码控制器仿真时序如图6 所示。 图5 编解码控制器结构图 图6 数据编解码仿真时序 3 软件设计 软件设计包括驱动程序和应用程序两部分。驱动程序提供的API 接口主要包含以下四个方面的功能: 打开和关闭驱动、配置反射内存卡、数据传输、中断控制与处理。当应用程序访问反射内存卡资源时,反射内存板必须打开, 一个句柄将返回到应用程序。图7是应用程序处理的流程图。 图7 应用程序流程图 4 性能测试 用三块反射内存卡组成环形反射内存网, 由节点1向2 节点发送数据, 节点2 发送到节点3, 由节点3 向节点1 发送确认中断, 记下此时的终止时间, 如表1 所示。 该反射内存卡在windows 操作系统下进行测试,由于windows 为非实时操作系统,所以需发送大批量的数据进行速率测试, 以克服操作系统本身的时延。试验中每次发送15Mbit 的数据,根据传输速率= 总数据量⁄总时间算出传输速率。又由编解码芯片的串行传输速率为1062.5MBd,数据传输速率为106.25MB/s,而数据包的长度是可变的, 从1 个双字到16 个双字, 每包数据包括32 位的header、32 位的地址数据和32 位的校验和,所以有效的数据传输速率在26MB/s 至88MB/s,我们测得的数据传输率为38.9 MB/s 至39.9 MB/s,可以得出该反射内存样卡功能正常。 表1 环形通讯传输速率表 5 结束语 本文介绍了一种基于PCI 总线的反射内存卡的设计方法。给出了硬件电路设计,在FPGA 内完成数据缓存FIFO 及其控制器、SDRAM 控制器和编解码控制器的设计, 结构清晰, 集成度高; 介绍了驱动程序的设计,提供了应用程序接口; 采用三块反射内存卡搭建了验证系统, 实验证明该反射内存样卡功能正常, 工作稳定    此内容由EEWORLD论坛网友trueleven原创,如需转载或用于商业用途需征得作者同意并注明出处

最近访客

< 1/1 >

统计信息

已有32人来访过

  • 芯币:237
  • 好友:2
  • 主题:14
  • 回复:1
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言