一种多协议数据采集小型CPCI板卡的制作方法

文档序号:15636617发布日期:2018-10-12 21:33阅读:452来源:国知局

本发明涉及一种多协议数据采集小型cpci板卡,属于飞行器控制系统仿真技术领域。



背景技术:

endat协议是海德汉公司专为编码器设计的数字式、全双工同步串行的数据传输协议,具有传输速度快、功能强大、连线简单、抗干扰能力强等优点,是编码器、光栅尺数据传输的通用接口。编码器利用自然二进制、循环二进制(格雷码)或prc码对码盘上的物理刻线进行光电转换,将连接轴的转动角度量转换成相应的电脉冲序列并以数字量输出。编码器具有体积小、精度高、接口数字化及绝对定位等优点,被广泛应用于转台、机器人、数控机床和高精度伺服系统等诸多领域。

smbus协议是智能元器件之间的标准总线协议,在i2c总线基础上发展而来的,是一种与i2c总线高度兼容的总线。smbus总线规范定义了smbus总线信号、电气规范、传输格式、校验方式、总线操作、地址分置等内容。随着规范的不断完善和更新,smbus协议在智能仪器和工业测控领域得到了越来越多的应用。

cpci总线具有高开放性、高可靠性、可热插拔性,适合于实时系统控制、实时数据采集、军事系统等模块化及高可靠度、可长期使用的应用领域。并且cpci是基于pci电气规范开发的高性能工业总线,cpci总线系统所使用的操作系统、驱动和应用程序和桌面的pci总线系统兼容,因此构建cpci总线平台的测控计算机,满足各性能需求,并具有更坚固、更可靠、模块化、易使用、易维护等诸多优点。

原有伺服机构摆角、位置等数据采集系统采用的是模拟量输出传感器,采集过程干扰大,直接影响伺服摆角、位置测量值,使得伺服机构频率特性测量值差,影响控制系统性能评价。目前,缺少温度实时采集方式,无法实时采集测量环境温度和设备温度,仿真实验自动化程度不高。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足,提供了一种多协议数据采集小型cpci板卡,通过基于cpci总线接口来实现endat和smbus协议通信功能,来自动化采集和处理传感器信息。

本发明的技术解决方案是:

一种多协议数据采集小型cpci板卡,包括:数据处理模块、总线转接模块、cpci接口模块、功能接口模块、双向驱动模块和差分模块;

上位机发送的触发指令通过总线转接模块传递给数据处理模块,数据处理模块接收到触发指令后,生成数据采集指令并发送给双向驱动模块,双向驱动模块将数据采集指令进行驱动放大后,通过差分模块转换为差分信号,再通过功能接口模块输出给数据采集传感器,数据采集传感器采集的外部差分信号通过功能接口模块送入差分模块,差分模块将输入的外部差分信号转换为共模信号后送入双向驱动模块,双向驱动模块将所述共模信号进行电平转换后提供给数据处理模块,数据处理模块根据对应的协议将进行电平转换后的信号进行处理,处理结果通过总线转接模块匹配cpci总线并最终输出,从而实现多协议数据采集。

所述数据采集传感器包括温度传感器、直线位置传感器以及旋转位置传感器。

数据处理模块针对直线位置传感器或旋转位置传感器进行数据采集和处理时,采用endat协议。

数据处理模块针对温度传感器进行数据采集和处理时,采用smbus协议。

直线位置传感器为光栅尺,旋转位置传感器为光电码盘,温度传感器为红外温度采集器。

当采集的数据为直线位置传感器或者旋转位置传感器输出时,数据处理模块采用endat协议进行采集和处理,步骤如下:

(6.1)数据处理模块接收到触发指令后,生成方波时钟信号clock,该信号对应的计数器count初始化为0;

(6.2)在clock的每个时钟上升沿计数器count自加1;

(6.3)当检测到count的值为3时,说明直线位置传感器或者旋转位置传感器已经将位置值保存完毕,发送8位模式指令给直线位置传感器或者旋转位置传感器;

(6.4)当检测到count的值为11时,开始检测直线位置传感器或旋转位置传感器对应的数据信号的上升沿,当上升沿到来说明收到数据起始位,以后在每个clock信号的上升沿从低位到高位依次保存电平值,直到检测到count的值为34时,停止接收数据,将存储的所有电平值转换为位置值并输出。

当采集的数据为温度传感器输出时,数据处理模块采用smbus协议进行采集和处理,步骤如下:

(7.1)数据处理模块接收到触发指令后,在数据总线上先给温度传感器写从地址00h;

(7.2)在数据总线上给温度传感器写命令07h;

(7.3)在数据总线上给温度传感器写读命令,温度传感器开始传输温度数据;

(7.4)数据处理模块读取温度数据低字节;

(7.5)数据处理模块读取温度数据高字节;

(7.6)数据处理模块读取温度数据错误信息码;

(7.7)将温度数据低字节与高字节拼接,形成温度值并输出。

方波时钟信号clock的周期为0.5微秒。

一种飞行器控制系统半实物仿真试验系统,该试验系统包括飞控计算机、伺服机构、数据采集系统和仿真计算机,仿真计算机用于将飞行器真实飞行时的环境参数上传给飞控计算机,飞控计算机根据所述环境参数控制伺服系统工作,数据采集系统采集伺服机构的执行状态、环境温度、设备温度,上传给仿真计算机,从而完成飞行器控制系统半实物仿真试验;所述数据采集系统采用如所述多协议数据采集cpci板卡实现。

本发明与现有技术相比的有益效果是:

(1)通过基于cpci总线接口来实现endat协议和smbus协议通信功能的3u尺寸接口板卡,具有高开放性、高可靠性。具有更坚固、更可靠、模块化、易使用、易维护等诸多优点。适合于实时系统控制、实时数据采集系统,并应用在控制系统半实物仿真试验系统中。板卡小型化设计,节省了空间,减少了成本。功能扩展,接插件接口的传感器(码盘或者温度传感器)连接个数可以扩充到8个。

(2)本发明采用紧凑型接口(cpci)架构,可以方便与测控计算机相互连接,抗干扰能力强,满足光电码盘和红外线温度感应芯片数据采集要求。小型化设计方案,减少了空间,节省了成本,具有重要的现实意义和应用潜力。

(3)由于本发明中采用数字式传感器,以及相应的数据处理,具有干扰小、精度高的特点。

附图说明

图1是本发明的外形板构架尺寸图。

图2是本发明多协议数据采集小型cpci板卡系统原理框图。

图3是本发明板卡endat协议通讯fpga程序流程图。

图4是本发明板卡smbus协议通讯fpga程序流程图。

具体实施方式

下面结合附图进一步说明本发明具体实施方式。

cpci总线是将pci总线和欧规卡的机械结构相结合发展而成的,与pci总线的电气规范相兼容,并与欧规卡、高性能连接器的机械结构相结合,具有抗震性能好、高可用性等优点,非常适合于工业现场应用。

本发明专利的目的在于提供了一种多协议数据采集小型cpci板卡。一方面,该cpci板卡能实现endat协议和smbus协议通信功能,按照endat协议和smbus协议,分别与海德汉公司的光电码盘传感器和melexis公司红外线温度感应芯片连接,再通过信号的采集和处理,达到传感器信息实时采集的目的。另一方面,为了减少空间,节省成本,采用小型化设计方案。

如图2所示,本发明提出的小型cpci板卡包括数据处理模块(fpga)、总线转接模块(9030桥片)、cpci接口模块(j1)、功能接口模块(j2)、双向驱动模块和差分模块;

上位机发送的触发指令通过总线转接模块传递给数据处理模块,数据处理模块接收到触发指令后,生成数据采集指令并发送给双向驱动模块,双向驱动模块将数据采集指令进行驱动放大后,通过差分模块转换为差分信号,再通过功能接口模块输出给数据采集传感器,数据采集传感器采集的外部差分信号通过功能接口模块送入差分模块,差分模块将输入的外部差分信号转换为共模信号后送入双向驱动模块,双向驱动模块将所述共模信号进行电平转换后提供给数据处理模块,数据处理模块根据对应的协议将进行电平转换后的信号进行处理,处理结果通过总线转接模块匹配cpci总线并最终输出,从而实现多协议数据采集。

本发明cpci板卡实时采集和处理控制系统半实物仿真试验中伺服机构摆角信息和温度信息。该接口板卡设计成插卡式信号处理板,具备33mhz的pci性能,支持32位的数据传输,该接口板卡通过基于cpci总线接口来实现endat和smbus协议通信功能,来采集和处理传感器信息。该接口板卡采用3u板卡尺寸(160mm*100mm),轻便小巧、减小空间、节省成本。

本发明控制逻辑在fpga中编程实现。硬件系统设计采用的cpci协议接口芯片pci9030,fpga芯片ep3c40q240c8n。具体设计如下:

本发明设计采用插卡式信号处理板,信号处理板通过pci总线与主机相连,板卡的机械尺寸是标准的,设计成3u(160mm*100mm)标准尺寸的通用信号处理板,实现应用程序和采集计算机之间的相互通信,通过cpci总线将控制指令从采集计算机传输到fpga上,然后将fpga采集结果通过cpci总线传给采集计算机。

本发明设计cpci接口的主要特征如下:具备33mhz的pci性能,支持32位的数据传输,在33mhz下每个总线段支持8个cpci插槽,总线由系统进行管理。

本发明cpci总线接口设计立足于cpci规范,采用基于桥片的典型设计方法:桥片+本地功能外设。桥片专门处理总线接口,将pci复杂的总线时序翻译成相对简单的本地总线时序,本地功能电路利用桥片的本地总线实现endat总线和smbus总线,分别与cpci总线相互通信的目的。接插件j1上的信号实现pci总线。cpci总线接口电路分为主设备和从设备。主设备可以控制总线,驱动地址、数据和控制信号:从设备不能启动总线操作,只能依赖于主控设备从其中读取数据或向其传送数据。

本发明以桥片为设计基础。plx桥片的信号分为三部分:pci总线信号、e2prom接口信号和本地总线信号。pci总线信号直接与j1上的总线信号互连,不需要做任何特殊处理。e2prom接口符合spi接口规范。本地总线信号用于与本地功能设备(io控制器)的接口,时序简单,易于操作实现。

plx的桥片需要e2prom存储桥片的初始化配置参数。配置信息主要包括:

(1)pci配置寄存器的配置,配置内容包括:生产商id号、器件id号、类码子系统1d号和子系统生产商id号。

(2)本地配置寄存器的配置,配置内容主要是本地地址空间的属性和本地地址总线的属性。

本发明专利基于cpci的endat和smbus通信功能卡的设计是选取通用的cpci总线通信控制器芯片,通过编程fpga内部的逻辑控制电路,实现主机通过cpci总线对endat总线和smbus总线的控制和访问,cpci接口采用通用的pci9030芯片实现cpci总线的接口连接。本地功能电路部分通过时钟信号的复用和数据信号的扩充,实现了接插件接口的传感器(码盘或者温度传感器)连接个数可以扩充到8个。

本发明提供实施例如下:

本发明应用在飞行器控制系统半实物仿真试验系统中,伺服机构摆角采集系统采用海德汉公司光电码盘传感器,温度采集系统采用melexis公司红外线温度感应芯片。

图1为3u板卡外形尺寸图。搭建总线接口处理电路+endat与smbus共用功能电路的整体架构。整个系统的研究开发基于cpci总线,模块pci桥实现采集计算机与fpga的数据交互;fpga负责endat协议与smbus协议的实现、数据的存储。cpci板的封装结构基于iec60297-3、iec60297-4以及ieee1101.10定义的欧式板卡外形。定义了3u尺寸(160mm*100mm)。

图2为基于endat与smbus协议的小型化数据采集板卡系统原理框图,提出一种基于cpci总线的endat和smbus通信功能模块的硬件设计实现方法,其中控制逻辑在fpga中编程实现。硬件系统设计实现方法采用的cpci协议接口芯片pci9030和可编程逻辑器件ep3c40q240c8n。给出了pci9030和ep3c40q240c8n芯片实现接口的硬件原理框图。

pci9030作为主机的从目标设备,同时对于局部总线而言是主设备。局部总线为pci总线和fpga之间提供一条数据通路。并且pci9030作为局部总线的主设备,可以智能地完成局部总线和内部寄存器、内部fifo之间的数据传输。pci9030提供的5个地址空间可通过设置与其相关的配置寄存器来确定局部总线的特征。在上电复位后,pci的复位信号将pci9030的内部寄存器复位,pci总线和局部总线也处于复位或高阻状态,pci9030检测串行e2prom,并将其内容加载到pci9030中。pci9030的内部寄存器主要包括pci配置寄存器、局部配置寄存器、电源管理寄存器、热插拔寄存器、vpd寄存器。串行e2prom选用nm93cs66l芯片进行配置。

fpga(ep3c40q240c8n)主要完成与pci9030之间的通信,以及实现endat与smbus协议通讯模块,负责传感器信息的实时采集、存储和上传。双向驱动sn74alvc164245dl实现了3.3v与5v之间的电平转换,保证通讯信号的兼容性。差分芯片sn75176bp实现了通讯信号的差分信号输入与输出的转换。接口j1(j29a-37zkwp4)共同提供了6路差分时钟和8路差分数据以及5v电源和地信号,其中2路差分时钟信号复用提供4路差分时钟信号,每路可连接1个光电码盘传感器或者1个红外线温度感应芯片进行通讯。这样最多可同时与8个光电码盘传感器或者8个红外线温度感应芯片进行通讯,也可任意数量搭配。

图3是本发明板卡endat协议通讯fpga程序流程图。对fpga的开发采用vhdl硬件描述语言。fpga内部主要分为本地功能模块、endat协议模块。本地功能模块负责fpga与pci9030之间的通信,由译码电路组成。endat协议模块负责实时采集和存储传感器信息。endat协议模块分为时钟发生模块、计数器模块、发送模块、接收模块存储模块等部分。首先,由时钟发生模块产生周期为0.5微秒的方波信号,取名为clock,此信号作为通讯同步时钟信号。在clock的每个时钟上升沿计数器count自加1,变量count的初始值为0。当检测到count的值为3时,说明编码器已经将位置值保存完毕,发送模块开始发送8位模式指令。当检测到count的值为11时,接收模块开始检测数据输入信号的上升沿,一旦上升沿到来说明收到数据起始位s,以后在每个时钟信号的上升沿保存位置值,直到检测到count的值为34时,停止接收数据,由接收模块向存储模块写入要保存的位置值,从而结束一次fpga与编码器的通讯过程,等待pci9030读取数据,上传至采集计算机。最后,计数器count清零,重新开始一次fpga与编码器的通讯。

图4是本发明板卡smbus协议通讯fpga程序流程图。

程序流程如下:

(a)数据处理模块接收到触发指令后,在数据总线上先给温度传感器写从地址00h;

(b)在数据总线上给温度传感器写命令07h;

(c)在数据总线上给温度传感器写读命令,温度传感器开始传输温度数据;

(d)数据处理模块读取温度数据低字节;

(e)数据处理模块读取温度数据高字节;

(f)数据处理模块读取温度数据错误信息码;

(g)将温度数据低字节与高字节拼接,形成温度值并输出.

每次发送完一个字节,就判断对方是否有应答,如果有应答就接着发送下一个字节;如果没有应答多次重发该字节,直到有应答,就接着发送下一个字节,如果多次重发后,仍然没有应答就结束。接收数据时,每次接收一个字节(按位接收,接收8个位就是一个字节),向对方发送一个应答信号后,就可以继续接收下一个字节。

本发明说明书中未作详细描述的内容属本领域技术人员的公知技术。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1