一种用于仿真器的实时数据采集系统的制作方法

文档序号:9420215阅读:737来源:国知局
一种用于仿真器的实时数据采集系统的制作方法
【技术领域】
[0001]本发明属于飞行仿真技术领域,具体涉及一种用于仿真器的实时数据采集系统。
【背景技术】
[0002](I)仿真器数据采集系统现状
[0003]目前飞行仿真器已成为空军军事训练的重要装备,它既可进行战前仿真训练和演练,提高作战效能;也可进行基本驾驶术、战术和特情处置训练,还可进行战法演练和研究,这对于提高飞行训练效益,保证飞行安全,促进部队的战斗力的生成和发展将起着积极重要的作用。但是,目前仿真器的研制开发存在着各自为政、各成一体的问题,影响和制约着空军模拟化训练的发展。为加快我军飞行仿真系统的发展进程,开发先进、可靠、规范的飞行仿真系统,通用化、标准化就成为迫切需要解决的问题。
[0004]仿真器数据采集系统在飞行仿真系统中占有十分重要的位置,无论何种飞行仿真系统都需要进行数据采集系统设计,因此该系统的标准化、通用化就成为特别需要解决的问题,同时标准化、通用化数据采集技术在飞行仿真系统也可得到广泛应用。
[0005]飞机座舱特别是先进战机座舱中控制结点多,逻辑关系复杂,它的仿真控制是一项比较繁重的工作。为这些结点设计和联接的控制线路,其可靠程度和可维护程度直接影响着整个装备的可靠性和可维护性。
[0006]飞行模拟器装备到部队后,设备维护和可靠性是关键问题。以往采用的仿真座舱信号采集系统配线复杂、焊点数量大,不便于整个装备的维护。
[0007](2) CAN总线技术应用分析
[0008]CAN (Controller Area Network)属于现场总线的范畴,是众多现场总线标准之一。它是一种有效支持分布式控制和实时控制的串行总线通信协议,主要描述设备之间的信息传递方式能有效地支持具有很高安全等级的分布式实时控制。
[0009]虽然CAN总线本身具有较高的实时性,但在CAN总线网络中,同一时刻多个报文的同时发送会给系统造成严重的阻塞,降低系统的性能,使得系统的瞬间负载增加。CAN总线采用了非破坏性总线仲裁技术,可以保证冲突发生的时候,具有较高优先级的节点在竞争中胜出,获得数据发送权,然后发送数据。因为网络信息源较多,会造成优先级较低的节点在多次发送数据时与优先级高的节点冲突,并且在竞争中失败而不能发送数据。这样就会导致优先级较低站点数据传输延时的不确定性,时而较大,时而较小,这都将影响控制系统的性能或使系统不稳定。

【发明内容】

[0010]鉴于以上对于仿真器数据采集系统的现状分析,本发明提供一种用于仿真器的实时数据采集系统,形成一套具有通用性和标准化的开发平台应用于更多模拟设备中,解决长期以来座舱信号采集系统布线复杂、维护困难等诸多问题。
[0011]为了解决上述技术问题,本发明的技术方案为:
[0012]一种用于仿真器的实时数据采集系统,包括在上位计算机上采用一块CAN总线通讯适配卡,在下位机上设计了遵循CAN2.0B总线通信协议的数据采集卡,每套系统根据座舱接口系统的接口数量和仪表系统所需使用的控制信号的数量决定下位机中数据采集卡的多少,整个组成一个完整的数据采集系统;所述下位机软件模块主要采用单片机技术完成座舱信号的分类采集处理,然后按照CAN2.0B的总线标准设计与座舱控制计算机的通讯软件,将数据传输给上位机或从上位机接收数据。
[0013]该系统通过动态更新软件通讯波特率及动态优先级分配的算法来解决由CAN总线仲裁方式引起的实时性问题;所述动态更新软件运行在上位机,将应用程序代码通过CAN总线发送给下位机节点;运行在下位机节点的引导程序响应下载命令,接受代码,把代码写入程序存储器,引导应用程序。
[0014]所述引导应用程序用于接收来自上位机新的代码,将其烧写到相应的程序存储空间,完成后跳转到应用代码区去执行新的程序,代码比较少,编译生成的映像文件小于4KB,每次系统上电或重启后先执行引导程序;所述应用程序完成CAN总线下位机节点的数据采集和控制;用户数据区用于存储应用程序的一些设置和数据。
[0015]所述引导应用程序的实现流程:当用户需要更新应用代码时,上位机通过CAN总线向各个下位机节点发送升级命令;下位机节点开机后自动运行引导程序,引导程序会检测有没有升级命令,如果有的话,则接收应用程序代码,直到完成整个升级;如果没有,则运行应用程序。
[0016]所述动态更新软件通讯波特率采用基于参数监测的自适应波特率计算方法:CAN总线传输速率由内部的总线定时寄存器O(BTRO)和总线定时寄存器I(BTRl)共同决定,通过修改BTRO和BTRl值实现CAN总线波特率设置;根据模拟器各节点通信速率、系统实时性、稳定性及扩展性的需求,通过基于参数监测的CAN总线自适应波特率计算方法实时计算最优波特率值,可在仿真系统程序初始运行、总线错误中断、未接收中断和监控到超阈参数时,通过执行相应的自适应波特率计算程序,设置最优CAN总线波特率参数值。
[0017]所述CAN总线波特率设置为125k bps,250k bps,500k bps和IM bps,满足节点可扩展、响应时间小于10ms、总线负载小于30%等要求;当出现仿真系统程序初始运行、总线错误中断、未接收中断和监控到超阈参数等条件时,启动自适应波特率计算程序,在当前波特率等级下进行监测试验,启动接收中断监测功能;其中波特率的等级N设置值,N = I时,波特率为125k bps, N = 2时,波特率为250k bps, N = 3时,波特率为500k bps, N = 4时,波特率为IMbps ;如果监测到总线错误中断或总线负载大于30%时,需要降低波特率等级;如果监测到节点未接收中断或相应时间大于1ms时,需要增加波特率等级;当所有中断条件和参数条件都满足的情况下,测试N+1级波特率是否满足上述条件,如果满足继续进行监测试验,如果不满足条件,则当前N值即为最优波特率参数;保存N值并将重置CAN总线波特率。
[0018]所述动态优先级分配算法是基于原有CAN总线事件触发协议的基础上,随着时间的推移动态调整各个节点的优先级的一类算法,相对于原有的固定优先级,它使每个站点都有相同的权力来享受总线的带宽,避免优先级较低的站点得不到总线占有权,保证网络数据传输的实时性;在本系统中初始条件下,每个站点的优先级各不相同,在没有发生冲突的情况下,各个站点按初始固定优先级完成数据的发送;当发生冲突后,优先级高的站点在竞争中胜出发送数据,为了能让失败的站点在下次的竞争中有更大的概率胜出,可以把竞争失败站点的优先级提高一个等级来参加下一次的竞争;如果仍然失败再进一步提高优先级等级;即使失败了若干次,但这时候该站点的优先级已经相当高,竞争胜出的概率也会很大;需要注意的是当优先级低的站点在优先级提高的情况下获得数据发送权并发送完数据后,必须把升级的优先级降低为初始优先级,以保证网络的正常运行。
[0019]为了避免在站点优先级提高后网络中有出现两个或者多个站点具有相同的优先级,采用下面的方法来避免,定义在帧格式中,表示站点优先级的位数为k,可以表示的最大数为2k-l ;网络中的节点数η必须满足n ( k,每个站点的初始固定优先级为2k-n_a, a为[O, k-1]区间的一个值;当站点竞争失败后,优先级的增加算法是:新优先级=原站点优先级-1 ;这样可以避免软件优先级出现相同数值。
[0020]该系统工作流程为:该系统在整个模拟器中完成整个仿真座舱内部的所有工作,通过网络与外部建立数据通信;整套系统上电后首先进行系统实时性监测并将结果传输到上位机,然后根据主调度算法将各节点数据传输到上位机,通过上位机与模拟器其它系统进行数据交互;该平台的整个数据采集周期受上位机控制;在软件流程上,上位机软件作为系统主调度节点通过调度报文对于下位机节点数据进行调度,上位机首先扫描下位机节点数量是否发生变化,如果变化对各节点进行重新动态注册,修改各节点通讯数据结构;根据CANScope软件监控总线负载是否超过30%,系统延时是否大于1ms来确定是否对系统波特率进行动态修改,如果满足相应的条件分别进入动态修改波特率程序;然后通过判断节点是否存在冲突决定是否调用动
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1