微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 可重构技术及基于FPGA的可重构智能仪器设计

可重构技术及基于FPGA的可重构智能仪器设计

时间:11-09 来源:互联网 点击:
3 可重构智能仪器软件设计

3.1 可重构仪器软件结构

可重构智能仪器的软件结构如图5 所示。



系统软件模块库:包含软件控制模块、RS232 通讯模块、模数转换模块、数模转换模块、 显示模块和DI、DO 开关量模块。通过软件控制模块选择其他的模块进行组合就可以实现不 同的软件功能,从而达到重构的目的。

HAL 程序库实际上包含了各种不同的硬件驱动,包括MAX232 驱动、AD 转换芯片驱 动、DA 转换芯片驱动、FPGA 的I/O 引脚驱动等。

通过选择软件模块库中的软件模块,就可以调用 HAL 程序库中相应的硬件驱动,从而 实现上层应用程序对底层硬件的控制。软件模块的可重构性对应了底层硬件的可重构性。

3.2 基于HAL 的可重构智能仪器软件开发

硬件抽象层(HAL, Hardware Abstraction Layer),是指在应用程序和系统硬件之间的一 个系统库(System Library),为嵌入式系统与硬件通信的程序提供简单的设备驱动接口。 SOPC Builder 是一个自动化的SOPC 硬件系统工具。基于HAL 的软件系统由两个Nios II 工 程所构建,用户的程序包含在一个工程中(用户应用工程),该工程依赖一个独立的系统库 工程(HAL 系统库工程)。用户应用工程包含开发的所有代码,编译该工程可以产生可执行 文件。HAL 系统库工程包含涉及处理器硬件接口的所有信息。系统库工程依赖于由SOPC Builder 产生的扩展名为.ptf 的Nios II 处理器系统。

由于该工程的依赖结构,如果 SOPC Builder 生成的系统改变(即.ptf 文件已修改),则 Nios II IDE 管理HAL 系统库并且修改驱动配置来正确的反应系统硬件。HAL 系统库将用户 程序与底层硬件变化分离开来,这样,用户可以不用考虑自己的程序是否与目标硬件匹配来 开发和调试代码,简而言之,基于HAL 系统库的程序和目标硬件是同步的。

由于 HAL 系统库中包含有各种不同的硬件驱动,用户可以根据特定的设计需要调用 HAL 系统库中的相应硬件驱动,从而实现对不同硬件系统的控制,来达到可重构设计的目的。本文所设计的基于HAL 系统库的可重构智能仪器软件系统如6 示。在系统软件控制界 面中选择了某一功能后,该功能就会调用HAL 程序库中相应的一些硬件驱动,从而实现对 硬件设备的控制。

4 系统分析

基于 FPGA 的可重构智能仪器主要是针对目前测试仪器生产出来后功能不能改变、维护 费费用过高、资源浪费严重等问题。提出基于FPGA 的可重构智能仪器的硬件结构和软件结 构,实现了八种不同的功能,借鉴虚拟仪器的思想,开发了基于FPGA 的可重构智能仪器演 示系统,该系统具有A/D 采集、D/A 输出和开关量控制三种功能。

本文作者创新点:基于SOPC技术进行可重构设计;采用了FPGA增强型配置芯片EPC16; 软件重构采用了应用框架的复用技术。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top