版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【Word版本下载可任意编辑】 一种LCU测试系统的设计 1 系统设计原理 LCU检测就是对LCU内部运行逻辑做出测试并开展故障诊断。测试系统通过向被测试的LCU发出初始命令,并查看其输出结果是否与参考输出相同,从而判断被测试的LCU逻辑是否正确。 本文沿用传统继电器控制中的部分概念开展软件分析。传统硬件继电器触点分为“常开触点”和“常闭触点”两类。一条线路的运行结果会反映到另外一个线圈上,因此,继电器控制的输出可以用线圈表示。 线路上的信号都可以采用二进制表达,所以测试的范围会根据线路上触点个数呈现指数增长。对于要求不太严格的控制信号,只要求在适当的条件下,得到开通或闭合的结果,其动作的条件
2、为充分不必要条件。对于要求严格的控制信号,不仅要求在确定的条件下得到应有的结果,而且要保证这个条件是充分必要条件。因此,很大程度上测试可能会遍历触点的所有组合,测试的总体消耗时间就会扩大到很大的时间范围。 可见,测试情况的选择十分重要。测试复杂性的主要矛盾在于:需要证明充分必要条件的线路的多少以及该线路的触点的多少。工业标准反映在程序中的情况就是保存测试的选择性,便于在后续工作中开展选择和修改。本系统的硬件框图如图1所示。 2 嵌入式Linux操作系统移植 Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码
3、发展中着名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux 操作系统是UNIX 操作系统的一种克隆系统。它诞生于1991 年的10 月5 日(这是次正式向外公布的时间)。以后借助于Internet 网络,并经过全世界各地计算机爱好者的共同努力下,现已成为今天世界上使用多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,
4、就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓平台,实际上包含两个概念:体系构造(Architecture)、操作系统(Operating System)。同一个体系构造可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系构造上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系构造和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系构造和Windows NT for x86操作系统的简称。要开展交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation too
5、l chain),然后用这个交叉编译工具链编译我们的源代码,终生成可在目标平台上运行的代码。编译顺序如图2所示。 搭建ARM交叉编译器的步骤:(1)编译安装binutils;(2)安装linux 的头文件;(3)编译安装gcc的c 编译器;(4)编译安装 glibc;(5)编译安装gcc的c、c+编译器。 Boot-loader是RAM芯片的引导程序,它的作用是加载操作系统。两个着名的开源Boot-loader,其中一个是U-boot,它的形式就是一个代码包,包中按照Linux一般的编程习惯和不同的目标板,将相应的汇编和C语言代码罗列在对应的文件夹下,让开发人员自行配置。 修改U-boot的过
6、程:(1)基本的硬件初始化;(2)跳转到 Stage2 的 C 入口点;(3)定义函数Nand_init;(4)跳转到Kernel。 Linux内核就是一个可执行的Linux操作系统的套件集合,简称内核。套件的选择,就是内核的配置。内核的配置说明了内核的可调整性。根据Linux软件的开发规则,可到Linux内核源码包的路径下,在终端使用配置命令开展内核配置。在配置内核的时候,需要定义内核启动的命令行。 3 LCU检测系统应用程序 3.1 软件设计及其要素 软件的应用设计,就是确定软件的各个部分及各部分之间的相互关系,信息在其中发送、传递和接收,以及部分运动发展的走向和趋势,终得到可以预见的结果
7、。 面向对象的软件开发,从不同的对待问题的层次出发能得到不同问题的解决方案。其基本工作流程如图3所示。 3.2 定义基本的类和对象及人机界面的设计 在需求分析的说明中,常出现的三个名词分别是触点、测试和线圈。每个测试包含了不同的线圈,每个线圈又分别由触点组成。所以,触点、线圈和测试能够分别抽象出来做成单独的类。触点必须有ID、常开/常闭的类型和运行中处于的值都应该在属性中出现。 首先设计用二维数组来模拟测试与触点的关系。假设数组的横向和纵向表示分别为测试和触点,则某个线圈的设计如图4所示。 对照实际情况,可以使用二维数组开展描述。触点的参加和删除就是列的插入和删除运算,测试的参加和删除就是行的
8、插入和删除运算。对某线圈的实验就是把每行遍历一遍,结果对照预计值开展逻辑判断。 直观上看,重叠配置的线圈就像是检查手册的一封封页面,测试整个系统的方法就是翻弄这本“书”,从头至尾把所有的线圈遍历一遍。 3.3 序列化存储类serial和链表类 如果延续这样的思路,则关于数组的操作会产生新的问题:C语言中定义数组必须先确定数组的大小才能分配合适的内存。 由于文件是测试系统内部调用的接口,应该先沿着采用文件来登记测试项目的结论开展分析。采用序列化技术能够简单而方便地实现文件存储。序列化是指将对象实例的状态存储到可持久保持信息的物理设备的过程,其特点就是线性存储。序列化技术实现了文件的存储,同时它也
9、给出了一种思路:把所有一切都统一对待,变成一根主线。如图6所示。 但序列化只提供链型的存储形式,只能用一维的链表模拟二维数组,因为不知道二维链表的指针应该如何安排。 决定采用链式联系的方法:用指针来实现连接。但是指针的传递跨越了类,因此有必要把链式构造直接抽象成类,产生定义触点链表类、测试链表类和线圈链表类,并将它们抽象出一个基本的链表类,实现链表基本的操作,再从它派生出上述三个链表类。 3.4 计算预计值 测试随意地更改其所包含的触点,随之变动的是测试的预计值。这可以采取人工输入来实现,但是如果用表达式字符串来表达测试的逻辑计算,可以通过字符替换的方法让机器来实现。 表达式字符串中间必须有触
10、点的ID名字,常闭触点的名字前加“”,测试线路的“与”逻辑用字符“*”来表示,或逻辑用字符“|”来表示(也可以选择其他的计算字符),用括号表示优先的线路逻辑,空格是人性化的适应性定义。 计算预计值的算法如下: (1) 输入目标字符串。 (2) 首先去空格。 (3) 用触点的状态值替换触点ID,如果是FALSE,替换成F,如果是TRUE,替换成T。 (4) 开始循环: F*F 替换成F F*T 替换成F T*F 替换成F T*T 替换成T F|F 替换成F F|T 替换成T T|F 替换成T T|T 替换成T (T) 替换成T (F) 替换成F 测量字符串长度,如果和上次相比变小,则重新开始循环
11、;如果没有变化,则跳出循环开展下一步。 (5) 判断:如果字符串=T,则说明预计值是TRUE;如果字符串=F,则说明预计值是FALSE;如果字符串是其他值,说明输入的表达式有误,提示重新确定表达式。 3.5 数据压缩 根据设计,直观上可以定义触点为一个这样的类:内容包括一个BOOL变量和一个指针。BOOL变量表示触点的状态值,指针指向下一个触点的位置。但是这样做会导致文件过于庞大,所以要开展数据的压缩。 BOOL变量以位置0或置1来说明FALSE或TRUE的状态,但BOOL变量前面所有的位都没有利用上。因此,可以把BOOL变量前面所有的位都用来表示触点的状态,这就是压缩的基本思想。 压缩效率分
12、析:因为布尔值通常定义为8位长度,现在只用1位来表示,所以压缩的极限值应该可以到达8倍。这样的压缩比率下能够有效地节约测试资料的存储大小。 3.6 数据存储方式考察 必须考虑数据的存储方式,不同的存储方式直接影响了位的操作。因此,在执行位操作之前一定要明确存储方式,小头(Little-endian)模式对数据的存放方式是从低字节到高字节,而大头(Big-endian)模式对数据的存放方式是从高字节到低字节。 联合体(union)的存放顺序是所有成员都从低地址开始存放,整数定义通常占用4字节32位,char定义通常只占用1字节8位。一般认为,大头模式的表达方式更符合生活中的数学思维习惯,所以不妨在小头模式的平台上做转换工作,把表达方式换算成大头模式。定义一个SWAP转换工作宏,由它把对应字节调换位置(与互调,中间两个互调)从而得到不同的模式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖北省中西医结合医院招聘120急救医师等岗位笔试参考题库及答案详解
- 2026西南交通大学后勤保障部招聘6人笔试参考题库及答案详解
- UHF高速率无源电子标签与阅读器关键技术的深度剖析与创新研究
- T建筑公司薪酬制度优化策略研究
- 2026年浙江省丽水市工会人员招聘笔试参考题库及答案详解
- 2026黑龙江齐齐哈尔市泰来县大学生乡村医生专项计划招聘4人考试备考题库及答案详解
- 2025年沈阳市沈河区工会人员招聘考试试题及答案详解
- 2026四川大西洋集团有限责任公司招聘销售业务员1人考试备考试题及答案详解
- 成都职业技术学校(成都市成华区综合高级中学) 2026年8月面向社会储备教师笔试参考题库及答案详解
- 2026-2027学年广东阳江市阳东区招募“银龄讲学计划”讲学教师6人笔试参考题库及答案详解
- 临床输血技术教案
- 2025年一级建造师《铁路工程管理与实务》考试真题及答案
- GJB2744A-2019钛及钛合金自由锻件和模锻件规范
- 2025至2030年中国工业设计行业发展监测及投资方向研究报告
- 《中国急性肾损伤临床实践指南(2024版)》解读
- 完工项目结算策划方案(3篇)
- DZ/T 0276.4-2015岩石物理力学性质试验规程第4部分:岩石密度试验
- 杭州市地铁集团有限责任公司轨道交通保护区管理实施办法7.28修改
- 人力资源共享服务中心运营手册
- 专利检索考试试题及答案
- 2024年医院体检中心绩效考核方案
评论
0/150
提交评论