当前位置:2018刘伯温心水图库 > 软件单元 >

基于MC9S12XS128的嵌入式单元测试仪软件开发与实现

  为保证弹载计算机中数字芯片的可靠性、安全性,必须在地面对其进行单元测试。作为测试芯片性能最重要的技术设备,也迅速发展起来,本文提出一种采用MC9S12XS128单片机作为某型号

  MC9S12XS128是一款的高性能16位单片机,总线 KB程序Flash和8 KB DataFlash,用于实现程序和数据存储,均带有错误校正码(ECC);16通道高达12位精度的A/D采集模块,支持8位、10位或12位多种精度,3s的转换时间;内嵌MSCAN模块用于CAN节点应用,内嵌支持LIN协议的增强型SCI模块及SPI模块;8通道PWM,易于实现电机控制;出色的低功耗特性,带有中断唤醒功能的IO,实现唤醒休眠系统的功能。

  整个数字测试仪包含了四大部分:电源模块、通信模块、参数测量单元和主控制单元。其中,参数测量单元是整个数字单元测试仪的核心部件,参数测量单元直接决定着测试仪的参数测量精度和应用范围。电源模块为测试仪配置CWY交流参数稳压电源(AC220 V,50 Hz),同时给测试仪和打印机供电,通信模块使用专用测试电缆与被测机构相连,测试电缆的41芯插头与测试仪“机构输入”插头相连,19芯插头端与被测机构相连。通过转接板与LED显示屏相连,输出测试结果,用户通过控制面板上的键盘控制该仪器完成各项性能测试。硬件系统结构如图1所示。

  数字单元测试仪的软件需要完成的主要功能包括:1)绝缘预检。自动检查12项绝缘电阻;2)自动测试。预检合格后,自动检测两个通道下各个电阻阻值及工作循环中状态转换结果;3)手动测试。通过键盘操作,选取测试内容进行测试;4)数据管理。实现对测试数据显示、打印及清除。

  根据中断处理机制和多线程编程来控制整个软件的运行流程。在整个程序启动之后,就一直处于循环等待的状态,等待中断发生。当测试者通过键盘按下按键,发生键盘中断,程序查询中断向量表,跳转到键盘中断响应服务子程序。在子程序中,判断所按键值,并根据当前状态和所按键值在程序的各个模块之间进行切换,完成相应操作。中断服务子程序执行完毕之后,退出中断,程序指针返回主程序的循环等待,等待下一次中断发生。如此循环往复,从而实现整个软件的测试功能,直至退出测试功能。如图2为主程序流程图。

  测试仪上电后初始化并进入控制主界面,利用向上向下键移动光标选择操作项,按“确认”键进入测试。其中,绝缘预检自动检查通道1、2的各项绝缘电阻,当作动源电压一定时,各项绝缘电阻是否在正常工作阻值范围内。绝缘预检必须先于其他测试,预检合格方可后续测试,否则禁止进行后续测试。

  手动测试是各项测试中最复杂的,流程图见图3。分别测试通道1、2电阻以及电压选择与转换。进入手动测试菜单窗口后,选择“通道X(1或2)电阻测试”,按确认键进入测试窗口,同时测试仪自动读取指定通道当前状态,如果处于保险状态则进入“保险状态窗口”,如果处于工作状态则进入“工作状态窗口”,通过向上向下键选择窗口内测试项目,使用“确认”键进行测试,按一次测试一次,可重复多次测试,光标移到“转换”位置,按“确认”键后测试仪自动读取指定通道当前所处状态并进行转换。如果转换成功窗口显示5秒后自动关闭并进入另一状态电阻测试窗口,如果转换失败窗口停留,等待用户按键“返回”。当选择“通道X电压与转换”显示相应窗口,通过向上向下键选择窗口内三档电压及手动调压,按“确认”键显示转换结果,包含转换时间和转换电流。

  在上实现测试仪软件的开发,通过BDM(单线背景调试模式)在单片机运行时对单片机动态调试。软件设计采用初始化+循环体的软件结构,首先进行全局变量和所用外设(包括IO、ADC、SPI、PWM、TLMER、SCI)的初始化,然后在循环体内依次进行绝缘预检、手动、自动检测以及数据管理。

  初始化被定义在工程文件下init.c源文件内,包括设置晶振时钟、总线 MHz,初始化I/O端口、串口SCIO、SCI1,串口速率9 600,可以中断接收数据,并对PWM、ECT、ATD模块进行初始化,初始化函数如下:

  在common.c文件内定义通用函数,主要是与芯片无关的功能性子函数,如显示格式定义、光标选择等函数,以下是Uart0_putchar函数用于串口发送单个字符,所有字符显示调用的Show_order函数都是基于此函数。

  启动开关,初始化进入主菜单,上下键选取测试项,选定绝缘检查后预检过程中各项测试结果如图4所示,共预检通道1、2分别在保险及工作状态下绝缘电阻共48项。

  自动检测结果如图5所示,顺序检测通道1到2各状态电阻,工作状态与保险状态实现自动转换,并显示转换时间与转换电流。图6是通道1从工作状态转换到保险状态结果示意图。手动测试是人工测试两通道电阻测试和电压选择与转换,电阻测试功能如图7所示,选择光标所在行确认,即可显示测试数据,可重复测试。

http://kingkaiju.com/ruanjiandanyuan/147.html
点击次数:??更新时间2019-06-03??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】