基于FPGA的嵌入式Linux操作系统解决方案.docx
《基于FPGA的嵌入式Linux操作系统解决方案.docx》由会员分享,可在线阅读,更多相关《基于FPGA的嵌入式Linux操作系统解决方案.docx(5页珍藏版)》请在第一文库网上搜索。
1、基于FPGA的嵌入式1inux操作系统解决方案EE处是通过逻辑组合电路来实现各种功能的器件。由于FPGA内部集成了大量的逻辑资源和可配置的I/O引脚,加上独特的并行处理架构,可以轻松实现同时对多个外部设备的配置和管理,以及内外各种搂且数据的传输。现在开发厂商又在FPGA内部加入了大量的DSP和B1ockRAM资源,非常适合图像处理、数字信号处理等运算密集的应用,因此在这些领域取得了广泛的应用。但是由于FPGA程序编写的灵活性和功能的多样性,使得它在一个复杂工程中对各个程序的使用调度、统筹管理上有很大的局限性,这样就必须引入操作系统进行统一的管理。员叫1系统则因为其良好的可裁减、可配置等特点在嵌
2、式领域应用广泛。1inUX操作系统提供了许多系统级的应用,例如网络协议的实现、进程调度、内存管理等,同时1inUX是一个成熟的开源操作系统,有丰富的应用资源,利用这些资源和强大的系统功能,用户可以快速地开发基于嵌入式环境复杂系统。因此,结合FPGA和1inUX双方优势,可以很好地满足嵌式系统设计需求,量体裁衣,去除冗余。本文给出了一种基于Xi1inXFPGA的嵌入式1inUX操作系统解决方案。基于FPGA的嵌入式系统的硬件设计本设计是基于Xi1inXXC4VFX40系列FPGA,它内部集成了两个PoWerPC405处理器,4个10/100/100OM以太网MAC模块,运行频率300MHz时,具
3、有420D-MIPS性能,能解决高速网络数据传输问题,并且能解决通过网络加载操作系统和交叉编译等问题。它内部有448个可配置I/O口,2592kbB1ockRAM,能实现对各种外部设备的并行控制以及较多数据的存储与处理。加载一个操作系统,一般需要几十兆的内存空间,FPGA内部自带的RAM空间是远远不够的,本设计在板上扩展了两片M1CRoN公司的256Mb咽内存,作为上电时操作系统的加载和运行空间。现在主流的嵌入式操作系统,都需要搭建交叉编译环境,把在主机上编写好的可执行文件工B到目标板上,这就需要实现网络数据的传输。由于XC4VFX40自带了以太网MAC模块,只需要在外面添加个PHY甚左和带隔
4、离器的RJ45接口就能实现这个功能。本设计由于对网络数据实时性要求很高,因此采用Marve11公司的千兆以太网PHY芯片88E1111-RCJ。它能根据自身配置和主机设计,实现10/100/100OM自适应传输,并且1inUX本身对这个芯片提供了驱动支持,实现无缝链接。操作系统加载到DDR中能快速有效的运行,但是掉电就会丢失,因此必须加入F1ASH芯片,把系统文件存储到外部F1ASH中。加电时,FPGA把操作系统文件从F1ASH读入到DDR中运行。FPGA设计当然会扩展很多接口出来,利用自身并行处理的优势,控制很多外围设备,本设计也不例外,扩展了8个通用的GPIO,2个PS/2接口,1个USB
5、接口,1个的97声卡接口,1个Hot1ink接口,以及4个RS个2接口,同时扩展了两个CPC1接口,引出了16位数据地址线和Ethernet控制线,整个系统的硬件框图如图1所示。sxxu图1硬件废图1,WCtC1SiorHAGHtADtGq7OFr*T50外设在进行电路设计时,是以FPGA为核心,向外扩展各种设备,因此特别注意了FPGA各个引脚的连接。由于DDR和PHY芯片都需要提供+2.5V电压,因此和DDR、PHY芯片连接引脚所在的BANK需要提供+2.5V电压参考,并且不能接以1VTT1或1VCMOS为电压参考的引脚。重要快速的时钟值号必须接到全局时钟引脚上。由于FPGA需要通过外部F1
6、ASH启动操作系统,需要并行配置,以减少加载时间,配置电路如图2所示。在DI)R布线时,数据和地址线需要走等长线,数据线之间不能相差IOMi1,地址线要控制在20Mi1以内,时钟也需要走差分等长线,长度应大于地址线,DDR各个信号还需要47Q的并行端接,改善信号质量。千兆PHY输出MD1信号也需要在顶层做差分等长,不然在进行IOOoM数据传输时很可能不稳定。DDR和PHY需要完整的电遮回路做参考,电源层划分时也要特别注意,其他电路做常规处理就可以了。EDK和ISE软件设计首先需要调用XiIinX提供的EDK软件,对各个模块加入必要的IPCORE,以便操作系统能正常调用这些器件的驱动操作他们。本
7、设计采用的是EDK1O.1.2版本,PPC方面选用ppc405内核,频率设定在300MHz,同时需要添加中断输入引脚,以便响应以太网、串口等外部中断,其他使用默认设置。DDR控制器采用EDK提供的MU1ti-Port-MemoryContro11er模块,需要设置DDR芯片厂商、大小和数据位数等,i面指出的是,要设置独立的两条P1B总线和PPC连接,作为PPC的指令和数据总线。MAC单元需要加入XPS_11EMAC模块来控制,本设计需要设置PHY类型为GMII(千兆以太网),同时要指定物理地址和收发FIFO大小。F1ASH单元需要加入xpsmchemc模块,同时设置F1ASH类型和读写时间。为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 嵌入式 Linux 操作系统 解决方案