当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]处理器和外设在内的完整的嵌入式系统被整合到了FPGA上能降低成本,提升性能和保持灵活性,这在工业、医疗、汽车、航天和军用产品等广泛的应用领域得到使用。赛灵思的新型嵌

处理器和外设在内的完整的嵌入式系统被整合到了FPGA上能降低成本,提升性能和保持灵活性,这在工业、医疗、汽车、航天和军用产品等广泛的应用领域得到使用。

赛灵思的新型嵌入式设计平台使用了FPGA的传统用户设计,这使得软件开发人员也能够在熟悉的环境中轻松编程,包括Eclipse IDE、编译器、调试器、操作系统和库。编程可以利用uC/OS-II之类的RTOS甚至全嵌入式Linux在裸金属级完成。

 

图1 嵌入式目标参考设计

嵌入式设计趋势及挑战

二十多年来的时间,FPGA基本应用到了常见的各个领域,例如医疗、工业控制、汽车电子、连接IP、高端显示、无线、监控、军事通信等等。然而,FPGA内使用嵌入式处理器的时间才不过近十年,从1999年到现在,FPGA内使用嵌入式处理器在逐年正向增加中。

 

图2 EDK 软件、硬件和集成流程

 

图3 简单的SDK软件开发流程步骤

随着FPGA内使用嵌入式处理器设计越来越多,我们面临的挑战也越来越多,主要挑战分为三个方向:

◆ 即便只有很少的FPGA设计经验,也能开发软件

–需要易于定制的预配置系统

◆ 满足不断提高的技术要求

–要求有一个适用于该应用的处理器系统

–要求能够选择正确的功能(外设)组合

◆ 降低进度风险

–希望花更少的时间创建和调试定制IP模块

–快速并行开发和验证软硬件

很多人都使用过嵌入式处理器,那么一开始在选择一个嵌入式处理器作为系统核心时需要考虑的要点是什么呢?一个适用于该系统应用的处理器以及能够正确满足外设功能需求的组合将会是最后的选择。这些选择处理器的条件都是FPGA嵌入式处理的挑战。

此外,FPGA硬件设计的难度必须要有效降低,能让对FPGA经验设计较少的人员也能够开发软件,这点是因为传统的FPGA设计工程师,他们虽然没有硬件的设计经验也要能够开发软件,这就必须要有一个易于制定的预配置系统。

FPGA嵌入式设计在进度风险的管理上就显得额外重要,因为FPGA嵌入式设计中包含的软件和硬件同时在一个芯片上,所以当问题发生时,硬件人员和软件人员并不能很快理清问题的症结点,所以常常延迟进度,因此在选择FPGA嵌入式系统时,使用人员往往希望花更少的时间来调试硬件IP模块,并同时开发验证软件,软硬件的整合和效能提升是一个很大挑战。

Spartan-6 FPGA嵌入式套件

◆ 描述:

–该套件支持使用MicroBlaze软处理器的软件开发工作以及使用Spartan-6 LX45T FPGA的硬件处理器系统定制工作。

◆ 组件:

–采用Spartan-6 LX45T FPGA的SP605基础板

◆ 下载/调试电缆、电源

–ISE设计套件:嵌入式版本

◆ ISE和 ChipScope Pro:S6LX45T专用的器件

◆ Platform STudio、软件开发套件(SDK)(Eclipse IDE)

–嵌入式目标参考设计

◆ MicroBlaze处理器子系统设计

–技术文档

◆ 硬件设置指南和入门指南

◆ 深入的硬件和软件分步辅导资料

–生态系统合作伙伴提供OS/RTOS支持

◆ Linux、uC/OS-II、TreckVirtex-6 FPGA嵌入式套件

◆ 描述:

–该套件支持使用MicroBlaze软处理器的软件开发工作以及使用Virtex-6 LX240T FPGA的硬件处理器系统定制工作

◆ 组件:

–采用Virtex-6 LX240T FPGA的ML605基础板

◆ 下载/调试电缆、电源

–ISE设计套件:嵌入式版本

◆ ISE和ChipScope Pro:V6LX240T专用的器件

◆ Platform Studio、软件开发套件(SDK)(Eclipse IDE)

–嵌入式目标参考设计

◆ MicroBlaze处理器子系统设计

–技术文档

◆ 硬件设置指南和入门指南

◆ 深入的硬件和软件分步辅导资料

–生态系统合作伙伴提供OS/RTOS支持

◆ Linux、uC/OS-II、Treck

 

图4 简单硬件设计流程步骤

 

图5 集成并优化软件/硬件

嵌入式目标参考设计

Spartan-6和Virtex-6嵌入式目标参考设计非常相似,它们都包含一个32位的MicroBlaze RISC处理器,性能优化,支持Linux RTOS,100MHz时钟频率。另外还包含集成式存储控制器,包含DDR、DDR2、DDR3、LPDDR,数据速率达800Mbps。

全套优化的软IP外设和总线结构包含UART、Flash、GPIO、I2C/SPI、Timer/Intr Controller、Debug.具体如图1所示,参考设计中集成以太网MAC IP,资源百兆、千兆网,子IP也可与外部码作整合。处理器和处理器子系统全面可操作且简便易用,有助于立即着手系统开发工作。

MicroBlaze处理器子系统

Spartan-6和Virtex-6嵌入式参考设计中,提供MicroBlaze处理器子系统,称为PSS(processer sub system),通过这样一个PSS子系统,用户可以很快地将自己的定义逻辑加入这样一个子系统中,由于这个目标参考设计MicroBlaze子系统已经整合了许多外设功能,用户制定的这个逻辑便可以很快地通过网络来控制或者让DDR内存作存储,这将有效降低客户在开发过程中的时间。[!--empirenews.page--]

操作步骤

第一步,数分钟内启动设计,包括连接电缆,接通开发板电源,载入嵌入式平台演示;第二步,评估,包括评估嵌入式平台演示,用互动界面评估性能参数;第三步,定制,包括启动嵌入式目标参考设计项目,根据软件开发辅导资料对软件应用进行编程、调试和描述,根据硬件开发辅导资料进行设计修改,这样就能使效率大大提高。

在前两步之后,用户就已经对嵌入式目标参考设计的内容有了充分了解,就可利用嵌入式目标参考设计来加入用户自己的逻辑和自己的软件,使用XPS进行硬件制定的开发,使用SDK进行软件的开发,这样就可以按时完成设计要求。

EDK是Xilinx嵌入式开发套件,其主要工具XPS是集成标准硬件流程ISE以及标准软件流程SDK。XPS本身并不实现硬件流程,是通过呼叫ISE来达成硬件流程的实现。硬件流程包含了标准的FPGA硬件发展流程。XPS也不实现标准软件流程,也是通过呼叫SDK来实现标准软件流程。用户可以通过XPS对系统作描述,如图2所示。可以称XPS为一个脚本产生器,是用来联络硬件和软件流程的工具。

简单的SDK软件开发流程步骤如图3所示,这些都将在SDK上完成。

◆ 采用SDK Eclipse IDE开始设计

◆ 打开专门针对MicroBlaze PSS目标参考设计配置的工作区(Workspace)

◆ 编程

◆ 创建独立的软件平台或OS BSP

◆ 创建、编译并构建软件应用

◆ 用图形调试器调试软件应用

简单硬件设计流程步骤如图4所示。

◆ 用XPS开始设计

◆ 启动MicroBlaze PSS目标参考设计项目

◆ 修改

◆ 从EDK套件中选择其他标准外设添加到PSS

◆ 根据“创建IP向导”创建定制IP

◆ 根据“调试配置向导”添加ChipScope调试IP

集成并优化软件/硬件的步骤如图5所示。

◆ 用ChipScope Pro分析工具调试软件/硬件集成问题

◆ 用SDK描述应用并确定热点

◆ 下载性能关键代码(performance critical code)到硬件加速器

第三方提供嵌入式软件支持主流的有Linux(PetaLinux)、uC/OS-II和Treck网络中间件,主要特性如表1所示。

 

表1 生态系统合作伙伴主要特性

总 结

新型嵌入式开发套件大大缩短了开发时间,加速产品上市进程,采用预集成组件降低风险,也帮助设计人员提高工作效率。能使设计人员更着重于实现产品差异化和增值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

机器人操作系统(ROS)驱动程序基于ADI产品而开发,因此可直接在ROS生态系统中使用这些产品。本文将概述如何在应用、产品和系统(例如,自主导航、安全气泡地图和数据收集机器人)中使用和集成这些驱动程序;以及这样将如何有助...

关键字: 电机控制器 机器人 嵌入式

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

支持高达48V@5A的PD受电模式,达到目前USB PD最高标准。

关键字: 嵌入式 开发板

【2024年4月8日,德国慕尼黑讯】低碳化和数字化是当今时代人们面临的两大核心挑战,人类社会需要依靠创新和先进的技术,才能破除挑战、推动转型进程。在德国纽伦堡举办的2024国际嵌入式展(Embedded World 20...

关键字: 半导体 微控制器 嵌入式

TDK 株式会社(TSE:6762)进一步扩充 Micronas 嵌入式电机控制器系列 HVC 5x,完全集成电机控制器与 HVC-5222D 和 HVC-5422D,以驱动小型有刷(BDC)、无刷(BLDC)或步进电机...

关键字: 嵌入式 电机控制器 内存

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言
关闭
关闭