资源描述
车用定速器系统系统级设计方法研究
摘要: 实时系统性能(如实现成本, 满足时间约束能力)很大程度上取决于设计人员早期决议。本文首先提出一个新异构实时系统系统级设计方法。新方法能够帮助设计人员快速确定合适系统结构并实现功效划分。然后, 本文以车用定速器系统前期设计为例, 证实了经过新方法确定实时系统结构不仅能够满足时间约束, 而且能够实现系统资源最优化。
关键词: 定速器 实时系统 设计方法
A Study in System-level design Method of Cruise Controller for Cars
Abstract: The quality of the real-time system, i.e. its cost and its ability to reach the time constraints, depends to a large degree on certain early implementation decisions. This Paper firstly presents a new system-level design method of heterogeneous real-time systems. New design method can help the designer to find appropriate architecture and get optimal function partitioning. Then, an advanced cruise controller for cars is studied. This case study shows the result real-system not only meets the global time constrains, but also optimizes the resources usage.
Keywords: cruise controller, real-system, Design method
1 引言
当设计实时系统时, 最关键设计目标是确保该系统满足应用时间约束, 即对特殊事件响应时间满足某一限制。所以, 在前期设计阶段, 设计人员必需从全局考虑, 找到可能满足时间约束含有最好性价比处理方案。这就要求设计人员必需选择合适系统结构、 考虑系统功效划分和系统资源共享等问题。
本文首先提出一个新异构实时系统系统级设计方法。新方法利用自动综合算法快速确定适用系统结构并实现系统功效划分。然后, 以车用定速器系统前期设计为例, 说明了经过新方法设计得到实时系统不仅能够满足应用时间约束; 而且能够自动实现系统资源最优配置。
2 新设计方法
2.1基础概念
首先定义一个数据结构, 称为虚拟原型(Virtual prototype, VP)。该数据结构包含以下信息: 系统行为(系统任务集)、 系统结构(硬件组件及其互连关系, 结构组件从组件库中选择)、 功效划分(怎样将系统任务分配给处理单元)、 调度(固定优先级)。。设计人员能够用数据结构VP保留目前设计。
用一组任务和受保护共享数据对象对实时系统进行具体说明。当接收消息时, 任务才能被激活。当任务实施完成后, 能够向其它任务发送消息。在实施过程中, 任务不得和其它任务直接通信, 而只能经过访问受保护共享数据对象。为预防出现死锁, 在访问这些数据对象前, 必需被清空一特殊系统任务。
2.2 分析模型
新设计方法有两种系统分析模型:
内在分析模型: 每项任务单独实施时所消耗系统资源, 如处理器时间和ASIC面积等。通常来说, 设计人员只有在系统完全实现后才能正确取得这些参数值。所以, 在前期设计阶段, 设计人员只能经过内存分析对这些参数进行估算。
外在分析模型: 分析多个任务之间共享数据对系统影响程度。经过扩展传统单处理器架构下优先级可调度性模型, 推导出异构(多处理器架构)实时系统优先级可调度性模型。外在分析是以内在分析为基础, 整个设计过程中使用同一个外在分析模型。
传统实时系统时间分析模型只能判定特定实现方案是否满足时间约束。然而, 在前期设计阶段, 设计人员更期望知道特定实现方案满足时间约束优劣程度。这种信息能够指导设计人员在设计过程中采取愈加好实现策略。为此, 文件[1]引入了“最小要求增速”(Minimal required speedup, MRS)概念, 用于表征实现方案成熟度, 即真正满足时间约束完善程度。若, 则表明某实现方案已满足时间约束, 不需再完善。相反, 假如, 则表明某实现方案不能满足时间约束, 还需再次修改。为比较实现方案成熟度, 做以下要求: 假如两种实现方案都满足而且值相同, 那么成本小实现方案成熟度更高; 不然, 值小实现方案成熟度更高。
2.3 工具和转换
新方法采取一组转换对全体VP进行迭代修改。这组转换功效为:
w 任务在处理单元之间移动;
w 添加、 删除或者重新连接硬件组件;
w 改变任务调度优先级;
现在, 新方法采取下列工具经过转换对VP进行操作, 然后基于2.1定义参数找到最好VP。
w 结构综合工具: 该工具从组件库中选择若干组件, 再将这些组件连接成某种结构。同时, 对该结构进行功效划分。经过比较模拟退火、 遗传算法和禁忌搜索算法[2], 笔者认为禁忌搜索算法最适于处理该问题。基于禁忌搜索算法软件实现组成了该工具基础。
w 功效划分工具: 该工具基于分支-定界算法[3], 从结构综合工具推出可行功效划分中选择一个最好功效划分。
w 调度工具: 该工具采取启发式算法为系统内全体任务分配优先权。该工具处理个任务时间复杂度为, 多数情况下都可取得近似最好结果。
3 车用定速器系统前期设计
本节将以车用定速器系统前期设计过程为例, 说明新方法可行性和高效性。
车用定速器系统能够确保车辆以驾驶员设定速度行驶, 同时使用前向雷达避免和前方障碍物碰撞。另外, 该系统也能够控制防抱死系统(Anti-blocking system, ABS)。驾驶者经过踩制动踏板或者油门踏板实现对定速器系统控制。
3.1 任务和数据对象
定速器系统由9个任务和6个受保护共享数据对象组成。图1给出了任务之间消息传输关系, 箭头表示某个任务向另一任务发送消息。左边框外列出了系统传感器; 右边框外列出了系统调整装置。图2给出了任务用到数据对象。
图1: 任务传输关系
这9个任务分别是:
w ()任务: 读取轮轴传感器数值而且存放于共享数据对象中。
w 任务: 读取目前车速值, 并试图经过制动或油门装置将目前车速改变为设定车速。
w 任务: 检验驾驶者是否改变设定车速, 或者踩下制动或油门踏板(分别对应传感器和值)。
w 任务: 搜寻前方障碍物, 如遇险情采取紧急方法(调整油门或制动设置)。
w 任务: 经过制动调整器控制ABS系统。
w 任务: 经过油门调整器改变油门设置。
该系统时间约束包含激活两个任务之间最小时间间隔, 范围通常在1毫秒至50毫秒之间。因为同一个任务不能同时被几次激活, 所以这个时间间隔也是对单个任务时间约束。另外, 从图1能够看出, 传感器消息输出到调整装置动作之间时间间隔也是定速器系统关键时间约束。比如, 从发觉障碍物到制动车辆之间时差必需满足安全要求。
图2: 受保护共享数据对象
车用定速器系统组件库包含:
w 3种微控制器: 摩托罗拉企业68000微控制器、 68020微控制器和英特尔企业80386;
w 3种ASIC芯片: 容量分别是4x105,6x105和8x105;
w 3种Cache: 搜索命中率不一样;
w 1个存放器。
3.2 结构综合处理
采取新设计方法完成车用定速器系统前期设计整个过程是: 首先, 使用结构综合工具找到最好系统结构。然后, 对该结构进行最好功效划分。对每种可能实现方案分别利用调度工具进行任务优先权指派, 以满足外在分析模型要求。
在调用结构综合工具前, 设计人员有必需对单处理器架构进行考查, 判定其能否满足应用时间约束。这是因为采取单处理器架构时成本最低, 性能评定也轻易。不过, 车用定速器系统组件库三种微控制器都不符合应用时间约束。比如, 采取摩托罗拉68000微控制器等于。所以, 必需采取异构(多处理器架构)方法实现该系统。
笔者使用禁忌搜索算法快速找到了一个合适系统结构。开始时, 经过检验12个VP就找到了一个可用系统结构: , 需花费个成本单元。具体来说, 该系统结构是由摩托罗拉68000微控制器、 容量为4x105个晶体管ASIC芯片和一个“指令/数据”共享存放器组成。然后, 经过70次迭代搜索, 又得到了另一个可用系统结构: , 需花费个成本单元。
笔者总共实施了4000次禁忌搜索算法, 再没有发觉参数更佳系统结构。所以, 经过70次迭代搜索得到系统结构就是最好车用定速器系统结构。
3.3 功效划分处理
对该系统结构应用功效划分工具, 以确保最充足地使用该系统结构内部资源。分支-定界算法是功效划分工具基础与关键。该算法经过遍历“部分实现方案树”实现最好划分目。部分方案树根节点不包含任何系统任务和共享数据对象。孩子节点比父节点多一个系统任务或者一个共享数据对象。叶子节点则包含了全部系统任务和共享数据对象。
对3.1节得到系统结构来说, 每个系统任务或共享数据对象都有两种可能分配方法。所以, 分支-定界搜索树大小为个节点, 其中有个叶子节点。然而, 依据车用定速器系统系统行为描述(如图1所表示), 很多分配方法不可行。所以, 搜索树实际大小只有个节点, 其中含个叶子节点。假如充足利用分支-定界算法裁剪功效, 还能深入降低节点数。实施800次分支-定界算法能够确保发觉最好功效划分, 而笔者实际上只实施了210次就得到了最好功效划分。在最好功效划分中, 两个任务被放入ASIC芯片; 其它任务被放入摩托罗拉68000微控制器。全部共享数据对象仍然放在存放器中(如表1所表示)。
3.4 资源预算
在确定适用系统结构并完成最好功效划分后, 将对车用定速器系统进行底层细节设计阶段, 即进行具体软/硬件编程阶段。这包含: 软件实现系统各组件之间通信协议和资源共享协议; 用硬件语言(VHDL或Verilog)实现AISC内各系统任务; 开发或选购微控制器实时操作系统等。
即使在设计前期阶段, 估算任务实施时间或成本可能不正确。不过, 这些估算值。这些估算值能够做为后续开发约束条件, 以帮助设计人员对后续开发进行合适估计。我们将这些新约束条件称为“算法预算”。资源预算将应用全局时间约束分散到系统各组件, 从而简化了验证过程。
优先级
任务
划分
处理器使用率
存放器使用率
面积
1
AISC
0.3
1.1
2,648
2
AISC
64.0
233.0
100743
3
AISC
0.3
1.2
3058
4
微控制器
0.4
15.0
-
5
微控制器
0.4
18.0
-
6
微控制器
540.1
655.0
-
7
微控制器
234.0
401.0
-
8
微控制器
635.8
658.4
-
9
微控制器
376.0
465.0
-
表1: 车用定速器系统实现方案资源预算
对于选定异构(多处理器架构)实时系统来说, 资源预算关键包含: 微控制器内部任务处理器使用率和存放器使用率; AISC内任务存放器使用率和占用面积。表1给出了选定定速器系统各任务资源预算。假如对一些任务估算过宽或过紧, 那么还能够修正表中资源值。然而, 每次修改后, 必需对资源预算进行外在分析以确保仍满足全局时间约束。
4 结论
本文以实例给出了异构实时系统一个系统级设计方法。这种方法经过自动综合算法能够快速找到适用系统结构并进行功效划分。同时, 本文还提出了资源预算概念, 从而提供了处理实时系统底层开发估算不正确问题实用方法。
参考文件
[1] J.Axelsson. Hardware/software partitioning aiming at fulfillment of real-time constraints. Journal of Systems Arthitectures, 42(6-7): 449-464, 1996.
[2] F.Glover, E.Taillard, and D.de Werra. Auser’s guide to tabu search. Annals of Operations Research, 41(1-13):3-28, 1993
[3] A.V.Aho,J.E.Hopcroft, and J.D.Ullman. Data Structures and Algorithms. Addison-Wesley,
展开阅读全文