嵌入式设计

作者:高视, FPGA2嵌入式

大多数FPGA设计者从逻辑设计做起,对软件级设计接触不多,但目前的项目中都少不了处理器软件C的设计,下面接着看下《UltraFast 嵌入式设计方法指南》中关于软件设计方面的内容,主要分3部分:软件设计需要考虑的事项、设计流程及调试等。

1. 软件设计考虑事项
软件设计时,需要先搭建一个处理器到系统中,处理器可以是硬核(如ZYNQ的ARM),也可以是软核(如NIOS II),所有的内容均围绕处理器方面设计展开:处理器配置,操作系统选择,库和中间件,启动加载器,软件开发工具(SDK)。

  • 处理器配置:配置核心频率、多处理单元协调和数据程序存储空间分配、中断等;
  • 操作系统选择:选择操作系统活着裸跑;
  • 库和中间件:方便设计者高效的使用底层硬件的过渡层接口;
  • 启动加载器:方便操作系统的BOOT设计;
  • 作者:高视

    本次接着看下《UltraFast 嵌入式设计方法指南》中关于硬件设计方面的内容,主要分3部分:硬件设计需要考虑的事项、设计流程及个人总结。

    1. 硬件设计考虑事项
    硬件设计需要考虑的部分主要有:首先当然是PL部分的配置启动,接着是存储接口及外设,IP模块,PL时钟及数据流接口,各种高速接口管理及AXI4总线接口等,如下图所示,下面只摘取PL部分的配置启动、存储接口、外设、IP模块和PL时钟简略介绍,其它详细内容请查看对应文档。

    配置及启动:
    我们知道,SRAM架构的FPGA启动时都是通过外部加载配置数据来完成,Flash架构的Actel FPGA除外,同样PL的启动也是通过加载外部数据来完成,而Zynq不仅包括PL,还包含PS,所以启动时先启动PS,再通过PS来配置PL启动整个流程,也就是说Zynq的启动既包含常用的FPGA启动,还包含ARM的启动流程。典型的启动流程如下:

    作者:高视

    刚接触Zynq不久,就发现Xilinx在它上面下了不少功夫,其中有很多很好的设计方法学,这些方法学对我们学习和掌握整个系统有很多帮助,更对自己以后工作有极大的帮助,特别是Xilinx为此发布的中文版数据手册《UltraFast 嵌入式设计方法指南》。这本书不仅对FPGA开发者是一本很好的指导书,而且对嵌入式开发者也是一部很好的指导书。只要反复阅读和实践,必定能让你自己不局限一亩三分地,技能更上一个层次,下面根据自己的实践和理解作简单地介绍阅读该书后的感受,欢迎大家指正交流。

    本书共有8章+附录,第一眼看此书,发现章节划分的非常合理,可以很好地把自己学习的东西串起来,还是以后学习实践中很好的指导书,看一看这些章节你就知道为什么这么说,下面也按系统级、硬件级、软件级、调试和SDSoC介绍个人的理解和感受,今天先学习一下系统级,也就是书中的前2章和附录A:

    安富利赛灵思FPGA参考设计指南

    安富利致力于嵌入式设计创新,推出多款基于赛灵思FPGA的参考设计。

    本视频由赛灵思设计与方法学专家为您详细介绍 UltraFAST 嵌入式设计方法中的 “Checklist” 功能,及其使用方法。

    学习使用NI的LabVIEW Robotics实现复杂的嵌入式设计

    机器人技术是发展最快的工程领域之一,也是最具有挑战性的一个领域。几乎所有的机器人,都有不同的操作环境,行为或任务也不同,连接的传感器和执行器也不同。因此,人们经常在不同的硬件平台上使用不同的开发工具来开发机器人。一个工程师开发的成功用于某个机器人的可用控制系统很难再用于另一个机器人,因为应用于传感、自治和电机控制的应用程序接口(API)在语法上是不同的。

    在设计、原型开发和部署机器人应用时,面临三个最大的挑战:集成传感器和执行器,实现自治以及部署确定性的控制算法至嵌入式硬件。为了应对这些挑战, LabVIEW Robotics提供了一整套全新的机器人专用传感器和执行器驱动,以及实现复杂导航运算的新代码库。而且,有了LabVIEW,开发人员只需要使用一个软件开发环境就可以设计控制算法,连接实际I/O,以及部署至确定性硬件目标。

    1. 集成传感器和执行器

    此次为期两天的中级课程与嵌入式系统开发人员分享了宝贵经验,即如何通过使用PetaLinux 工具创建面向 Zynq All Programmable System on a Chip (SoC) 处理器开发板的嵌入式 Linux 系统。本课程将向学员讲授如何使用 ARM® Cortex™-A9 处理系统上的 PetaLinux工具构建环境并启动使用 Zynq All Programmable SoC 设计的系统的实际操作经验。

    FPGA与多核CPU如何改变嵌入式设计

    作者: Sanjay Challa NI美国国家仪器

    随着嵌入式器件在过去数十年来的爆炸性成长,使得硬件组件及软件工具都有显著的改善。虽然有着这种成长与创新,但传统嵌入式系统的设计方法却少有进步,并逐渐变成一种障碍。有鉴于新标准与协议的快速发展,以及对产品上市压力的日益增加,嵌入式系统设计也即将发生颠覆性的典范改变。

    随着硬件技术及软件工具的进步在加速成长,由整合所带来的挑战也开始浮现。如果无法妥善处理这些挑战,将会使得终端产品变得更加昂贵,并且有碍于让更多创新设计的实验、成长及上市。

    Xilinx FPGA的嵌入式系统开发过程

    随着FPGA 技术的迅速发展,可编程片上系统(SOPC)作为一种特殊的嵌入式微处理器系统,融合了SoC和FPGA 各自的优点,并具备软硬件在系统可编程、可裁减、可扩充、可升级的功能,已逐渐成为一个新兴的技术方向。SOPC的核心是在FPGA上实现的嵌入式微处理器核,目前主要有Xilinx公司集成的32位软核MicroBlaze[1] ,32位PowerPC系列处理器硬核PowerPC405、PowerPC440,ARM公司的CortexA9,以及Altera公司的Nios系列微处理器软核等。本文主要介绍Xilinx公司的MicroBlaze 软核结构,对其体系结构、设计流程和相关开发工具一一进行介绍,并在实际的无线电监测系统[2]中采用此方案,构建了一个小型化、智能化、网络化的软件无线电处理平台。

    全球领先的可编程逻辑解决方案供应商赛灵思公司 (Xilinx, Inc. (NASDAQ:XLNX) )宣布联手中国电子行业领先的培训机构中电网 (ChinaECNet)及赛灵思公司大中华授权培训公司依元素科技公司(E-elements), 共同推动中国国家级“国家信息技术紧缺人才培养工程”的“电子工程与集成电路技术培训项目”,即日起推出国家信息技术紧缺人才培养工程“高级FPGA之嵌入式设计专业课程。” 通过该课程网络及现场培训并成绩优秀者,将获得中国工业和信息化部颁发的“国家信息技术紧缺人才职业技能证书(电子工程与集成电路技术专业)。”该证书将成为学员未来工作、就业或者创业的有利参考依据。

    同步内容