1导言
因为数字信号只要高电平和低电平两种状况,因而,用单片机(MCU)就可直接完结多路数字信号进行收集和逻辑剖析。但因为单片机的时钟频率较低,完结一次采样的时刻受程序履行指令速度的约束,采样速率一般不超越1MHz。因而,用单片机只能完结对低速率数字信号进行逻辑剖析。FPGA的作业时钟速率一般可达200MHz以上,可对高速数字信号进行采样,但一般的FPGA在与外部设备进行数据交换时显得不灵敏。为了处理上述问题,一般是将MCU与FPGA结合起来,用FPGA对高速数字信号进行采样,用MCU担任与外部设备进行数据交换,然后完结对高速数字信号进行逻辑剖析,如图1所示。
图1逻辑剖析仪框图
跟着可编程逻辑器材的开展,Altera公司研发了能够嵌入软CPU核的Cyclone系列和StraTIx系列的FPGA芯片。嵌入式软核与一般硬核的昀大不同在于它的可削减性,规划者可根据规划需求定制出不同结构的软核处理器。软CPU核的嵌入完结了CPU与FPGA的无缝衔接,使芯片既能处理高速数字信号,又能便利灵敏地与芯片外部设备进行数据交换,还增加了体系的集成度和可靠性。
2定制软CPU核
软核的定制要运用Altera公司供给的SOPCBuilder软件。
2.1定制NiosⅡ处理器
前期的软核处理器是Nios,但其稳定性不够好,现已被NiosⅡ所代替。
NiosⅡ处理器有三种类型:e(经济型)、s(标准型)和f(增强型)。挑选不同类型的处理器所占用的逻辑资源和存储器资源巨细不同,处理器的运算速度处理才能也有所不同。
2.2定制片内RAM
片内RAM作为软核程序的运转空间,关于没有扩展外部存储器的规划,片内RAM是有必要的部分。经过软件规划导游,能够设置片内存储器的类型,巨细,以及初始化文件。Cyclone系列芯片有13~64个片内RAM块,每个RAM块的巨细是4K(128字×36位),用户可根据需求设置存储器的字数和字长。当界说的字数超越128时,多个RAM块可组成在一起,构成更大容量的存储器,满意规划要求。
2.3定制UART接口
UART接口是软核与计算机通讯的首要接口,经过规划导游可定制UART接口。在定制UART接口时,能够设置其波特率,校验位,是否答应DMA操控。经过此根本设置,软核能够与PC机之间完结串口通讯的功用。
2.4定制LCD操控端口和键盘操控端口
3最小体系构成
完结定制软核后,需求对软核编程,构成根据软核的昀小体系。
对软核的编程在NiosⅡIDE环境下进行。首要运用软件生成针对某软核的模版程序,用户程序都能够从模版开端。在生成模版程序的一起,也构成了system.h文件,此文件中包含了对用户编程有用的许多信息,包含一切端口的地址空间分配,中止号等。在文件altera_avalon_pio_regs.h中包含了对一般I/O端口进行读写操作的函数,经过对函数的调用可完结对端口的操作。在文件altera_avalon_uart_regs.h中包含了对UART操作的根底函数,对串口的一切操作,都可经过对此中函数的调用来完结。
在昀小体系中,完结软核对LCD的数据交换,读取键盘值,以及与计算机之间的通讯。本规划键盘运用4*4键盘,显现器选用240*128点阵LCD显现模块。首要子程序流程图如图2所示。
图2键盘扫描和LCD操控程序流程图
4根据软核的逻辑剖析仪规划
4.1全体结构
根据NiosⅡ的逻辑剖析仪,选用FPGA硬件对数据收集和存储,NiosⅡ软核进行交互、操控和通讯,而且能够经过LCD显现所收集数据的逻辑状况或经过RS-232接口与PC机通讯,在PC上显现数据的波形并对数据长时间存储。别的,经过键盘可对逻辑剖析仪的采样频率、触发方法等参数进行设置,这些设置也都能够经过PC机进行。逻辑剖析仪的全体结构如图3所示。
图3嵌入式逻辑剖析仪总结构框图
4.2嵌入模块
4.2.1触发核模块
触发核首要决议什么时候收集数据,什么时候完结对数据的收集。在本规划中,触发条件分上升沿触发、下降沿触发、高电平触发和低电平触发四种。区别这4种触发信息至少要用到接连两个时钟的数据,因而每级触发条件有两个条件判别字,触发核经过两次比较判别是否触发。触发核是硬件核,由组合电路和触发器组成。
4.2.2PLL模块
在对数字信号进行采样时,需求的时钟频率至少应是数字信号波特率的5倍。Cyclone器材的嵌入式数字PLL要求外部输入CLK信号昀低频率不能低于20MHz,可经过分频的方法得到低频CLK,经过倍频的方法得到高频CLK,也可经过倍频和分频组合得到特别的输出频率,本规划选用25倍频和2分频,使昀高时钟频率达250MHz。
4.2.3数据存储模块
因为软核在作业时也是在履行指令,运转速度不快,不能完结对高速数字信号的收集。为此,本规划在FPGA芯片中嵌入了FIFO,作为数据的缓存。所收集的数据,首要存入FIFO存储器中,这个进程悉数经过硬件完结,每个采样时钟周期可完结一次数据的写入操作。当FIFO中数据写满时,存储器将告诉软核读取数据,软核完结数据的处理、显现和传输等操作。
因为Cyclone器材中FIFO的容量不大,若选用固定的选用时钟,当输入数字信号的波特率较低时,FIFO存储的数据或许还不到一个码元宽度的数据,然后无法在LCD上显现其波形。因而,本规划选用了程控调整采样速率,然后确保了无论是低波特率信号仍是高波特率信号,体系都能正确采样和显现波形。
4.3软核规划
软核作为规划的操控中心具有重要作用,为了完结对8路数据触发形式的设置,以及与PC机通讯,在用SOPCBuilder软件定制软核时,为其加入了UART接口和若干位输入输出端口,这些端口也完结了经过键盘对各路数据触发方法和其它各参数的设置。
4.4软件规划
本规划编程言语选用的是C++++,软件流程包含参数设置、触发判别、数据收集、剖析与通讯、图形显现五个方面,主程序流程如图5所示。
图4逻辑剖析仪作业流程
5结束语
本规划经过在Cyclone芯片中嵌入软CPU、数字PLL、FIFO和UART,完结了单片式8路高速数字信号剖析仪。可用键盘改动采样速率,满意对不同速率的数字信号进行采样;用点阵式LCD显现所收集的8路数字信号;也可经过串口将收集的数据传输到PC机进行存储、处理和显现。本规划的时钟频率最高可达250MHz(CycloneⅡ芯片所支撑的最高作业频率),然后能够对8路波特率为50Mbs的数字信号进行收集与显现。
图5PC机显现的8路数字信号波形
图5是经过嵌入式逻辑剖析仪收集后,经过串行通讯口送到PC机,在PC机屏幕上显现的8路数字信号实拍照片。
本文作者的立异点是:在Cyclone芯片中嵌入软CPU、PLL和FIFO.完结了CPU与FPGA的无缝衔接。运用软CPU接纳键盘的信息、驱动LCD和与PC机进行数据传输:运用芯片中PLL将低频时钟转换为高速时钟。并运用芯片中FIFO完结了对高速
责任编辑:gt