RTLinux下FlexRay的通信设计与实现

VIP免费
3.0 侯斌 2024-11-19 4 4 3.45MB 78 页 15积分
侵权投诉
摘 要
工业已成为衡量一个国家生产力的重要标准,其中控制技术是工业发展中不
可替代的关键环节。早期的工业控制技术已无法满足当今社会的需求,工业控制
技术正向着网络化、系统化的方向发展,越来越多的控制节点被运用到控制系统
中,大信息量的吞吐以及实时性的要求已经成为了传统控制技术的瓶颈,这就促
使了实时分布式控制系统的发展。
实时分布式控制系统有两个关键技术分别是控制网络和控制系统,其中控制
网络决定了数据传输的效率、速度、实时性等方面,而控制系统则决定了任务执
行的效率、速度、实时性等方面。目前国内外所开发的实时分布式操作系统只针
对其中一点进行研究,往往会造成数据实时发送和任务实时执行两者只可取其一,
本文将控制网络和控制系统结合起来构建实时分布式控制系统以解决这个问题。
根据实时分布式控制系统的要求,本文将使用实时总线 FlexRay 构建实时分布
式控制系统的通讯网络,采用飞思卡尔 MC9S12XF512 作为 FlexRay 通信控制器,
分析了 FlexRay 网络中的数据链路层,根据其特性重点设计了 FlexRay 通信驱动,
包括网络节点参数配置、通信控制以及报文缓冲器部分,并实现了 FlexRay 节点实
时发送和接收数据的功能,解决了控制网络中数据传递的实时性问题。实时分布
式控制系统的控制部分使用 RTLinux 内核,硬件平台依托三星 S3C2440,通过
RTLinux 裁剪和编译获得镜像文件,构建了 RTLinux 的软件平台,运用其自带的
RM 算法设计了 FlexRay 周期任务的调度,由于 RM 算法不适宜对 FlexRay 非周期
任务进行调度,本文对 RM 算法进行了改进,将非周期任务变为伪周期任务,以
静态的方式为其分配优先级,使其能够对非周期任务进行调度,解决了控制系统
实时调度执行任务的问题,构建一个基于 RTLinux FlexRay 的实时分布式控制
系统。
本文设计的基于 RTLinux FlexRay 的实时分布式控制系统,将以线控转向
系统作为控制对象,采用 CANoe 进行实时性评估。根据各个节点采集的数据进行
分析,验证了该系统在一般情况下能够满足实时性,通过人为手段增加任务执行
时的不利因素,测试 RTLinux 调度任务的能力,验证 RTlinux 在较差环境下处理任
务时依旧能够满足实时性要求。试验表明该分布式系统即满足实时性的要求,也
能满足在较差环境下对任务的实时调度。同时基于 RTLinux FlexRay 的实时分
布式系统具有模块化强、连线简单、可靠性高以及响应速度快等优点。
关键词:实时分布式控制 FlexRay RTLinux RM 调度算法
ABSTRACT
The industry has become an important criterion for measuring a country's
productive forces, which control technology is a key part of that industrial development
cannot be replaced. Early industrial control technology has been unable to meet the
needs of today's society, industrial control technology is toward the development of
network-based and systematic , more and more control node is applied to the control
system, large amount of information throughput and real-time requirements has become
the bottleneck of the traditional control technology, which prompted the development of
real-time distributed control system.
The real-time distributed control system has two key technologies ,which are
control network and control systems, the control network determines the efficiency,
speed and real-time data transmission, the control system determines the efficiency of
task execution, speed, real-time and so on. Now home and abroad develop real-time
distributed operating system only at one point , tends to send real-time data or the task
of real-time implementation . This article will combines control network and control
system and build real-time distributed control system to solve this problem.
According to the requirements of real-time distributed control system, this paper
will build the communication network of real-time distributed control system with
FlexRay , using the the Freescale MC9S12XF512 as FlexRay communication controller,
analyze the data link layer in a FlexRay network. According to their characteristics ,
focused on the design of a FlexRay communication drivers, including the parameter
configuration of network nodes, the communication control and message buffer section,
to achieve real-time data transmission in the FlexRay control network.
The control part of the real-time distributed control systems using the RTLinux
kernel, hardware platforms rely on the Samsung S3C2440, constructed software
platform by cutting and compiling RTLinux image file of RTLinux , using its own RM
algorithm to design the FlexRay cycle task scheduling. RM algorithm is not suitable for
the FlexRay non-periodic task scheduling, so improved the RM algorithm by changing a
periodic tasks into a pseudo-periodic task, and assign a priority in a static way. In
which way, we can schedule the non-periodic task with the RM algorithm.
In this paper, the real-time distributed control system based on RTLinux and
FlexRay will use the steer-by-wire system as the control object and CANoe as the
real-time assessment. Analyzing the data collected by each node, verifies that the system
under normal circumstances can meet the real-time requirements. By artificial means to
increase the adverse factors in the task execution, test the ability of the RTLinux
scheduler task, verifies that RTlinux processing tasks under a poor environment will still
be able to meet the real-time requirements. The experiments show that the distributed
system can not only meet the real-time requirements, but also meet the real-time
scheduling tasks in the poor environment. The real-time distributed systems based on
RTLinux and FlexRay have the advantage of modular, simple connection, high
reliability and fast response.
Key words: The real-time distributed systems, FlexRay, RTLinux.
RM
目 录
中文摘要
ABSTRACT
第一章 绪 论 ......................................................... 1
§1.1 汽车总线技术的发展与比较 ................................... 1
§1.2 嵌入式实时操作系统的发展 ................................... 3
§1.3 实时嵌入式操作系统的比较 ................................... 5
§1.4 国内外实时分布式系统的研究情况 ............................. 7
§1.5 实时分布式系统的要求 ....................................... 7
§1.6 本文所做的主要工作 ......................................... 8
第二章 FlexRay 总线协议特征 .......................................... 9
§2.1 帧结构 ..................................................... 9
§2.1.1 头部段 ................................................ 9
§2.1.2 负载段 ............................................... 10
§2.1.3 尾部段 ............................................... 10
§2.2 FlexRay 媒体访问层 ......................................... 11
§2.2.1 FlexRay 媒体访问时间层次 ............................. 11
§2.2.2 FlexRay 媒体访问时间结构 ............................. 12
§2.3 FlexRay 编码与解码 ......................................... 12
§2.3.1 帧编码 ............................................... 12
§2.3.1 帧解码 ............................................... 13
§2.4 FlexRay 时钟同步 ........................................... 14
§2.5 FlexRay 协议运行控制器 ..................................... 15
§2.5.1 POC 状态转换 ......................................... 15
§2.5.2 POC 状态转换原因 ..................................... 16
§2.5 FlexRay 时滞性分析 ......................................... 17
§2.7 本章小结 ................................................... 18
第三章 RTLinux 内核分析 ............................................. 19
§3.1 RTLinux 内核特点 ........................................... 19
§3.1.1 内核结构 ............................................. 19
§3.1.2 定时器优化 ........................................... 20
§3.2 RTLinux 进程处理 ........................................... 21
§3.2.1 进程的状态及切换 ..................................... 21
§3.2.2 进程控制 ............................................. 22
§3.2.3 进程优先级 ........................................... 23
§3.3 RTLinux 进程通讯机制 ....................................... 24
§3.3.1 文件锁同步机制 ....................................... 24
§3.3.2 管道机制 ............................................. 25
§3.4 中断与异常 ................................................ 26
§3.4.1 中断机制 ............................................. 26
§3.4.2 异常机制 ............................................. 29
§3.5 调度算法 .................................................. 29
§3.5.1 FIFO 与时间片轮转调度算法 ............................ 29
§3.5.2 RM 调度算法 .......................................... 30
§3.5.3 EDF 调度算法 ......................................... 30
§3.6 本章小结 .................................................. 31
第四章 RTLinux 下 FlexRay 通信的设计 ................................ 32
§4.1 实时分布式系统总体结构设计 ................................ 32
§4.2 实时性设计方案 ............................................ 33
§4.4 软件设计方案 .............................................. 34
§4.5 本章小结 .................................................. 35
第五章 硬件平台的实现 ............................................... 36
§5.1 通信模块的实现 ............................................ 36
§5.1.1 通信控制器设计 ....................................... 37
§5.1.2 报文缓冲器应用 ....................................... 38
§5.1.3 FlexRay 驱动器应用设计 ............................... 41
§5.1.4 SPI 应用设计 ......................................... 42
§5.3 控制对象的硬件设计 ........................................ 45
§5.3.1 转角传感器设计 ....................................... 45
§5.3.2 转向执行器设计 ....................................... 47
第六章 RTLinux 平台构建及 FlexRay 软件设计 ............................ 48
§6.1 FlexRay 节点程序设计 ....................................... 48
§6.1.1 FlexRay 统一驱动 ..................................... 48
§6.1.2 FlexRay 节点参数配置 ................................. 49
§6.1.3 FlexRay 节点初始化 ................................... 49
§6.1.3 FlexRay 串口程序设计 ................................. 52
§6.2 嵌入式 RTLinux 平台搭建 .................................... 53
§6.2.1 BootLoader ........................................... 54
§6.2.2 RTLinux 内核编译 ..................................... 55
§6.2.3 文件系统 ............................................. 56
§6.3 RTLinux 串口驱动设计 ....................................... 57
§6.4 RTLinux 实时进程调度设计 ................................... 59
§6.4.1 实时进程调度程序实现 ................................. 59
§6.4.2 非周期任务的调度 ..................................... 61
§6.5 本章小结 .................................................. 62
第七章 RTLinux 下 FlexRay 通信的性能测试 .............................. 63
§7.1 测试平台描述 .............................................. 63
§7.2 RTLinux 下 FlexRay 通信实时性测试 ........................... 64
§7.2.1 一般情况下实时性测试 .................................... 64
§7.2.2 较差情况下实时性测试 .................................... 66
§7.3 本章小结 .................................................. 68
第八章 总结与展望 ................................................... 69
§8.1 课题工作总结 .............................................. 69
§8.2 展望和未来发展方向 ........................................ 70
参考文献 ............................................................ 71
第一章 绪论
1
第一章 绪 论
§1.1 汽车总线技术的发展与比较
在电子和半导体技术发展的推动下,车载电子也正向着多元化,模块化和高
集成化的方向发展。由于电子装置拥有高效,经济和稳定等优势,越来越多的电
子控制装置出现在汽车上,比如防抱死制动装置(Antilock Brake System
ABS、安全气囊、电动雨刷、电子燃油喷射装置、电子防盗系统、线控转向技术
等。各种各样的车载电子被运用于汽车驾驶的方方面面,虽然使汽车驾驶更为舒
适也更为安全,但是也带来了新的问题。单一的电子控制单元可以通过点对点的
传输手段来进行数据通讯,但是当有多个电子控制单元共同或者协同工作时,这
样的传输手段显然完全无法满足我们的需求。多个电子控制单元工作也就意味着
会产生大量的数据信息,为了满足实时性,必须提高数据的传输速率,同时为了
满足数据的真实可靠性,必须提高数据的错误冗余能力。每一年汽车上的电子控
制装置都会以倍数增加,所以迫切需要一种能够运用于汽车的数据传输手段来解
决这一矛盾。
汽车总线20 世纪 70 年代开始被运用于汽车电子通讯中,开始还仅仅只是
运用单一的总线协议解决一些较简单的节点通讯。后来随着技术和协议的改进成
立了美国汽车工程师协会(Society of Automotive Engineers,简称 SAE)所描述的
三类总线,该协会按照这三类总线的性能由高到低分为:CBA[1]。而为
了满足现代汽车的需求又被扩充为五类[2]
1.A
A类传输速率较低,一般只有 110Kbps主要面向传感器、执行器控制。
以被应用于实时性能较低的网络中,同时也不要求诊断功能。代表协议是 LIN(Local
Interconnect Network),通常是与汽车的外围设备相连,例如空调、车门、车窗
的控制与数据传输。
2.B
B类为中速的传输网络,一般为 10125Kbps主要面向独立模块间的数据共
享,可以被应用于实时性能不高的网络中,可以用来传送一些汽车内部数据,例
如车胎压力,发动机温度,剩余油量等消息。代表协议是 CANISO11595-2,不高
125Kbps
3.C
C类传输速率较高,一般为 125Kbps1Mbps甚至更高的速率,主要面向高
RTLinux FlexRay 的通信设计与实现
2
速、实时闭环控制的多路传输网络,可以被应用于对实时要求较高的相关安全系
统,例如 ABS 系统、发动机系统、悬挂等系统之间的数据传输。以简化分布式系
统的方式,提高系统性能。代表协议有 CANISO11898TTP/C FlexRay,其
FlexRay 采用时间触发方式,有很高的实时性能,同时采用时分多址的方式传输
数据,使传送性能更加灵活,其高数据冗余使数据传输也更安全可靠。
4.D
D类传输速率很高,一般最高可以达到 25.6Mbps,主要面向车载多媒体、娱
乐、导航系统等。代表协议是 MOSTMOST 是一种光纤网络,一般被运用于高
级轿车中,宝马 7系列轿车中就采用了 MOST POF
(塑化光纤)相结合的技术。
5.E
E类主要用于对安全性能要求较高的系统中。代表协议为 Byteflight,该协议
已被成功运用于安全气囊系统中。
表 1-1 各类主要车载协议的比较[3]
协议名称
LIN
CAN
FlexRay
MOST
Byteflight
物理媒介
单线
双绞线
双绞线或光
光纤(高
速)
光纤
媒体连入方式
主从方式
争用
时间触发或
优先级
主从方式
主从方式
查错
8CS
CRC
24 CRC
CRC
16 CRC
传输速率
120Kbps
10Kbps
1Mbps
10Mbps
25Mbps
10Mbps
节点数上限
16
无特定
无特定
64
无特定
表 1-1 中分别将五类总线中具有代表性的总线进行了列举和比较,其中媒体
连入方式以及传输速率影响总线传输数据的实时性。采用主从作为连入方式的总
线网络,由一个主站,一个备用主站(可选)和多个从站组成,主站采用指令的
方式控制从站发送数据或者通过轮询的方式轮流发送消息,这种总线采用事件触
发的方式发送消息,能够满足实时性要求较低的网络需求,但是无法满足高实时
性要求的网络。
以事件触发发送数据的总线,有可能会因为优先级较高的消息长期占据总线
资源使得优先级较低的消息无法得到发送,降低了实时性,同时由于环境或者其
他一些不利因素很难掌握消息发送的准确时机,无法保证消息的实时性。但是
FlexRay 采用了时间触发的媒体连入方式,以时间最为发送数据的指标,能够准确
地把握发送消息的时机,保证数据的实时性。
随着总线网络规模不断增加,其数据传输量也迅速攀升,对于大数据量的传
送低速总线必然会花费大量时间在数据传输上,即使能够按时触发消息发送,但
第一章 绪论
3
是也很难保证消息在短时间内被目标节点接收,同样也会导致消息实时性的降低,
FlexRay 拥有最高速率 10Mbps 的传输速率,能够保证在一般条件下数据快速到达
目标节点,确保数据的实时性。
以上五类网络根据速度特性,实时特性,安全特性被运用于汽车的各个方面,
按照层次可以分为[4]控制系统、动力传动系统、安全系统、电子车身,如图 1-1
所示。
1-1 车载各层次的总线运用
§1.2 嵌入式实时操作系统的发展
随着信息化社会的发展,人们对智能汽车的需求也越来越大,单纯靠硬件是
无法满足这一需求的,于是开始将软件引入车载电子的控制中。通过软件,使得
汽车驾驶变得更方便、更舒适也更安全,同时软件也使得硬件运用变得更灵活可
靠。但是盲目地运行软件有可能会造成资源浪费,使得系统的效率降低甚至崩溃。
操作系统(Operating System,简称 OS)是一种管理电脑硬件与软件资源的程序,
对于计算机来说也是系统的内核和基石,是一个庞大的管理控制程序。操作系统
按照管理功能分有五大功能[5]处理机与进程管理、作业管理、存储管理、设备管
理、文件管理。将操作系统运用于车载系统中可以管理所有车载硬件、软件及数
据资源,并且控制程序运行,改善人机界面,为其它应用软件提供支持等,使车
摘要:

摘要工业已成为衡量一个国家生产力的重要标准,其中控制技术是工业发展中不可替代的关键环节。早期的工业控制技术已无法满足当今社会的需求,工业控制技术正向着网络化、系统化的方向发展,越来越多的控制节点被运用到控制系统中,大信息量的吞吐以及实时性的要求已经成为了传统控制技术的瓶颈,这就促使了实时分布式控制系统的发展。实时分布式控制系统有两个关键技术分别是控制网络和控制系统,其中控制网络决定了数据传输的效率、速度、实时性等方面,而控制系统则决定了任务执行的效率、速度、实时性等方面。目前国内外所开发的实时分布式操作系统只针对其中一点进行研究,往往会造成数据实时发送和任务实时执行两者只可取其一,本文将控制网...

展开>> 收起<<
RTLinux下FlexRay的通信设计与实现.pdf

共78页,预览8页

还剩页未读, 继续阅读

作者:侯斌 分类:高等教育资料 价格:15积分 属性:78 页 大小:3.45MB 格式:PDF 时间:2024-11-19

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 78
客服
关注