APP下载

基于TRACE32 的航空电路板测试维修应用

2022-01-06李金猛张子明顾正伟

电子设计工程 2021年24期
关键词:桥接存储器电路板

李金猛,张子明,顾正伟

(1.中国人民解放军第5720 工厂,安徽芜湖 241000;2.中国人民解放军第5720 工厂航空设备测控与逆向工程实验室,安徽芜湖 241000;3.安徽天航科创发展(集团)有限公司研发中心,安徽 芜湖 241000)

伴随电子技术的飞速发展,印制电路板的功能日益强大,印制电路板在民用领域和军用领域发挥着举足轻重的作用[1]。在航空领域,作为机载设备核心的电路板已高度集成化、复杂化,其维修保障的难度急剧增加。如何对航空电路板进行准确的测试和故障诊断已经成为装备维修企业当前亟需解决的问题之一[2]。

传统电路板测试采用人工方式,通过示波器和万用表对元器件进行测试,该方式测试周期长,对人员理论和技能要求高,另外对比较复杂特别是含处理器类板件的测试难度很大[3-5]。

文中采用基于TRACE32 平台调试技术研究了对某型航空通用处理平台电路板的测试方式和维修应用,该方法不需要拆卸电路板上的器件,便可以实现对器件在应用期间的故障进行准确判断;同时可以快速、精准地完成相应的检测作业,能够完成对复杂数字电路板的精准、快速检测[6-8]。

1 TRACE32简介

1.1 平台概述

TRACE32 是由德国Lauterbach 公司研制开发的一款仿真测试工具。TRACE32 作为一种真正集成化、通用性系统仿真器可以组合成多种方案。无论是选用网络、单机、光纤方案,TRACE32 系列工具作为一种通用、模块化的仿真与测试都有很强的优越性。TRACE32 采用了很多领先技术,如双端口存储技术、实时多任务处理机制,以太网、光纤通信技术、多CPU 调试技术、软件代码覆盖技术、基于断点系统的存储技术、多级触发单元技术、时钟处理单元技术、动态存储技术等[9-10]。该系列工具的软件支持接口丰富,并支持60 多种编译器、20 多种实时多任务操作系统、十几种操作平台,因此具有非常强大的通用性。

1.2 常用模块

TRACE32 目前一般应用于PowerPC 等含处理器航空电路板件的测试维修中,使用的模块为Power Debug(调试器)及对应的Debug Cable(调试电缆)。

1.2.1 Power Debug调试器

TRACE32 在线测试时的常用调试器为Power Debug,用于对各型处理器进行在线调试,文中选用的型号为LA-3505 POWER-DEBUG-PRO,其具体特点是:①具有通用BDM 调试和JTAG 控制器,可以兼容所有BDM 和JTAG 调试器;②具有USB2.0 接口、1 Gbit/100 Mbit/10 Mbit 速率以太网接口以及测试总线扩展接口;③速率高达1 000 DMIPS/500 MHz。

1.2.2 Debug Cable调试电缆

为了调试不同的处理器,TRACE32 调试器需要与测试电缆配合使用,不同的处理器对应其相应的测试电缆,调试器通过测试电缆与处理器的JTAG口相连。支持的处理器系列包括ARM/XCALE、POWER 架构、MIPS32/64、Intel/x86、AVR32、MSP430等多种市面常见的CPU。

2 测试方法步骤

2.1 目标板件介绍

某型航空通用处理平台电路板基于Power PC7447A 处理器和Tsi109-200IL 桥接芯片,以PCI 总线通信为主要架构,可以用于完成飞机航电系统中如任务管理、显示控制、数据融合和数据计算等功能。该平台符合VME 底板总线标准,配备PMC 标准接口,易于扩展,是一种高性能的航空电子商用货架产品[11]。

该处理平台包括两个独立的处理单元。处理器选用飞思卡尔的PowerPC,型号为7447A,主从节点通过PCI 总线交互,每个处理器外围电路完全相同,灌入不同的软件即可实现相应的功能。这两个处理器通过Tsi109 桥接芯片完成对串口、网口、存储器以及PCI 总线的功能扩展,FPGA 负责对内存SDRAM、系统FLASH、用户FLASH、NVSRAM 等地址区域控制端的控制,PCI 总线和VME 总线之间通过Tsi148芯片再次进行桥接。平台通过VME 总线与航电系统的其他设备连接。平台可以按应用需求提供丰富的扩展功能。图1 所示为安装MBI 子卡提供1553B总线接口的电路板框架图。

图1 通用处理平台电路板框架

使用TRACE32 进行测试需要密切关注其各类资源的地址分配,存储器控制器由Tsi109 分配实现,系统地址空间分为4 个区:局部存储器、PCI 存储器空间、PCI IO 空间、FLASH 存储器空间。Tsi109 实现对所有空间的控制访问。系统资源地址分配见表1。

表1 系统资源地址分配

2.2 处理器的连接

首先,通过测试电缆连接调试器与电路板处理器JTAG 口,通过USB 线连接调试器与调试计算机,连接调试器电源适配器,打开电路板电源,可以看到电路板电源指示灯燃亮,调试器电源适配器电源指示灯和TRACE32 调试器所有指示灯均不亮。打开TRACE32 软件,在界面的右下角位置显示“power down”状态。此时将调试器电源适配器打开,调试器上电,可以看到适配器电源指示灯燃亮,同时调试器电源灯(POWER)和设置灯(SELECT)燃亮,另外界面右下角的软件状态由“power down”变为“system down”。

在菜单栏点击CPU,选择SYSTEM 菜单,弹出处理器设置框,点击CPU 按钮,选择目标处理器,这里选择MPC7447A。

选择好处理器后,要连接相应板件,在Mode 框中点击“up”选项,该操作可以连接处理器并由TRACE32 调试器全面接管处理器,此时将IP 指针拉到处理器的起始入口地址。等待片刻后可以看到软件右下角地址为FFF00100(PowerPC 的入口地址),状态由“system down”变为“system ready”。此时处理器已经由TRACE32 接管,连接工作完成。

3 存储空间查看与监控

一般含处理器电路板的模块将模块中的各种资源按照不同的地址进行访问和使用,因此对内存空间进行监控可以反映板件各资源的运行情况,对于板件的测试及排故具有很大帮助。

可以查看处理器内存空间的具体内容,点击View 菜单,选择“Dump..”。此时跳出地址查看设置框,在Adderss/Expression 框中输入查看的地址。

3.1 内存空间

SDRAM 具有较高的读写速率以及较高的精度,存储容量大、可支持突发模式等优点[12],因此内存选择SDRAM。处理器运行时要把用到的数据和程序从FLASH 调用到内存里,这样调用时更加快速高效。该板件的SDRAM 地址从0x00000000 开始,因此在Adderss/Expression 框中输入0x00000000,就可以显示SDRAM 内容。

由于内存所用的SDRAM 存储器是随机读写机制,因此可以灵活修改这个区域的数据。只需要双击软件中的地址,在下方显示的命令栏中输入所要修改的内容,就可以把这个地址的内容修改。如图2所示,位于0x00000064 地址的数据由图2(a)中的0xEFFE7FEF 修改为图2(b)中的0x00000000。

图2 SDRAM内容的修改

3.2 FLASH空间

FALSH 相当于电路板件计算机系统的硬盘,存放需要运行的软件代码,掉电不丢失。因为PowerPC 的入口地址为0xFFF00100,因此访问该地址就可以查看相应FLASH 空间的内容,如图3 所示。

图3 查看PowerPC入口地址的FLASH内容

需要注意的是,FLASH 是只读存储器,不能轻易按照3.1 节的方法进行内容的修改。具体的FLASH操作方法将结合实例在第4 节介绍。

4 应用实例

随着航空电子技术的迅猛发展,我国军用飞机的数字化、集成化水平取得了长足的发展,FLASH 等存储器在航空电路板中得到了广泛的应用[13]。在航空电路板的使用中,FLASH 脱焊是十分常见的故障之一,因此需要对电路板上的FLASH 芯片进行读、写、擦等操作,通过观察FLASH 空间内容的异常、配合示波器等观察时序波形的异常等分析故障原因并确定故障位置。

在一次修理过程中经过初步观察,怀疑某型航空通用处理平台电路板的FLASH 芯片存在故障,以下通过在TRACE32 中编写CMM 文件作为FLASH 擦除和写入脚本,从而实现操作FLASH 的方法来确认故障点。

4.1 原理分析

4.1.1 桥接芯片格式

首先确定分配地址的具体映射关系,PCI 总线作为一种高性能32 位或64 位地址数据复用的总线,具有性能强、成本低、适应性强、数据完整性和软件兼容性好等特点,可实现处理器和存储器系统以及各种接口系统的连接[14-15]。根据2.1 节的介绍可以分析出该电路板使用的就是以Tsi109-200IL 桥接芯片为枢纽的PCI 总线结构,根据对桥接芯片Tsi109-200IL的芯片手册进行查询可以得出,该模块使用32 位模式的HLP 格式,HLP 格式中每一位与地址、数据位的对应关系如表2 所示。

表2 Tsi109的32位模式HLP格式

4.1.2 FLASH操作时序

不同的FLASH 芯片操作时序和指令存在差异,该航空通用处理平台电路板使用的FLASH 型号为S29GL256GP11TFI010,其操作指令如表3 所示。

表3 S29GL256GP11TFI010的操作指令

以编程操作为例。根据电路逻辑图,FPGA 的LATCH_AD_6~LATCH_AD_29 端口分别连接FLASH地址线A0~A23;FPGA 的AD0~AD15 端口分别连接FLASH 数据线DQ0~DQ15。表1 中HLP_AD[6:29]可看作LATCH_AD_6~LATCH_AD_29,对应系统总线的A2~A25;数据线则仍为D31~D0。所以可得到表4所示的映射关系。

表4 地址映射关系

需要注意的是,表3 中最右边一列是从下向上排序的十六进制表示,因此可以看到,编程指令的第一个地址就由0x555 变成了系统总线的0x1554,另外还要加上需要操作的FLASH 基地址,如航空通用处理平台电路板的用户FLASH 基地址0xF8000000。所以第一个指令的地址变为0xF8001554,数据不变,仍为0xAAAAAAAA(航空通用处理平台电路板中的用户FLASH 为4 片并联的形式,数据线扩展为32 位,所以数据扩展为0xAAAAAAAA)。以此类推,第二个指令地址为0xF8000AA8,数据为0x55 555555;第三个指令地址为0xF8001554,数据为0xA0A0A0A0。

因为PowerPC 架构下应按照大端模式32 位寻址,所以CMM 文件中应该注明相应的“%BE”(大端模式)和“%LONG”(32 位模式)控制字。

4.2 代码编写

可以在TRACE32 中编写CMM 脚本文件直接对微处理器的寄存器和存储器等模块进行操作[16],根据表2 的FLASH 操作指令,编写以下CMM 脚本文件实现FLASH 的不同操作:

1)字节编程序列,通过以下代码实现向0xF8000000 地址写入数据0x11223344 的功能,将其命名为program.cmm。

D.S D:0xF8001554%BE%LONG 0xAAAAAAAA

D.S D:0xF8000AA8%BE%LONG 0x55555555

D.S D:0xF8001554%BE%LONG 0xA0A0A0A0

D.S D:0xF8000000%BE%LONG 0x11223344

2)扇区擦除序列,通过以下代码实现擦除第0扇区(地址0xF8000000-0xF803FFFF)的功能。将其命名为erase_sector.cmm。

D.S D:0xF8001554%BE%LONG 0xAAAAAAAA

D.S D:0xF8000AA8%BE%LONG 0x55555555

D.S D:0xF8001554%BE%LONG 0x80808080

D.S D:0xF8001554%BE%LONG 0xAAAAAAAA

D.S D:0xF8000AA8%BE%LONG 0x55555555

D.S D:0xF8000000%BE%LONG 0x30303030

3)正片擦除序列,通过以下代码实现擦除正片FLASH 的功能,注意此步骤耗时较长。将其命名为erase_chip.cmm。

D.S D:0xF8001554%BE%LONG 0xAAAAAAAA

D.S D:0xF8000AA8%BE%LONG 0x55555555

D.S D:0xF8001554%BE%LONG 0x80808080

D.S D:0xF8001554%BE%LONG 0xAAAAAAAA

D.S D:0xF8000AA8%BE%LONG 0x55555555

D.S D:0xF8001554%BE%LONG 0x10101010

4.3 CMM程序运行

点击File 菜单,选择“Edit Script”选项,该模式下可以编辑和运行测试代码,如图4 所示。

图4 选择“Edit Script”

选择4.2 节编写的FLASH 操作测试程序文件,可以看到详细的代码内容,界面中有“编辑”、“保存”、“运行”、“调试”等多个按钮。

点击“Do”(“运行”)按钮,测试程序开始运行,打开存储空间监控界面可以看到FLASH 目标地址区域发生了相应的变化。

4.4 软硬结合测试法

值得注意的是,以上方法不仅仅局限于软件操作,在使用软件的同时常常也需要各种仪器设备完成对硬件的测量,这样才能够更准确、更有效地实现对故障的定位。

具体而言,常用的方法为在通过软件访问地址空间时用示波器观察其时序波形,主要检查其是否存在控制信号缺失、地址/数据线常高或常低、信号半高不低等问题,从而判断故障原因。值得一提的是,正确使用示波器可以准确定位到有问题的信号究竟是在信号线的哪一端,进而确定故障芯片,具体来说就是用读/写的方式查看信号是否正常。

该例分析的最终故障分析如下:某信号为桥接芯片Tsi109 和FLASH 相连,因为桥接芯片为BGA 封装只能测到存储器引脚的信号,测试时发现读操作数据线状态正常而写操作某位数据线半高不低,则最终判断是桥接芯片器件脱焊导致其信号出现问题。

5 结论

TRACE32 是一种非常先进的调试设备,其功能非常强大,应用范围很广,文中从部分功能和模块介绍了其最为基本的使用,包括运行测试程序和内存地址的监控,实践证明TRACE32 的使用是复杂电路板测试和排故中最基本也是非常有效的方法。通过不断开发TRACE32 的功能,可以在后续的维修作业中提炼出更多、更有效、更便捷的测试和故障定位方法。

猜你喜欢

桥接存储器电路板
为什么有电路板,机器才能运行?
静态随机存储器在轨自检算法
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
苹果腐烂病树桥接复壮技术
废弃电路板拆解技术研究现状及展望
单片机实验电路板的安装与调试
微波辅助浸取废弃电路板中铅锡锑
双静脉皮瓣桥接移植修复手指腹皮肤缺损
白皮书《802.11ac MU-MIMO: 桥接Wi-Fi中的间隙》发布
存储器——安格尔(墨西哥)▲