基于FlexRay总线的仿真方法

文档序号:6507795阅读:512来源:国知局
基于FlexRay总线的仿真方法
【专利摘要】本发明涉及一种基于FlexRay总线的仿真系统,它由微控制器、至少一个FlexRay控制器和USB模块组成,微控制器与至少一个FlexRay控制器连接,每个FlexRay控制器分别连接至FlexRay总线,微控制器通过USB总线与PC机进行数据传输,从而实现基于PC的FlexRay报文收发,在PC机上运行仿真内核,仿真内核可以同时虚拟多条FlexRay总线,用户可以为每条虚拟FlexRay总线上的仿真FlexRay节点编写代码,从而使得每个虚拟的FlexRay节点都能和与其相连接的真实的FlexRay总线上的节点进行通信。
【专利说明】基于FIexRay总线的仿真方法
【技术领域】
[0001]本发明涉及电子【技术领域】的仿真系统,特别涉及一种基于FlexRay总线的仿真系统。
【背景技术】
[0002]FlexRay是一种用于汽车的高速可确定性的,具备故障容错的总线系统,FlexRay通过在确定的时间槽中传递信息,以及在两个通道上的故障容错和冗余信息的传送,满足了新的x-byiire系统设计思想的对信息传送速度尤其是故障容错与时间确定性的不断增加的需求。在FlexRay总线的开发过程中,为了验证某个节点的功能,通常需要将总线上与此节点交互的其他没有的节点通过计算机虚拟出来,并与真实的网络一起通信,从而对充分验证被测节点的各项性能,和整个网络的性能。
[0003]通常的做法是使用USB转FlexRay的接口卡,将FlexRay总线与计算机连接起来,在上位机上,通过USB接口,周期性地往FlexRay总线上发送需要仿真的节点所发送的报文,以达到模拟节点的目的。这样的方法的缺陷是:无法管理多个虚拟节点的报文收发的逻辑、无法处理节点的特殊行为,比如发送事件报文,或是以一定的逻辑发送报文等。

【发明内容】

[0004]本发明的目的,就是为了克服基于PC机仿真FlexRay总线中虚拟节点的困难,在上位机构建了一个仿真环境,可以仿真任意个虚拟FlexRay节点,并通过USB线实时地与真实的FlexRay总线进行数据通信。
[0005]本发明提供的具体技术方案如下:
[0006]基于FlexRay总线的仿真方法,使用微控制器与至少一个FlexRay控制器连接,每个FlexRay控制器分别连接至FlexRay总线上,微控制器通过USB总线与PC机进行数据传输从而实现FlexRay报文的收发,在PC机上执行仿真,使PC虚拟的每一个仿真FlexRay节点都有自己的行为。
[0007]基于FlexRay总线的仿真方法,包括硬件电路,下位机程序和上位机程序。
[0008]基于FlexRay总线的仿真方法,所述的硬件电路由微控制器、至少一个FlexRay控制器、USB模块组成;微控制器与至少一个FlexRay控制器连接,每个FlexRay控制器连接一个FlexRay收发器,每个FlexRay收发器均连接至一根独立的FlexRay总线上。
[0009]基于FlexRay总线的仿真方法,所述的FlexRay控制器在总线上监听到FlexRay报文或是错误帧后,将监听的数据反馈给微控制器,微控制器将其读入本地报文接收缓冲区,并将接收缓冲区内的数据通过USB模块上传至PC机。
[0010]基于FlexRay总线的仿真方法,所述的USB模块接收到上位机的命令后,对微控制器进行配置,包括FlexRay总线参数的配置等等。
[0011]基于FlexRay总线的仿真方法,所述的每一个仿真FlexRay节点都有相关的代码编写接口,通过编译得到可执行代码,并经由仿真引擎调用执行。[0012]基于FlexRay总线的仿真方法,所述的每一个仿真FlexRay节点都可以接收到通过USB接口上传的总线报文,通过每个节点相应的可执行代码的逻辑以决定仿真FlexRay节点对于总线上的FlexRay事件的反应,需要仿真节点发送的报文将通过仿真内核传输给USB接口并下发到下位机硬件电路,并经由下位机的FlexRay模块发到总线上。
[0013]基于FlexRay总线的仿真方法,它的优势在于,1、设计合理,结构清晰,可以虚拟任意个节点,节点与节点是完全独立,互不影响的;2、可以通过软件模拟节点的任何行为,包括周期性报文的发送和事件报文的发送等等。
【专利附图】

【附图说明】
[0014]图1为本发明实施方法中上下位机连接的总架构图
[0015]图2为本发明实施方法中硬件电路的执行逻辑
[0016]图3为本发明实施方法中仿真引擎的执行逻辑
[0017]图1 中,微控制器(101),FlexRay 控制器(102),FlexRay 收发器(103),FlexRay总线 FlexRayH (104),FlexRay 总线 FlexRayL (105),USB 模块(106),PC 机(109),下位机硬件电路(110),USB线(111),总线上的其他节点(112)
[0018]图2中,FlexRay控制器接收缓冲区(201),FlexRay控制器发送缓冲区(202),本地FlexRay发送缓冲区(203 ),本地FlexRay接收缓冲区(204 ),测试引擎(205 ),报文USB发送缓冲区(208),报文USB接收缓冲区(209),计算机CPU (211),FlexRay总线仿真应用程序(212)
[0019]图3 中,虚拟 FlexRay 总线 FlexRayH (301)、虚拟 FlexRay 总线 FlexRayL (302),仿真引擎(303),虚拟节点(304),USB驱动程序(305),仿真节点已编译代码(306),仿真节点源代码(307 ),编译过程(308 )
【具体实施方式】
[0020]在图1中,下位机硬件电路(110)包含微控制器(101)、USB模块(106)和FlexRay收发器(103),下位机硬件电路(110)通过USB线缆(111)连接至PC机(109),同时通过FlexRay总线FlexRayH (104)和FlexRayL (105)连接至总线上的其他节点(112)。
[0021]总线上的其他节点(112)内部集成FlexRay收发器(103)。
[0022]微控制器(101)连接至少一个FlexRay控制器(102),每个FlexRay控制器的TX引脚与RX引脚分别连接FlexRay收发器(103)的TX引脚和RX引脚,FlexRay收发器的FlexRayH连接至 FlexRay 总线 FlexRayH( 104), FlexRay 收发器的 FlexRayL连接至 FlexRay总线的 FlexRayL (105)。
[0023]微控制器(101),内部集成CPU和内存,与一个或多个独立的FlexRay控制器相连;或是内部集成一个或多个FlexRay控制器;图1显示的是微控制器内部集成一个FlexRay控制器(102)的情形。
[0024]FlexRay控制器(102),作为FlexRay总线的协议转换芯片,负责将FlexRay总线上的报文和错误帧等信息反馈给微控制器,每一个FlexRay控制器都有与FlexRay收发器相连的TX和RX引脚。
[0025]在图2中,下位机硬件电路(110)通过USB线缆(111)连接至PC机(109),PC机(109)包含至少一个中央处理器(211),PC机(109)内部运行FlexRay总线仿真应用程序
(212)。
[0026]下位机硬件电路(110)通过连接FlexRay总线FlexRayH (104)和FlexRay总线FlexRayL (105)与其他节点进行通信。
[0027]下位机硬件电路(110)接收来自FlexRay总线的报文的流程是,其FlexRay控制器(102)通过FlexRay收发器(103)监听到FlexRay报文后,将其缓存至内部的FlexRay接收缓冲区(201),并通知微控制器(101),微控制器(101)通过调用接收函数(204)将收到的报文保存到报文USB接收缓冲区(209),通过USB模块(106)将这些数据上传至PC机(109)。
[0028]下位机硬件电路(110)的发送流程是,下位机微控制器(101)从报文USB发送缓冲区(208)中读取来自USB模块(106)的要发送的报文数据,再通过发送函数(203)将需要发送到总线上的报文放入FlexRay控制器(102)的FlexRay发送缓冲区内,经由FlexRay控制器(102)通过 FlexRay 收发器(103)发送到 FlexRay 总线的 FlexRayH (104)和 FlexRayL
(105)上。
[0029]在图3中,上位机内部运行的FlexRay总线仿真应用程序(212)通过USB驱动程序(305)连接至USB线缆(111),从而与下位机硬件电路(110)之间建立起USB通信。
[0030]上位机FlexRay总线仿真的流程是,通过编辑每个仿真节点的源码,得到仿真节点源码文件(307),通过编译器编译(308)后,得到仿真节点已编译的可执行代码(306),通过仿真弓丨擎(303 )加载所有仿真节点(304 )的可执行代码(306 )以运行虚拟网络的仿真;通过虚拟的 FlexRay 总线 FlexRayH (301)和 FlexRayL (302),从 USB 接口(305)中读取下位机上传的FlexRay报文,并提交给各个虚拟节点(304),虚拟节点(304)根据收到的报文和其他相关状态判断当前应该采取的执行步骤执行,当需要向真实总线发送报文时,将报文数据发送到虚拟FlexRay总线上,再由USB接口驱动程序(305)下发到下位机硬件电路中,经由下位机的FlexRay控制器发到真实总线上,从而完成整个仿真过程。
【权利要求】
1.基于FlexRay总线的仿真方法,它由微控制器、至少一个FlexRay控制器和USB模块组成,其特征在于,微控制器与至少一个FlexRay控制器连接,每个FlexRay控制器分别连接至FlexRay总线,微控制器通过USB总线与PC机进行数据传输,从而实现基于PC的FlexRay报文收发,在PC机上运行仿真内核,仿真内核可以同时虚拟多条FlexRay总线,用户可以为每条虚拟FlexRay总线上的仿真FlexRay节点编写代码,从而使得每个虚拟的FlexRay节点都能和与其相连接的真实的FlexRay总线上的节点进行通信。
2.根据权利要求1所述的基于FlexRay总线的仿真方法,其特征在于,系统包括硬件电路,下位机程序和上位机程序。
3.根据权利要求2所述的基于FlexRay总线的仿真方法,其特征在于,所述的硬件电路由微控制器、至少一个FlexRay控制器、USB模块组成;微控制器与至少一个FlexRay控制器连接,每个FlexRay控制器连接一个FlexRay收发器,每个FlexRay收发器均连接至一根独立的FlexRay总线上。
4.根据权利要求3所述的基于FlexRay总线的仿真方法,其特征在于,所述的FlexRay控制器在总线上监听到FlexRay报文或是错误帧后,将监听的数据反馈给微控制器,微控制器将其读入本地报文接收缓冲区,并将接收缓冲区内的数据通过USB模块上传至PC机。
5.根据权利要求4所述的基于FlexRay总线的仿真方法,其特征在于,所述的USB模块接收到上位机的命令后,对微控制器进行配置,包括FlexRay总线参数的配置。
6.根据权利要求2所述的基于FlexRay总线的仿真方法,其特征在于,所述的每一个仿真FlexRay节点都有相关的代码编写接口,通过编译得到可执行代码,并经由仿真引擎调用执行。
7.根据权利要求6所述的基于FlexRay总线的仿真方法,其特征在于,所述的每一个仿真FlexRay节点都可以接收到通过USB接口上传的总线报文,通过每个节点相应的可执行代码的逻辑以决定仿真FlexRay节点对于总线上的FlexRay事件的反应,需要仿真节点发送的报文将通过仿真内核传输给USB接口并下发到下位机硬件电路,并经由下位机的FlexRay模块发到总线上。
【文档编号】G06F9/455GK103428059SQ201310354727
【公开日】2013年12月4日 申请日期:2013年8月14日 优先权日:2013年8月14日
【发明者】刘矗, 莫莽, 吴宝红 申请人:上海固泰科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1