一种嵌入式系统测试用的数据采集器的制作方法

文档序号:6286428阅读:171来源:国知局
专利名称:一种嵌入式系统测试用的数据采集器的制作方法
技术领域
本发明涉及嵌入式系统测试领域,特别涉及一种嵌入式系统测试用数据采集器。
背景技术
随着我国航空航天事业的发展,航空航天系统中的控制核心与指挥中枢——嵌入式系统 的安全性,可靠性被提高到异常重要的地位。测试是保证这类生命攸关系统可靠性的重要手 段。测试可分为黑盒测试和白盒测试两种方法。黑盒测试主要检査程序是否达到系统功能要 求,白盒测试主要跟踪程序执行过程,度量程序逻辑覆盖率。白盒测试是成本高,难度大, 而系统级的白盒测试则难度更高,可测性更差。目前,已经商业化应用的嵌入式系统白盒测试工具主要以纯软件测试和纯硬件测试方式 为主,纯软件测试方式是在一种不真实的模拟环境下运行,测试不够准确,并且有插桩函数 和预处理函数,对源程序的执行有较大影响(超过50%),无法保证嵌入式系统基本的实时性 要求。纯硬件测试方式,如仿真器、逻辑分析仪,主要应用于系统开发阶段,不能满足基本 测试要求。现在,又出现了一种较新的软硬件相结合的测试方式,从纯软件测试方式中吸取 了插桩技术,并且经过改进,插入的只是一句汇编级输出语句,减小了测试对于源程序执行 效率的影响(影响只占1%-15%),最大限度保持系统实时性。从纯硬件测试方式中吸取了总 线捕获数据技术并且对它进行了改进,不再是传统的采样方式,而是通过不间断地监视系统 总线,不会遗漏任何重要测试点数据,可以做到精确的数据测试与观察。软硬件相结合的测试方式中核心部件之--数据采集器,是测试系统数据传输的中枢,是整个测试系统的核心关键部分,能够实现测试数据的采集、存储、压縮、上传等功能。发明内容本发明的目的在于提供一种嵌入式系统测试用数据采集器。 为了实现上述目的,本发明采用以下技术方案予以实现一种嵌入式系统测试用数据采集器,主要由三大单元组成输入接口单元,核心处理单 元和输出接口单元。硬件结构图如图l所示工作过程1.硬件连接。测试探头一端连接测试目标系统的地址、数据、控制总线,另一端采用3排针方式连接采集器。测试探头可以采用可伸縮的测试钩或测试夹等。使用串口或 USB方式,连接采集器与测试服务器。2. FPGA配置。FPGA采用被动串行(PS)配置方式。首先,采集器上电,配置单元产 生FLASH单元的读写与控制信号,将FLASH中的配置数据以并行方式读入配置单 元。然后,配置单元产生FPGA配置时所需要的时序信号,将并行数据转换为串行 数据输出到FPGA中,进行配置。配置结束后,FPGA进入用户状态。3. 采集器配置。采集器进入用户程序执行状态,首先,控制单元将在FLASH中存储的 采集器配置信息(测试配置信息,传输方式配置信息等)读出,写入相关配置存储 寄存器中,进行采集器配置。也可以通过串口或USB方式接受测试服务器发送的采 集器配置命令,接受采集器配置信息,将配置信息写入相关配置存储寄存器中,并 备份到FLASH中。4. 数据采集,压縮。采集器进入测试执行状态。数据采集IP核监视测试目标系统地址、 数据、控制总线。当有数据输出时,数据采集IP核锁存、比较地址总线上的数据, 如是测试结果数据,则锁存数据总线上的数据,并向CPU发送中断请求信号。CPU 启动中断服务程序,获取数据,送给数据压縮单元,进行数据压縮,压縮后的数据 进入FIFO单元,准备数据上传。5. 数据上传。CPU驱动数据输出单元中的串口或USB控制器,将FIFO中的数据上传 到测试服务器中。数据输入接口单元输入接口单元采用2X10连接插座和2X20的连接插座连接,通过测试探头分别与16位 的地址总线,32位的数据总线和控制总线连接。地址、数据和控制总线的采用数据缓冲器进 行输入数据的缓冲。硬件结构图如图2所示核心处理单元核心处理单元主要完成数据采集与处理。主要包括5大模块FPGA模块,配置模块,时 钟模块,FLASH模块,SDRAM模块。FPGA模块是系统的控制中心,采用NIOS II作为软核CPU, 结合数据采集IP核,数据压縮算法与FIFO,完成数据采集,压縮与系统运行控制。配置模 块主要完成的FPGA运行配置工作,采用被动串行配置方式。配置模块产生FLASH片选与读写 控制逻辑,将存储的配置数据读入配置模块,然后将并行数据变换为串行数据,同时产生FPGA 配置时序信号,将数据写入FPGA。时钟模块产生PFGA和配置芯片的运行时钟。FLASH模块提供程序存储区。SDRAM提供系统运行的内存区域。 硬件结构如图3所示输出接口单元输出接口单元主要完成数据的输出,主要有两种输出方式串口方式和USB方式。两种 输出方式分别通过接口芯片与测试服务器连接。 输出接口单元的硬件结构如图4所示


图1采集器硬件结构2数据输入接口单元硬件结构3核心处理单元硬件结构4输出接口单元硬件结构5采集器连接插座原理6数据缓冲器原理7 FPGA与SDRAM硬件连接8 FPGA与FLASH硬件连接9 FPGA与串口接口芯片硬件连接10 FPGA与输入接口单元和USB硬件连接11采集器软件结构12软件处理主流程13数据釆集单元原理14压縮处理流程15 FPGA配置硬件连接16时钟模块原理17 FLASH模块原理18 SDRAM模块原理19串口通讯模块原理20 USB通讯模块原理图具体实施方式
1、系统设计(1) 输入接口单元输入接口模块采用标准连接插座,选择合适的测试探头一端直接连接到插座上,另一端 与被测系统相连,探头常用的有用于点对点的"夹子状",用在电路板上专用的高密度、多 通道探头。测试探头应能够捕获高质量的信号,同时应考虑探头的阻性负载,容性负载,使 其对被测系统影响最小。采集器上2X10连接插座连接32位的数据总线,2X20的连接插座连接16位的地址总线 和控制信息。连接插座有共同的接地信号线,使采集器和测试目标系统共地。 原理如图5所示地址、数据和控制总线的数据进入采集器要有一个数据缓冲器,进行数据缓冲与隔离。 缓冲器采用pericom公司的双端口 10位总线开关器件pi5c3384实现。共采用了 5片,分别 连接16位地址总线,32位数据总线,3位控制总线。U28, U30, U31分别连接前30位地址 线(Adapter—A(T Adapter—A29) , U27和U29分别连接16位数据总线(Adapter—D0 Adapter_D15)、控制总线(Adapter—cs, Adapter—WE)和后两位地址总线(Adapter—30, Adapter_31)。连接如图6所示(2) 核心处理单元核心处理单元主要分为5个模块FPGA模块,配置模块,FLASH模块,SDRAM模块,时 钟模块。①FPGA模块采集器硬件核心使用ALTERA公司的Cyclone系列FPGA器件EP1C20F400C7。芯片的工作 频率为50MHz。 EP1C20器件具有如下的主要特点,具有多达20060的等效逻辑元件(LEs),可以实现较为复杂应用逻辑。 Z嵌入式存储器达到294912bits,可以实现片内的大容量的数据存储,提高了数据 的存储深度。Z Cyclone FPGA支持各种单端I/O标准如LVTTU LVCMOS、 PCI和SSTL-2/3,通过 LVDS和RSDS标准提供多达129个通道的差分I/O支持,可以方便的实现与测试目 标系统的连接。Z Cyclone器件具有双数据速率(DDR) SDRAM和FCRAM接口的专用电路,容易实现存 储容量的扩展。Z 支持多种Altera公司的IP核移植,如FIFO, NIOS II等; FPGA是整个采集器的核心模块,软核CPU、系统控制、数据采集、数据压縮、数据传输 控制等的应用逻辑与应用程序均在FPGA中实现。 根据FPGA完成的功能,可划分成四块-第一块主要完成和SDRAM的控制总线、数据总线和地址总线的连接和数据输入输出的控制。FPGA通过12位的地址总线,32位数据总线,动态刷新的控制总线,读写控制线,片选 信号线和时钟信号线与SDR認相连。FPGA利用优化过的ALTRERA公司提供的即取即用的SDRAM 控制器核(IP)产生SDRAM的读写以及刷新地址选择信号。硬件连接图如图7所示第二块主要完成和FLASH控制总线、数据总线和地址总线的连接和数据输入输出的控制。 FLASH模块作为配置信息和应用程序的存储器,FPGA通过数据,地址总线和控制信号线与之 相连,FPGA利用优化过的ALTRERA公司提供的即取即用的FLASH控制器核(IP)产生FLASH的 读写时序信号。硬件连接图如图8所示第三块主要完成串口控制器的控制总线、数据总线和地址总线的连接和数据输入输出的 控制,采用标准的9针串口连接方式,FPGA中加载ALTRERA公司提供的即取即用的UART控 制器核(IP)产生芯片读写时序信号。 硬件连接图如图9所示第四块主要完成数据输入单元、USB单元的控制总线、数据总线和地址总线的连接和数 据输入输出的控制。从数据输入单元输入的地址、数据和控制总线上的数据,通过FPGA内部 的数据采集IP核,得到测试结果数据信息。FPGA中加载ALTRERA公司提供的即取即用的USB 控制器核(IP)产生USB芯片的读写时序信号。 硬件连接图如图IO所示采集器的应用控制逻辑与应用软件均在FPGA中实现,应用控制逻辑包括NIOS II软核控制器模块、数据采集模块。软件部分主要由三大功能模块组成,分别是数据压縮模块、 数据缓冲模块、数据传输模块。各模块组成结构如图ll所示NIOS II控制器模块是整个采集器的控制核心与基础,负责采集器各个模块之间的调度 与协调工作。数据采集模块负责锁存地址总线和数据总线的信息,并通过比较寄存器,判定 是否是测试结果数据,如果是,则触发控制器中断,控制器读取数据。数据压縮模块通过压 縮算法,对测试结果数据进行压縮处理。数据缓冲模块主要采用软件FIFO,对传输数据进行 速度匹配。数据传输模块,负责传输模块的驱动,向测试服务器传输采集到的数据。软件处理主流程图如图12所示五个主要功能模块介绍如下(a) NIOS II软核控制器模块 Nios II软核控制器是Altera的第二代FPGA嵌入式处理器,具有的完全可定制特性、 高性能、较低的产品和实施成本、易用性、适应性和不会过时等特点。 可定制特性,采用Nios II处理器,系统设计将不会局限于预先制造的处理器技术,而是根据自己的标准定制处理器,按照需要选择合适的外设、存储器和接口,还可以轻松集成自己专有的功能。对于本采集器,设计了专用数据采集单元。 *高性能特性,Nios 1I是32位RISC嵌入式处理器,具有超过200 DMIP的性能,能够满足采集器高速采集数据的要求。
低成本特性,采用Nios II处理器,可以根据需要,设置功能,在价格较低的FPGA器件中实施。在单个FPGA中实现处理器、外设、存储器和I/0接口,可以降低系统总体成本。*宜用性,适应性,Nios II是在FPGA中实现软核处理器,因此可以方便实现现场硬 件和软件升级。NIOS II软核控制器,是整个采集器的控制核心,主要完成的工作有*从测试服务器中接受采集器的配置信息,对采集器进行系统配置。主要包括配置数据传送方式以及传输参数和配置数据采集模块,将匹配地址写入地址匹配寄存器中。*通过中断方式从数据采集模块的数据锁存器中读取数据,并将数据发送到数据压縮 模块。*驱动硬件数据传输芯片,进行数据传输。数据采集模块主要由地址锁存器、数据锁存器和匹配地址寄存器组成,用Verilog HDL 硬件描述语言编程,在FPGA中用硬件实现,可以形成自己的IP核。 原理如图13所示数据采集模块由输入接口单元的写使能(Adapter—WE)信号触发,当Adapter—WE信号为 由高电平变为低电平时,表示有数据输出。地址锁存器锁存地址总线上的数据,然后与控制 器已经设置好的匹配地址寄存器中的值进行比较,如果两个数据相符时,给数据锁存器发送 数据锁存信号,触发数据锁存器单元,锁存数据总线上的数据,同时向NIOS II控制器发送 数据采集中断信号,触发控制器中断服务程序,读取数据锁存器单元的内容。(c) 数据缓冲模块通常情况下,数据采集与数据上传的速度不一致。测试目标系统CPU的主频设计参数为 50MHz,需要进行高速数据采集,但是数据压縮与上传速度较慢,特别是使用UART方式进行 数据上传时,最快仅为115200bps,速率较低,需要采用FIFO来进行数据传输缓沖。FIFO具 有两个特点数据进出有序,输出输入口独立。其内部的读指针和写指针按照先进先出的原 则实现数据的存入和读取。FIFO可在其一端写操作而在另一端进行读操作,数据在其中顺序移动,从而达到很高的 传输速度和效率。利用FPGA器件中的大容量的RAM和外扩的SDRAM,设计了软件FIFO循环队列。当有数 据采集中断信号时,中断服务程序将采集器内容读入一个变量中,经过压縮处理后,调用入 队列程序。出队列时,调用出队列程序。(d) 数据压縮模块采集器在实际系统测试过程中,如果测试目标CPU执行速度较快或测试目标程序较复杂, 就会出现丢失测试数据现象,影响了测试实时性、测试效率以及测试的准确性。分析测试系 统主要瓶颈是采集器与测试服务器之间的通讯时间消耗较大,原因主要有传输速率不够; 测试桩数据太多。通过对大量嵌入式软件进行分析,可以看出在测试过程中由于测试目标系 统大部分时间均处于等待操作状态,执行的程序为循环语言,因此会出现大量的完全相同的 测试桩数据,如果不经过处理,直接存储、上传这些重复数据,首先对于系统测试没有实际 意义,其次,占用了大量的数据存储空间和系统传输带宽,所以,要对数据进行压缩,减少 重复数据量。经分析得到测试结果数据特点是具有大量的重复数据块,压縮的要求要采用无损压縮方式,不能丢失数据信息。采集器设计采用了改进的游程编码压縮算法。游程编码压縮算 法的主要思想是将一个相同值的连续串用其值和串长(重复的个数)的数对二元组来替代。在 改进的游程编码算法实现中对于非重复字符保持不变,直接进入FIFO中,对于重复字符用3 个字节表示一个字符串第一个字节是压縮指示字符,因为所有的测试桩数据没有以OXFF开 头,所以OXFF开头的字符串均为重复串。第二个字节记录连续出现的字符,第三个字节记录 重复字符出现的次数。压縮处理流程如图14所示(e)数据传输模块数据传输主要采用UART和USB两种方式,实现测试服务器与采集器之间的通讯。数据传输模块主要完成的工作有-參完成UART和USB两种通讯方式接口芯片的驱动。*完成通讯的时序控制。②配置模块FPGA可编程部分的物理实现方式为具有易失型的RAM,因此每次上电后,处理机都需要 将用户设计的FPGA配置文件从外部存储器中下载到FPGA中,进行FPGA配置工作。FPGA配 置可以采用主动串行模式、被动串行模式、主动并行模式、被动并行模式及JTAG模式五种模 式。主动、被动模式的最大区别在于主动模式的下载同步时钟(DCLK)由FPGA提供;被动模 式的下载同步时钟(DCLK)由外部时钟源或者外部控制信号提供。主动模式对下载时序的要求 比被动模式严格得多,因此从处理机易于控制下载过程的角度考虑,釆集器设计采用被动串 行模式。采集器设计使用MAX EPM7128AE CPLD作为配置逻辑控制器。配置过程包括三个阶段:复位、配置和初始化。当FPGA上电后进入复位状态,CONFIG_n 被置为低电平,FPGA进入到复位状态;当CONFIG_n电位由低到高跳变时启动配置过程,当 STATUS—n或CONFIG—n为低电平时,器件处于复位状态。当CONFIG—n由低变高时脱离复位状 态,同时释放STATUS—n (漏极开路)管脚。STATUS—n释放后被拉高,此时STATUS_n和CONFIG—n 同时为高电平,FPGA准备接收配置数据,配置开始。串行配置时FPGA在DCLK上升沿锁存DATAO 引脚上的数据。所有的数据成功接收完后,释放CONFIG一DONE引脚,CONFIG—DONE被外接电 阻拉高。CONFIG—DONE引脚由低变高的变化标志着配置FPGA的结束,下一个状态即初始化开 始。为确保初始化正确,DCLK在初始化开始后继续提供几个周期的时钟,初始化完成后FPGA 进入到用户工作模式。可选信号INIT—DONE被释放通过外电阻拉高。在配置过程中,出现错时,FPGA就会将STATUSj拉低,系统实时监控到这个信号后重新启动配置过程。根据配置时序设计了用MAX EPM7128AE控制FLASH存储器配置FPGA的程序,该配置芯 片的程序用硬件描述语言(Verilog)实现,程序中包括了一个序列生成器和地址生成器,它们 保证配置数据能够正确地配置到FPGA的编程管脚。当复位时控制器就从FLASH存储器中按字 节读取数据,同时通过序列生成器使读取的数据序列化,被序列化的数据通过被动串行(PS) 配置方式配置到FPGA。软件部分由三个进程组成时钟分频进程PR0CESS1、数据序列化进程PR0CESS2以及使 FLASH存储器中的数据字节按位(dataO)序列化配置到FPGA的进程。软件中重点解决的问题 之一是使一个字节的配置数据序列化,程序采用Verilog中的CASE语句在进程(PR0CESS2) 中实现。软件中的另一个重点是存储器地址的产生,地址生成器程序同样用CASE语句实现。 FPGA配置硬件连接图如图15所示③时钟模块采集器采用一块50HZ的晶振芯片产生时钟源信号,再通过一块49FCT3805时钟驱动芯 片产生FPGA和配置芯片所需要的全局时钟信号。 原理如图16所示 FLASH模块FPGA中的应用程序与控制程序存储在FLASH模块当中,采集器使用了 AM29LV065D的 FLASH芯片,该芯片可以存储8M字节的数据。 原理如图17所示⑤SDRAM模块为了满足高速数据采集与大容量数据存储要求,从而实现数据采集与数据传输的速度匹 配,采集器设计了大容量的SDRAM,选择了MT48LC4M32B2c存储芯片,该芯片具有4MX32位 的存储容量。原理如图18所示(3)输出接口单元根据采集器功能要求,共设计了两种输出方式 ①串口方式串口通讯方式,虽然速度较慢,但它的适用性较广,并且在采集器的初始化配置阶段, 需要使用串口通讯方式进行采集器的系统配置。设计使用了 MAX3237作为串口接口芯片。该 芯片具有低功耗,是速率最高的1Mbps RS-232收发控制器。原理如图19所示②USB方式USB接口采用USB 2. 0版本,传输速率为480Mbps,传输速度较快,釆用USB HUB方式 可以支持多个结点同时测试,是现场测试的首选通讯方式。采集器采用了 CH372作为USB通 讯接口芯片,其内置了USB通讯中的底层协议,具有省事的内置固件模式和灵活的外置固件 模式,可以实现符合各种USB类规范的设备。原理如图20所示2、发明的参数 数据采集器的技术指标如表1所示:各项指标ESTP支持目标系统的cpu8/16位CPU支持目标系统的主频小于50MHZ同时可监测的函数个数〈=32000同时可监测的任务个数<=1000支持的嵌入式系统平台ARM支持的嵌入式操作系统Ucos II支持的目标语言c语曰可跟踪的代码行数l万行连接方式通用接头,或专用接头数据传输协议USB2. 0, RS232表1数据采集器的技术指标3、实用情况在实际应用当中,测试目标系统CPU为飞利浦公司的LPC2131 ,它是以ARM7为核心的芯 片,系统运行的主频为11.0592MHz,测试目标程序约为1000行,采集器能够顺利采集到数 据,并能够通过压縮,将数据通过串口, USB接口,或网络端口,传输到测试服务器中。1权利要求
1.一种嵌入式系统测试用的数据采集器,包括输入接口单元,核心处理单元和输出接口单元。其特征在于测试目标系统通过输入接口单元和数据采集器连接,核心处理单元通过数据采集IP核,采用硬件实现数据采集、采用数据压缩算法实现测试结果数据的压缩,通过驱动输出接口单元的接口芯片将数据传输至测试服务器。
2. 根据权利要求1所述的嵌入式系统测试用的数据采集器,其特征在于采集器工作过程为①硬件连接。②FPGA配置。CPLD控制的被动串行配置方式,配置FPGA。③采集 器配置。采用直接从FLASH中读取配置信息或从测试服务器得到配置信息两种方式之 一,进行采集器配置。④数据采集,压縮。采用硬件实现的数据采集单元完成数据采集, 采用数据压縮算法完成数据压縮。⑤数据上传。采用串口或USB端口进行数据上传。
3. 根据权利要求l, 2所述的嵌入式系统测试用的数据采集器,其特征在于核心处理单元 采用FPGA器件实现,控制器核心采用嵌入式NIOS II软核控制器。
4. 根据权利要求l, 2所述的嵌入式系统测试用的数据采集器,其特征在于FPGA配置时, 采用了 CPLD控制的被动串行配置方式,CPLD产生FLASH读写控制< 信号,从FLASH中并行 读取数据,把并行数据变为串行数据,并产生FPGA配置控制信号,完成FPGA的串行配 置。
5. 根据权利要求1, 2所述的嵌入式系统测试用的数据采集器,其特征在于数据采集IP 核,在FPGA中用硬件实现,包括数据锁存器,地址锁存器,匹配地址寄存器,实现数据, 地址总线上数据的锁存和比较,中断信号的产生,数据锁存触发信号的产生。
6. 根据权利要求l, 2所述的嵌入式系统测试用的数据采集器,其特征在于测试数据压縮 采用了改进的游程编码压縮算法。对于非重复字符保持不变,直接进入缓冲器中,对于 重复字符用3个字节表示一个字符串第一个字节是压縮指示字符,因为所有的测试桩数 据没有以OXFF开头,所以OXFF开头的字符串均为重复串。第二个字节记录连续出现的 字符,第三个字节记录重复字符出现的次数。
7. 根据权利要求1所述的嵌入式系统测试用的数据采集器,其特征在于输出接口单元接 口单元采用了串口和USB两种输出方式。
全文摘要
本发明涉及嵌入式系统测试领域,特别涉及一种嵌入式系统测试用数据采集器。采集器由三大单元组成输入接口单元,核心处理单元和输出接口单元。输入接口单元由连接插座,数据缓冲器构成。核心处理单元由FPGA模块,配置模块,时钟模块,FLASH模块,SDRAM模块构成。采用CPLD控制的被动串行配置方式完成FPGA配置,采用NIOS II软核处理器作为控制核心,用硬件实现的数据采集IP核完成数据采集任务,结合数据压缩,数据缓冲模块完成采集器控制,数据采集,压缩任务。输出接口单元由串口模块,USB模块构成,完成数据输出至测试服务器任务。本发明能够完成针对嵌入式系统白盒测试的测试数据采集工作。
文档编号G05B23/02GK101615030SQ20091002084
公开日2009年12月30日 申请日期2009年1月9日 优先权日2009年1月9日
发明者孙家泽, 曹小鹏, 王曙燕 申请人:西安邮电学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1