2。3 Truetime工具箱介绍
2002年,瑞典隆德大学自动化系(Lund Institute of Technology)的Martinohlin,Dan Henriksson和Anton Cervin 推出基于MATLAB/Simulink的针对网络控制系统的Truetime仿真工具箱。Truetime针对某一特定的网络协议,可以实现系统的实时控制和调度的综合仿真。该工具箱最新版本为2。0版本,本文所用的即为2。0版本Truetime仿真工具箱。
2。3。1 Truetime2。0版本工具箱组成
Truetime2。0版本模块库如图2。2所示,主要由主要由五个模块组成:Truetime Kernel,Truetime Network,Truetime Wireless Network,Truetime Battery和Truetime Ultrasound Network等模块组成。相对于1。5版本,2。0版本的网络接口(各模块的输入输出通道)全部集中于两个模块,并在代码中体现出来。下面主要介绍实时内核模块Truetime Kernel和网络模块Truetime Network。
图2。2 Truetime2。0版本工具箱组成模块
Truetime Kernel:此模块是网络控制系统的网络节点,具有非常灵活的实时内核,里面有A/D、D/A的转换接口,资源占用网络的实时监控输出端口。模块按照使用者自己定义的任务工作,任务的执行由内部和外部的事件发生决定,内部事件与外部事件的产生由中断方式进行,当中断发生时,模块调用用户定义的中断句柄,中断服务子程序开始执行。所有任务都是由用户编写的代码实现,可以用C++语言或者MATLAB进行编写。在此模块的代码中可以设定调度策略,预先定义好可供选择的调度策略有:Rate-Monotonic(RM),Deadline-Monotonic(DM),Fixed-Priority(FP),Earliest-Deadline-First(EDF)调度,另一种选择是使用者自己独立编写优先权函数来实现自己的调度策略。实现调度策略的代码:
ttInitKernel(prioFcn);来;自]优Y尔E论L文W网www.youerw.com +QQ752018766-
其中prioFcn为'prioFP' , 'prioDM' ,'prioEDF'三者之一。本课题选用的是EDF调度策略。在内核模块的属性设置表中可以设置模拟的输入输出通道数和网络节点序号等元素。
图2。3 内核模块属性设置表
Truetime Network:此模块是网络控制系统的通信模块,它提供了多种网络模式和参数,例如网络节点数目、媒体访问控制协议、传输速率、数据丢失率等等。其中,媒体访问控制协议有:CSMA/CD(带有冲突检测的载波监听随机访问)、CSMA/AMP(带有优先级仲裁的载波监听多路访问)、Round Robin(令牌总线网络)、FDMA(频分多路复用)、TDMA(时分多路复用)、Switched Ethernet。网络模块与内核模块不同,采用的是事件驱动方式,当有消息进出网络时,网络模块启动工作。在网络模块属性设置表中可以设置介质访问控制协议、网络节点数和数据传输速率等元素。本课题选用的是CSMA/AMP(CAN)协议。