为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于SOPC 的便携式边界扫描故障诊断仪

2010-11-15 7页 pdf 273KB 21阅读

用户头像

is_261478

暂无简介

举报
基于SOPC 的便携式边界扫描故障诊断仪 1 Portable Boundary-Scan Fault Diagnosis Device based on SOPC Abstract: This paper designs an original boundary-scan device, which is a portable boundary-scan fault diagnosis device. It makes use of SOPC solution to integrate most of boundary-scan fault diagnos...
基于SOPC 的便携式边界扫描故障诊断仪
1 Portable Boundary-Scan Fault Diagnosis Device based on SOPC Abstract: This paper designs an original boundary-scan device, which is a portable boundary-scan fault diagnosis device. It makes use of SOPC solution to integrate most of boundary-scan fault diagnosis’s functional modules on a FPGA which is proposed by Altera Corporation. It optimizes the system’s performance greatly. This project adopts a low cost and high density FPGA as carrier, which is developed with embedded NIOS CPU by Altera Corporation. It improves the flexibility of designing system. Multitask and real time OS applies on Nios CPU, which builds up the ability of dealing task and cuts testing time. This project improves the efficiency of testing and diagnosis by developing IEEE1149.1 testing bus IP core. This scheme reduces the cost and rises the reliability greatly comparing with the same functional products. Keywords: boundary-scan; fault diagnosis; Nios; uC/OS-Ⅱ; SOPC 基于 SOPC的便携式边界扫描故障诊断仪 彭立章 杨春玲 (哈尔滨工业大学电气工程及自动化学院,哈尔滨,150001) 摘要:本文设计了一种新颖的边界扫描设备——便携式边界扫描故障诊断仪,利用 Altera公司提出的 SOPC解决方 案把边界扫描故障诊断系统大部分的功能模块集成在一片 FPGA上,大大优化了整个系统的性能。该方案采用 Altera 公司推出的低成本、高密度、具有嵌入式 Nios软核 CPU的 Cyclone Ⅱ系列 FPGA,大大提高了系统的设计灵活性。 多任务实时操作系统 uC/OS-Ⅱ在 Nios处理器上的应用,增强了系统多任务的处理能力,缩短了测试时间。IEEE1149.1 测试总线 IP核的开发,提高了边界扫描诊断的效率。该方案使得整个边界扫描故障诊断系统与同类功能型产品相比, 在成本显著降低的同时稳定性和可靠性大幅度提升。 关键词:边界扫描;故障诊断;Nios; uC/OS-Ⅱ; SOPC 引言 随着超大规模集成电路(VLSI)和面贴装(SMT)技术的广泛应用,使印刷电路板上电路节点的物 理可访问性逐步恶化,电路及其系统的可测试性急剧下降,常规测试面临挑战[1]。在这种情况下,联 合测试行动组(JTAG)提出的新型电路板可测性设计—边界扫描技术脱颖而出,克服了测试复杂数字 电路的技术障碍,大大提高了数字电路特别是 VLSI系统的可控性和可观测性。边界扫描技术被 IEEE 接纳后,受到军方和工业界的普遍重视,在 F-22、波音 777 等飞机中和个人计算机 Compaq 等设备 中得到了成功的应用,成为新型电子设备的主要测试技术。国内外传统的边界扫描测试设备及相关 软件都是基于 PC平台,在特殊的军事现场具有相当局限性。鉴于这种考虑,本文设计开发的便携式 边界扫描故障诊断仪具有很大的现实意义和实用价值。 目前市场上的边界扫描测试设备主要有两种类型:一种是直接通过 PC的并口模拟边界扫描测试 总线信号对被测系统电路进行边界扫描测试;另一种是利用传统的 MCU 作为下位机微处理器通过 PCI、USB等通信方式与 PC机进行测试数据的交换。前者在真正的边界扫描测试过程中速度太慢、 效率太低,同时这种方式基于 PC平台不适合便携式。后者虽然也基于 PC平台,但较低运算能力、 有限外设扩展能力的MCU在作为便携式设备微处理器面前就会力不从心。鉴于此,本文采用 Altera 公司 SOPC的解决方案,将处理器、存储器、I/O口、LVDS、CDR等系统大部分的功能模块集成到 一个 PLD器件上设计开发边界扫描故障诊断仪,大大优化了系统的整体性能,具有低功耗、可裁减、 可升级和软硬件系统可编程的特点。 1 边界扫描原理剖析 边界扫描技术的核心思想是在器件内部的核心逻辑与 I/O引脚之间插入的边界扫描单元,在芯片 正常工作时是“透明”的,不影响电路板的正常工作[2]。各边界扫描单元以串行方式连接成扫描链,通 过扫描输入端将测试矢量以串行扫描的方式输入,对相应的管脚状态进行设定,实现测试矢量的加 2 载;通过扫描输出端将系统的测试响应串行输出,进行数据与处理,完成电路系统的故障诊断 及定位,边界扫描测试基本原理示意图如图 1所示。 图 1 边界扫描测试基本原理示意图 边界扫描测试的物理基础是 IEEE1149.1边界扫描测试总线和设计在器件内的边界扫描结构,标 准的边界扫描结构如图 2所示。其中边界扫描测试总线由测试数据输入(TDI)、测试数据输出(TDO)、 测试时钟(TCK) 、测试模式选择(TMS)和复位信号(TRST)五根信号线组成。而标准的边界扫描结构 就是在器件内部的核心逻辑 I/O引脚增加了边界扫描单元(BSC, Boundary Scan Cell),同时还增加了 和边界扫描测试相关的指令寄存器、数据寄存器、测试访问端口 TAP(Test Access Port)控制器等电路。 其中 TAP控制器是在 TCK与 TMS作用下进行十六个状态转换的同步有限状态机。边界扫描结构在 TAP 状态机的控制下顺序运行,在复位状态时,边界扫描结构相对于芯片内核是透明的,器件正常 工作;在测试状态时,边界扫描结构可以对数据寄存器或指令寄存器进行操作[3],即从 TDI 端口把 测试矢量移入边界扫描单元,从 TDO端口把测试响应移出。 图 2 标准边界扫描结构 在进行任何边界扫描测试之前,首先进行对边界扫描结构中的指令寄存器的访问,即把期望的 边界扫描测试指令通过 TAP测试访问通道把指令串行加载到边界扫描结构中的指令寄存器中并使之 生效。然后根据指令寄存器中的指令选择访问数据寄存器,进行边界扫描的各种测试。在 IEEE1149.1 标准中提供了三条的强制指令和若干条可选择的指令[4],强制指令为旁路指令(BYPASS) 、采样/预 装指令(SAMPLE/PRELOAD)和外测试指令(EXTEST),而可选指令有内测试(INTEST) 、内建自测试 指令(RUNBIST) 、器件标识指令(IDCODE) 、用户代码指令(USERCODE) 、组件指令(CLAMP) 和 高阻指令(HIGHZ)。通过这些指令可以实现扫描链完备性、互连、功能和簇等边界扫描测试,来检测 和定位隔离系统电路的开路故障、固定型故障、桥接短路故障等。 2 总体设计方案 根据边界扫描技术基本原理,便携式边界扫描故障诊断仪需要根据被测系统电路的描述文件生 成边界扫描测试矢量,然后转换为 IEEE1149.1边界扫描测试总线信号自动加载到被测系统中,同时 从 TDI 管脚自动读取边界扫描测试响应进行分析处理,根据边界扫描相应算法作出故障诊断决策及 定位隔离,最后通过 LCD显示诊断结果。本文采用 Altera公司提出的片上可编程系统解决方案将便 3 携式故障诊断仪进行软硬件协同设计在一片 Altera公司的 FPGA上,使所设计的电路系统在其规模、 可靠性、体积、功耗、上市周期、开发成本、产品维护及硬件升级等多方面实现最优化。即主要把 边界扫描故障诊断应用软件、边界扫描测试控制和 JTAG 协议转换集成在一个可编程片上系统芯片 上,使边界扫描测试控制系统达到最优化,大大提高了边界扫描的测试诊断效率。利用 FPGA 中嵌 入的软核 CPU作为整个系统的处理器,同时采用 uC/OS高实时性的操作系统来处理边界扫描算法、 测试矢量的转换、数据的加载和读取、LCD 的显示等。同时利用 JTAG 将被测系统的边界扫描描述 文件、电路板网络表等描述文件通过 FPGA下载固化到 Flash存储器中,供边界扫描测试矢量生成之 用。便携式边界扫描故障诊断仪的整体结构示意图如图 3所示。 图 3 便携式边界扫描故障诊断仪电路结构示意图 3 硬件设计 3.1 边界扫描故障诊断 SOPC系统硬件设计 在分析边界扫描基本原理和 IEEE1149.1 协议的基础上设计开发基于 Nios 的边界扫描故障诊断 仪。本文采用Altera公司嵌入软核Nios处理器的 FPGA作为载体来实现边界扫描故障诊断仪的 SOPC 系统。边界扫描故障诊断仪主要实现边界扫描测试矢量的生成、JTAG总线信号发生器、边界扫描故 障诊断应用软件、故障显示等功能,是便携式边界扫描故障诊断系统的核心。利用 SOPC Builder[5] 创建 NIOS软核 CPU并进行参数化配置,同时构建储存器、计时器、LCD接口组件、IEEE1149.1测 试总线用户逻辑为一体的 SOPC 系统,边界扫描故障诊断片上可编程系统内部模块配置图如图 4 所 示。 Nios软核 CPU 片上ROM 计时器 IEEE1149.1 测试总线 JTAG调试 SDRAM控制器 LCD接口组件 Avalon 三态总线桥 A V A L O N 总 线JTAG 标准接口 LCD显示 SDRAM 存储器 Flash 存储器 Cyclone Ⅱ/FPGA 图 4 边界扫描故障诊断 SOPC系统内部模块配置图 通常的嵌入式系统开发,CPU的硬件构成是不可更改的,同时外围设备的变动也受到 CPU的限 制。然而基于 Nios的嵌入式系统的开发则不同,其中 Nios是采用流水线技术和哈佛结构的通用 RISC 处理器,其大部分指令可以在一个时钟周期内完成。Nios 处理器是一种软核 CPU,专门针对 Altera 公司的可编程逻辑器件以及片上可编程系统的设计思想做了相应的优化。本文利用向导式界面灵活 定制边界扫描故障诊断系统,Nios Ⅱ软核处理器为标准型,添加 4K字节的指令缓存 Cache。同时为 了方便调试边界扫描故障诊断系统的软硬件,在处理器模块中添加 JTAG 调试单元,在 SOPC 系统 软硬件调试成功且能独立运行后,也可以将 JTAG调试单元去掉以节省约为 2500个 LE资源。 其中添加的片上 ROM、计时器、SDRAM接口控制器、JTAG UART组件是 Altera公司免费提供 的 IP核。除了公司免费提供的组件外,本文根据边界扫描故障诊断的功能需求设计开发 IEEE1149.1 4 测试总线 IP核用户逻辑,其根据边界扫描测试标准自行开发设计相对独立并可以重复利用的电路模 块,具有自己的知识产权,也为 SOPC系统新增一个很有实用价值的组件。 3.2 IEEE1149.1测试总线 IP核开发 可复用 IEEE1149.1测试总线控制器 IP核是边界扫描测试控制器的核心,也是整个边界扫描测试 平台设计的关键所在。根据 IEEE1149.1标准,本文设计的 IEEE1149.1测试总线控制器 IP核主要功 能包括:产生边界扫描测试时钟 TCK、对被测系统电路输出 TMS控制序列、读取被测系统的测试响 应和加载测试矢量、与 SOPC 系统中的微处理器进行通讯及测试数据交换和在 TCK和 TMS 配合下 控制被测系统中 TAP控制器完成边界扫描测试的全部过程。 在 IP 核的开发过程中采用 IC 的设计思想,首先根据功能需求确定外部接口,然后划分内部结 构单元,通过实现内部每个小单元的功能,最后组合完成 JTAG 总线控制 IP 核的整个设计,JTAG 总线控制逻辑内部体系结构图如图 5 所示。其主要有接口单元负责调解、管理与其它部件接口部分 的信号;命令单元负责产生除接口单元外的其它单元的控制信号,使整个 JTAG 总线控制逻辑进行 有序的工作;计数器单元负责提供数据移位的时间标准,在移位操作结束时给出结束信号;为了提 高边界扫描测试效率引入 TDO缓冲器和 TDI缓冲器,其中 TDO缓冲单元负责将 TDO寄存器中的数 据按照 IEEE1149.1 标准的从 JTAG接口中的 TDO信号线发送到被测系统中,而 TDI缓冲单元 负责从 JTAG接口中的 TDI信号线接收数据并转换为并行数据存放到 TDI寄存器中;TCK生成单元 负责产生 JTAG接口中的 TCK信号。 图 5 IP核内部体系结构图 其中 TDO缓冲模块主要用来将本地测试数据转换成 IEEE1149.1标准中规定的格式从 TDO端口 加载到被测系统电路的测试存取通道 TAP 中的 TDI信号线上。即将本地测试数据首先写到 TDO缓 冲器中,然后通过并/串转换装置把测试数据转换成串行数据,最后从 TDO端口移位输出。该模块主 要由 FIFO、计数器、并/串转换及控制部分组成。TDO缓冲模块电路仿真图如图 6所示。 5 图 6 TDO缓冲模块时序仿真图 将上述六个单元的设计组合成完整的 IEEE1149.1测试总线 IP核模块,并通过 Quartus Ⅱ软件进 行仿真测试,检查其是否符合 IEEE1149.1标准,仿真波形如图 7所示。从图中可以看出在 A处寄存 器设置完后,JTAG总线控制模块开始工作,B处输出有效的 TMS信号,同时在 C处 TDO端口输出 测试矢量 001001101100。显然,边界扫描测试总线信号配合正确,设计合理有效。 图 7 IEEE1149.1测试总线控制 IP核仿真波形 4系统软件开发 4.1 uc/os操作系统移植 uC/OS-Ⅱ是由 Jean J.Labrosse于 1992年编写的一个嵌入式多任务实时操作系统[6],由于它占用 空间少、执行效率高、结构简洁精练、可读性强,同时又具备了实时操作系统的全部功能,所以比 较适合作为小型控制系统资源的管理者实现对象体系的智能化控制。系统软件建立在 HAL的基础上 [7],采用 uC/OS-Ⅱ管理便携式边界扫描故障诊断系统的各个任务来实现的。整个系统可分为 6 个任 务:系统主任务、测试矢量生成任务、测试数据加载与读取任务、测试响应分析处理任务、故障决 策任务以及 LCD显示任务,同时可以根据实际需要扩展系统的其他任务来升级软件。 uC/OS-Ⅱ移植到 Nios 软核 CPU 平台上,只需修改与处理器相关的代码 OS_CPU.H、 OS_CPU_A.ASM、OS_CPU_C.C三个文件。同时根据本系统的功能需要,用 OS_CFG.H配置内核设 置系统的基本情况以及整个实时系统所需要内核和用户的头文件 INCLUDES.H。根据各个任务的重 要性和时间关键性,设定每个任务的优先级,以便任务调度之用。 由于 uC/OS-Ⅱ是抢占式实时操作系统,所以一旦就绪状态中出现优先级更高的任务或者运行的 任务以用完满了规定的时间片断,操作系统便立即剥夺当前任务的运行将其放回就绪状态,把 CPU 分配给其他任务。而 CPU调度即任务调度的工作为最高优先级任务的寻找和任务切换两个部分。最 高优先级的寻找通过建立就绪任务来实现,uC/OS-Ⅱ中的每个任务都有独立的堆栈空间也称为任务 控制区块的数据结构,其中第一个成员变量保存的就是任务堆栈指针;任务调度模块首先用变量 OStcbHignRdy记录当前最高优先就绪任务的 TCB地址,然后调用 OS_task_sw()来进行任务切换。 4.2故障诊断软件设计 故障诊断软件首先根据预先固化在 Flash 存储器中的被测系统的边界扫描描述文件(BSDL)和网 络表等描述文件生成两个测试数据文件:系统链路信息文件和器件间互连网络节点文件。同时还需 要获得测试器件物理管脚号码和器件边界扫描单元的对应关系。然后根据相应的边界扫描测试算法 和不同的测试内容生成测试数据:测试指令代码、完整性测试数据、互连测试数据、芯片功能测试 数据并且加载到被测系统扫描链路中及读取边界扫描测试响应。其次分析处理测试响应数据,剔除 扫描链中垃圾数据,提取获取故障诊断有用信息。最后根据测试内容不同,进行扫描链路完备性测 6 试故障诊断、互连测试故障诊断、器件功能测试故障诊断、簇测试故障诊断作出诊断结果。边界扫 描测试故障诊断数据流程图如图 8所示。 图 8 数据流程图 5 结论 本文采用 Altea公司嵌入 Nios处理器软核的 FPGA 作为边界扫描 SOPC故障诊断系统的载体, 具有软硬件可裁减、易升级的特点。Nios 的灵活定制为便携式边界扫描故障诊断系统量身定做了系 统处理器,节省了设计开发的资源和成本。SOPC技术提供了系统大部分功能模块集成一片 FPGA上 的解决方案,大大优化了整个系统的性能。边界扫描测试总线硬件逻辑的设计大大缩短了测试时间, 同时多任务实时操作系统的应用提高了边界扫描测试诊断的效率。 (1) 本文设计的便携式边界扫描故障诊断仪不同于传统的边界扫描设备,不依靠 PC就可实现边 界扫描测试与诊断,特别适合特殊领域的现场在线使用。尤其是在测试时间方面,克服了 PC机上应 用软件与边界扫描控制器之间数据传输的延时的缺点,直接进行边界扫描测试矢量的加载和读取, 大大提高了边界扫描测试诊断的效率。 (2) IEEE1149.1 测试总线 IP 核的设计改变了传统用软件来实现的方式,加速了硬件访问的能力 和速度,大大缩短了测试时间。同时也为 SOPC 产品增加了一个很有实用价值的组件,方便实验室 及其他用户在自己的嵌入式设备上使用。 (3) 多任务实时操作系统 uC/OS-Ⅱ在便携式边界扫描故障诊断仪上的应用,增强了多任务的处 理能力和实时效应,提高了数据分析和故障诊断的处理能力。 参考文献 [1] 陈光禹,潘中良.可测性设计技术[M].北京:电子工业出版社,1997 [2] Johnson, Barry. Boundary scan eases test of new technologies. Test and Measurement Europe. 1993,1(1):4~8. [3] 于宗光. IEEE 1149.1标准与边界扫描技术. 电子与封装. 2003,(9):40~47 [4] IEEE Std 1149.1-2001. IEEE Standard Test Access Port and Boundary-Scan Architecture [5] Altera Corporation. Nios II Hardware Development Tutorial. May 2005 7 [6] Jean J.Labrosse. MicroC/OS- The RealⅡ -Time Kernel[M].北京:北京航空航天大学出版社,2003 [7] Altera Corporation. Nios II Software Development Handbook. Dec 2004
/
本文档为【基于SOPC 的便携式边界扫描故障诊断仪】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索