CAN总线通信过程的Stateflow建模与仿真
- 格式:pdf
- 大小:264.11 KB
- 文档页数:4
Dspace Canoe Stateflow三种软件的比较20年前,dSPACE开启了实时控制系统的先河,吸引了全球无数的眼光,今天的dSPACE已经成为开发和测试机械控制系统工程的市场领导者。
dSPACE(digital SignalProcessing And Control Engineering)实时仿真系统是由德国dSPACE公司开发的一套基于MAT-LAB/Simulink的辅助系统开发及半实物仿真的软硬件工作平台,实现了和MATLAB/Simulink/RTW的完全无缝连接,使得控制器的仿真模型和算法能够通过dSPACE应用于伺服控制器的开发。
1.1 dSPACE的功能特点dSPACE实时系统由两部分组成,一是硬件系统,二是软件环境。
Dspace 的软件环境主要由两大部分组成,一部分是实时代码的生成和下载软件RTI(Real 一TimenIetarfec),它是连接dSAPCE实时系统与Matlab/simulink纽带,通过对RTW(Real一TimeWorkshop)进行扩展,可以实现从simulnik模型到dSAPCE实时硬件代码的自动下载。
另一部分为测试软件,其中包含了综合实验与测试环境(软件)ControlDesk、自动试验及参数调整软件MUB/MTRACE、PC与实时处理器通信软件CUB以及实时动画软件RealMotion等。
硬件系统主要分两大类:一是把处理器和I/O集成到一个板子上,形成一个完整的实时仿真系统的单板系统;二是将实时处理器和用户接口完全分开,以实现处理器能力和I/O能力的自由扩展,处理器和I/O之间通信由PHS(PeriPheral High一Speed Bus)总线实现的标准组件系统。
dSAPCE实时仿真系统具有许多其它仿真系统具有的无法比拟的优点:dSAPCE组合性很强、dSAPCE的过渡性和易于掌握和使用、对产品实时控制器的支持性强、快速性好、性能价格比高、实时性好、可靠性高、灵活性强。
CAN现场总线通信控制协议的仿真及性能分析控制器局域网(CAN)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。
它是由德国博世公司在20 世纪80 年代专门为汽车行业开发的一种串行通信总线。
由于其通信速率高、工作可靠、调试方便、使用灵活和性价比高等优点,己经在汽车业、航空业、工业控制、安全防护等领域中得到了广泛应用,被公认为几种最有前途的总线之一,其协议也发展为重要的国际标准。
随着CAN 总线在各个行业和领域的广泛应用,其通信性能也越来越受到人们的关注。
目前,已有很多学者对CAN 总线通信性能进行分析研究。
文中在分析CAN 总线通信控制协议的基础上,在MATLAB/Sinulink 软件Stateflow 仿真环境下,利用有限状态机理论对CAN 总线通信系统进行了形式化建模。
通过此仿真模型,分析了CAN 总线通信系统中负载率的变化对网络吞吐量、平均信息时延、通信冲突率、网络利用率、网络效率以及负载完成率的影响。
1 CAN 总线通信控制协议根据ISO11898(1993)标准,CAN 从结构上分为物理层和数据链路层,数据链路层又包括逻辑链路层控制子层(LLC)和介质访问控制子层(MAC)。
在CAN 总线系统中,节点间通过公共传输介质传输数据,因而数据链路层是总线的核心部分。
CAN 总线数据链路层的通信介质访问控制方式为事件触发,采用CSMA/CD.只要总线空闲,网络上任意节点均可在任意时刻主动地向网络上其他节点发送信息,而不分主从,节点在请求发送信息时,首先侦听总线状态,若总线空闲(或等待至总线空闲)则开始发送。
当多个节点同时发送产生冲突时,采用非破坏性位仲裁机制,即借助ID 标识符及逐位仲裁规则,低优。
port_label('input',1,'signal');port_label('output',1,'gain');port_label('output',2,'saturation');port_label('output',3,'sample');port_label('output',4,'error');image(imread('dianji.jpg'))第3章Stateflow建模与应用Stateflow是有限状态机(finite state machine)的图形工具,它通过开发有限状态机和流程图扩展了Simulink的功能。
Stateflow使用自然、可读和易理解的形式,可使复杂的逻辑问题变得清晰与简单,并且还与MATLAB\Simulink紧密集成,为包含控制、优先级管理、工作模式逻辑的嵌入式系统设计提供了有效的开发手段,是本书的核心内容之一。
读者在5~8章将看到Stateflow应用于MCU器件的嵌入式开发,尤其显得得心应手,一些采用传统方法难于实现的算法,如果利用Stateflow建模却非常容易。
大到导弹、航空航天器的控制,小到点亮一个发光二极管,Stateflow都非常称职。
Stateflow状态图模型,还可利用Stateflow Coder 代码生成工具,直接生成C代码。
Stateflow的主要功能包括:●使用层次化、可并行的、有明确执行语义的元素,来描述复杂的逻辑系统。
●采用流程图定义图形化函数。
●利用真值表实现表格形式的功能。
●使用临时逻辑处理状态转移与事件。
●支持Mealy和Moore有限状态机。
●可集成用户自定义的C代码。
●可用动画的形式显示状态图的仿真运行过程,并可记录数据。
●调试器使用图形化断点进行单步调试,并可观察其中的数据。
Dspace Canoe Stateflow三种软件的比较20年前,dSPACE开启了实时控制系统的先河,吸引了全球无数的眼光,今天的dSPACE已经成为开发和测试机械控制系统工程的市场领导者。
dSPACE(digital SignalProcessing And Control Engineering)实时仿真系统是由德国dSPACE公司开发的一套基于MAT-LAB/Simulink的辅助系统开发及半实物仿真的软硬件工作平台,实现了和MATLAB/Simulink/RTW的完全无缝连接,使得控制器的仿真模型和算法能够通过dSPACE应用于伺服控制器的开发。
1.1 dSPACE的功能特点dSPACE实时系统由两部分组成,一是硬件系统,二是软件环境。
Dspace 的软件环境主要由两大部分组成,一部分是实时代码的生成和下载软件RTI(Real 一TimenIetarfec),它是连接dSAPCE实时系统与Matlab/simulink纽带,通过对RTW(Real一TimeWorkshop)进行扩展,可以实现从simulnik模型到dSAPCE实时硬件代码的自动下载。
另一部分为测试软件,其中包含了综合实验与测试环境(软件)ControlDesk、自动试验及参数调整软件MUB/MTRACE、PC与实时处理器通信软件CUB以及实时动画软件RealMotion等。
硬件系统主要分两大类:一是把处理器和I/O集成到一个板子上,形成一个完整的实时仿真系统的单板系统;二是将实时处理器和用户接口完全分开,以实现处理器能力和I/O能力的自由扩展,处理器和I/O之间通信由PHS(PeriPheral High一Speed Bus)总线实现的标准组件系统。
dSAPCE实时仿真系统具有许多其它仿真系统具有的无法比拟的优点:dSAPCE组合性很强、dSAPCE的过渡性和易于掌握和使用、对产品实时控制器的支持性强、快速性好、性能价格比高、实时性好、可靠性高、灵活性强。
stateflow仿真优点以stateflow仿真优点为标题,写一篇文章。
在系统建模和仿真领域,stateflow是一种被广泛使用的工具,它提供了一种直观而强大的方法来描述和模拟系统的行为。
stateflow的仿真优点包括以下几个方面。
stateflow提供了一种直观的图形化建模界面,使得系统的行为可以用状态图的形式进行描述。
这种图形化建模方式不仅使得系统的行为更加可视化,而且可以更容易理解和检查系统的逻辑。
与传统的文本编程相比,stateflow的图形化界面可以更直观地展示系统的状态转移和事件触发,使得系统的建模更加高效和准确。
stateflow具有强大的仿真能力。
它可以对系统进行高度精确的仿真,模拟系统在不同状态下的行为,并可以根据不同的输入条件和事件触发进行相应的响应。
stateflow提供了丰富的仿真工具和功能,可以对系统进行逐步调试和分析,帮助开发人员快速定位问题并进行修复。
通过stateflow的仿真功能,系统的开发和测试过程变得更加高效和可靠。
第三,stateflow具有灵活的扩展性。
它可以与其他建模和仿真工具进行无缝集成,如Simulink等,从而实现更复杂系统的仿真和分析。
stateflow可以与Simulink中的模型进行交互,通过对系统的状态进行建模和仿真,可以更好地理解系统的行为和性能。
同时,stateflow还提供了丰富的函数库和工具箱,可以满足不同系统建模和仿真的需求。
stateflow还具有良好的可视化和文档生成能力。
它可以自动生成系统的状态图和状态转移图,并支持导出为各种格式,如PDF、Word等。
通过这些可视化和文档生成功能,开发人员可以更好地与团队成员进行沟通和交流,并可以方便地记录系统的设计和实现过程。
stateflow作为一种强大的系统建模和仿真工具,具有直观的图形化建模界面、强大的仿真能力、灵活的扩展性以及良好的可视化和文档生成能力。
它不仅可以提高系统开发的效率和可靠性,而且可以帮助开发人员更好地理解和分析系统的行为和性能。
第37卷第7期 计算机应用与软件Vol 37No.72020年7月 ComputerApplicationsandSoftwareJul.2020智能汽车CAN总线通信系统的建模与验证张 芮 王 瑞 楚 敏(首都师范大学信息工程学院 北京100048)(首都师范大学轻型工业机器人与安全验证北京市重点实验室 北京100048)收稿日期:2019-03-18。
国家自然科学基金项目(61702348,61572331,61472468)。
张芮,硕士生,主研领域:形式化验证。
王瑞,教授。
楚敏,硕士生。
摘 要 车载通信系统是智能车辆与外界环境交互的媒介和内部报文信息传输的载体。
为了保证智能车辆通信系统的安全性和可靠性,对智能汽车基于控制器局域网络(ControlAreaNetwork,CAN)总线的通信过程进行分析并建立时间自动机模型。
加入对通信过程中网关的分析和建模,模拟外部环境到内部单元之间不同速率通信过程;抽取车辆通信系统需要满足的属性。
运用模型检测工具验证了智能车辆通信的实时性和正确性。
结果表明该模型可以满足有关属性,确保车辆在遇到突发紧急的交通情况下,通信系统能够及时传递数据,车辆做出正确的反应并且辅助驾驶员做出相应操作。
关键词 形式化验证 智能汽车 控制器局域网络总线 通信系统 时间自动机中图分类号 TP311 文献标志码 A DOI:10.3969/j.issn.1000 386x.2020.07.001MODELINGANDVERIFICATIONOFCANBUSCOMMUNICATIONSYSTEMININTELLIGENTVEHICLEZhangRui WangRui ChuMin(CollegeofInformationEngineering,CapitalNormalUniversity,Beijing100048,China)(BeijingKeyLaboratoryofLightIndustrialRobotandSafetyVerification,CapitalNormalUniversity,Beijing100048,China)Abstract Vehicle mountedcommunicationsystemisthemediumforintelligentvehiclestointeractwiththeexternalenvironmentandthecarrierforinformationtransmissionofinternalmessage.Toensurethesafetyandreliabilityoftheintelligentvehiclecommunicationsystem,thecommunicationprocessofintelligentvehiclebasedonCANBUSisanalyzedandatimedautomatamodelisestablished.Theanalysisandmodelingofthegatewayinthecommunicationprocesswereaddedtosimulatethedifferentratecommunicationprocessfromtheexternalenvironmenttotheinternalunit.Theattributesthatthevehiclecommunicationsystemneedstomeetwereextracted.Thereal timeandcorrectnessofintelligentvehiclecommunicationwereverifiedbyusingmodeldetectiontools.Theverificationconclusionshowsthatthemodelcanmeettherelevantattributes,whichensurethatthecommunicationsystemcantimelytransferdata,thevehiclemakesthecorrectresponseandassistthedrivertomakethecorrespondingoperationincaseofemergencytraffic. Keywords Formalverification Intelligentvehicle CANBUS Communicationsystem Timedautomata0 引 言智能汽车的兴起为普通汽车向无人驾驶汽车转变提供了可能性,但这个过程不是一蹴而就的,需要经历一个漫长的时期[1]。
CAN总线仿真环境的构建及在教学中的应用0 引言由于在汽车工业的快速发展过程中,需要安装在汽车上的电子设备不继增加,因此点对点连接这些汽车电子设备的专用电子线路迅速膨胀,连接起来更加复杂和繁琐。
为进一步提高系统的可靠性和故障诊断能力,将连接线路进行简化,使数据资源在各电控单元之间进行共享更加方便,汽车网络总线技术就是有效解决这个问题的方法[1-2]。
在车载网络通信中,由于CAN总线具有布线简单、典型的总线型结构、能够有效地节约布线和维护成本、性能稳定可靠、实时性与抗干扰能力强、传输的距离远等一系列优点,因此在现代工业控制中应用广泛。
由于CAN 总线通信网络的设计有很多参数需要设置,而CAN总线工作性能直接受到这些参数设定的影响,但是在没有辅助工具帮助的情况下,参数的有效设定只能凭汽车工程师的经验和不断地尝试摸索。
因此,需要有合适的工具和可行的方法对CAN总线网络进行有效的仿真和评估,从而提高汽车工程师设计CAN总线网络以及在评估CAN总线网络性能方面的效率[4]。
1 CAN总线协议分析为了能实现对CAN总线网络的仿真,非常有必要对CAN总线通讯协议进行深入研究。
须建立起任意两个或多个CAN设备之间的兼容性,这是CAN 总线通讯协议定义的目的。
CAN总线具有以下特性[5]:①报文的优先权;②保证延迟时间;③设置灵活;④系统内数据的一致性(System Wide Data Consistency);⑤多主机(对等);⑥错误检测和错误标定;⑦当总线处于空闲时,能够自动将破坏的报文重新传输;⑧能够将网络节点的永久性错误和暂时性错误区分开,并且可以将CAN的错误节点自动关闭。
CAN的ISO/OSI参考模型的分层结构如图1所示[6]。
从其参考模型的分层结构可以看出,CAN通讯协议的结构划分为两层:数据链路层(Data Link Layer)与物理层(Physical Layer)。
在CAN中,为了解决不同通信节点之间进行消息传输时的电气属性,物理层为所有通信节点共享使用。
控制策略模型建模规范(STATEFLOW)6.1. 基本行为和状态1. Stateflow模块中至少有两个状态,且要有默认状态,每个状态不能只有一个子状态。
2. Stateflow状态图嵌套不能多于3层。
3. 单一状态视图内的子状态个数控制在6个以内,最高不超过9个。
4. Stateflow中的逻辑,不使用MATLAB函数、指令、运算符。
5. 逻辑类型的信号禁止执行比较操作。
(使用if(logical type signal))6. 逻辑运算不能用于两个布尔值。
([true && false])7. 布尔类型的信号不能与数字0、1或逻辑值true、false进行比较操作。
8. 不同类型的数据禁止执行比较操作,如果需要必须首先执行显示类型转换的操作。
9. 禁止对两个浮点类型的数值执行严格的==或!=判断操作。
10. 禁止对无符号数执行取负操作[-]。
11. 如果需要翻转逻辑类型的信号,应使用布尔操作NOT。
12. 取反符号:~用于位操作按位取反,!用于逻辑取反操作。
6.2. 事件、变量设置1. 同一个变量在单个Stateflow范围内不应该有多重定义。
2. 未使用的事件和变量不允许出现在Stateflow图块中。
3. 并行的图块或状态机中不允许出现同名的局部数据。
4. Stateflow中除0用于初始化变量,1用于自增自减操作外外,不允许常量和变量直接使用数值。
5. 事件必须定义在chart或者更低的级别,不允许chart之间进行事件交互。
6. 除触发调用函数调用子系统外,事件不应该用作状态转移的驱动条件。
7. 为了便于可读性,事件en:、du:、ex:每个应单独起一行;每个事件具体内容也应单独起一行。
6.3. 标签Stateflow的输入输出端口名称应与相应信号名称一致。
6.4. 条件与条件动作1. 条件表达式只能使用返回值为布尔类型的表达式,不允许使用整形数值。
2. 动作类型(entry(en),during(du),exit(ex),en,du: ,du,ex: ,en,ex: ,en,du,ex:)不能多次重复描述,且合并动作(en,du: ,du,ex: ,en,ex: ,en,du,ex:)的描述只能在动作序列的最顶层或最底层放置。