医疗仪器设计基于FPGA的可重构智能仪器设计
-0引言传统测试系统由于专用性强、相互不兼容、扩展性差、缺乏通用化、模块化,不能共享软硬件组成,不仅使开发效率低下,而且使得
2018/11/19
0 引言 传统测试系统由于专用性强、相互不兼容、扩展性差、缺乏通用化、模块化,不能共享软硬件组成,不仅使开发效率低下,而且使得开发一套复杂测试系统的价格高昂[1]。
目前,传统的分析仪表正在更新换代,向数字化,智能化方向迈进[2]。
改变以往由仪器生产厂家定义仪器功能、用户只能使用的局面,使用户可自定义仪器、根据不同测试需求对仪器进行重构,已经成为现代测试技术发展的一个重要方面。
由于其能够大大减少测试设备的维修成本、提高资源利用率,可重构仪器技术已引起高度重视。
1 可重构技术
目前对可重构性还没有形成公认的定义。
可重构性一般是指在一个系统中,其硬件模块或(和)软件模块均能根据变化的数据流或控制流对结构和算法进行重新配置(或重新设置)。
在可重构系统中,硬件信息(可编程器件的配置信息)也可以像软件程序一样被动态调用或修改。
这样既保留了硬件计算的性能,又兼具软件的灵活性。
尤其是大规模可编程器件FPGA的出现,实时电路重构思想逐渐引起了学术界的关注[3]。
可重构的实现技术又很多种方式,包括DSP重构技术、FPGA重构、DSP+FPGA重构、可重组算法逻辑体系结构、可进化硬件(EHW)、本地重构/Internet远程重构、SOPC/SOC重构。
可重构技术具有以下优点:
1)可重构技术能够高效地实现特定功能。
可重构逻辑器件上都是硬连线逻辑,它通过改变器件的配置来改变功能。
2)可重构技术能够动态改变器件配置,灵活满足多种功能的需求。
3)可重构技术适合恶劣工作环境下的应用。
利用可重构逻辑器件的一个优势是不需要微处理器必需的散热系统,大大减少了电子产品占据的空间。
4)可重构技术具有强大的技术支持来加速产品开发。
5)可重构技术的使用能够大大降低系统成本。
另外,对于不会同时被使用的功能,可考虑利用动态重构技术在不同的需求时段里分别实现,做到“一片多用”,节省了资源、空间和成本。
2 可重构智能仪器硬件设计
2.1 可重构仪器硬件结构
可重构智能仪器技术将先进的微电子技术、半导体技术和微处理器技术引入仪器设计领域,通过构建通用的硬件平台,最终由用户通过选择不同的软件来实现不同的仪器功能,因此软硬件在可重构仪器设计技术中同样关键。
可重构智能仪器硬件结构由Nois II处理器系统(包括可重构FPGA芯片、FPGA片外系统)和计算机组成,其硬件结构框图如图1所示。
图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控制器。
( 四) 定时器设置。
在SOPC Builder
组件选择栏中选择Avalon ComponEnts→Other→Interval timer,加入定时器核。
定时器的硬件配置选项会影响定时器的硬件结构,SOPC提供了简单周期中断配置、完全功能配置和看门狗配置三种硬件配置。
(五) 添加SPI核。
采用的A/D转换芯片和D/A转换芯片都是基于SPI总线进行数据传输的,要实现Nios II系统对转换芯片的控制必须添加SPI核。
在SOPC Builder组件选择栏中选择Avalon Compon
Ents→Communication→SPI,配置SPI核。
由于用到的模数转换芯片AD7810和数模转换芯片AD5611对于Nios II系统来说都是从SPI器件,所以在FPGA中添加两个主SPI核分别控制A/D和D/A转换芯片。
2.3 可重构配置文件生成
在完成可重构智能仪器的各个控制器核之后,要生成相应的配置文件,才能配置FPGA芯片,使其实现各种功能。
配置是对FPGA的内容进行编程的一个过程。
目前大部分FPGA都是基于SRAM工艺 的,而SRAM工艺的芯片在掉电后信息就会丢失,需要外加专用配置芯片,在上电时,由这个专用配置芯片把配置数据加载到FPGA中,之后FPGA就可以正常工作了。
在被动模式(PS)方式下,FPGA处于完全被动的地位。
FPGA接收配置时钟、配置命令和配置数据,给出配置的状态信号以及配置完成指示信号等。
PS配置时序如图2所示:
图2 Ps配置过程波形 图3 完整的项层模块图
根据SOPC Builder中对FPGA添加的各种控制器核,利用Quatus II软件例化Nios II处理器,生成了完整的FPGA内部顶层模块图,如图3所示。
然后利用引脚规划器Pin Planner对其进行引脚分配。
最后用进行Compilation,生成.sof和.pof配置文件,完成硬件设计。
2.4 外围电路设计
外围电路设计包括存储器设计、AD转换电路设计、DA转换设计、显示电路设计、开关量DI、DO设计和RS232通信设计等。
仪器上的存储器包含1片8M字节的SDRAM和一片32M字节的FLASH存储器。
限于篇幅SDRAM(IS42S16400)与EP2C35F672C6连接的引脚、FLASH存储器(AT49BV163)与EP2C35F672C6连接的引脚分配这里不再赘述。
A/D转换电路采用了AD7810芯片、DA转换电路采用AD5611芯片。