基于多MCU的自动测试诊断系统的设计
在本文设计的多MCU系统中,各个MCU的功能如下:本文引用地址:https://www.eepw.com.cn/article/162159.htm
(1) 主机MCU的功能
·负责与PC机的通信。通信采用目前流行的USB总线通讯方式,一方面接收来自于PC机的命令与数据,另一方面向PC机发送测试数据和自检信息。
·解释来自PC机的命令,并向所有从机或者相应的从机发送。对来自PC机的数据进行分类,并发送给相应的从机。对自身的RAM进行自检。
·负责与四个从机的通信。通信为多机主-从方式,利用MCU的RxD和TxD端以全双工UART串行模式进行通信,并使用帧错误检测和自动地址识别功能。
·管理四个从机进行同步测试。主MCU利用P1口的低四位(P1.4、P1.5、P1.6、P1.7)向四个从机发送同步控制信号,使得多个从机在测试过程中能够保持同步性。
(2) 从机MCU1~MCU4的功能
·通过RxD端口,以串行通信方式接收来自主MCU的与自己相关的命令和数据。
·每个从机的24路I/O端口P0.0~P0.7、P1.0~P1.7和P2.0~P2.7共计96路分别与测试通道Port1~Port96相连接。根据I/O端口的设置情况,向定义的输出通道输出测试激励信号,从相应的输入通道读入测试结果并存入相应的RAM单元。
·在被测试电路板的一个输出通道测试完毕后,将测试的结果发送到主MCU的RAM存储区,并由主MCU发往计算机。
·负责自身数据存储区RAM的自检工作。当接收到主MCU的自检命令时,对自身的RAM进行自检,并将自检结果发送到主MCU。
1.4 测试通道适配接口卡
普通的被测数字电路板是不能直接插到测试平台的测试接口上的,需要有特制的测试通道适配接口卡才能进行连接。本系统提供的接口卡是96路通道的总线结构的接口卡,可与适用于本设计的数字电路板进行连接。如果要测试其它类型的数字电路板,则需要专门定做与其配套的测试通道适配接口卡。
2 软件设计
2.1 测试平台程序设计
本系统测试平台程序采用模块化设计,是基于Keil系统开发软件和TKS-668开发硬件,采用C语言与汇编语言编写的。模块化程序设计的思想就是要把一个复杂的程序按整体功能划分成若干相对独立的程序模块,各模块可以单独设计、编程、调试和查错,然后装配起来进行联调,最终成为一个有实用价值的程序。本系统的测试平台软件主要由系统的主程序、通信程序、测试程序和自检程序等模块组成。
2.1.1 主程序设计
主、从MCU的主程序设计流程图分别如图2、图3所示。本系统中的四个从MCU具有相同的功能,因此其主程序设计是一样的。主、从MCU在初始化中要设置的相关参数包括:串行口的方式、波特率、定时器的方式、中断等。
评论