APP下载

基于FPGA的SOPC嵌入式系统的设计

2016-07-06康凯

科技尚品 2016年12期
关键词:嵌入式系统

康凯

摘 要:当前FPGA在嵌入式系统的设计中占有重要地位,本文阐述了FPGA、SOPC的特点及其发展趋势以及使用,Quartus II、SOPC Builder和Nios II IDE工具在FPGA器件上实现SOPC嵌入式系统的设计。

关键词:FPGA;SOPC;嵌入式;系统

1 前言

微电子技术的发展历史是一个不断创新的过程,这种创新包括理论创新、技术创新和应用创新。每一种创新都能开拓出一个新的领域,带来新的市場,产生重大的影响。嵌入式系统有三十多年的发展历史,其由硬件、软件交替发展试发展而来,嵌入式实时内核出现,其包括中断和任务管理、任务间通讯、同步和排斥、内存管理等。根据IEEE定义“devices used to control,monitor,or assist the operation of equipment,machinery or plants”(中文翻译为:用于控制、监视、者辅助操作机器和设备的一种装置)。

2 FPGA特点及优势

现场可编程门阵列(Field Programmable Gate Array,简称FPGA)其是一种新型的可编程逻辑器(Programmable Logic Device简称PLD)。其能够完成74系列芯片至高性能CPU数字器件的功能。现场可编程门阵列器件是一九八五年Xilinx公司第一次推出,其是一种高密度的可编程逻辑器,由 CMOS-SRAM工艺完成制造。FPGA的由可编程逻辑块、可编程I/O模块和可编程内部连线3部分组成。编译数据存放在片内的即静态随机存储器(Static RAM,简称SRAM),基于静态随机存储器的FPGA器件从芯片外部加载配置数据进行工作。

3 SOPC基本结构

Altera公司秉承了创新的传统,作为可编程芯片系统(System-on-a-Programmable-Chip,SOPC)解决方案的倡导者,其是基于大规模FPGA的一种单片系统。SOPC的设计技术集成计算机辅助设计技术CAD(Computer Aided Design)、电子设计自动化EDA(Electronic Design Automation)技术和大规模集成电路技术,LSI(Large Scale Integration)技术。其包括嵌入式处理器系统、接口系统、硬件协处理器、数字信号处理系统、数字信号通信系统、存储电路以统等。

4 SOPC应用的3个方向

(1)基于FPGA嵌入IP硬核的应用

在FPGA中预先植入处理器,硬件设计和软件组合。常见是ARM32位知识产权处理器核的器件,为实现高通用性,将常规的嵌入式处理器集成诸多通用及专用接口。将ARM或其他处理器核以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源,按系统功能需求设计接口功能模块,实现设计功能,可降低系统的成本和功耗。FPGA灵活的硬件设计同软件有机地融为一体,实现了高效能SOPC系统。

(2)基于FPGA嵌入IP软核的应用

在FPGA中植入NIOSII软核处理器,客户根据要求,利用EDA工具,对NIOSII和外围设备进行构建,其中IP硬核使用第三方公司。FPGA生产者无法有效控制成本,导致FPGA器件的价格相交高。IP硬核预先植入,导致使用者无法根据实际改变处理器的结构,不能嵌入DSP。无法在FPGA中集成多个处理器,不能裁减处理器硬件资源以求降低FPGA生产成本。

(3)基于HardCopy技术的应用

这种SOPC系统是将FPGA器件上SOPC系统向ASIC转化。将大容量FPGA的灵活性和ASIC的市场特点结合,实现了对于大批量要求同时对成本敏感的产品,其避开了设计ASIC时的麻烦。HardCopy技术是全新的SOC级ASIC设计解决方案,将专用的硅片设计和FPGA至HardCopy迁移过的程组合技术,使用Quartus II将系统模型成功实现于HardCopy FPGA上,HardCopy器件就将大容量FPGA的灵活性同ASIC的优势结合起来。

5 SOPC系统开发过程

SOPC设计包活以Nios II软核处理器、硬件设计和仿真、软件设计和调试等。其开发流程通是基于Quartus II、SOPC Builder的硬件设计和NiosII IDE软件设计。

5.1 硬件设计

SOPC Builder软件从NiosII处理器内核、NiosII开发套件提供的外设列表中选取合适的处理器、存储器以、各外围器件,同时定制和配置功能,分配外设地址,中断号,设定复位地址,最终生成系统。客户可自行设计指令逻辑到NiosII内核以便加速CPU性能。将生成的Nios II系统集成到之前建立的Quartus II工程,Quartus II工程中可加入Nios II系统以外的逻辑,可以是自身定制的硬件模块,也可以是从Altera或第三方IP生产商中得到的其他现成的设计模块。Quartus II软件用來选取具体的Altera FPGA器件型号,为Nios II系统上的各I/O口分配管脚。编译Quartus II工程,对HDL文件进行布局布线,从HDL源文件综合生成适合目标的器件网表,生成FPGA配置文件,用下载电缆,将配置文件下载到目标板上。硬件校验完成后,将新的硬件配置文件下载到目标板上的非易失存储器中。

5.2 软件开发

Nios II是Altera公司2004年6月推出的第2代软核处理器。用Nios II IDE完成软件开发,其是基于Eclipse IDE架构的开发环境。GNU开发工具如标准GCC编译器,汇编器和makefile工具等。基于GDB的调试器,包括软件仿真和硬件调试。嵌入式操作系统MicroC/OS-II和LwTCP/IP协议栈的支持。帮助客户快速入门的软件模板。Flash下载支持使用SOPC Builder生成系统后,直接使用Nios II IDE开始设计C/C++应用程序代码。Altera提供外设驱动程序和硬件抽象层,使客户能够快速编写与低级硬件细节无关的Nios II程序。除了应用代码,客户还可以在Nios II IDE 工程中设计和重新使用定制库。

6 小结

随着嵌入式系统技术的不断进步,其是一个技术密集型,资金密集型和知识密集型的集成系统,基于FPGA的SOPC设计技术走在了当前电子系统设计领域最前沿,是嵌入式技术发展的重要方向其向着更高密度,更大容量,低成本,低电压,微功耗,微封装和绿色化方向发展。

参考文献

[1]王刚,张潋.基于FPGA的SOPC嵌入式系统设计与典型实例[M].电子工业出版社,2009.

(作者单位:中国航空工业集团公司洛阳电光设备研究所)

猜你喜欢

嵌入式系统
Smartflower POP 一体式光伏系统
WJ-700无人机系统
基于PowerPC+FPGA显示系统
搭建基于Qt的嵌入式开发平台
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini
嵌入式软PLC在电镀生产流程控制系统中的应用
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器