嵌入式系统测试教学实训平台招标公告(中国船舶集团有限公司第七一七研究所2025)
询价书名称:分谈分签+中国船舶集团有限公司第七一七研究所+实训平台-RFX2025032800010-CK的询价书
物料信息
序号
物料编码
物料描述
计量单位
交货地点
交货日期
国产/进口
说明
附件
1
323618
嵌入式系统测试教学实训平台
套
武汉
2025-04-11
寻源要求
询价单位:中国船舶集团有限公司第七一七研究所
签约单位:中国船舶集团有限公司第七一七研究所
报价截止时间:2025-04-02 10:00
允许部分物料报价:否
附加费(附加费包括运费、包装费、服务费、其他费用):包含在物料价格中
报价有效期:2025-04-21
是否指定报价币种:指定
报价币种:人民币
承运方式:
结算方式:
补充说明:
经办人信息
姓名:陈凯
手机:
电话:027-59002388
邮箱:
附件
分谈-717-实训平台-RFX2025032800010-CK.xlsx
分谈-717-实训平台-RFX2025032800010-CK模.xlsx
嵌入式系统测试教学实训平台产品手册.pdf
序号
物资编码
物资名称
规格型号
计量单位
最小响应量(件数)
生产厂家
项目代号
技术指标
尺寸
牌号
产品标准
需求时间
报价单位(报价方必填)
联系方式(报价方必填)
制造商(报价方必填)
单价(单位:元)(报价方必填)
单项总价(单位:元)(报价方必填)
生产批次(报价方必填)
供货周期(单位:周)(报价方必填)
备注
注:
1、报价方不能更改询价单中的询价物资顺序以及每一列的内容、不得删除、更改任何询价物资明细,对不能报价的物资请不要填写
2、对某项物资进行报价时,必须填写完整的报价单位、联系方式、制造商、单价、单项总价、生产批次、供货周期。
3、报价单的内容依据此询价单按上述要求进行填写完整后生成,未按要求填写的报价单视为无效报价单,且纳入供方日常绩效考核中。
4、报价单明细除上传EXCEL版本外,还需盖章上传PDF版本。
1
160905000151
嵌入式系统测试教学实训平台
ETest_TP
套
1.000000
Z1-ZY588-2305-1
主要性能参数=采用 ARM Cortex-M3 NXP LPC1778 处理器,主频 120MHZ;具有工业 2.0 CAN 总线接口,支持 125K、 250K、 500K、 1M 等波特率;具有标准 232 串行总线通讯接口,最高通讯速率达 1Mbps;;是否进口=否
2025-03-20
物料导入模板
序号
* 物料编码
物料描述
规格型号
* 计量单位
* 采购数量
概算单价(元)
* 到货日期
自有物料编码
自有物料描述
交货地点
说明
323618
嵌入式系统测试教学实训平台
ETest_TP
套
1
2025-03-20
160905000151
嵌入式系统测试教学实训平台
武汉
主要性能参数=采用 ARM Cortex-M3 NXP LPC1778 处理器,主频 120MHZ;具有工业 2.0 CAN 总线接口,支持 125K、 250K、 500K、 1M 等波特率;具有标准 232 串行总线通讯接口,最高通讯速率达 1Mbps;;是否进口=否
说明
1、红色星号标识为必填项;
2、分类编码:请输入此物资所属的最小层级的分类编码;
3、采购数量:输入数字,建议输入4位小数(或按系统要求填写);
4、概算单价(元):输入数字,建议输入3位小数(或按系统要求填写);
5、需求到货日期:最晚交货期;日期格式:2024-10-8
嵌入式系统测试教学实训平台嵌入式系统测试教学实训平台产品手册凯云联创(北京)科技有限公司2024年10月11日,I/IX嵌入式系统测试教学实训平台目录前言.........................................................................................................................IX第1章实验教程简介1.1教学实验系统概述1.2三种测试环境1.2.1全实物仿真测试环境1.2.2半实物仿真测试环境1.2.3全数字仿真测试环境1.3教学实验环境和实验内容的考虑1.3.1三种测试环境的优缺点1.3.2实验教学内容1.3.3实验环境的设计要求1.4实验教程的设计1.5实验考核标准1.6教学实验系统概述1.7三种测试环境...............................................................错误!未定义书签。1.7.1全实物仿真测试环境........................................错误!未定义书签。1.7.2半实物仿真测试环境........................................错误!未定义书签。1.7.3全数字仿真测试环境........................................错误!未定义书签。第2章教学设备简介2.1教学实验箱简介2.2实验箱硬件2.2.1待测板2.2.2软件逻辑显示屏2.3实验箱软件2.3.1待测板软件,II/IX嵌入式系统测试教学实训平台2.3.2显示屏显示程序2.4全数字模拟软件测试环境2.4.1串口通信方式2.4.2网口通信方式2.5实验箱程序烧录方法2.5.1·安装SecureCRT2.5.2·升级待测件板程序2.5.3·安装屏幕APP程序2.6练习题第3章手工测试方法3.1电压类接口手工测试3.1.1AD接口手工测试方法3.1.2DA接口的手工测试方法3.1.3DI信号的手工测试方法3.1.4DO信号的手工测试方法3.2频率类接口手工测试方法3.2.1频率信号的手工测试方法3.2.2脉冲输出信号的手工测试方法3.3总线类接口手工测试方法3.3.1串口手工测试方法3.3.2CAN口手工测试方法3.4练习题第4章自动化测试方法4.1自动化测试简介4.2测试硬件4.2.1测试主机4.2.2实验箱多功能接口板4.2.3实验箱串口通信板,III/IX嵌入式系统测试教学实训平台4.3测试软件——ETest4.3.1ETest的主要功能4.3.2ETest的安装4.3.3ETest的使用简介4.4使用Etest完成一个简单的测试4.4.1测试需求4.4.2使用ETest完成测试4.5练习题第5章一个功能模块的测试5.1油压功能模块需求5.1.1模拟量信号输入5.1.2RS232串口输入/输出5.1.3CAN口输出5.2油压功能模块测试用例设计5.2.1AD输入部分的测试5.2.2串口的测试需求5.2.3输出数据的测试需求5.3自动化测试方法5.3.1配置测试环境5.3.2测试流程设计5.3.3编写测试脚本并执行5.4练习题第6章总线接口测试6.1输入接口6.2输出接口6.3练习题第7章进阶技术:组合测试7.1灯光控制模块需求,IV/IX嵌入式系统测试教学实训平台7.2灯光控制模块测试用例设计7.3自动化测试环境搭建7.4使用测试程序生成建立测试数据7.5设计测试脚本7.5.1总流程7.5.2输出预期值判断7.5.3处理每一行数据的函数7.5.4执行过程7.6使用测试监控进行交互式测试7.7练习题第8章测试案例一:共享单车8.1共享单车简介8.2共享单车需求8.2.1功能需求8.2.1.1开锁处理(Unlock)8.2.1.2关锁处理(Lock)8.2.1.3位置信息的接收处理(Location)8.2.1.4时间信息的接收处理(Time)8.2.1.5骑行状态下位置与时间的定时上报(Report)8.2.2接口需求8.2.2.1GPS数据接收接口(GPS_Input)8.2.2.2开锁指令输入接口(Unlock_Input)8.2.2.3关锁响应输出接口(Lock_Output)8.2.2.4服务器位置与时间上报输出接口(Report_Output)....1308.2.2.5开锁输出接口(DO_Unlock)8.2.2.6关锁输入接口(DI_Lock)8.2.2.7数据显示接口(Display)8.3共享单车测试方法,V/IX嵌入式系统测试教学实训平台8.4练习题第9章测试案例二:空调控制器系统9.1空调控制器系统简介9.2空调控制器系统需求9.2.1功能需求9.2.1.1开机处理(Open)9.2.1.2关机处理(Close)9.2.1.3通风模式设置(Ventilation_mode)9.2.1.4送风量设置(Prefered_wind)9.2.1.5制冷模式设置(Refrigeration_mode)9.2.1.6温度设置(Prefered_tempreture)9.2.1.7室温的采集处理(Room_tempreture)9.2.1.8控温自动调节(Temp_control)9.2.2接口需求9.2.2.1遥控器输入接口(Remote_Input)9.2.2.2回报遥控器输出接口(Remote_Output)9.2.2.3控制压缩机电机开关量输出(Compressor_motor)9.2.2.4控制风扇电机开关量输出(Fan_motor)9.2.2.5控制开关机状态灯开关量输出(State_light)9.2.2.6数据显示接口(Display)9.2.3性能需求9.2.4遥控器回馈指令的执行时间性能9.3空调控制器系统测试方法9.4练习题第10章测试案例三:车辆中控系统10.1车辆中控简介10.2车辆中控系统需求10.2.1功能需求,VI/IX嵌入式系统测试教学实训平台10.2.1.1变速器油压的采集与处理(Oil_GN)10.2.1.2燃油液位的采集与处理(FUEL_GN)10.2.1.3变矩器油温的采集与处理(TEMP_GN)10.2.1.4发动机转速的采集与处理(ENGINEN_GN)10.2.1.5车速的采集与处理(SPEED_GN)10.2.1.6发动机转速和车速电压输出(Voltage_GN)10.2.1.7灯光的控制逻辑(LIGHT_GN)10.2.2接口需求10.2.2.1串口状态查询输入接口(CMD_IN_JK)10.2.2.2串口状态报告输出接口(STATE_OUT_JK)10.2.2.3串口数据查询输入接口(DATA_IN_JK)10.2.2.4串口查询结果输出接口(DATA_OUT_JK)10.2.2.5CAN接口数据输出接口(CAN_JK)10.2.3性能需求10.2.3.1CAN接口数据输出时间间隔(CAN_XN)10.3车辆中控系统测试方法10.4练习题第11章试案例四:环境监测仪11.1环境监测仪简介11.2环境监测仪需求11.3功能需求11.3.1气体监测(GAS_MONITOR)11.3.2温度监测(TEMPTURE_MONITOR)11.3.3报警功能(ALARM)11.3.4报警输出功能(IO_OUT)11.3.5预警门限值及报警门限值设置(SETTING)11.3.6历史数据上传(HISTORY_DATA)11.4环境监测仪测试方法,VII/IX嵌入式系统测试教学实训平台11.5练习题第12章测试案例五:射击训练控制器12.1射击训练控制器简介12.2射击训练控制器需求12.2.1功能需求12.2.1.1枪械和子弹信息输入12.2.1.2开始射击12.2.1.3接收靶区信息12.2.1.4射击总分计算12.2.1.5射击时间到12.2.1.6复位12.2.2接口需求12.2.2.1射击设备接口12.2.2.2靶机接口12.3射击训练控制器测试方法12.4练习题,VIII/IX嵌入式系统测试教学实训平台前言随着计算科学、控制科学、人工智能等信息技术的迅猛发展,嵌入式软件在武器系统、航空航天、工业控制、医疗电子、汽车电子、智能家电以及穿戴设备等领域已经无处不在,为人们的工作、生活、学习带来了极大的便利。与之同时,由于嵌入式软件处于整个系统的核心控制地位,其失效带来的损失往往是巨大的,在一些安全关键攸关领域的软件失效甚至危及生命和国家安全,即使是非安全性系统,由于大批量生产也会导致严重的经济损失。这就要求对嵌入式系统,包括嵌入式软件进行严格的测试、确认和验证。嵌入式软件测试相对于主机环境下的软件测试有其特有的特点,最大的不同在于硬件/软件集成测试阶段是嵌入式软件所特有的,目的是验证嵌入式软件与其所控制的硬件设备能否正确地交互。由于受限于硬件的依赖性和测试环境的复杂性,目前高等教育人才培养方案中对于嵌入式软件测试的教学内容涉及的较少,软件学院开设的软件测试课程几乎不太涉及嵌入式软件测试的内容,而电子学院开设的嵌入式系统类的课程一般只包括嵌入式软件开发的教学内容。这种现状不仅存在普通本科院校而且存在于高职院校,造成社会对于嵌入式软件测试的研究型人才和工程技术人才的需求缺口巨大。为了推动国内高等教育软件测试实践教学的发展,我们在2016年开创了全国大学生软件测试大赛,吸引了国内各类高校的博士生、硕士生、本科生、高职学生的广泛的参与,在大赛中设立了嵌入式软件测试专项,经过3届大赛的探索和总结,对于嵌入式软件测试教学规律和教学实验环境有了更深的认识和理解,同时,听取和采纳了来自高校国内一线从事软件测试教学的老师和大赛合作企业的工程师的建议和需求,对书的内容和框架进行了反复的思考和取舍,在内容上兼顾了课程开设和竞赛指导,在实验环境上兼顾了带有硬件实验箱和纯模拟环境条件下实践教学和竞赛环节的开展。在这种思想的引导下,联合大赛的合作企业凯云联创(北京)科技有限公司,,IX/IX嵌入式系统测试教学实训平台结合教学和人才培养发展趋势,编写了《嵌入式软件自动化测试》和《嵌入式软件测试实验教程》,两本教材可以配合使用,同时也自成体系,侧重于嵌入式软件集成测试的自动化测试,重点讲授嵌入式软件与其所控制的硬件设备交互的接口测试以及相应功能和性能测试。本套教材的推出,为嵌入式系统测试技术的普及和推广、相关人才培养和教学、科研体系的建立提供了有益的探索和尝试,也同时必能对国内嵌入式系统测试产业的发展提供积极的推动作用。,X/IX实验教程简介第1章实验教程简介1.1教学实验系统概述自从出现高级语言,嵌入式系统的开发环境和运行环境通常是存在差异的,开发环境被认为是主机平台(Host),软件运行环境为目标平台(Target)。嵌入式软件的开发环境和运行环境往往互相分离,即采用交叉开发(CrossDeveloping)的方式:开发在宿主机(Host)上进行,最终使用在目标机(Target)上。利用宿主机上丰富的资源及良好的开发环境开发仿真调试目标机上的软件;通过串口或网络等将交叉编译生成的目标代码传输并装载到目标机上,用调试器在监控程序或实时内核/操作系统的支持下进行实时分析、测试和调试。因此,这种开发环境和运行环境分离的交叉开发(CrossDeveloping)决定了嵌入式软件测试的基本策略为交叉测试(Cross-test)或HostTarget测试(主机目标测试)。交叉测试(Cross-test)最大的特点主要体现在测试环境的搭建上,嵌入式软件运行于特定的硬件环境中,这一特定的硬件环境在芯片指令、存储器、总线、操作系统等各个方面与PC机系统完全不同,这一环境与我们日常使用的PC机硬件环境几乎没有任何的兼容性。所谓的目标环境测试是嵌入式软件运行于真正的嵌入式硬件系统中进行测试,基于目标的测试全面、有效,但是消耗较多的经费和时间。所谓宿主环境测试是在PC机中搭建一个模拟的目标机硬件环境,然后使嵌入式软件运行于这一模拟的硬件环境中。基于宿主的测试代价较小,但是有些对环境要求高的功能和性能宿主机无法模拟,测试无法实现。测试过程中,充分利用高级语言的可移植性,将系统中与目标环境无关的部分工作转移到PC平台上完成,在硬件环境未建好或调试工具缺乏时就可以开展,这时可以借鉴常规的软件测试方法。系统中与硬件密切相关的部分在Target上完成,用到的测试工具需要支持目标环境。最后,在目标环境中进行验证确认。,第1页/共206页实验教程简介使用有效的Cross-test测试策略可极大的提高嵌入式软件开发测试的水平和效率,总结一下,采用Cross-test时的策略:(1)使用测试工具的插装功能(主机环境)执行静态测试分析,并且为动态覆盖测试准备好一插装好的软件代码。(2)使用源码在主机环境执行功能测试,修正软件的错误和测试脚本中的错误。(3)使用插装后的软件代码执行覆盖率测试,添加测试用例或修正软件的错误,保证达到所要求的覆盖率目标。(4)在目标环境下重复(2),确认软件在目标环境中执行测试的正确性。(5)若测试需要达到极端的完整性,最好在目标系统上重复(3),确定软件的覆盖率没有改变。通常在主机环境执行多数的测试,只是在最终确定测试结果和最后的系统测试才移植到目标环境,这样可以避免发生访问目标系统资源上的瓶颈,也可以减少在昂贵资源如在线仿真器上的费用。另外,若目标系统的硬件由于某种原因而不能使用时,最后的确认测试可以推迟直到目标硬件可用,这为嵌入式软件的开发测试提供了弹性。设计软件的可移植性是成功进行cross-test的先决条件,它通常可以提高软件的质量,并且对软件的维护大有益处。各个阶段合适的测试工具可以使嵌入式软件的测试得以方便的执行。两种测试方法各有优缺点。“目标环境测试”在每次测试中都将被测代码重新“烧”入到嵌入式硬件中,成本高,效率低,而且无法获得被测软件运行过程中的各种状态与行为,无法控制软件运行流程。但这种测试方法是最直接最可靠的,“目标环境测试”是嵌入式软件测试难以逾越的一个阶段。“宿主环境测试”则与“目标环境测试”相反,由于被测软件是运行在模拟的环境中,省去了将代码“烧”入硬件这一过程,成本低,效率高,而且可以随时通过模拟环境的接口观察软件运行过程中的状态与行为,可以随意设置“断点”来控制被测软件运行与暂停。但这种测试毕竟是在模拟环境中运行的。在实际应用中采用最多的是折中的测试方法:先使用“宿主环境测试”方法进行白盒类测试,如单元测试、接口测试等;再使用“目标环境测试”方法进行,第2页/共206页实验教程简介黑盒类的功能、性能测试等,观察被测软件在真正硬件中的表现与真实的硬件影响。1.2三种测试环境根据被测的嵌入式软件所提供的运行环境的不同,嵌入式软件系统的测试环境一般分为三种类型:全实物仿真测试环境、半实物仿真测试环境和全数字仿真测试环境。这三种嵌入式软件仿真测试系统都是嵌入式软件研制过程中的重要手段和方法,对于验证嵌入式软件设计方案的正确性、测试或者检验实际嵌入式软件的功能和性能是十分重要的。全实物、半实物、全数字仿真方法既是指对目标机本身,也可指目标机测试环境。为了建立嵌入式软件的测试环境,全实物、半实物、全数字仿真测试方法可以巧妙地搭配使用,以达到对不同测试目的的测试。1.2.1全实物仿真测试环境全实物仿真运行环境(也称全物理仿真运行环境或系统联试环境、实装测试环境)是最逼近真实环境的一种运行环境。在该环境下是整个嵌入式应用系统(而非仅对软件)进行运行,包括若干个研制完成的产品和设备模拟器。不同的嵌入式应用系统,全实物仿真运行中介入实物的多少是不一样的,但对软件来说,目标硬件环境、相应外围设备接口、输入的指令、数据等全是正式的。全实物仿真运行环境与真实系统有一致的映射关系,例如:相同的接口,相同的I/O传输模式、方式和速率,相同的时序和相同的工作方式、状态等,非常适合于对软件外部接口、实时特性进行较真实的检验和测试。在全实物仿真运行环境下对被测的嵌入式软件进行测试被称为全实物仿真测试。在这种测试环境中被测软件处于完全真实的运行环境中,直接将目标机(包括嵌入式软件)和其外围设备建立真实的连接,形成闭环进行测试。这种测试环境与被测软件的真实使用环境完全相同,能够保证软件运行环境的真实性;另外,全实物仿真测试对用于实时嵌入式应用控制的控制系统具有很独特的作用。第一,全实物仿真不必用数学模型来代替控制系统和控制对象的物理运动和相互作用,而是系统实,第3页/共206页实验教程简介物直接参与对被控制对象进行的控制,因此可有效发现控制系统设计和某些部件实际模型存在的问题。第二,全实物仿真避免了系统中某些实物部件难于建立精确数学模型的困难。由于将这些部件直接接入回路,这些部件对控制系统性能的影响就被直观而有效地反映在仿真试验的结果中。第三,全实物仿真是进行各种外部设备物理运动实验研究的重要方法,能够有效验证控制方案,为各种控制方案的实际应用创造条件。1.2.2半实物仿真测试环境半实物仿真测试系统是一种介于全数字和全实物之间的测试系统,并且具备全实物系统运行环境的真实性以及全数字仿真的设置的灵活性。在半实物仿真测试系统中,被测软件依然运行在它特定的目标机中,保持了被测软件运行环境的真实性。与目标机连接的其他设备则通过硬件模拟器实现,能够真实地模拟被测软件运行所需的真实外围物理环境,并且能够灵活设置被测软件的输入、记录被测软件的输出结果。对于一些重要的嵌入式软件,如国防系统中的嵌入式软件,大多具有复杂的外部设备,I/O接口,因此必须对被测软件与外部设备接口进行测试;这类嵌入式软件通常有很高的实时性要求,因此测试系统必须和目标机能够实时进行数据交换;同时这类软件具有较强的容错、并发特点,因此测试时必须能够灵活地设置被测软件运行的异常模式,考察被测软件的安全性。这些特点要求测试系统除了具备真实的运行环境、真实的外部接口外,还要有灵活的可控性。半实物仿真测试环境由于利用仿真模型来模拟被测系统的交联系统,被测系统采用真实系统,其运行环境真实。仿真测试环境的最大优势在于其良好的通用性和较好的灵活性,因为被测系统的输入可以通过仿真模型来实现,而且测试环境的模型具有可替换性,只需要更换仿真模型即可实现对不同被测系统的测试。另外,由于被测软件运行于真实系统之中,它对输入输出的处理完全真实,而通过仿真模型来提供输入也可以保证其实时性。由于半实物仿真测试系统能够较好地满足国防系统中嵌入式软件的测试需求,因此在国防软件测试中得到大量应用。,第4页/共206页实验教程简介半实物仿真测试环境如图1-1所示,被测软件运行在真实的目标机中,保持了运行环境的真实性;与它连接的其他外围设备则通过仿真来实现,模拟被测软件运行所需的真实的输入,记录软件运行的输出果。硬件主要完成外围设备的接口连接,而测试执行、测试监控、外围设备的数据处理功能都由软件实现。测试用例管理测试结果记录分析测试过程监控境目标机被测软件运行环仿真外围设备图1-1半实物仿真测试环境示意图半实物仿真技术是一种将控制器(实物)与在计算机上实现的控制对象的仿真模型连接在一起进行实验的技术。在这种实验中,控制器的动态特性、静态特性、和非线性因素等都能真实地反映出来,因此它是一种更接近实际的仿真实验技术。基于半实物仿真技术的半实物仿真测试,在国内外得到广泛认可和应用,其技术发展有如下两种趋势:(1)测试系统采用分布式体系结构:随着被测系统的复杂程度、实时性的增强,为了提高测试系统的可扩展性,国外先进的测试系统均采用分布式可扩展的体系结构。典型系统如美国喷气式推进实验室(JPL)开发的针对空间飞行器仿真测试的分布式集成平台、德国TechS.A.T公司针对航天系统开发的平台ADS3000,以及加拿大PAL、RT公司推出的RT-LAB均采用分布式结构。整个测试系统可以提供良好的可扩展性。(2)测试系统的通用化设计:目前测试系统的应用情况是大部分嵌入式软件的测试系统都是从头开发,从底层做起,没有一个很好的通用系统提供支持,导致的是系统开发费用高,研制周期长。而且测试系统基本上都是针对某一个特定的嵌入,第5页/共206页实验教程简介式软件被测对象定制的,通用性差,资源利用率低,造成资源的浪费。1.2.3全数字仿真测试环境嵌入式软件与其支持其运行的硬件有着很强的耦合性,而硬件测试环境与软件测试环境相比,灵活性差,在故障的产生和过程的记录方面都很困难,全数字仿真技术是综合解决嵌入式软件测试中由于嵌入式环境所带来的测试困难的一种方案。全数字仿真旨在搭建一个嵌入式软件运行的全数字的环境:目标机完全是全数字仿真的,包括CPU,内存,寄存器和I/O;外围激励也是全数字仿真的。嵌入式软件的全数字仿真就是脱离目标机,用数字模拟硬件或电路的信号结果并交给嵌入式软件计算和处理。其总体结构图如图1-2所示。被测软件调试测试解与质析虚拟目标机据全数字仿真(端口、中断等外部事件)程序理量分数图1-2嵌入式软件全数字仿真测试支撑平台总体结构图全数字仿真测试环境通过虚拟目标机解释执行嵌入式软件和对外围电路和外部事件进行全数字化仿真。优点是可以很好地解决前面提到的代码膨胀问题(非侵入式)和硬件环境无法搭建问题。现在计算机配置越来越高,性能越来越好,速度越来越快,内存越来越大,运行效率低已不是主要问题了。可以针对汇编语言和高级语言提供分析与测试工具;可以为嵌入式系统提供全数字仿真测试环境或测试平台,实现对嵌入式系统进行实时(仿真的实时)、闭环的、侵入/非侵入(干预/非干预,,第6页/共206页实验教程简介插桩/不插桩)的单元、组件、系统测试。在该平台上能够对被测软件进行静态分析、模拟运行、高级调试和综合测试;实现了嵌入式软件外部事件的全数字仿真,嵌入式软件就像在真实硬件环境下连续不中断地运行。1.3教学实验环境和实验内容的考虑如何开展嵌入式软件测试的实验教学,在实验内容的安排上,既要体现嵌入式软件测试的特点,在教学实施中,必须提供能够开展嵌入式软件测试的实验环境,同时,还要考虑各个高校、研究所及测评机构在教学实验环境上的基础和投入不同。方便开展教学和训练,达到既可应用于人才培养的教学环节,也可应用于实际工程实践。我们从嵌入式软件系统的三种测试环境:全实物仿真测试环境、半实物仿真测试环境和全数字仿真测试环境的各自特点进行分析,选择可行的解决方案。1.3.1三种测试环境的优缺点1.全实物仿真测试环境的优缺点全实物仿真测试的优点:软件接口测试、实时性测试比较真实。全实物仿真测试的缺点:(1)全实物仿真测试中真实的外围设备使得系统的设置缺乏灵活性,测试用例中的许多输入条件无法满足,异常情况下的安全性测试、故障注入等更是无从谈起,测试结果的记录比较困难,测试的有效性较差,测试可控性弱。(2)被测系统的更换导致与它交联的系统也发生变化,测试环境需要重新构建,通用性受到很大限制,经费投入多。结论:不适合教学实验的开展。2.半实物仿真测试环境的优缺点半实物仿真测试优点:(1)程序在真实目标机中运行,软件运行的硬件环境是真实的,测试结果比较可信;,第7页/共206页实验教程简介(2)可以完整地测试软件执行需求功能的完整过程,同时闭环测试,可以保证测试的充分性。(3)模拟的外围设备使得系统的设置更加灵活,测试用例中的输入条件可以满足,异常情况下的安全性测试、故障注入可以满足,测试结果的记录容易,测试可控性强。(4)测试环境具备复用的可能。缺点:首次应用需要开发半实物仿真测试环境,尽量兼顾大部分嵌入式软件测试需求。实验环境建设有一定的经费投入。结论:适合教学实验的开展,前提是需要开发适用于嵌入式软件测试的软硬件环境。3.全数字仿真测试的优缺点全数字仿真测试环境的优点:(1)摆脱嵌入式软件测试过程中对硬件的依赖,成本低、开发周期短、有效性高、试验安全、测试可重复。(2)支持故障注入测试,对于验证程序的逻辑和功能的正确性比较有效,可控性强。(3)可以模拟出嵌入式软件的所有输入输出,因此对测试用例的支持较好;(4)测试环境具备复用的可能。全数字仿真测试环境的缺点:(1)接口、实时性、数据真实性等方面较弱,测试初期经常采用,测试结果需要在目标机真实环境确认;(2)部分测试(如与硬件时序特性紧密相关的软件特性)无法有效得实施。(3)首次应用需要开发全数字仿真测试环境,而且,随着硬件复杂度的提高,全数字仿真测试环境建立和维护的难度越来越大。,第8页/共206页实验教程简介结论:适合教学实验的开展,前提是需要开发适用于嵌入式软件测试的全数字仿真测试环境。1.3.2实验教学内容本教程在实验教学内容的取舍上,体现了嵌入式软件测试的特点。下面从软件测试的一般过程进行教学实验内容的说明。软件测试一般是按照先静态测试后动态测试的顺序实施,而动态测试按照单元、集成、确认和系统测试的顺序进行。1.静态测试静态测试不运行被测程序,目的是度量程序静态复杂度,检查软件是否符合编程标准,发现代码的缺陷,比如中断的重入、数组的越界、内存操作的错误等。2.动态测试动态测试时必须运行被测软件。在软件开发的不同阶段进行动态测试,测试又分为单元测试、集成测试、确认测试、系统测试。(1)单元测试阶段:所有的单元测试都可以在宿主机环境下进行,只有个别情况下会特别指定单元测试要直接在目标机环境下进行。应该最大化在宿主机环境下进行软件测试的比例,通过尽可能小的目标单元访问其指定的目标单元界面,提高单元的有效性和针对性。在宿主机平台上运行测试的速度比在目标机平台上快得多,当在宿主机平台上完成测试后可以在目标机环境下重复做一次测试,以保证测试结果在宿主机和目标机的一致性。如果不一致,要分析宿主机与目标机的不同之处,原因在哪里,是资源环境的问题还是软件存在缺陷。(2)集成测试阶段:软件集成测试也可在宿主机环境下完成,在宿主机平台上模拟目标环境运行,在宿主机环境上的集成测试,可以检查目标系统的具体功能是否按照要求正确的实现。对于一个大型的软件开发而言,集成可以分几个级别。低级别的软件集成在宿主机平台上完成有很大优势,级别越高,集成测试越依赖于目标环境。,第9页/共206页实验教程简介(3)系统测试和确认测试:嵌入式系统测试和确认测试的目的是确保目标机软硬件系统是否正确实现了研制的需求,确保其使用要求。因此,在系统测试和确认测试的测试执行中,嵌入式软件必须真实运行在目标机上,才能最终考核系统的运行情况。当然,在具体的实施过程中,可采用在宿主机上开发和执行系统测试,然后移植到目标机环境重复执行的方式,然而对目标机环境的依赖性会妨碍将宿主机上的系统测试移植到目标机环境上,同时,在目标机环境上的测试运行控制不如宿主机环境方便自如,有些运行的中间结果获取不到。静态测试与编译器与指令集有关,市场上国内有许多功能相近的测试工具,可以根据不同的要求进行选择,而且和普通软件的静态测试没什么区别,因此本教程不涉及此相关内容。单元测试需要源代码,一般借助某种单元测试工具如C++test、TestBed等工具进行白盒测试,采用逻辑测试的基本方法,获得覆盖率指标,与编程语言密切相关,唯一的不同在于嵌入式软件测试需要在宿主机平台上完成测试后在目标机环境下重复做一次测试,以保证测试结果在宿主机和目标机的一致性。使用的基本方法和普通软件的单元测试要求相似,取决于对单元测试工具掌握的熟练程度,出于实验教学内容的取舍,本教程也不涉及此相关内容。嵌入式软件测试与一般软件测试的最大区别体现在“嵌入”两个字上,也就是说在测试过程中我们必须要考虑被测的软件“嵌入”到哪一个硬件/硬件系统里的,测试的对象不仅仅是代码还要包括硬件的机械属性、电气属性等。完整的嵌入式测试是对嵌入式软件与嵌入式硬件的测试,是将软件与硬件组成的嵌入式系统看作一个实体,这个软件硬结合的实体是测试的对象。从另一个角度来讲在嵌入式测试中硬件的动作(机械动作、电路动作…)是自带“逻辑”的,这一“逻辑”会影响软件的运行结果。所以嵌入式测试的实现原理上不同于一般的软件测试。在实现过程中我们的测试需求分析对象是整个嵌入式系统的需求,必须要考虑硬件的“逻辑”,而不是只独立的分析软件需求;在测试策划上要考虑整个嵌入式系统运行环境的构建,而不只是软件运行环境的构建,必须最大限度地模拟被测软件的实际运行环境,以保证测试的可靠性;在测试设计上要分析整个嵌入式系统的输入与输出(软件与硬件的输,第10页/共206页实验教程简介入/输出),而不是只分析软件的输入与输出;在测试结果的分析过程中测试用例“通过”的标准一定是要同时满足软件与硬件的“通过”标准。本教程专注于嵌入式系统的集成测试、系统测试和确认测试阶段的黑盒测试,重点关注系统的功能、性能和接口测试的自动化测试技术,从实验教学的可实施性角度选择半实物仿真测试环境,考虑到半实物仿真测试教学实验环境的建设需要经费的投入,部分高校、研究所及测评机构可能暂时不具备,因此对应于该半实物仿真测试教学实验环境,兼容的提供了限于功能、外部接口仿真的模拟嵌入式测试环境,可以归类于全数字仿真测试环境(不包括CPU,内存,寄存器和I/O,仅仿真外围激励)1.3.3实验环境的设计要求我们从以下几个方面的技术能力需求进行实验环境的设计:(1)适应嵌入式系统接口类型多样性的需求新一代嵌入式系统大都具有多种类型的对外接口,包括CAN、RS232等各类总线I/O接口以及AD、DA等接口,为保证嵌入式软件测试平台对这些接口都能适应,必须通过综合集成的办法在底层将这些接口驱动进行有机集成,在上层形成与接口类型无关的软件应用,才能确保更好地适合嵌入式系统多种接口类型互联的测试要求。(2)嵌入式系统多接口关联测试的需求一个嵌入式系统中可能存在着很多个接口,这些接口之间具有一定的逻辑输入或输出关系,虽然,目前市场上有许多可以使用的CAN调试助手以及串口调试助手,但这些工具只能实施单接口的测试,当多个接口之间存在一定的逻辑输入关系时,这些调试助手将无能为力,因此需要满足多接口关联测试的需求。(3)嵌入式系统快速测试和自动测试的需求嵌入式系统的测试人员应将主要精力放到测试用例设计上,这样才能确保嵌入式系统测试的完备性,平台需要通过在底层集成各种类型的接口驱动将其转换为网络接口,在应用层通过自动化的测试与监控手段为测试人员提供一个灵活易用的测试设计与执行环境,减轻测试人员在协议分析、测试程序开发、测试数据分析等方面的工作量,提高嵌入式系统的测试和验证效率,确保嵌入式系统的质量和投入运行后的可靠性。1.4实验教程的设计本实验教程通过一个具体的嵌入式系统被测对象——教学实验箱,进行嵌入式软件测试的实践教学,该教学实验箱也是全国大学生软件测试大赛嵌入式专项的决赛比赛环境。暂时不具,第11页/共206页实验教程简介备教学实验箱环境的高校也可以利用全国大学生软件测试大赛官网提供的嵌入式测试在线的模拟环境Etest进行教学。嵌入式系统测试教学实验箱是凯云科技自主研发的应用于嵌入式系统黑盒动态测试的教学实验箱。本教学实验箱选用典型的待测系统作为案例,设计了待测系统软件功能和实现方式,可以模拟实际场景下的嵌入式系统的运行环境及功能。学员通过使用本实训平台进行学习,能够掌握对嵌入式系统进行黑盒动态测试所需要的测试方法,能够通过实际动手操作,取得对嵌入式系统进行黑盒动态测试的测试经验和技能,为在今后开展实际项目工作打下基础。根据实验教学由易到难的一般规律,实验教程的教学设计和实验安排可以大致分为验证性实验、设计性实验和综合性实验。验证性实验:第2章的基本要求是熟悉被测对象,要求学生能够熟悉被测对象,可以运行被测对象,观察运行结果。第3章的基本要求是作为嵌入式系统测试的入门知识,讲解嵌入式设备接口测试手工测试的方法,通过一些仪器仪表熟悉和了解嵌入式系统测试的特殊性;第4章的基本要求是按照设定好的测试工具软件进行简单的自动化测试,这个部分的测试用例、测试脚本、测试环境都是给定的,要求学生能够顺利的执行下来,熟悉测试环境,观察结果的正确与否。设计性实验:第5、6章分别对组成被测对象的主要功能模块进行配置项级的测试,涉及到了多种接口、功能和性能需求,学生需要从需求分析、测试用例设计、测试脚本编写、测试执行的全过程开展测试工作,分手工测试和自动化测试两种实现途径开展测试,体会自动化测试的优点。综合性实验:第7章进阶技术,从组合测试的角度讲述在数据通路数多,数据输入复杂的情况下如何开展测试。第8章是对模拟嵌入式软件的测试,在没有实验箱的情况下,可以使用模拟软件来学习测试技术。老师可以从最近三年的全国大学生软件测试大赛的比赛题目中选择一个完整的测试任务对学生进行考察。本实训教程采用讲解结合案例的方式。文中涉及的测试项目可以从网站上下载。网址是http://www.kiyun.com1.5实验考核标准实验考核可以参考“嵌入式测试”比赛评分规则,将学生的能力分解为以下5个方面。评分标准1:Bug检测率(60%);,第12页/共206页实验教程简介评分标准2:代码覆盖率(15%);评分标准3:需求覆盖率(10%);评分标准4:测试脚本质量(15%);评分标准5:测试环境搭建能力。总分=评分1+评分2+评分3+评分4;以总分高低进行排名,分数相同者,依照提交时间先后进行排名。考试或比赛结束,针对选手提交的结果进行离线计算,从(1)Bug检测率、(2)代码覆盖率、(3)需求覆盖率、(4)测试脚本质量、(5)测试环境搭建,五个方面生成选手的测试能力评估及其雷达图。具体计算度量如下(都是0-100分,保留1位小数):(1)Bug检测率:审查测试结果报告,以发现问题占预埋问题比例为考核依据,最高为100分能力值计算。a)根据发现的预埋问题个数以及对应的分值给出基础分;,第13页/共206页实验教程简介b)测试结果描述的准确程度,包含问题的描述、性能测试的具体值,依照审核结果进行相应的修正。(2)代码覆盖率:直接采用指定的某种代码覆盖率(语句覆盖、分支覆盖等),最小为0分,最大为100分(代表100%)。根据实验箱中的测试执行记录获取被测软件的覆盖率指标,根据覆盖率的高低进行评价。(3)需求覆盖率:审查测试结果报告,根据对需求的覆盖程度以及测试方法和测试用例描述获得被测软件的需求覆盖率指标,根据覆盖率的高低进行评价。(4)测试脚本质量:按照以下4个方面审查提交的测试脚本。a)根据测试脚本与需求的对应关系评估测试脚本粒度划分是否合理;b)是否实现了测试流程与测试数据的分离;c)是否实现了测试结果的自动化评判;d)是否实现了测试结果的自动化保存。(5)测试环境搭建能力:根据系统测试的要求,正确完成所需测试环境的配置和搭建的时间,最大值记为100分,其他选手成绩采用线性化归一计算。,第14页/共206页实验教程简介1.6教学实验系统概述自从出现高级语言,嵌入式系统的开发环境和运行环境通常是存在差异的,开发环境被认为是主机平台(Host),软件运行环境为目标平台(Target)。嵌入式软件的开发环境和运行环境往往互相分离,即采用交叉开发(CrossDeveloping)的方式:开发在宿主机(Host)上进行,最终使用在目标机(Target)上。利用宿主机上丰富的资源及良好的开发环境开发仿真调试目标机上的软件;通过串口或网络等将交叉编译生成的目标代码传输并装载到目标机上,用调试器在监控程序或实时内核/操作系统的支持下进行实时分析、测试和调试。因此,这种开发环境和运行环境分离的交叉开发(CrossDeveloping)决定了嵌入式软件测试的基本策略为交叉测试(Cross-test)或HostTarget测试(主机目标测试)。交叉测试(Cross-test)最大的特点主要体现在测试环境的搭建上,嵌入式软件运行于特定的硬件环境中,这一特定的硬件环境在芯片指令、存储器、总线、操作系统等各个方面与PC机系统完全不同,这一环境与我们日常使用的PC机硬件环境几乎没有任何的兼容性。所谓的目标环境测试是嵌入式软件运行于真正的嵌入式硬件系统中进行测试,基于目标的测试全面、有效,但是消耗较多的经费和时间。所谓宿主环境测试是在PC机中搭建一个模拟的目标机硬件环境,然后使嵌入式软件运行于这一模拟的硬件环境中。基于宿主的测试代价较小,但是有些对环境要求高的功能和性能宿主机无法模拟,测试无法实现。测试过程中,充分利用高级语言的可移植性,将系统中与目标环境无关的部分工作转移到PC平台上完成,在硬件环境未建好或调试工具缺乏时就可以开展,这时可以借鉴常规的软件测试方法。系统中与硬件密切相关的部分在Target上完成,用到的测试工具需要支持目标环境。最后,在目标环境中进行验证确认。使用有效的Cross-test测试策略可极大的提高嵌入式软件开发测试的水平和效率,总结一下,采用Cross-test时的策略:(1)使用测试工具的插装功能(主机环境)执行静态测试分析,并且为动态覆,第15页/共206页盖测试准备好一插装好的软件代码。(2)使用源码在主机环境执行功能测试,修正软件的错误和测试脚本中的错误。(3)使用插装后的软件代码执行覆盖率测试,添加测试用例或修正软件的错误,保证达到所要求的覆盖率目标。(4)在目标环境下重复(2),确认软件在目标环境中执行测试的正确性。(5)若测试需要达到极端的完整性,最好在目标系统上重复(3),确定软件的覆盖率没有改变。通常在主机环境执行多数的测试,只是在最终确定测试结果和最后的系统测试才移植到目标环境,这样可以避免发生访问目标系统资源上的瓶颈,也可以减少在昂贵资源如在线仿真器上的费用。另外,若目标系统的硬件由于某种原因而不能使用时,最后的确认测试可以推迟直到目标硬件可用,这为嵌入式软件的开发测试提供了弹性。设计软件的可移植性是成功进行cross-test的先决条件,它通常可以提高软件的质量,并且对软件的维护大有益处。各个阶段合适的测试工具可以使嵌入式软件的测试得以方便的执行。两种测试方法各有优缺点。“目标环境测试”在每次测试中都将被测代码重新“烧”入到嵌入式硬件中,成本高,效率低,而且无法获得被测软件运行过程中的各种状态与行为,无法控制软件运行流程。但这种测试方法是最直接最可靠的,“目标环境测试”是嵌入式软件测试难以逾越的一个阶段。“宿主环境测试”则与“目标环境测试”相反,由于被测软件是运行在模拟的环境中,省去了将代码“烧”入硬件这一过程,成本低,效率高,而且可以随时通过模拟环境的接口观察软件运行过程中的状态与行为,可以随意设置“断点”来控制被测软件运行与暂停。但这种测试毕竟是在模拟环境中运行的。在实际应用中采用最多的是折中的测试方法:先使用“宿主环境测试”方法进行白盒类测试,如单元测试、接口测试等;再使用“目标环境测试”方法进行黑盒类的功能、性能测试等,观察被测软件在真正硬件中的表现与真实的硬件影响。第2章教学设备简介,第16页/共206页本实训平台选用嵌入式系统测试教学实验箱作为实训平台。嵌入式系统测试教学实验箱是凯云科技自主研发的应用于嵌入式系统黑盒动态测试的教学实验箱。实验箱选用典型的待测系统作为案例,设计了待测系统软件功能和实现方式,可以模拟实际场景下的嵌入式系统的运行环境及功能。学员通过使用本实训平台进行学习,能够掌握对嵌入式系统进行黑盒动态测试所需要的测试方法,能够通过实际动手操作,取得对嵌入式系统进行黑盒动态测试的测试经验和技能,为在今后开展实际项目工作打下基础。2.2.1教学实验箱简介嵌入式系统测试教学实验箱由教学实验箱和测试主机组成,并通过USB连线相连。教学实验箱外观,如图2-1所示。图2-1教学实验箱教学实验箱的组成结构,如图2-2所示。,第17页/共206页配件盒电源输入12V软件逻辑显示屏电话轴入DC12VDC12V电块R5232U8B转8282块0508DC12V电源输入顶灯左转灯右转网灯开关示宽灯到动灯防空防空明灯动灯用灯USB线5USB线USB线CANUBECAN模快COM2CANI0轴入IQ输出PWr输入PWM输出AO入DA出RS232CAN101-108101-101010输出DO/DI/PWM/I0入DA/AD待测板PWM1-3PW1-3Pwhi出采集板PWM入AD1-4DA出DA1-4IGN左钱向石转向灯示意灯远光酒光赳动防空开关开关开关开关开关开关开关开关开关AD入外部电源USB线电输入USB口测试主机图2-2教学实验箱组成结构教学实验箱由待测板、Android显示屏、多功能接口板、串口通信板这四个部分组成。(一)待测板是教学实验箱的主体,模拟了一个车辆信号控制器。主要功能包括采集车辆的变速器油压、燃油液位、变矩器油温,采集车速、发动机转速、行驶距离、燃油消耗,根据灯控开关的组合情况确定灯光的开启和关闭情况。(二)Android显示屏是同待测板相连的显示设备。通过RS232串口同待测板相连,显示待测板的输出信号。(三)多功能接口板实现了对待测板外围输入/输出信号的模拟和采集。主要功能包括模拟传递给待测板的电压信号、频率信号、开关量信号;采集待测板输出的开关量信号、脉冲信号、电压信号。多功能接口板通过USB接口连接到测试主机上,由测试主机通过测试平台软件对其控制产生上述信号。(四)串口通信板主要有两个功能:第一是提供了电源输入和总控制开关;第二是对待测板的串口输出和多功能接口板的输出进行整合,并统一输出给测试主机用于通信数据的显示。,第18页/共206页(五)整个测试环境从功能上,可以划分为两部分:被测对象和测试环境。被测对象主要由一个嵌入式系统组成,搭载相应的软件,所为我们测试教程的被测对象;测试环境由测试主机和接口板组成,作为我们进行自动化测试需要的设备。本章将对被测对象部分进行详细介绍。2.2实验箱硬件实验箱部分硬件分为两部分:待测板和显示屏。图2-3被测对象组成2.2.1待测板待测板为嵌入式系统,可以运行预先设计好的嵌入式软件。外观如图2-4所示。,第19页/共206页图2-4待测板待测板上方有一排灯光输出,从左至右分别为:顶灯、左转向灯、右转向灯、开关照明灯、示宽灯、远光灯、近光灯、制动灯、防空制动灯、防空照明灯。下方有一排控制按钮,可以作为开关量输入,从左至右分别为:IGN开关、左转向开关、右转向开关、警报灯开关、示宽灯开关、远光开关、近光开关、制动开关、防空开关。右方有一排接线端子,从上至下分别为:数字量输入端子、数字量输出端子、频率输入和输出端子、模拟量输入端子、模拟量输出端子、CAN总线端子。右上方有一个RS232串口接线端子,同串口通信板相连。底部有一个隐藏的RS232串口接线端子,同Android显示屏相连。待测板选用NXP的LPC1778FBD144芯片实现。其主要硬件组成如下:(一)采用ARMCortex-M3NXPLPC1778处理器,主频120MHZ;(二)具有工业2.0CAN总线接口,支持125K、250K、500K、1M等波特率;(三)具有标准232串行总线通讯接口,最高通讯速率达1Mbps;(四)具有9路光耦隔离型IO输入端口,9路工业带灯按键;(五)具有10路光耦隔离型IO输出端口,10路工业防爆信号指示灯;(六)具有3路光耦隔离型高速PWM输出、输入端口;,第20页/共206页(七)具有3路高精度12位轨到轨DA输出,转换速率230K;(八)具有3路高精度12位逐次A/D,转换速率230K。待测板的外围接口描述,如图2-5所示。内部接口RS232DAADDODIPWMoutPWMinRS232CAN口灯光显示测试待测板接口开关控制图2-5待测板外围接口描述(一)待测板通过AD、DA、DI、DO、PWM、RS232、CAN接口同外部设备相连,进行输入输出控制;(二)通过一路RS232串口同显示屏通信,显示屏显示内部信息值。2.2.2软件逻辑显示屏软件逻辑显示屏又称为Android显示屏,主要用于同待测板相连,显示待测板内部的输出信号。外观如图2-6所示。,第21页/共206页转速车速E657005075r/minkm/h行驶距离0.00千米燃油消耗0.00升变速器油压燃油液位变矩器油温顶灯左转向灯右转向灯开关照明灯示宽灯远光灯近光灯制动灯防空制动灯防空照明灯IGN左转向右转向警报灯示宽灯远光近光制动防空本次覆盖率:0总覆盖率:0清空覆盖率存储率图2-6Android显示屏Android显示屏采用一块触摸平板,运行应用程序。屏幕下方具有软键盘,可以进入应用,也可以退出应用。显示屏底部通过RS232串口同待测板相连。Android显示屏硬件特性如下:(一)采用ARMCortex-A9SAMSUNGS5P4418四核处理器,主频1.4GHz;(二)LVDS接口的10.1寸真彩屏,分辨率为1024*600;(三)1路RS232串口(DB9公头),动态传输待测信息。2.3实验箱软件被测对象软件也包括两部分:待测板软件及显示屏软件。其中待测板软件为测试对象;显示屏程序作为辅助工具,一般不作为测试对象。待测板软件及显示屏软件都可以进行更新,方便实验课程的升级更新。2.3.1待测板软件待测板默认搭载的软件为某车辆控制软件。软件主要功能为:1、变速器油压、燃油液位、变矩器油温等信号的采集处理;2、进行行驶里程、燃油消耗的计算;,第22页/共206页3、开关量信号的采集和灯光显示的控制。(一)变速器油压、燃油液位、变矩器油温变速器油压、燃油液位、变矩器油温通过模拟量信号采集传感器进行输入,由RS232串口进行数据查询,并输出相应的信息;由CAN总线定时输出相应的信息。变速器油压、燃油液位、变矩器油温的数据流,如图2-7所示。RS232串口模拟量信号待测件CAN口图2-7变速器油压、燃油液位、变矩器油温的数据流图3路传感器为电压型传感器,电压范围为0-5V,电压到物理量含义的计算公式如下:表2-1变速器油压、燃油液位、变矩器油温计算公式序号信号名称检测范围公式允许误差1变速器油压0Mpa-4.0MPa1.25Vc-0.75±0.1Mpa2燃油液位0%-100%Vc*3/100-5±1%3变矩器油温0℃-150℃Vc*500/3-25±1.5℃模拟量输入通过AD电路进行采集,Vc为采集的电压值,单位为V(伏特)。(二)车速、转速、里程、燃油消耗车速、发动机转速、行驶里程、燃油消耗的数据流图如图2-8所示。,第23页/共206页RS232串口CAN口模拟量输出待测件脉冲计数输出频率信号图2-8车速、发动机转速、行驶里程、燃油消耗的数据流图车速、发动机转速的输入:车速、发动机转速由频率信号输入。通过测频得到f(单位Hz),然后计算发动机转速与车速。其计算公式如下表:表2-2发动机转速、车速计算公式序号信号名称检测范围公式允许误差1发动机转速0r/min-5000r/minf/138*80±2r/min2车速0km/h-80km/hf*0.006536±1km/h行驶里程、燃油消耗由车速和发动机转速计算而来。计算过程分为两步:第一步,计算行驶里程,计算公式为:D=V*t/3600;其中V为车速,单位km/h;t为所经历的时间,单位为秒。输出范围为0-1000km。第二步,计算燃油消耗,计算公式为:L=D*Lv/100;其中D为里程,单位km;Lv为燃油消耗率,单位:升/百公里。燃油消耗单位为升。行驶里程的输出:行驶里程用一定频率的脉冲输出,接口板通过对脉冲的计数来识别待测板的里程值;每10米发送一个脉冲,也即行驶里程精度为0.01km。若按照车速等于60km/h进行计算,10米需要的时间为10/(60*1000)*3600=0.6秒,也即每0.6秒输出一个脉冲,相当于脉冲频率为1/0.6=1.6HZ燃油消耗的输出:燃油消耗用一定频率的脉冲输出,接口板通过对脉冲的计数来识别待测板的燃油消耗。每10毫升发送一个脉冲,也即燃油消耗精度为0.01升。若按照车速等于60km/h进行计算,燃油效率Lv=10升/百公里,则消耗10毫升油的,第24页/共206页行驶里程为10/(Lv*1000/100)=10/(10*1000/100)=10/100=0.1公里,0.1公里的时间为0.1/60*3600=6秒,也即每6秒输出一个脉冲,相当于脉冲频率为1/6=0.16HZ。脉冲计数允许误差范围:里程脉冲计数允许误差为±1km/h,燃油消耗脉冲计数允许误差为±0.1L/h。车速和发动机转速的输出利用模拟量输出,输出0-5V的电压信号以驱动仪表的显示。其计算公式如下:表2-3发动机转速和车速电压输出计算公式序号信号名称计算公式参数含义允许误差1发动机转速表显示当n<=1000:A=n/1000当n>1000:A=n/1050-1/21A表示DA输出的电压值(伏特),n为发动机转速(转/分)±0.1v2车速表显示A=V/40A表示DA输出的电压值(伏特),V表示车速(km/小时)±0.1v(三)RS232串口教学实验箱提供了两路RS232串口,一路用于实现Android显示屏与待测件板的信息通信,一路用于串口通信板与待测件板的信息通信。两路RS232串口的波特率设置均为9600bps,无校验,8位数据位、1位停止位。通信协议格式由帧头、长度、指令字、数据内容、校验和、帧尾组成,帧头与帧尾各占2个字节(固定为AA55),长度1个字节(包含指令字加数据内容的字节长度)、指令字1个字节、校验和2个字节(从长度开始到内容结束字节的累加和)。1.通过串口接收自检指令,第25页/共206页表2-4串口自检查询指令结构描述B0-B1B2B3B4-B5B6-B7帧头长度指令字校验和帧尾AA551FAB2+B3AA552.通过串口向外发送自检结果表2-5串口查询自检结果结构描述B0-B1B2B3B4B4-B5B6-B7帧头长度指令字自检状态校验和帧尾AA551FA1:正常,0:故障B2+B3AA553.通过串口接收数据查询指令表2-6串口数据查询指令结构描述B0-B1B2B3B4-B5B6-B7B8-B9帧头长度指令字查询的数据校验和帧尾AA553FB由低到高每两Bit代表一个数据的查询,两位全为1表示需要查该数,否则为不需要查询该数B2到B5的累加和AA55B4分别表示是否查询变速器油压、燃油液位、变矩器油温、保留字段;B5分别表示是否查询发动机转速、车速值、里程、燃油消耗。4.通过串口向外发送数据查询结果表2-7串口数据查询结果结构描述B0-B1B2B3B4-B19B20-B21B22-B23帧头长度指令字数据内容校验和帧尾AA550x11FB每两个字节表示变速器油压到燃油消耗B2到B19的累加和AA55B4-B19每两个字节代表一个数据。即:B4-B5代表变速器油压;B6-B7代表燃油液位;B8-B9代表变矩器油温;B10-B11保留字段(默认值为0xFFFF);B12-B13代表里程;B14-B15代表燃油消耗;B16-B17代表发动机转速;B18-B19代表车速。值域范围0-0xFFFE代表0-相应参数的最大值,当值为0xFFFF时,表示对方未查询该数。注:1)在ETest中,校验算法使用:【常用校验->和校验(8位)】,字节序为大端。2)数据内容中的数据为小端模式。(四)CAN口CAN总线波特率为500Kbps,采用标准帧数据格式,内容长度8个字节,每180ms输出1帧数据(允许时间误差范围在±20ms)。当发动机转速和车速均为0时,停止输出CAN信息。表2-8为CAN接口通信协议,其中B表示字节,b表示位,即B0表示第0个字节,b0表示该字节中的第0位。在ETest中,提供了CAN标准帧的协议模板,可直接调用。表2-8CAN口协议结构描述字节号字段内容B1-B8数据内容8字节根据ID的不同,数据内容不同。ID为1时,数据内容见表2-9;ID为2时,数据内容见表2-10,第27页/共206页表2-9ID为1时数据内容字节号信号名称内容B1-B2变速器油压用0-65535代表0Mpa-4.0MPaB3-B4燃油液位用0-65535代表0%-100%B5-B6变矩器油温用0-65535代表0℃-150℃B7-B8保留0xFFFF表2-10ID为2时数据内容字节号信号名称内容B1-B2里程用0-65535代表0km-1000KmB3-B4燃油消耗用0-65535代表0-50升B5-B6发动机转速用0-65535代表0-5000r/minB7-B8车速用0-65535代表0-80km/h注:对于多字节数据,字节序均为小端模式。(五)灯光控制灯光控制使用数字量输入代表9路开关信号,分别为:IGN开关,左转向开关,右转向开关,警报灯开关,示宽灯开关,远光开关,近光开关,制动开关,防空开关。使用数字量输出代表10路灯光信号,分别为:顶灯,左转向灯,右转向灯,开关照明灯,示宽灯,远光灯,近光灯,制动灯,防空制动灯,防空照明灯。灯光控制逻辑为:1)IGN开关为总开关,当IGN开关关闭时,除警报灯开关外,其余灯光控制开关均无效;,第28页/共206页2)IGN开关打开后,如果防空开关打开,则顶灯必须熄灭,远光灯、近光灯、左转向灯、右转向灯、示宽灯、制动灯不再受各自开关控制,并且要处于熄灭状态,警报灯开关不再有效;3)IGN开关打开后,如果防空开关打开,防空制动灯受制动开关控制,并且制动灯应为熄灭状态;4)如果防空开关关闭,当警报灯开关打开时,左右转向灯同时闪烁;5)IGN开关打开后,如果防空开关关闭,只有当近光开关打开时,远光开关才能控制远光灯的打开与关闭;(即当近光开关关闭时,远光开关无论打开与否,远光灯都不会点亮)6)IGN开关打开后,如果防空开关关闭,顶灯点亮,左转向灯、右转向灯、示宽灯、近光灯受各自开关控制;7)IGN开关打开后,如果防空灯开关关闭,开关照明灯受示宽灯开关控制。上述所有7条灯光控制逻辑需要同时满足。2.3.2显示屏显示程序显示屏显示程序是安装在Android系统里的一个应用程序。在程序菜单里面有个图标,点击该图标,进入应用程序。应用程序主界面,如图2-9所示。转速车速E657005075r/minkm/h行驶距离0.00千米燃油消耗0.00升变速器油压燃油液位变矩器油温顶灯左转向灯右转向灯开关照明灯示宽灯远光灯近光灯制动灯防空制动灯防空照明灯IGN左转向右转向警报灯示宽灯远光近光制动防空本次覆盖率:总覆盖率:00清空覆盖率存储率图2-9Android板应用程序主界面第一排为仪表数据显示,从左到右排列顺序依次为:发动机转速、车速、行驶距离、燃油消耗、变速器油压、燃油液位、变矩器油温。变速器油压最大显示值为,第29页/共206页4Mpa、燃油液位最大显示值为100%、变矩器油温最大显示值为150℃,均用蓝色显示条表示有效值。第二排为灯光显示,从左至右排列顺序依次为:顶灯、左转向灯、右转向灯、开关照明灯、示宽灯、远光灯、近光灯、制动灯、防控制动灯、防空照明灯,灯光打开时显示为红色,关闭时显示为白色。第三排为开关显示,从左至右排列顺序依次为:IGN开关、左转向开关、右转向开关、警报灯开关、示宽灯开关、远光开关、近光开关、制动开关、防空开关,开关打开时显示蓝色底色的ON字样,关闭时显示红色底色的OFF字样。连续点击三下“车速”区域,可以进入数据查询界面。如图2-10所示。十六进制十进制二进制pauseb0000000000000000000000000000000000-00010e8a55]b00000000000000000-0000001b00000000000000000000000000:0000000000010eaa55b0000000000000000:0000-0000]00000000000000-0000:000000000000000000010eaa55b00000000000000000000000016000000000000000000000000000000000000010eaa55]b00-00000000000000000000:00100000000000000000000000000000000000-010eaa55]0000000000000000000000]00000000000000000000000000000000000010eaa55]000000000000000000000]000000000000000000000000000000000010eaa55]0000000000000000000]000000000000000000000000000000010eaa55]000000000000000000]0000000000000000000000000000010eaa55]0000000:00:000000]0060000000000000000000000001:0eaa5510000000000000010000000000000000000000000000010eas5500000000:00000000110000000000000000000000000000108aa55]10000000000000001000000.00.0000000000000000000000010eaa55图2-10数据查询界面界面显示了Android显示屏程序和待测件版程序进行数据沟通的原始数据。数据循环显示,每50行清空一次。界面上方显示了“十六进制”、“十进制”、“二进制”三种显示方式。勾选相应的复选框,可以使数据显示界面按照相应的方式显示数据。界面右上角显示“pause”字样,为暂停按钮。点击后,切换到“resume”字样,为恢复显示按钮。2.4全数字模拟软件测试环境,第30页/共206页一般嵌入式软件运行在嵌入式硬件设备上;而嵌入式硬件设备往往造价高、不易取得。在没有实验箱等嵌入式设备的情况下,为了完成测试实验,我们开发了模拟软件,来模拟嵌入式软件,同时运行在一般的PC机上,作为被测设备。模拟嵌入式软件可以使用串口工具模拟串口作为通信接口,也可以使用TCP或UDP做为通信接口。通过这些接口对模拟嵌入式软件进行测试,同对真实的嵌入式设备软件测试的区别可以忽略不计。本章我们先介绍一下全数字模拟测试环境使用的通信方式。第8章我们会对一个模拟嵌入式软件的具体情况和测试方法进行介绍。模拟软件的接口通信方式主要由两种:虚拟串口和网络接口(TCP或者UDP)。2.4.1串口通信方式虚拟串口通信方式需要使用虚拟串口工具vspd。vspd工具安装完成后,可以点击vspdconfig.exe文件打开配置界面。如图2-11所示。图2-11vspd配置界面界面左边显示系统包含的虚拟串口驱动。第一项显示系统物理端口;第二项显示虚拟端口。,第31页/共206页虚拟端口都是以成对的形式显示的。每一对端口之间互相可以进行收/发,类似使用线缆进行对接的状态。右侧的端口管理界面,可以进行端口的管理,包括添加、删除、删除全部。添加的时候可以选择第一端口号和第二端口号,点击“添加端口”,即可完成一对端口的添加。当我在图2-11界面中点击AddPair按钮后,完成添加COM3和COM4到系统中,界面如图2-12所示。图2-12vspd添加一对端口后的配置界面此时我们就可以使用COM3和COM4进行通信了。一般我们使用被测对象应用程序打开COM3,使用测试工具软件串口调试助手或其他软件打开COM4,即可使用测试工具和被测应用程序,使用串口进行通信。2.4.2网口通信方式网络接口通信方式包括UDP方式和TCP方式。UDP方式和TCP方式都是基于IP网络的。TCP是一种基于长连接的通信方式,即在通信之前必须首先建立连接。类似于打电话的方式,必须首先拨号,接通通信双方。这种方式的优点是通信质量有保证,数据延迟在一定范围内。UDP是一种无连接的通信方式,即不需要建立连接即可通信。类似于发送信件的方式,只,第32页/共206页需要标明目标端口号即可发送数据。这种通信方式的优点是,客户端的数量不受限制,随时可以进行通信;缺点是通信质量无法保证,有时会出现延迟比较大的情况。TCP和UDP通信的时候都使用IP地址和端口号。IP地址代表目标主机的地址,端口号代表通信端口。每个主机可以有多个端口号同时进行通信。2.5实验箱程序烧录方法2.5.1·安装SecureCRT(1)解压提供的软件压缩包,根据自己的系统选择32位还是64位,安装完后,需要对软件进行注册,具体注册根据方法参照软件安装包目录下的注册文档。(2)运行setup.exe安装软件,复制SecureCRT.exe、LicenseHelper.exe到程序目录(默认C:\ProgramFiles\VanDykeSoftware\SecureCRT)替换了原文件然后按下图注册。,第33页/共206页图2-13安装注册界面在上面的方框里输入下面的注册信息后,点下一步,即可完成注册Name:ygeR[Company:TEAMZWT[SerialNumber:03-77-105141[LicenseKey:AAHKAJ8E6DUZC9SN824Q7J2PAC5H3KMR6JG77XAJBM8P5VM4[IssueDate:06-17-2015[Features:[图2-14安装完成2.5.2·升级待测件板程序(一)关闭教学实验箱电源,用USB线连接测试主机和教学实验箱;(二)按下IGN开关,然后接通教学实验箱电源;(三)首次安装端口,插入实验箱,在设备管理器中可查看到陌生串口,右键进行更新驱动程序。更新路径为文件中的安装文件CP210x,点击更新驱动。,第34页/共206页图2-15更新驱动(四)在设备管理器中查看当前实验箱所用的串口端口号(需要安装驱动,不同计算机上安装完驱动后端口号可能不同);安装驱动文件在教程文件中。图2-16查看串口端口号(五)打开串口调试助手,设置串口号为COM4、波特率为9600,数据位为8、停止位为1,并打开串口。如图2-17所示。关闭串口调试助手。,第35页/共206页图2-17串口调试助手(六)在SSCOM3.2中选中“HEX发送”选项,在字符串输入框中输入指令“AA5501FCFD00AA55”,点击“发送”按钮。等待接收信号“→CCCCCC”的出现,如图2-18所示。,第36页/共206页图2-18发送指令(七)关闭SSCOM3.2软件,运行SecureCRT软件。首次使用时,需要配置一个新会话,请在SessionManager选择“+”(创建NewSession),并在Protocol下拉列表中选择“Serial”,如图2-19所示。图2-19选择Protocol参数(八)点击“下一步”,在弹出的通信参数设置窗口中,Port选择测试主机识别出的COM端口号(如下图中的COM4),Baudrate选择“9600”,Databits选择“8”,Parity选择“None”,Stopbits选择“1”,如图2-20所示。图2-21设置通信参数(九)点击“下一步”,在弹出的会话命名窗口中,设置Sessionname的名称(如,第37页/共206页下图中的serial-com4),如图2-22所示。图2-22创建会话信息(十)到上一步为止,我们完成了一个新会话的创建,如图7所示。图2-23会话列表(十一)双击打开新建的会话(如下图中的Serial-COM4),在弹出的窗口中“C”将连续不断的显示,进入待烧写模式。如图2-24所示。,第38页/共206页图2-24待烧写模式(十二)选择菜单中的“Transfer”—“SendXmodem”。如图2-25所示。图2-25选择发送数据文件功能(十三)在打开的对话框中选中待升级的hex文件,如图2-26所示。,第39页/共206页图2-26升级程序选择窗口(十四)点击“send”后,程序开始执行升级,如图2-27所示。图2-27程序正在升级(十五)升级完成后,页面最下方会显示一个“35”,代表升级完成,如图2-28所示。,第40页/共206页
投标 / 标书制作要点(原创)
本嵌入式系统测试教学实训平台涉及「招标公告」,投标方需重点关注:① 营业执照经营范围须含招标公告或对应服务类目;② 提供同类项目业绩证明;③ 报价方案与售后响应须明确;④ 紧盯投标截止与开标节点,建议提前完成标书制作与盖章。当地项目常要求本地化服务能力与快速响应,务必在投标文件中凸显。
标书制作联系冯经理:17551026086
