基于FPGA的嵌入式Linux软硬件设计

基于FPGA的嵌入式Linux软硬件设计
基于FPGA的嵌入式Linux软硬件设计

基于FPGA的嵌入式Linux软硬件设计

Design and Transplant Embedded Linux System Based on FPGA

作者:纪斌郑志国李红兵中国西南电子技术研究所时间:2010-03-09 来源:电子产品世界浏览评论推荐给好友我有问题个性化定制

关键词:FPGA Linux 嵌入式

分享到:开心网人电子产品世界https://www.360docs.net/doc/e24840687.html,/article/106706.htm人网新浪微博EEPW微博

引言

FPGA是通过逻辑组合电路来实现各种功能的器件。由于FPGA内部集成了大量的逻辑资源和可配置的I/O引脚,加上独特的并行处理架构,可以轻松实现同时对多个外部设备的配置和管理,以及内外各种接口数据的传输。现在开发厂商又在FPGA 内部加入了大量的DSP电子产品世界https://www.360docs.net/doc/e24840687.html,/article/106706.htm和Block RAM资源,非常适合图像处理、数字信号处理等运算密集的应用,因此在这些领域取得了广泛的应用。但是由于FPGA 程序编写的灵活性和功能的多样性,使得它在一个复杂工程中对各个程序的使用调度、统筹管理上有很大的局限性,这样就必须引入操作系统进行统一的管理。Linux 系统则因为其良好的可裁减、可配置等特点在嵌入式领域应用广泛。Linux操作系统提供了许多系统级的应用,例如网络协议的实现、进程调度、内存管理等,同时Linux 是一个成熟的开源操作系统,有丰富的应用资源,利用这些资源和强大的系统功能,用户可以快速地开发基于嵌入式环境复杂系统。因此,结合FPGA和Linux双方优势,可以很好地满足嵌入式系统设计需求,量体裁衣,去除冗余。本文给出了一种基于Xilinx FPGA的嵌入式Linux操作系统解决方案。

基于FPGA的嵌入式系统的硬件设计

本设计是基于Xilinx XC4VFX40系列FPGA,它内部集成了两个PowerPC405处理器, 4个10/100/1000M以太网MAC模块,运行频率300MHz时,具有420D-MIPS性能,能解决高速网络数据传输问题,并且能解决通过网络加载操作系统和交叉编译等问题。它内部有448个可配置I/O口,2592kb BlockRAM,能实现对各种外部设备的并行控制以及较多数据的存储与处理。加载一个操作系统,一般需要几十兆的内存空间,FPGA内部自带的RAM空间是远远不够的,本设计在板上扩展了两片MICRON公司的256Mb DDR内存,作为上电时操作系统的加载和运行空间。现在主流的嵌入式操作系统,都需要搭建交叉编译环境,把在主机上编写好的可执行文件下载到目标板上,这就需要实现网络数据的传输。由于XC4VFX40 自带了以太网MAC模块,只需要在外面添加个PHY芯片和带隔离器的RJ45接口就能实现这个功能。本设计由于对网络数据实时性要求很高,因此采用Marvell公司的千兆以太网PHY芯片88E1111-RCJ。它能根据自身配置和主机设计,实现10/100/1000M自适应传输,并且Linux 本身对这个芯片提供了驱动支持,实现无缝链接。操作系统加载到DDR 中能快速有效的运行,但是掉电就会丢失,因此必须加入FLASH芯片,把系统文件存储到外部FLASH中。加电时,FPGA把操作系统文件从FLASH读入到DDR中运行。FPGA设计当然会扩展很多接口出来,利用自身并行处理的优势,控制很多外围设备,本设计也不例外,扩展了8个通用的GPIO,2个PS/2接口,1个USB接口,1个AC97声卡接口,1个HotLink接口,以及4个RS422接口,同时扩展了两个CPCI接口,引出了16位数据地址线和Ethernet控制线,整个系统的硬件框图如图1所示。

在进行电路设计时,是以FPGA为核心,向外扩展各种设备,因此特别注意了FPGA各个引脚的连接。由于DDR和PHY芯片都需要提供+2.5V电压,因此和DDR、PHY芯片连接引脚所在的BANK需要提供+2.5V电压参考,并且不能接以LVTTL或LVCMOS为电压参考的引脚。

重要快速的时钟信号必须接到全局时钟引脚上。由于FPGA需要通过外部FLASH启动操作系统,需要并行配置,以减少加载时间,配置电路电子产品世界https://www.360docs.net/doc/e24840687.html,/article/106706_2.htm如图2所示。在DDR布线时,数据和地址线需要走等长线,数据线之间不能相差10Mil,地址线要控制在20Mil以内,时钟也需要走差分等长线,长度应大于地址线,DDR各个信号还需要47Ω的并行端接,改善信号质量。千兆PHY 输出MDI信号也需要在顶层做差分等长,不然在进行1000M数据传输时很可能不稳定电子产品世界https://www.360docs.net/doc/e24840687.html,/article/106706_2.htm。DDR和PHY需要完整的电源回路做参考,电源层划分时也要特别注意,其他电路做常规处理就可以了。

EDK和ISE软件设计

首先需要调用Xilinx提供的EDK软件,对各个模块加入必要的IPCORE,以便操作系统能正常调用这些器件的驱动操作他们。本设计采用的是EDK10.1.2版本,PPC方面选用ppc405内核,频率设定在300MHz,同时需要添加中断输入引脚,以便响应以太网、串口等外部中断,其他使用默认设置。DDR控制器采用EDK提供的Multi-Port-Memory Controller模块,需要设置DDR芯片厂商、大小和数据位数等,特别指出的是,要设置独立的两条PLB总线和PPC连接,作为PPC的指令和数据总线。MAC单元需要加入XPS_LL_TEMAC模块来控制,本设计需要设置PHY 类型为GMII(千兆以太网),同时要指定物理地址和收发FIFO大小。FLASH 单元需要加入xps_mch_emc模块,同时设置FLASH类型和读写时间。为了方便调试,还需要加入串口控制台模块,本设计使用的是UartLite模块,设置需要的波特率和校验类型。特别注意的是,系统还需要时钟管理模块(DCM),提供各个模块需要的不同时钟,还要设置一段FPGA内部RAM区域,放置PPC的.boot文件。外部这些模块都通过PLB总线和PPC通信,需要统一编址,一般把DDR 内存空间地址分配到0x0开始,整个系统的构建如图3所示。

本设计,除了在EDK中搭建了操作系统必须的各种模块后,还需要在ISE中编写各个时序电路程序,因此把EDK中编写好的工程作为一个模块,加入到ISE中,然后统一编译,这样生成了我们需要的完整功能的程序。特别指出的是,PPC405数据地址采用的是大端模式,接入到ISE中时,需要把数据颠倒位置,如DATA[0:31]变为DATA[31:0],才能正常读写。Linux操作系统的加载与烧写

加载Linux操作系统需要利用EDK软件提供的板级升级包(BSP)配置内核。BSP 包含了所选定处理器架构的属性文件以及相关硬件的驱动源文件。首先要在EDK Project Option 中Project Peripheral Respository选项下设置Xilinx提供的gen-mhs-devtree/edk_lib 库路径,然后在软件平台设置中选择电子产品世界https://www.360docs.net/doc/e24840687.html,/article/106706_3.htmDts模式,编译更新升级包,生成.dts配置文件。Dts文件包含了所有模块地址分配,中断以及驱动信息,把他加入到Linux 内核中,然后配置内核选项选择对应的处理器架构、所选硬件的驱动模块以及需要的其他内核模块,之后再对完成配置的内核进行编译,生成Linux 的内核image 文件。生成内核image电子产品世界https://www.360docs.net/doc/e24840687.html,/article/106706_3.htm 文件之后,还需要生成系统运行所需要的根文件系统。根文件系统中包含了嵌入式Linux系统的所有应用程序、库以及系统配置等相关文件。根文件系统中常用的程序和命令可利用开源软件Busybox构造。构造完成之后,在Busybox 生成的目录和文件的基础上再构造根文件系统的目录树,并添加相关设备文件和配置文件以及系统运行时需要的脚本文件, 从而形成最终的根文件系统,ramdisk.image。把他拷贝到内核中的../arch/powerpc/boot目录下,在linux2.6.x根目录下运行make zlmage. initrt,生成最终的系统文件。需要指出的是,在编译linux内核时,需要设置好交叉编译环境:首先安装ELDK编译软件,然后在编辑自己的帐户目录下的.bashrc (例如:/home/ppc/) 中加入下面内容:

CROSS_COMPILE=ppc_4xx

$PATH=$PATH:/home/ ppc /PowerPc/ELDK/usr/bin:/home/ ppc /PowerPc/ELDK/binexport CROSS_COMPILE PATH

保存,然后执行$source .bashrc

把生成的zlmage.initrd 文件通过EDK 软件下的XMD调试窗口,使用dow zlmage.initrd 命令下载到DDR中,然后运行run命令,就正常启动Linux了。

程序下载到DDR中,掉电后,数据就丢失了,不能保存和连续使用,因此要把操作系统烧写到FLASH,上电后让它能自动运行,掉电后也不会丢失。EDK提供了专门的FLASH 烧写工具Program Flash Memory,首先要把zlmage.initrd文件转换为FLASH能识别的.SREC文件,需要在EDK Shell下运行下面命令:

$powerpc-eabi-objcopy –I elf32-powerpc –O srec zImage.initrd.srec

第一次烧写FLASH时需要把Program Flash Memory中Create Flash Bootlooder Application 勾上,让系统自动生成Bootlooder程序。操作系统烧写到Flash中后,需要FPGA在上电后自动从FLASH读取操作系统数据,然后自动运行,这几需要把刚刚生成的bootloadr_0工程中的.elf加入到.bit生成新的配置文件,使用EDK下的Updata Bitstream命令就能实现。最后把生成的.mcs文件烧写到FPGA PROM中,上电后,系统就能自动运行了。

设计结果与分析

在Linux系统正常加载后,我们设计一个程序,它通过以太网,从上位机获得数据,存入FPGA内部BlockRam中,再在ISE中编写程序,把获得的数据取出,产生频率可变的波形发生器,并回传发送的参数给上位机。

通过实验证明,在FPGA加入操作系统后,能轻松实现网络数据的收发,并通过FPGA 自身的逻辑,产生我们需要的各种控制信号,做到了系统的统一调度和各个功能的并行处理,发挥了操作系统和FPGA各自的优势。但是也发现,FPGA下操作系统运行的频率不高,最多600MHz,中断响应间隔较长,大约3ms左右,系统上电启动时间较长,大约40s左右,这些都需要在今后设计中进一步完善和提升。

结语

本文介绍了基于FPGA的嵌入式Linux设计流程,从硬件设计到Linux系统加载,再到应用程序运行整个过程,从中可以看出,该设计既发挥了FPGA并行处理和多时序控制上的优势,也发挥了嵌入式Linux系统调度和可裁剪性方面的优势,还提高了这个系统的稳定行,也减少了FPGA 与外部高速总线连接的资源开销,二者的结合, 既满足了嵌入式应用按需定制、量体裁衣的需求, 又能开发出稳定而功能强大的嵌入式系统,在现在嵌入式系统开发中有很好的运用。

参考文献:

[1] Xilinx PowerPC 405 Processor Block Reference Guide.2006

[2] Xilinx Virtex-4 User Guide.2005

[3] 田耘, 胡彬. Xilinx ISE Design Suite 10.x FPGA开发指南[M]. 北京:邮电出版社, 2008

[4] 师若鸣, 姜中华. Fedora Core2系统配置与管理[M]. 北京:清华大学出版社, 2005

[5] 卢敏等. 基于Linux的SoPC应用系统设计[J]. 计算机技术与应用, 2007(6)

[6] 孙航. Xilinx可编程逻辑器件的高级应用与设计技巧[M]. 北京: 电子工业出版社, 2004

基于FPGA的嵌入式技术

基于FPGA的嵌入式技术 “嵌入式系统是一个面向应用、技术密集、资金密集、高度分散、不可垄断的产业,应用在通信、航空航天、消费类电子产品等各种领域中。”随着经济的发展,各领域对嵌入式产品的应用需求呈现多样化,嵌入式系统设计技术和芯片技术也不断革新。传统设计ASIC的成本很低,但设计周期长、上市时间晚、风险较大。基于FPGA的嵌入式系统设计可以缩短设计周期,加快上市时间,抢占市场先机。 1、概述 现场可编程门阵列FPGA(Field-Programmable Gate Array)是由复杂可编程逻辑器件CPLD(Complex-Programmable Logical Device)发展而来。其功能强大,设计灵活。设计性能能够与ASIC媲美。而且,性能价格比也可以与ASIC抗衡。因此,FPGA在嵌入式系统设计领域越来越重要。 FPGA的基本结构由以下几个部分:CLB(Configurable Logic Blocks)、IOB (Input/Output Blocks)和PI(Programmable Interconnection)。随着工艺的进步和应用需求,一般在FPGA中还包含以下可选结构:Memory、数字时钟管理单元、Select I/O、乘法器和加法器、硬IP核和微处理器等。随着FPGA性能提高和设计人员能力提高,FPGA将进一步扩大可编程芯片领地,使专用芯片更高端和超复杂。[1] 2、可编程片上系统(SOPC) 可编程片上系统(SOPC)是一种特殊的嵌入式系统。片上是指由单个芯片完成整个系统的主要逻辑功能;可编程使其具有灵活的设计方式,可以裁剪、扩充、升级。并且,SOPC结合了SOC和FPGA各自的优点,具备软硬件在系统可编程的功能。 SOPC至少包含一个嵌入式处理器内核,具有小容量片内高速RAM,一部分IP Core(简称IP),大量的片上可编程逻辑,处理器调试接口和FPGA编程接口等。SOPC设计技术涵盖了嵌入式系统设计技术的全部内容。包含以处理器和实时多任务操作系统为中心的软件设计技术、以PCB和信号完整性分析为基础的电路设计技术及软硬件协同设计技术。[2] 3、IP资源复用理念与IP Core设计 IP资源复用是指在集成电路设计中,通过继承、共享或购买所需的知识产权内核,利用EDA工具进行设计、综合和验证,加速流片设计过程,降低开发风险。IP核复用技术已逐渐成为现代ASIC设计的重要手段,不仅应用于专用集成电路设计,也广泛使用于基于FPGA的嵌入式系统设计领域。设计师倾向于使用IP内核保持和提高产量。

基于FPGA的软核处理器在嵌入式中的运用

基于FPGA的软核处理器在嵌入式中的运用 随着一些ASIC 应用开发日益受到成本的困扰,OEM日渐转向FPGA 来构建自己的系统。这些系统中绝大多数需要一个处理器为了给设计者提供一个为FPGA 优化的灵活的嵌入式处理器方案,满足16位和32位嵌入式处理器市场的需求,Altera公司公司推出Nios II 系列32位RSIC嵌入式处理器。这是Altera的第二代软核嵌入式处理器,性能超过200DMIPS,在Altera FPGA 中实现仅需35美分。因为Nios II处理器是软核,因此开发者能够从无限的系统配置组合中选择满足性能和成本目标的方案,而不必为系统级设计考虑采用ASIC。 与此同时赛灵思公司(Xilinx,Inc.)宣布推出Virtex?-5 FXT 器件。这些FPGA 器件在业界率先集成了嵌入式PowerPC?440处理器模块、高速RocketIO?GTX收发器和专用XtremeDSP?处理能力。作为65nm Virtex-5系列的第四款平台, Virtex-5 FXT提供了极高的性能,还可帮助设计人员降低系统成本、缩小板尺寸并减少元件数量。在赛灵思公司以及业界领导厂商提供的逻辑、嵌入式和DSP开发工具以及IP内核的支持下,Virtex-5 FXT FPGA为有线和无线通信、音频/视频广播设备、军事、航空航天、工业系统以及其它众多应用提供了一个终极系统集成平台。 从FPGA两大主要生产公司的设计方向上我们可以看出,未来的嵌入式发展将向基于软核处理器的FPGA发展,也就是常称之为的SoPC(可编程片上系统Sysein on a Programmable Chip)设计思想。基于FPGA 的SoPC 具有设计灵活、可裁减、可配置、可扩充、可升级的特点,并具备软硬件在系统可编程的功能。我们借助强大得EDA 工具,在设计嵌入式系统时,不仅可以实现软件的可裁减性,同样可以实现硬件的可裁减性,并且可以自主定义处理器的引脚,方便PCB板布线,同样方便更改设计。 Altera 的Nios 处理器和Stratix FPGA 是其Maestro 平台的核心,它具有的核心功能提供了前所未有数据为中心的功能。能够用于任何需要32位嵌入式处理器的应用。据介绍,Nios II 系列包括三种软CPU 核,一个是最大系统性能,一个是为最少逻辑使用量优化的,还有一个是二者之间的平衡。所有核都是100% 代码兼容,让设计者根据系统需求变化改变C P U ,而不会影响现有的软件投入。Nios II系列是建立在前一代成功的基础之上,以部分的资源提供高得多的性能。 另外,Nios II处理器具有健全的软件开发套件,包括编译器、集成开发环境(IDE ),JTAG 调试器,实时操作系统(RTOS)和TCP/IP 协议栈。Nios II嵌入式处理器结合Altera的低成本Cyclone 系列和高性能StratixII 系列FPGA 和HardCopy 结构化ASIC系列,在价格、性能和功能上具有很高的灵活性。Lytle先生认为,Nios II系列增加了Altera 在嵌入式处理器市场上的机会。当第一代Nios 处理器为Altera 开辟了新的应用和市场之门时,Nios II嵌入式处理器系列有望增加公司在16位和32位嵌入式处理器市场上的机会。从使用Altera 低成本Cyclone FPGA 系列的探鱼器和引擎测试仪到使用高性能Stratix系列的视频处理和高级通信系统,Altera的软核嵌入式处理器已经成为新应用中使用可编程逻辑的推动力。 在单片器件上集成重要处理性能和SERDES元件,可为那些需要节约板级空间和成本、同时又需要满足高性能要求的设计人员提供巨大的价值。例如,在无线应用中,Virtex-5

基于FPGA的嵌入式系统毕业论文课程设计

目录 1 NiosⅡ CPU的体系结构3 NiosⅡ处理器的结构 (3) NiosⅡ处理器的基本组成 (3) Debug模块 (3) NiosⅡ开发环境简介 (3) 2 IP核4 SDRAM控制器 (4) 3 基于SOPC的温湿度监测系统设计5 系统总体设计方案 (5) SOPC硬件系统设计 (6) SOPC软件系统设计 (9) NiosⅡ软件系统设计 (9) NiosⅡ IDE C/C++Build属性配置 (13) 软件系统的设计流程 (15) 4 实验结果与分析15结论18

SOPC是可编程片上系统,即一种特殊的嵌入式系统。首先它是片上系统(SOC),由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。SOPC是基于FPGA解决方案的SOC,与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色。构成SOPC的途径有基于FPGA嵌入IP硬核的系统、基于FPGA嵌入IP软核的系统和基于HardCopy 技术的SOPC系统三种方式。本文介绍基于FPGA的嵌入IP软核的SOPC系统实现方法,设计了一种基于SOPC的温湿度监测系统。通过Quartus II 软件里的SOPC builder把Nios II Processor、Avalon总线、UART、SDRAM_controller、Flash Memory、Avalon三态桥等多个IP核集成生成系统所需的SOPC。传感器扩展板采用Mega8作为主控芯片,用于数据的采集、显示以及和PC的通信。同时配有由SPI总线控制的数码管,可以显示传感器的测量结果,以及与PC通信过程中的具体情况。对外采用波特率为115200的串口进行通信,用户可通过串口向该模块发出各种查询命令以查询传感器的状态。本次设计使用NiosII IDE编写应用程序,发送相应指令,获取温度和湿度的值,同时显示在Console窗口。 关键词: SOPC技术;FPGA开发板;IP核;温湿度监测;NiosⅡ处理器;Mega8芯片

基于fpga的嵌入式系统设计——复习题

《基于fpga的嵌入式系统设计》复习题 1、名词概念解释: (1)ASIC,FPGA,SOC,SOPC,NIOS II,I/O ,IP ; (2)VHDL,verilog HDL,HDL,EDA ; (3)功能仿真,后仿真,设计综合,设计验证; (4)嵌入式系统的定义: 以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、 可靠性、成本、体积、功耗等严格要求的专用计算机系统。 (5)嵌入式系统的组成: 嵌入式系统主要由嵌入式处理器、外围设备、嵌入式操作系统及应用软件等组 成,它是集软硬件于一体的可独立工作的“器件”。其中:嵌入式处理器是嵌入 式系统的核心部件,具有小型化、高效率、高可靠性、高集成度等特点。外围 设备是嵌入式系统中用于完成存储、通信、调试、显示等辅助功能的部件。 2、填空题 (1)NiosII处理器有三种运行模式:___________ ,___________ ,_____________ 。(2)CycloneII FPGA支持串行配置器件的isp编程,该特性是通过_____________利用JTAG接口实现的。 (3)在SOPC Builder中,复位地址的偏移量是________,异常地址的偏移量是________。(4)在NiosII的多处理器系统中,最常用的共享资源是____________。 (5)根据Flash是否支持处理器的直接读操作,NiosII处理的bootloader分成两种模式:________________bootloader、________________ bootloader。 (6)用uC/OS-II操作系统实现以太网与轻量IP功能的时候,以太网的中断号至少是____________。 (7)Altera公司的FPGA常用的配置方式: JTAG方式、___________、___________。(8)CycloneII FPGA上面集成的Block RAM为M4K,一个M4K的大小是________。(9)使用QuartusII进行FPGA设计的开发流程是:设计输入、__________、___________、仿真、_________ 。 (10)NiosII IDE为软件开发提供了4个主要功能:工程管理器、编辑器和编译器、调试器、____________ 。 (11)SOPC组件On-chip Memory可以用作RAM外,还可以设置成___________,甚至可以设置成双口存取。 (12)CycloneII EP2C35器件包含4个PLL,每个PLL均有_________个输出。其中第_________个输出的驱动能力最强。

基于FPGA的嵌入式系统

1 NiosⅡ CPU的体系结构3 1.1 NiosⅡ处理器的结构 (3) 1.2 NiosⅡ处理器的基本组成 (3) 1.3 Debug模块 (3) 1.4 NiosⅡ开发环境简介 (3) 2 IP核4 2.1 SDRAM控制器 (4) 2.2FLASH (5) 3 基于SOPC的温湿度监测系统设计5 3.1 系统总体设计方案 (5) 3.2 SOPC硬件系统设计 (6) 3.3 SOPC软件系统设计 (9) 3.3.1 NiosⅡ软件系统设计 (9) 3.3.2 NiosⅡIDE C/C++Build属性配置 (13) 3.3.3 软件系统的设计流程 (15) 4 实验结果与分析15结论18

SOPC是可编程片上系统,即一种特殊的嵌入式系统。首先它是片上系统(SOC),由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。SOPC是基于FPGA解决方案的SOC,与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色。构成SOPC的途径有基于FPGA嵌入IP硬核的系统、基于FPGA嵌入IP软核的系统和基于HardCopy 技术的SOPC系统三种方式。本文介绍基于FPGA的嵌入IP软核的SOPC系统实现方法,设计了一种基于SOPC的温湿度监测系统。通过Quartus II 软件里的SOPC builder把Nios II Processor、Avalon总线、UART、SDRAM_controller、Flash Memory、Avalon三态桥等多个IP核集成生成系统所需的SOPC。传感器扩展板采用Mega8作为主控芯片,用于数据的采集、显示以及和PC的通信。同时配有由SPI总线控制的数码管,可以显示传感器的测量结果,以及与PC通信过程中的具体情况。对外采用波特率为115200的串口进行通信,用户可通过串口向该模块发出各种查询命令以查询传感器的状态。本次设计使用NiosII IDE编写应用程序,发送相应指令,获取温度和湿度的值,同时显示在Console窗口。 关键词: SOPC技术;FPGA开发板;IP核;温湿度监测;NiosⅡ处理器;Mega8芯片

基于FPGA的嵌入式Linux软硬件设计概要

基于FPGA的嵌入式Linux软硬件设计 摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTA—C)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为1~26 MHz,阻带抑制率大于35 dB,带内波纹小于0.5 dB,采用1.8 V电源,TSMC 0.18μm CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。关键词:Butte FPGA是通过逻辑组合电路来实现各种功能的器件。由于FPGA内部集成了大量的逻辑资源和可配置的I/O引脚,加上独特的并行处理架构,可以轻松实现同时对多个外部设备的配置和管理,以及内外各种接口数据的传输。现在开发厂商又在FPGA 内部加入了大量的DSP和Block RAM资源,非常适合图像处理、数字信号处理等运算密集的应用,因此在这些领域取得了广泛的应用。但是由于FPGA 程序编写的灵活性和功能的多样性,使得它在一个复杂工程中对各个程序的使用调度、统筹管理上有很大的局限性,这样就必须引入操作系统进行统一的管理。Linux 系统则因为其良好的可裁减、可配置等特点在嵌入式领域应用广泛。 Linux操作系统提供了许多系统级的应用,例如网络协议的实现、进程调度、内存管理等,同时Linux 是一个成熟的开源操作系统,有丰富的应用资源,利用这些资源和强大的系统功能,用户可以快速地开发基于嵌入式环境复杂系统。因此,结合FPGA和Linux双方优势,可以很好地满足嵌入式系统设计需求,量体裁衣,去除冗余。本文给出了一种基于Xilinx FPGA的嵌入式Linux操作系统解决方案。 基于FPGA的嵌入式系统的硬件设计 本设计是基于Xilinx XC4VFX40系列 FPGA,它内部集成了两个PowerPC405处理器, 4个10/100/1000M以太网MAC模块,运行频率300MHz时,具有420D-MIPS性能,能解决高速网络数据传输问题,并且能解决通过网络加载操作系统和交叉编译等问题。它内部有448个可配置I/O口,2592kb BlockRAM,能实现对各种外部设备的并行控制以及较多数据的存储与处理。加载一个操作系统,一般需要几十兆的内存空间,FPGA内部自带的RAM空间是远远不够的,本设计在板上扩展了两片MICRON公司的256Mb DDR内存,作为上电时操作系统的加载和运行空间。现在主流的嵌入式操作系统,都需要搭建交叉编译环境,把在主机上编写好的可执行文件下载到目标板上,这就需要实现网络数据的传输。由于XC4VFX40 自带了以太网MAC模块,只需要在外面添加个PHY芯片和带隔离器的RJ45接口就能实现这个功能。本设计由于对网络数据实时性要求很高,因此采用Marvell公司的千兆以太网PHY芯片88E1111-RCJ。它能根据自身配置和主机设计,实现10/100/1000M自适应传输,并且Linux本身对这个芯片提供了驱动支持,实现无缝链接。操作系统加载到DDR 中能快速有效的运行,但是掉电就会丢失,因此必须加入FLASH芯片,把系统文件存储到外部FLASH中。加电时,FPGA把操作系统文件从FLASH读入到 DDR中运行。FPGA设计当然会

基于fpga的嵌入式系统设计——复习题

基于fpga的嵌入式系统设计——复习题

————————————————————————————————作者: ————————————————————————————————日期:

《基于fpga的嵌入式系统设计》复习题 1、名词概念解释: (1)ASIC,FPGA,SOC,SOPC,NIOS II,I/O ,IP ; (2)VHDL,verilog HDL,HDL,EDA ; (3)功能仿真,后仿真,设计综合,设计验证; (4)嵌入式系统的定义: 以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系 统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系 统。 (5)嵌入式系统的组成: 嵌入式系统主要由嵌入式处理器、外围设备、嵌入式操作系统及应 用软件等组成,它是集软硬件于一体的可独立工作的“器件”。其中: 嵌入式处理器是嵌入式系统的核心部件,具有小型化、高效率、高 可靠性、高集成度等特点。外围设备是嵌入式系统中用于完成存储、 通信、调试、显示等辅助功能的部件。 2、填空题 (1)NiosII处理器有三种运行模式: ___________ ,___________ ,_____________。 (2)CycloneII FPGA支持串行配置器件的isp编程,该特性是通过_____________利用JTAG接口实现的。 (3)在SOPCBuilder中,复位地址的偏移量是________,异常地址的偏移量是________。 (4)在NiosII的多处理器系统中,最常用的共享资源是____________。 (5)根据Flash是否支持处理器的直接读操作,NiosII处理的bootloader分成两种模式:________________bootloader、________________ bootloader。(6)用uC/OS-II操作系统实现以太网与轻量IP功能的时候,以太网的中断号至少是____________。 (7)Altera公司的FPGA常用的配置方式: JTAG方式、___________、___________。 (8)CycloneII FPGA上面集成的Block RAM为M4K,一个M4K的大小是________。 (9)使用QuartusII进行FPGA设计的开发流程是:设计输入、__________、___________、仿真、_________ 。

基于FPGA的嵌入式系统课程设计题目及要求

一、课程设计要求 1、课程设计要求所有题目采用Quartus II 工具提供的图形输入或者VerilogHDL语言输入方式作为电路设计工具,在NiosII上采用C语言实现编程,自定向下正向设计方法,先设计硬件系统,再进行软件编程,能够生成正确的FPGA下载代码和NiosII执行的软件代码。硬件功能仿真和时序仿真采用第三方工具(建议为:modelsim),综合与布局布线工具为:Quartus II,SOPC Builder建立软件运行环境,具体要求为: 1)根据课设题目,进行总体设计方案;(10分) 2)硬件电路顶层设计、模块划分、引脚定义;(10分) 3)电路设计及NiosII设计,提交电路设计源代码或电路图;(10分) 4)综合与布局布线,提交综合与布局布线报告(10分) 5)FPGA下载代码和引脚分布;(10分) 6)软件总体设计及画出流程图;(10分) 7)程序设计,提交程序代码;(10分) 8)程序编译下载及仿真调试;(10分) 2、课程设计题目共6个,要求每个同学独立完成其中的一个: 要求学号为1、7、13、19、25、31的同学做1号题目; 要求学号为2、8、14、20、26、32的同学做2号题目; 要求学号为3、9、15、21、27、33的同学做3号题目; 要求学号为4、10、16、22、28、34的同学做4号题目; 要求学号为5、11、17、23、29、35的同学做5号题目; 要求学号为6、12、18、24、30、36的同学做6号题目。 3、题目要求独立完成,设计和报告如有雷同,将一个成绩平均分配雷同的同学。 4、时间、地点 时间:8:00 ——14:00, 5、全勤且提交课程设计报告及心得体会者记20分,课程设计时间段内任意时间点名未到(吃饭时间12:00 ——12:30;18:00 ——18:30除外)、迟到、玩游戏扣除:3分/次,6次及6次以上者课程设计成绩直接记:不及格。 实验使用平台:DE2实验板

相关主题
相关文档
最新文档