RTLinux下FlexRay的通信设计与实现
VIP免费
摘 要
工业已成为衡量一个国家生产力的重要标准,其中控制技术是工业发展中不
可替代的关键环节。早期的工业控制技术已无法满足当今社会的需求,工业控制
技术正向着网络化、系统化的方向发展,越来越多的控制节点被运用到控制系统
中,大信息量的吞吐以及实时性的要求已经成为了传统控制技术的瓶颈,这就促
使了实时分布式控制系统的发展。
实时分布式控制系统有两个关键技术分别是控制网络和控制系统,其中控制
网络决定了数据传输的效率、速度、实时性等方面,而控制系统则决定了任务执
行的效率、速度、实时性等方面。目前国内外所开发的实时分布式操作系统只针
对其中一点进行研究,往往会造成数据实时发送和任务实时执行两者只可取其一,
本文将控制网络和控制系统结合起来构建实时分布式控制系统以解决这个问题。
根据实时分布式控制系统的要求,本文将使用实时总线 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)所描述的
三类总线,该协会按照这三类总线的性能由高到低分为:C、B、A三类[1]。而为
了满足现代汽车的需求又被扩充为五类[2]。
1.A 类
A类传输速率较低,一般只有 1~10Kbps,主要面向传感器、执行器控制。可
以被应用于实时性能较低的网络中,同时也不要求诊断功能。代表协议是 LIN(Local
Interconnect Network),通常是与汽车的外围设备相连,例如空调、车门、车窗等
的控制与数据传输。
2.B 类
B类为中速的传输网络,一般为 10~125Kbps,主要面向独立模块间的数据共
享,可以被应用于实时性能不高的网络中,可以用来传送一些汽车内部数据,例
如车胎压力,发动机温度,剩余油量等消息。代表协议是 CAN(ISO11595-2,不高
于125Kbps)。
3.C 类
C类传输速率较高,一般为 125Kbps~1Mbps,甚至更高的速率,主要面向高
摘要:
展开>>
收起<<
摘要工业已成为衡量一个国家生产力的重要标准,其中控制技术是工业发展中不可替代的关键环节。早期的工业控制技术已无法满足当今社会的需求,工业控制技术正向着网络化、系统化的方向发展,越来越多的控制节点被运用到控制系统中,大信息量的吞吐以及实时性的要求已经成为了传统控制技术的瓶颈,这就促使了实时分布式控制系统的发展。实时分布式控制系统有两个关键技术分别是控制网络和控制系统,其中控制网络决定了数据传输的效率、速度、实时性等方面,而控制系统则决定了任务执行的效率、速度、实时性等方面。目前国内外所开发的实时分布式操作系统只针对其中一点进行研究,往往会造成数据实时发送和任务实时执行两者只可取其一,本文将控制网...
相关推荐
-
VIP免费2025-01-09 6
-
VIP免费2025-01-09 6
-
VIP免费2025-01-09 6
-
VIP免费2025-01-09 6
-
VIP免费2025-01-09 6
-
VIP免费2025-01-09 7
-
VIP免费2025-01-09 6
-
VIP免费2025-01-09 7
-
VIP免费2025-01-09 7
-
VIP免费2025-01-09 6
作者:侯斌
分类:高等教育资料
价格:15积分
属性:78 页
大小:3.45MB
格式:PDF
时间:2024-11-19