嵌入式系统之基础概念篇

1 、嵌入式系统的定义

(1)定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

(2)嵌入式系统发展的 4 个阶段:无操作系统阶段、简单操作系统阶段、实时操作系统阶段、面向Internet 阶段。

(3)知识产权核(IP 核):具有知识产权的、功能具体、接口规范、可在多个集成电路设计中重复使用的功能模块,是实现系统芯片(SOC)的基本构件。

(4)IP 核模块有 行为、 结构和 物理 3 级不同程度的设计,对应描述功能行为的不同可以分为三类: 软核、固核、硬核。

2 、嵌入式系统的组成: 硬件层、中间层、系统软件层和应用软件层

(1)硬件层:嵌入式微处理器、存储器、通用设备接口和 I/O 接口。

嵌入式核心模块=微处理器+电源电路+时钟电路+存储器

Cache :位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。它的主要目标是减小存储器给微处理器内核造成的存储器访问瓶颈,使处理速度更快。

(2)中间层(也称为硬件抽象层 HAL 或者板级支持包 BSP):它将系统上层软件和底层硬件分离开来 ,使系统上层软件开发人员无需关系底层硬件的具体情况,根据 BSP 提供的接口开发即可。

BSP 有两个特点:硬件相关性和操作系统相关性。设计一个完整的 BSP 需要完成两部分工作:

A、 嵌入式系统的硬件初始化和 BSP 功能。

片级初始化:纯硬件的初始化过程,把嵌入式微处理器从上电的默认状态逐步设置成系统所要求的工作状态。
板级初始化:包含软硬件两部分在内的初始化过程,为随后的系统初始化和应用程序建立硬件和软件的运行环境。
系统级初始化:以软件为主的初始化过程,进行操作系统的初始化。

B、 设计硬件相关的设备驱动。

(3)系统软件层:由 RTOS、文件系统、GUI、网络系统及通用组件模块组成。RTOS 是嵌入式应用软件的基础和开发平台。

(4)应用软件:由基于实时系统开发的应用程序组成。

3 、实时系统

(1)定义:能在指定或确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统。

(2)区别:通用系统一般追求的是系统的 平均响应时间和用户的使用方便;而实时系统主要考虑的是在最坏情况下的系统行为。

(3)特点:时间约束性、可预测性、可靠性、与外部环境的交互性。

(4) 硬实时 ( 强实时 ):指应用的时间需求应能够得到完全满足,否则就造成重大安全事故,甚至造成重大的生命财产损失和生态破坏,如:航天、军事。

(5) 软实时 ( 弱实时 ):指某些应用虽然提出了时间的要求,但实时任务偶尔违反这种需求对系统运行及环境不会造成严重影响,如:监控系统、实时信息采集系统。

(6)任务的约束包括:时间约束、资源约束、执行顺序约束和性能约束。

4 、实时系统的调度

(1)调度:给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程。

(2)抢占式调度:通常是优先级驱动的调度,如 uCOS。优点是实时性好、反应快,调度算法相对简单 ,可以保证高优先级任务的时间约束;缺点是上下文切换多。

(3)非抢占式调度:通常是按时间片分配的调度,不允许任务在执行期间被中断,任务一旦占用处理器就必须执行完毕或自愿放弃,如 WinCE。优点是上下文切换少;缺点是处理器有效资源利用率低,可调度性不好。

(4)静态表驱动策略:系统在运行前根据各任务的时间约束及关联关系,采用某种搜索策略生成一张运行时刻表,指明各任务的起始运行时刻及运行时间。

(5)优先级驱动策略:按照任务优先级的高低确定任务的执行顺序。

(6)实时任务分类:周期任务、偶发任务、非周期任务。

(7)实时系统的 通用结构模型: 数据采集任务实现传感器数据的采集, 数据处理任务处理采集的数据 、并将加工后的数据送到 执行机构管理任务控制机构执行。

5 、嵌入式微处理器体系结构

(1)冯诺依曼结构:程序和数据 共用一个存储空间,程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,采用单一的地址及数据总线,程序和数据的宽度相 同。例如:8086、ARM7、MIPS…

(2)哈佛结构:程序和数据是 两个相互独立的存储器,每个存储器独立编址、独立访问,是一种将程序存储和数据存储分开的存储器结构。例如:AVR、ARM9、ARM10…

用户喜欢...

ATSAMA5D3x这个片子的特性以及可用的资源,演示在开发板上刷Android 4.0 系统

TMEL发布了基于Cortex-A5核的新一代MPUATSAMA5D3x,这是目前为止ATMEL旗下处理性能最强的嵌入式微处理器。简要介绍一下这个片子的资源: 1. ARM Cortex-A5内核,ARMv7 Thumb2指令集,集成FPU和MMU。CPU主频...


物联网数据记录:分析环境以获得更稳定,更高效的系统

随着智能应用使用的连接设备数量的增加,特别是传感器和执行器的增加,保持系统稳定和高效运行的复杂性也增加了。当设备在地理上广泛并且环境条件可能显着不同时,这种复杂性进一步放...


使用专业的嵌入式开发工具来降低成本并加快上市速度

从只有几千字节存储空间的简单 8 位控制器,到现在先进的 32 位控制器,虽然微控制器经历了诸多演变,但是许多开发人员仍在使用老旧的工具,拖慢了开发周期。 设计人员若要适应当今快速...


如何在多通道监视系统中使用自适应均衡来改善模拟视频

尽管有IPTV和VoIP的趋势,但大多数CCTV监控摄像机都是模拟的。信号迅速降低,质量受损。这是修复。 尽管有IPTV和VoIP的趋势,但大多数CCTV监控摄像机仍然是模拟的。信号快速降级且质量受损,...


超移动便携式嵌入式系统的三大基本技术

SB的新型通用Type-C连接器,充电配置文件以及需要转向器的超高速度都是您口袋中携带的变化之一。 更大的屏幕,更长的电池寿命,更快的视频游戏和更好的云连接定义了现代超移动嵌入式平...


来了解下国产的中兴新支点操作系统 这是啥呢?

来了解下国产的中兴新支点操作系统 这是啥呢?消息称国产的中兴新支点操作系统入围2019国税局信息化产品,并称在政府采购日趋正规化的今天,中兴新支点操作系统能满足政府采购的严格要...


面向基于微控制器的快速原型设计与开发的 CircuitPython 基础知识

虽然 Python 语言让编程变得更加简单,但它最初的设计目的是在拥有足够的处理、内存和外设资源的个人电脑及其他机器上运行。而对于面临较严格的资源和接口限制的嵌入式系统,针对微控制...


利用 Armv8-M 架构和 TrustZone 提高嵌入式系统安全性

确保基于微控制器的物联网应用的安全性可能会很棘手。安全性始于硬件层次,然后扩展到嵌入式软件。为了成功保障软件安全,开发人员要求底层硬件支持以下等关键特性: 安全启动 存储器...


使用FPGA通过机器学习构建高性能嵌入式视觉应用

本文将介绍ML处理的要求以及FPGA解决许多性能问题的原因。然后,它将介绍一个合适的基于FPGA的ML平台以及如何使用它。...


在嵌入式系统中快速实现高效的实时时钟/日历功能

许多嵌入式应用需要知道时间,以便在特定的时间和日期,或针对时间戳事件,或同时依据两者执行特定的任务。执行此功能的 RTCC(实时时钟和日历)芯片问世已有数十年,但设计人员在缩减...


使用 FPGA 构建具有机器学习能力的高性能嵌入式视觉应用

随着摄像头和其他设备产生的数据在快速增长,促使人们运用机器学习从汽车、安防和其他应用产生的影像中提取更多有用的信息。专用器件有望在嵌入式视觉应用中实现高性能机器学习 (ML...


使用Xilinx系统生成器实现简单的DDS

在本文中,我们将讨论使用Xilinx System Generator实现简单的直接数字频率合成器(DDS)。 System Generator是一个功能强大的工具,它将Xilinx FPGA设计过程与MATLAB的Simulink集成,后者使用高级描述轻松实...


基于STM32的高性能低功耗人机界面系统设计

本文选用了意法半导体公司基于ARM最新Cortex—M3内核的STM32F103RB作为主控芯片,通过选择合适的液晶模块,构建了一个高性能低功耗的中文人机界面系统。 1、系统的工作原理 本系统以STM32F1...


基于MSP430的电机功率因数的测量系统

计算机技术,尤其是单片机技术和大规模集成电路及各种新型传感元件的迅速发展和日臻成熟,微机技术在电力系统中的普及应用,使电力系统的测量和监控技术得到了快速的发展。在工业生...


一种基于总线的智能型执行器系统设计

在自动控制系统中,执行器同控制器或控制系统相连,共同实现对工业过程的控制。现场总线是过程控制技术、仪表工业技术和计算机网络技术三大技术领域相结合的产物。WorldFIP现场总线既...


Aldec的边缘计算示例: Zynq SoC 的 FPGA架构将嵌入式视觉/ ADAS性能提升了10倍

Aldec的一个应用工程师 Farhad Fallah 在 New Electronics 网站上发表的一篇题​​为生活在边缘的文章最近引起了我的注意,因为它简洁地描述了为什么 FPGA 对于许多高性能的边缘计算应用如此有用...