系统架构设计师-嵌入式系统

news2024/9/9 3:59:40

目录

一、嵌入式系统概述

        1、基本概念

        2、嵌入式系统软件组成架构

二、嵌入式软件开发

三、嵌入式硬件

        1、嵌入式微处理器

        2、人工智能芯片

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

        4、总线

四、嵌入式操作系统

        1、嵌入式实时操作系统

        2、操作系统内核架构

        3、鸿蒙操作系统

五、嵌入式数据库

        1、嵌入式数据库分类


一、嵌入式系统概述

        1、基本概念

        (1)嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁剪的软、硬件集成于一体的专用计算机系统,需要满足应用对功能、可靠性、成本、体积和功耗等方面的严格要求。

        (2)从计算机角度看,嵌入式系统是指嵌入各种设备及应用产品内部的计算机系统。它主要完成信号控制,体积小、结构紧凑,可作为一个部件埋藏于所控制的装置中。

        (3)一般嵌入式系统由嵌入式处理器、相关支撑硬件、嵌入式操作系统、支撑软件以及应用软件组成。

        2、嵌入式系统软件组成架构

                嵌入式系统初始化过程:片级初始化 -> 板级初始化 -> 系统初始化

                从传统意义上讲,嵌入式系统主要由以下部件组成:

                (1)嵌入式微处理器(MCU)(2)存储器(RAM/ROM)

                (3)内(外)总线逻辑(4)定时/计数器

                (5)看门狗电路:定时器溢出则中断,系统复位处理

                (6)I/O接口(串口、网络、USB、JTAG接口--用来进行CPU调试的常用接口)

                (7)外部设备(UART、LED等)(8)其他部件

二、嵌入式软件开发

        嵌入式软件设计层面的功耗控制主要可以从以下方面展开:

        (1)软硬件协同设计,即软件的设计要与硬件的匹配,考虑硬件因素。

        (2)编译优化,采用低功耗优化的编译技术。

        (3)减少系统的持续运行时间,可从算法角度进行优化。

        (4)用 “中断” 代替 “查询”。

        (5)进行电源的有效管理。

三、嵌入式硬件

        1、嵌入式微处理器

                通常嵌入式处理器需要根据不同的使用场景选择不同类型的处理器,从处理器分类看,大致可分为MPU、MCU、DSP、GPU、SoC:

                (1)微处理器(MPU):将微处理器装配在专门设计的电路板上,只保留与嵌入式应用有关的母板功能。微处理器一般以某一种微处理内核为核心,每一种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。

                (2)微控制器(MCU):又称单片机。与MPU相比MCU的最大优点在于单片化,体积大大减小,,从而使功耗和成本下降,可靠性提高。

                (3)信号处理器(DSP):DSP处理器对系统结构和指令进行了特殊设计(通常,DSP采用一种哈佛结构),使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。

                (4)图形处理器(GPU):GPU是图形处理单元的缩写,是一种可执行3D图形渲染等图修的半导体芯片(处理器)。GPU可用于个人电脑、工作站、游戏机和一些移动设备上做图像和图形相关运算工作的微处理器。它可减少对CPU的依赖,并执行部分原本属于CPU的工作,尤其是在3D图形处理中,GPU采用了核心技术(如:硬件T&L、纹理压缩等)保证了3D快速渲染的能力。GPU目前已广泛应用于各行各业,GPU中集成了同时运行在GHz的频率上的成千上万个core,可以高速处理图像数据。最新的GPU峰值性能可高达100TFlops以上

                (5)片上系统(SoC):

                        - 追求产品系统最大包容的集成器件。

                        - 它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。

                        - 同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。

                        - 成功实现了软硬件的无缝结合,直接在微处理器片内嵌入操作系统的代码模块

                        - 减小了系统的体积和功耗、提高了可靠性和设计生产效率。

                        - 狭义角度:信息系统核心的芯片集成,是将系统关键部件集成在一片芯片上。

                        - 广义角度:SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。

                        - 国内外学术界一般倾向将SoC定义为将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上,它通常是客户定制的,或是面向特定用途的标准产品。

        2、人工智能芯片

                人工智能(Artificial intelligence,AI)芯片的定义:从广义上讲只要能够运行人工智能算法的芯片都叫做AI芯片。但是通常意义上的AI芯片指的是针对人工智能算法做了特殊加速设计的芯片,现阶段,这些人工智能算法一般以深度学习算法为主,也可以包括其他机器学习算法。

                人工智能芯片四大类(按技术架构分类):

                (1)GPU

                (2)FPGA(现场可编程门阵列)

                (3)ASIC(专用集成电路)

                (4)类脑芯片

                AI芯片的关键特征

                (1)新型的计算范式:AI计算既不脱离传统计算,也具有新的计算特质

                (2)训练和推断:AI系统通常涉及训练和推断过程。

                (3)大数据处理能力:满足高效能机器学习的数据处理要求。

                (4)数据精度:降低精度的设计。

                (5)可重构的能力针对特定领域而不针对特定应用的设计,可以通过重新配置,适应新的AI算法、架构和任务。

                (6)开发工具:AI芯片需要软件工具链的支持

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

        4、总线

                总线是一组能为多个部件分时共享的信息传送线,用来连接多个部件并为之提供信息交换通路。【总线通常是半双工的】

                特点:

                (1)挂接在总线上的多个部件只能分时向总线发送数据,但可同时从总线接收数据。

                (2)通过总线复用方式可以减少总线中信号线的数量,以较少的信号线传输更多的信息。

                (3)从功能上将总线划分为数据总线、地址总线和控制总线。

                (4)从数据传输的方式将总线划分为并行总线和串行总线。

                并行总线:将数据字节的各位用多条数据线同时进行传送。【距离

                穿行总线:数据是一位一位地进行传输的,在传输中每一位数据都占据一个固定的时间长度。【距离,传输波特率可调整,正确性依赖于校验码,数据传输方式可以使用多种

四、嵌入式操作系统

        嵌入式操作系统(Embedded Operating System,EOS)是指用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,负责嵌入式系统的全部软、硬件资源分配、任务调度、控制、协调并行活动等工作。通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。

        根据系统对时间敏感程度可将嵌入式系统划分为:

        (1)嵌入式非实时系统

        (2)嵌入式实时系统:能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间作出响应的系统。

        1、嵌入式实时操作系统

                嵌入式实时操作系统兼具嵌入式操作系统的特点和实时操作系统的特点。

                嵌入式操作系统主要有以下特点:

                (1)微型化(2)代码质量高(3)专业化(4)实时性强(5)可裁剪、可配置

                嵌入式实时操作系统实时性的评价指标

                (1)中断响应和延迟时间

                (2)任务切换时间

                (3)信号量混洗时间

                嵌入式实时操作系统调度算法

                (1)优先级调度算法:系统为每个任务分配一个相对固定的优先顺序。

                (2)抢占式优先级调度算法:根据任务的紧急程度确定该任务的优先级。大多数RTOS调度算法都是抢占方式(可剥夺方式)。

                (3)最早截止期调度算法(EDF算法):根据任务的截止时间头端来确定优先级,对于时间期限最近的任务,分配最高的优先级。指一个任务执行到接近自己的截止期,就优先调度,但是此时自己的截止期不一定是所有任务中最早的。(比较的是任务截止期-执行时间,越小越先执行)
 

                (4)最晚截止期调度算法:根据任务的截止时间末端来确定其优先级,对于时间期限最近的任务,分配最高的优先级。指按每个任务的截止期时间比较,谁的截止期最靠早,谁优先调度执行。(比较就是每个任务的截止期)

        2、操作系统内核架构

                内核是操作系统的核心部分,它管理着系统的各种资源。内核可以看成连接应用程序和硬件的一座桥梁,是直接运行在硬件上的最基础的软件实体。

                目前从内核架构来划分,可分为宏内核(Monolithic Kernel,也称单体内核)和微内核(Micro kernel)。

        3、鸿蒙操作系统

                鸿蒙(Harmony OS)整体采用分层的层次化设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照 “系统” - “子系统” - “功能/模块” 逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块,如图所示。 

        鸿蒙操作系统架构具有4个技术特性:

        (1)分布式架构首次用于终端OS,实现跨终端无缝协同体验

                Harmony OS的 “分布式OS架构” 具有分布式软总线、分布式数据管理、分布式任务调度和虚拟外设等4大能力,将相应分布式应用的底层技术难点对应用开发者屏蔽,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来无缝体验。

        (2)确定时延引擎和高性能IPC技术实现系统天生流畅

                确定时延引擎可在任务执行前分配系统中任务执行优先级及时限进行调度处理,优先级高的任务资源将优先保障调度,应用响应时延降低25.7%。鸿蒙微内核结构小巧的特性使IPC(进程通信间)性能大大提高,进程通信效率较现有系统提成5倍。

        (3)基于微内核架构重塑终端设备可信安全

                Harmony OS采用全新的微内核设计,拥有更强的安全特性和低时延等特点。

                Harmony OS架构的系统安全性主要体现在搭载Harmony OS的分布式终端上,可以保证 “正确的人,通过正确的设备,正确的使用数据”。这里通过 “分布式多端协同身份认证” 来保证 “正确的人” ,通过 “在分布式终端上构筑可信运行环境” 来保证 “正确的设备” ,通过 “分布式数据在跨终端流动的过程中,对数据进行分类分级管理” 来保证 “正确的使用数据”。

        (4)通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享。 

五、嵌入式数据库

        与数据库相比,嵌入式数据库系统有以下几个主要特点:

        (1)嵌入式(2)实时性(3)移动性(4)伸缩性

        1、嵌入式数据库分类

                关于嵌入式数据库:

                实际上,嵌入式网络数据库是把功能强大的远程数据库映射到本地数据库,使嵌入式设备访问远程数据库就像访问本地数据库一样方便

                嵌入式网络数据库主要由三部分组成:客户端、通信协议和远程服务器。客户端主要负责提供接口给嵌入式程序,通信协议负责规范客户端与远程服务器之间的通信,还需要解决多客户端的并发问题,远程服务器负责维护服务器上的数据库数据。

                这里要说明的是,由嵌入式网络数据库、嵌入式本地数据库(内存或文件)和嵌入式Web服务器等构成了综合的嵌入式综合信息系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/988000.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构-队列】双端队列

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

【多线程】阻塞队列实现原理代码实现

目录 一、概念 二、优势 三、原理(代码逐步实现) 四、BlockingQueue的使用 一、概念 阻塞队列是一种的特殊的队列,他是带有阻塞的线程安全的队列。当队列已满时入队操作就会进入阻塞,当队列不空时才能执行入队操作&#xff1b…

抓安卓日志命令

临时生成logcat文件 ctrl z 是停止 adb logcat -> /home/log/log.txt 导出全部日志 adb root adb remount 只抓安卓日志 logcat (所有保存的日志,中途关机和开机都有) adb pull log/android D:\73log\1android 抓全部日志&#x…

《DevOps实践指南》- 读书笔记(四)

DevOps实践指南 Part 3 第一步 :流动的技术实践11. 应用和实践持续集成11.1 小批量开发与大批量合并11.2 应用基于主干的开发实践11.3 小结 12. 自动化和低风险发布12.1 自动化部署流程12.1.1 应用自动化的自助式部署12.1.2 在部署流水线中集成代码部署 12.2 将部署…

从零开始,手把手教你视频直播app源码开发

在今天移动互联网时代,视频直播成为了人们沟通、互动和分享的重要方式。如果你梦想着拥有自己的视频直播应用程序,那么现在是时候开始学习开发视频直播app的源码了!本文将带您从零开始,手把手教你如何开发视频直播app源码&#xf…

数据通信网络之IPv6基础

文章及资源归档至公众号【AIShareLab】,回复 通信系统与网络 可获取。 文章目录 一、目的二、环境及网络拓扑三、需求四、步骤及结果分析 一、目的 掌握网络设备静态IPv6 地址配置的方法。掌握IPv6 地址无状态自动配置的应用。掌握通过DHCPv6 部署IPv6 地址配置自动…

inappropriate address 127.0.0.1 for the fudge command, line ignored 时间同步的时候报错

1、安装ntp服务后,启动ntpd正常,但是在查看ntpd服务状态时,有一个红色的报错,报错信息如下: inappropriate address 127.0.0.1 for the fudge command, line ignored 2、解决方法:编辑ntp配置文件&#xf…

群晖NAS:通过Docker 部署宝塔面板【注册表:cyberbolt/baota】

群晖NAS:通过 Docker 部署宝塔面板【注册表:pch18/baota】 由于 docker 源地址被墙,在面板里面查询不到注册表,使用 ssh 命令行拉取 1、打开 SSH,链接后打开命令行 这里不赘述,具体自行百度 2、下载 镜像…

51单片机的简易篮球计分器倒计时仿真设计( proteus仿真+程序+原理图+报告+讲解视频)

51单片机的简易篮球计分器倒计时仿真设计( proteus仿真程序原理图报告讲解视频) 1.主要功能:2.仿真3. 程序代码4. 原理图5. 设计报告6. 设计资料内容清单&&下载链接 51单片机的简易篮球计分器倒计时仿真设计( proteus仿真程序原理图报告讲解视频…

代码随想录第33天 | ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯

509. 斐波那契数 //法一&#xff1a; /*** param {number} n* return {number}*/ var fib function(n) {let bpnew Array(n)bp[0]0bp[1]1for(let i2;i<n;i){bp[i]bp[i-1]bp[i-2]}return bp[n] };//法二&#xff0c;时间少&#xff0c;空间少&#xff0c;只需要维护两个数值…

宝宝餐椅上亚马逊要求的合规标准有哪些?

宝宝餐椅上架亚马逊需要做什么认证&#xff1f; 大家都知道儿童餐椅是宝宝饮食的重要伙伴。它们为宝宝提供了一个舒适的环境&#xff0c;让宝宝在吃饭的时候更愉快&#xff0c;更健康。然而&#xff0c;许多家长可能不知道&#xff0c;亚马逊美国站售卖的儿童餐椅需要进行一系…

2023国赛数学建模E题思路代码 - 黄河水沙监测数据分析

# 1 赛题 E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变 化和人民生活的影响&#xff0c; 以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾 等方面都具有重要的理论指导意义。 附件 1 给出了位…

HGDB-修改分区表名称及键值

瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台&#xff1a;N/A 版本&#xff1a;4.5.7 文档用途 使用存储过程拼接SQL&#xff0c;修改分区名称、分区键值、并重新加入主表&#xff0c;适用于分区表较多场景。 详细信息 说明&#xff1a;本文档为测试过程&#xff1…

15 轮转数组

轮转数组 题解1 环状替换&#xff08;学习思想&#xff09;&#xff08;空间O(1)&#xff09;题解2 翻转数组&#xff08;有意思好理解&#xff09;&#xff08;空间O(1)&#xff09;题解3 空间O(N)秒答 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&a…

护眼台灯A级好还是AA级好?盘点五款AA级台灯

台灯如何选择&#xff0c;随着人们生活水平的提高及科技的不断进步&#xff0c;台灯的品质也得到了极大的提高&#xff0c;在生活中很多时候都需要使用台灯&#xff0c;但是市面上的台灯那么多&#xff0c;台灯如何选择 国aa级是对台灯的照度进行的一个很重要的划分&#xff0…

【2023集创赛】安谋科技杯全国一等奖分享:基于安路PH1A60的3D图形体感游戏机

本文为2023年第七届全国大学生集成电路创新创业大赛&#xff08;“集创赛”&#xff09;安谋科技杯全国一等奖作品分享&#xff0c;参加极术社区的【有奖征集】分享你的2023集创赛作品&#xff0c;秀出作品风采&#xff0c;分享2023集创赛作品扩大影响力&#xff0c;更有丰富电…

leetcode 215.数组中第k大的元素

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;数组中第k大的元素 思路&#xff1a; 使用堆数据结构&#xff0c;大堆的堆顶是堆内最大的元素&#xff0c;也就是把当前堆 pop k - 1 次&#xff0c;第 k 次 top 出来的元素就是第 k 大的数。 代码&#xff1a; class …

Python中的Pathlib

迷途小书童 读完需要 4分钟 速读仅需 2 分钟 大家好&#xff0c;我是迷途小书童&#xff01; 今天给大家介绍 Python 中的内置库 Pathlib。 pathlib 模块是 Python 3.4 中新增的标准库&#xff0c;它提供了面向对象的文件系统路径处理方法。pathlib 致力于解决直接操作文件路径…

宝塔Linux面板的安装配置

一、 宝塔Linux面板的功能 宝塔面板是一款服务器管理软件&#xff0c;可以帮助用户建立网站&#xff0c;一键配置服务器环境&#xff0c;使得用户通过web界面就可以轻松的管理安装所用的服务器软件。 二、宝塔Linux面板的安装 宝塔官网地址&#xff1a;https://www.bt.cn/new…

【C++进阶(五)】STL大法--list模拟实现以及list和vector的对比

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; list模拟实现 1. 前言2. list类的大致框架与结构…