可复用IEEE1149.1测试总线控制器IP核是边界扫描测试控制器的核心,也是整个边界扫描测试平台设计的关键所在。本文设计的IEEE1149.1测试总线控制器IP核主要功能包括:产生边界扫描测试时钟TCK、对被测系统电路输出TMS控制序列、读取被测系统的测试响应和加载测试矢量、与SOPC系统中的微处理器进行通讯及测试数据交换和在TCK和TMS配合下控制被测系统中TAP控制器完成边界扫描测试的全部过程。
在IP核的开发过程中采用IC的设计思想,首先根据功能需求确定外部接口,然后划分内部结构单元,通过实现内部每个小单元的功能,最后组合完成JTAG总线控制IP核的整个设计,JTAG总线控制逻辑内部体系结构图如图5所示。其中TDO缓冲模块主要由FIFO、计数器、并/串转换及控制部分组成。
图5 jTAG IP 核内部体系结构图
系统软件开发
mc/os操作系统移植
将mC/OS-II移植到Nios软核CPU平台上,只需修改与处理器相关的代码OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C三个文件。同时根据本系统的功能需要,用OS_CFG.H配置内核设置系统的基本情况以及整个实时系统所需要内核和用户的头文件INCLUDES.H。根据各个任务的重要性和时间关键性,设定每个任务的优先级,以便任务调度之用。
故障诊断软件
故障诊断软件首先根据预先固化在Flash存储器中的被测系统的边界扫描描述文件(BSDL)和网络表等描述文件生成两个测试数据文件:系统链路信息文件和器件间互连网络节点文件。同时还需要获得测试器件物理引脚号码和器件边界扫描单元的对应关系。然后根据相应的边界扫描测试算法和不同的测试内容生成测试数据:测试指令代码、完整性测试数据、互连测试数据、芯片功能测试数据并且加载到被测系统扫描链路中及读取边界扫描测试响应。其次分析处理测试响应数据,剔除扫描链中垃圾数据,提取获取故障诊断有用信息。最后根据测试内容不同,进行扫描链路完备性测试故障诊断、互连测试故障诊断、器件功能测试故障诊断、簇测试故障诊断作出诊断结果。边界扫描测试故障诊断数据流程图如图6所示。