完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
摘要:详细介绍了基于多P89C668单片机的组合逻辑电路自动测试诊断系统的设计,包括硬件结构设计和软件设计。该自动测试诊断系统采用USB接口实现计算机与诊断平台的通信,其移动式结构便于在现场进行测试,且设备成本低、操作简单。 关键词:自动测试诊断系统 多单片机 P89C668 USB 随着IT产业和通信技术、电子技术、计算机技术的高速发展,大量的生产装备和产品的电子化、数字化、自动化、智能化的程度越来越高,与之配套的电子测量设备必须适应这种形势。因此,综合测量技术、电子技术、自动化技术和计算机技术于一体的自动测试系统发展日益完善,在一些高度电子化产品、航空航天和军用武器装备中以及工业自动化、通信、光学、能源等诸多领域中得到了广泛应用。 一般意义的自动测试系统是指采用计算机控制,能实现自动化测试的系统。这类系统通常是在标准的测控总线或仪器总线(CAMAC、GPIB、VXI、 PXI、CAN等)的基础上组建而成的。目前,通用串行总线(Universal SerialBus,即USB)以其方便的即插即用和热插拔特性及较高的传输速率,成为PC机领域广为应用的外设连接规范。本文介绍的自动测试诊断系统是以五片P89C668单片机为核心组成故障诊断平台,采用基于FT245BM USB芯片的通信卡建立计算机与测试诊断平台通信的桥梁,使其能对需要检测的组合逻辑数字电路板进行测试,并可以根据标准诊断数据库对产生故障的电路板进行自动故障定位。目前该系统能够对多种不含有不受控制的部件如CPU、存储元件、晶振、阻容式单稳态等的数字电路板进行自动测试及故障诊断,可测试的电路板边缘连接器的最大引脚数为96个。
|
|
相关推荐
3个回答
|
|
|
|
|
|
2 软件设计 2.1 测试平台程序设计 本系统测试平台程序采用模块化设计,是基于Keil系统开发软件和TKS-668开发硬件,采用C语言与汇编语言编写的。模块化程序设计的思想就是要把一个复杂的程序按整体功能划分成若干相对独立的程序模块,各模块可以单独设计、编程、测试和查错,然后装配起来进行联调,最终成为一个有实用价值的程序。本系统的测试平台软件主要由系统的主程序、通信程序、测试程序和自检程序等模块组成。 2.1.1 主程序设计 主、从MCU的主程序设计流程图分别如图2、图3所示。本系统中的四个从MCU具有相同的功能,因此其主程序设计是一样的。主、从MCU在初始化中要设置的相关参数包括:串行口的方式、波特率、定时器的方式、中断等。 2.1.2 自检程序设计 主从MCU的自检是为了保证每个单片机都能正常工作,即USB和主MCU、主MCU和从MCU之间的通讯正常,并且保证每个单片机的RAM没有损坏。 主MCU和从MCU之间的通讯是否正常的自检是:先由主单片机向从单片机发一串数据,然后再由从单片机把接收到的数据发回主单处机,判断两串数据的个数和内容是否一致,一致的话则说明通讯正常。同理,USB和主MCU之间通讯自检的原理也是如此。 MCU的RAM自检的原理是:对于每一个RAM的存储单元,先把一个数据写入该RAM的单元,然后再从该单元里读出一个数据,判断两者是否一致,如果一致则说明该RAM单元没有损坏。 2.1.3 通讯程序设计 系统的通讯程序包括:主MCU与USB之间的通讯程序、主MCU与从MCU之间的通讯程序以及从MCU对被检测电路板的扫描程序。 主MCU的USB是通过USB的管脚D0~D7和主MCU的管脚P0.0~P0.7传递数据的。控制主要是通过USB的四个管脚:RXF、TXE、WR、 /RD和主MCU的四个管脚:P1.4、P1.5、P1.6、P1.7进行的。当TXE为低且WR从0变为1时,数据写入USB;当RXF为低且/RD从 1变为0时,数据从USB读到主MCU。主MCU通过P1.4和P1.5对USB的RXF和TXE进行判断,然后通过P1.6和P1.7对USB的WR和 /RD进行控制传递数据。 主MCU与从MCU之间利用MCU的RxD和RxD端以全双工UART串行模式进行通信,串行通讯通过中断实现,使用了帧错误检测和自动地址识别功能。本系统的主MCU采用广播通讯方式,由特殊寄存器SADEN和SADDR逻辑或产生从机的广播地址,利用地址自动识别功能,通过发送广播地址,同时发命令与四个从MCU进行通讯。当主MCU只和单个从MCU通讯时,采用点点通讯方式,由SADEN和SADDR相与产生的特定地址来确认哪些从机被选中与主机进行通讯,不需要再进行软件查询。 从MCU对被检测电路板的扫描程序采用的是功能测试技术。为了检测某一组合逻辑电路板是否存在故障,首先把电路板插到诊断插槽上,由于每个输出端口只是与该电路板所有端口中的几个有逻辑关系,所以扫描程序只需对某个输出端口有逻辑关系的电路板的输入端口进行从全0到全1的电平激励(比如有五个输入端口,一共有2 5=32组激励)。对于有逻辑关系的输入超过七个以上时,由于工作量很大,不实行从全0到全1的激励,而是从中选择128组激励进行类似抽查的检测,然后读取输出端口,把输出结果传输到计算机内,和标准数据库的仿真结果进行分析与比较,判断是否一致,如果出现不一致的情况,则说明电路板存在故障。 2.2 应用系统软件设计 安装在计算机上的自动测试诊断系统软件采用Visual 6.0语言编程,其主要作用是使计算机向USB接口通信卡发送测试激励数据、接收响应数据、进行数据计算与分析等。
2.3 标准诊断数据库的软件产生方法 建立标准诊断数据库的目的是为了进行自动故障定位。本系统可用两种方法建立标准诊断数据库:第一种方法是根据被测数字电路板的原理图,在一些EDA软件环境如Protel、Foudation、Maxplus II中通过仿真功能生成标准诊断数据库。第二种是测试功能正常的数字电路板,在特定的激励下记录该电路板的响应数据,由软件自动追加到相应的数据库中,作为今后测试该电路板的标准诊断数据库。 由于本系统所要测试诊断的电路板端口数较多,采用第二种方法不但工作量非常大,而且还要确保所测数字电路板在测试过程中功能正常,因此本系统采用第一种方法。考虑到所测的电路板为组合逻辑数字电路板,所以本系统采用Xilinx公司的Foundation F3.1i软件环境,在原理图编辑器(Schematic Editor)中输入被测数字电路板的原理图,然后在功能仿真器(Functional Simulation)r Script Editor中利用软件自带的仿真命令自动生成标准诊断数据文件,再由应用系统软件将数据导入相应的数据库。 目前一般的自动测试诊断系统通常是在标准的测控总线或仪器总线(CAMAC、GPIB、VXI、PXI、CAN等)的基础上组建而成的,其成本较高、体积庞大、操作复杂,基础上组建而成的,其成本较高、体积庞大、操作复杂,在测试过程中显得非常不方便,难以满足现代科技工作者的需要。 |
|
|
|
本文介绍的自动测试诊断系统是以五片P89C668单片机为核心组成故障诊断平台,采用基于FT245BM USB芯片的通信卡实现计算机与测试诊断平台的通信。该系统的便携式结构特别适合于现场测试,具有成本低、体积小、重量轻、结构紧凑、自动化程度高等优点;系统的操作比较简单,只要掌握计算机的一般操作,具有一定的数字电路技术基础,能够看懂一般的数字电路原理的,经过简单的技术培训,详细阅读并理解本系统的使用说明后就可以进行操作;系统硬件模块的标准化和软件模块的可复用性使系统具有很强的扩展能力。目前该测试诊断系统已经投入使用,效果良好,完全达到了预期的设计目的。
|
|
|
|
只有小组成员才能发言,加入小组>>
1932个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36419 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4849 浏览 1 评论
6106 浏览 1 评论
6816 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4247 浏览 0 评论
642浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
639浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
640浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
727浏览 2评论
842浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 09:02 , Processed in 1.306009 second(s), Total 83, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号