摘要:传统测试仪器普遍存在生产出来后普通用户难以改变其相对固定的功能,无法满足多样性的测量。基于此本文开发了基于FPGA的可重构智能仪器,利用SOPC Builder软件在FPGA中嵌入了Nios II处理器系统,采用可重构的应用框架技术利用HAL系统库进行软件设计。解决了由于测试对象复杂、测试设备多、测试资源利用率低所造成的测试系统的生产、维修成本过高,资源浪费等问题。
0 引言
传统测试系统由于专用性强、相互不兼容、扩展性差、缺乏通用化、模块化,不能共享软硬件组成,不仅使开发效率低下,而且使得开发一套复杂测试系统的价格高昂[1]。目前,传统的分析仪表正在更新换代,向数字化,智能化方向迈进[2]。改变以往由仪器生产厂家定义仪器功能、用户只能使用的局面,使用户可自定义仪器、根据不同测试需求对仪器进行重构,已经成为现代测试技术发展的一个重要方面。由于其能够大大减少测试设备的维修成本、提高资源利用率,可重构仪器技术已引起高度重视。
1 可重构技术
目前对可重构性还没有形成公认的定义。可重构性一般是指在一个系统中,其硬件模块或(和)软件模块均能根据变化的数据流或控制流对结构和算法进行重新配置(或重新设置)。
在可重构系统(Reconfigurable System)中,硬件信息(可编程器件的配置信息)也可以像软件程序一样被动态调用或修改。这样既保留了硬件计算的性能,又兼具软件的灵活性。尤其是大规模可编程器件FPGA的出现,实时电路重构思想逐渐引起了学术界的关注[3]。可重构的实现技术又很多种方式,包括DSP重构技术、FPGA重构、DSP+FPGA重构、可重组算法逻辑体系结构、可进化硬件(EHW)、本地重构/Internet远程重构、SOPC/SOC重构。
可重构技术具有以下优点:
1)可重构技术能够高效地实现特定功能。可重构逻辑器件上都是硬连线逻辑,它通过改变器件的配置来改变功能。2)可重构技术能够动态改变器件配置,灵活满足多种功能的需求。3)可重构技术适合恶劣工作环境下的应用。利用可重构逻辑器件的一个优势是不需要微处理器必需的散热系统,大大减少了电子产品占据的空间。4)可重构技术具有强大的技术支持来加速产品开发。5)可重构技术的使用能够大大降低系统成本。另外,对于不会同时被使用的功能,可考虑利用动态重构技术在不同的需求时段里分别实现,做到“一片多用”,节省了资源、空间和成本。
2 可重构智能仪器硬件设计
2.1 可重构仪器硬件结构
可重构智能仪器技术将先进的微电子技术、半导体技术和微处理器技术引入仪器设计领域,通过构建通用的硬件平台,最终由用户通过选择不同的软件来实现不同的仪器功能,因此软硬件在可重构仪器设计技术中同样关键。
可重构智能仪器硬件结构由Nois II处理器系统(包括可重构FPGA芯片、FPGA片外系统)和计算机组成,其硬件结构框图如图1所示。
可重构FPGA选用Altera公司Cyclone II系列中的EP2C35F672C6芯片,片外系统主要包括SDRAM存储器、Flash存储器、模数转换芯片、数模转换芯片、EPC16增强型配置芯片、MAX232芯片等组成。片外系统实现数据的采集、预处理、存储和输出等功能。
2.2 控制核
在基于FPGA的可重构智能仪器中,EP2C35F672C6是整个系统的核心,为了实现FPGA与其他芯片、器件的正确通信、数据交换,需要在FPGA上配置Nios II软核处理器以及其他控制器核。
(一) Nios II嵌入式处理器的设置。首先在Quartus II下建立一个Project,在SOPC Builder中选择组件列表中的Nios II Processor-Altera CorporaTIon,考虑到芯片的性能以及资源利用率,选择Nios II/s(标准型)CPU,在Cache & TIghtly Coupled Memories标签下设置InstrucTIon Cache为4KB。在JTAG Debug Module标签下选择Level 3,可设置2个硬断点、2个数据触发、指令跟踪和片上系统。整个Debug模块将占用2400~2700个LE,4个M4K。
(二) 添加SDRAM控制器内核。在SOPC Builder组件选择栏中选择Avalon Components→Memory→SDRAM Controller,加入SDRAM控制器核,。在Data Width(数据总线宽度)下拉列表框中选择16Bits,其余设置不变,因为都满足SDRAM芯片IS42S16400的参数要求。TIming选项卡的参数也满足芯片要求,不必修改。
(三) 添加FLASH控制器。在对硬件系统进行编程控制时,Flash用于存储应用程序。在SOPC Builder的组件选择栏中选择Avalon Components→Bridge→Avalon Tri-State Bridge,加入Avalon三态总线桥;在SOPC Builder的组件选择栏中选择AvalonComponents→Memery→Flash Memery(Common Flash Interface),添加CFI控制器。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)