基于SoPC的嵌入式硬件平台系统设计详解

嵌 入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序四部分组成,其发展主要体现在芯片技术的进步上,以及在芯片技术限制下的算 法与软件的进步上。随着芯片制造技术的发展,嵌入式系统的结构也随之发生了重大变革,从基于微处理器的嵌入式系统到基于微控制器的嵌入式系统,继而将可编 程逻辑PLD(Prog     ram   mable Logic Device)技术引入到嵌入式系统设计中,进而又发展到SoC(Sys     te   m on Chip),最终将PLD与嵌入式处理器结合而成为SoPC(System on

嵌 入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序四部分组成,其发展主要体现在芯片技术的进步上,以及在芯片技术限制下的算 法与软件的进步上。随着芯片制造技术的发展,嵌入式系统的结构也随之发生了重大变革,从基于微处理器的嵌入式系统到基于微控制器的嵌入式系统,继而将可编 程逻辑PLD(Programmable Logic Device)技术引入到嵌入式系统设计中,进而又发展到SoC(System on Chip),最终将PLD与嵌入式处理器结合而成为SoPC(System onProgrammable Chip),使得SoPC成为嵌入式系统设计的一个发展趋势。

本文采用SoPC内嵌32位的软核处理器N     ios   ,实现了一个     UART   串行口和     以太网   接口的转换器(以下简称转换器),并基于Microtronix公司针对Nios处理器移植的μC     linux   开发了应用程序.其系统结构如图l所示。

 基于SoPC的嵌入式硬件平台系统设计详解_设计制作_制造/封装

1 基于SoPC的嵌入式硬件平台构建

不同于基于处理器或控制器及SoC的嵌入式系统,基于SoPC的嵌入式系统具有可配置的特点,不会包括任何专用外设,而是可根据需要灵活地在一片     FPGA   中构造外设接口。

基 于SoPC的嵌入式系统主要由1片核心芯片SoPC和片外器件,以及一些相关的接口设备组成。本文所要实现的转换器采用     Altera   公司的Cyclone 芯片及外围电路组成,其中外围电路包括2片512 KB的SRAM、l片8MB的Flash、UART电子转换器和1片以太网控制器LAN91C111。系统电路框图如图2所示。

 基于SoPC的嵌入式硬件平台系统设计详解_设计制作_制造/封装

SoPC 芯片内嵌软核处理器Nios。在SoPC芯片中,除了     CPU   外,可配片上     ROM   、内部     定时器   、UART串行口、SRAM、Flash接口等系统部件。这些 部件均以可编程逻辑部件的形式实现,芯片内部部件结构图如图3所示。CPU和所有部件通过Avalon总线连接在一起。

 基于SoPC的嵌入式硬件平台系统设计详解_设计制作_制造/封装

SoPC 芯片内系统模块和Avalon总线模块均由SoPCBuilder工具自动生成,利用Qualtus II集成开发环境可实现芯片内的逻辑设计及其引脚定义。经编译生成后缀为.sof的硬件映像文件,通过ByteBlasterII线缆下载到目标板的 Cyclone芯片中,或将.sof文件转换成.flash文件,下载到目标板的Flash中。这样就完成了转换器的硬件设计。

2 基于μClinux的SoPC应用程序开发

应 用程序的开发可在硬件平台上直接进行,但需了解所有硬件部件的细节,并编写相应的驱动子程序,其软件设计难度及工作量大,且可移植性差。基于嵌入式操作系 统的应用程序,其所有的硬件细节均对用户屏蔽。对硬件进行直接控制的底层驱动程序均封装在操作系统内,通过设备驱动程序接口来完成,用户只需在高层通过操 作系统所提供的系统调用进行编程。μClinux是针对控制领域的嵌入式Linux操作系统,适合如Nios处理器等不具备内存管理单元(MMU)的微处 理器/微控制器。基于操作系统进行开发,需将操作系统加载到硬件平台中,μClinux可以以部件的形式集成到SoPC系统中。

2.1 加载μClinux系统的步骤

将 μClinux加载到SoPC目标板上时需提供一个交叉编译环境,硬件要求具有一个串口的PC工作站、基于Nios处理器的SoPC目标板和 ByteBlasterMV线缆等。软件需求WindowsNTv4.0、Windows2000或WindowsXP、Altera Nios开发包NDK 3.0中所提供的Nios GNUPro工具、Ahera Nios开发包所提供的cygwin安装,以及     Quartus   II可编程逻辑开发工具V2.2等。

2.1.1 创建和装载内核映像

创建和装载μClinux映像文件在Linux DeveloperBash环境下进行,首先需按下列步骤配置和构建内核。

[Linux Developer]…μClinux/:cd linux

[Linux Developer]…linux/:make xconfig

[Linux Developer]…linux/:make clean

[Linux Developer]…1inux/:make dep

[Linux Developer]…linux/:make

[Linux Developer]…μClinux/:make linux.flash

60
157
0
64

相关资讯

  1. 1、高精确度高速运算放大器EL515x的性能特点及应用4927
  2. 2、基于FPGA器件实现多频键控调制电路的设计和仿真验证研究177
  3. 3、LED光源优点以及LED照明术语解析4556
  4. 4、世界油气工业已经逐渐转向“技术主导”2885
  5. 5、汽车智能化面临瓶颈?线束减负升级是关键1057
  6. 6、科技前沿:机器人微型机器人发展迅速1148
  7. 7、匠人精神|机床以“智”赋能的全新变革之路1895
  8. 8、热释电红外传感器的原理、结构特性及在监控报警系统中应用974
  9. 9、米格电机邀您参观第22届中国国际工业博览会2544
  10. 10、EMI/EMC原理与应对详解(一)4547
全部评论(0)
我也有话说
0
收藏
点赞
顶部