【系统架构设计】嵌入式系统设计(2)

news2025/3/12 21:32:52

【系统架构设计】嵌入式系统设计(2)

  • 嵌入式网络系统
    • 嵌入式 Internet 的接入方式
    • 嵌入式 TCP/IP 协议栈
  • 嵌入式数据库管理系统
    • 数据的一致性
    • 高效的事务处理
    • 数据的安全性
  • 实时系统与嵌入式操作系统
    • 对实时系统划分
      • 根据实时性的强弱
      • 根据对错失时限的容忍程度或后果的严重性
    • 实时嵌入式操作系统
  • 嵌入式系统开发设计
    • 常用开发模型
      • 瀑布模型
      • 螺旋模型
      • 逐步求精模型
      • 层次模型
    • 核心技术

嵌入式网络系统

嵌入式 Internet 的接入方式

  • 嵌入式设备上集成了 TCP/IP 协议栈及相关软件,这类设备可以作为 Internet 的一个节点,分配有 IP 地址,与 Internet 直接互联
  • 通过网关接入 Internet,即采用瘦设备方案,设备不直接接入 Internet,不需要复杂的TCP/IP 协议全集,而是通过接入设备接入 Internet

嵌入式 TCP/IP 协议栈

嵌入式 TCP/IP 协议栈完成的功能与完整的 TCP/IP 协议栈是相同的,但是由于嵌入式系统的资源限制,嵌入式协议栈的一些指标和接口等与普通的协议栈可能有所不同

  1. 嵌入式协议栈的调用接口与普通的协议栈不同。普通协议栈的套接字接口是标准的,应用软件的兼容性好,但是,实现标准化接口的代码开销、处理和存储开销都是巨大的。因此,多数厂商在将标准的协议栈接口移植到嵌入式系统上的时候,都做了不同程度的修改简化,建立了高效率的专用协议栈,它们所提供的 API 与通用协议栈的 API 不一定完全一致。
  2. 嵌入式协议栈的可裁剪性。嵌入式协议栈多数是模块化的,如果存储器的空间有限,可以在需要时进行动态安装,并且都省去了接口转发、全套的 Internet 服务工具等几个针对嵌入式系统非必需的部分。
  3. 嵌入式协议栈的平台兼容性。一般协议栈与操作系统的结合紧密,大多数协议栈是在操作系统内核中实现的。协议栈的实现依赖于操作系统提供的服务,移植性较差。嵌入式协议栈的实现一般对操作系统的依赖性不大,便于移植。许多商业化的嵌入式协议栈支持多种操作系统平台。
  4. 嵌入式协议栈的高效率。嵌入式协议栈的实现通常占用更少的空间,需要的数据存储器更小,代码效率高,从而降低了对处理器性能的要求。

嵌入式数据库管理系统

引入嵌入式数据库管理系统 是因为,如果直接在嵌入式操作系统或裸机之上开发信息管理应用程序,会存在以下缺点:

  • 所有的应用都要重复进行数据的管理工作,增加了开发难度和代价;
  • 各应用之间的数据共享性差;
  • 应用软件的独立性、可移植性差,可重用度低。

一个完整的嵌入式数据库管理系统由若干子系统组成,包括主数据库管理系统、同步服务器、嵌入式数据库管理系统、连接网络等几个子系统。
在这里插入图片描述
嵌入式移动数据库在实际应用中必须解决好数据的一致性(复制性)、高效的事务处理和数据的安全性等问题。

数据的一致性

嵌入式移动数据库的一个显著特点是,移动数据终端之间及与同步服务器之间的连接是一种弱连接,即低带宽、长延迟、不稳定和经常性断接。为了支持用户在弱环境下对数据库的操作,现在普遍采用乐观复制方法允许用户对本地缓存上的数据副本进行操作。待网络重新连接后再与数据库服务器或其他移动数据终端交换数据修改信息,并通过冲突检测和协调来恢复数据的一致性。

高效的事务处理

移动事务处理要在移动环境中频繁的、可预见的断接情况下进行。为了保证活动事务的顺利完成,必须设计和实现新的事务管理策略和算法。可以考虑以下几方面:

  • 根据网络连接情况来确定事务处理的优先级,网络连接速度高的事务请求优先处理;
  • 根据操作时间来确定事务是否迁移,即长时间的事务操作将全部迁移到服务器上执行,无须保证网络的一直畅通;
  • 根据数据量的大小来确定事务是上载执行还是下载数据副本执行后上载;
  • 完善的日志记录策略;
  • 事务处理过程中,网络断接处理时采用服务器发现机制还是采用客户端声明机制;
  • 事务移动(如:位置相关查询)过程中的用户位置属性的实时更新。

数据的安全性

许多应用领域的嵌入式设备是系统中数据管理或处理的关键设备,因此嵌入式设备上的数据库系统对存取权限的控制较严格。同时,许多嵌入式设备具有较高的移动性、便携性和非固定的工作环境,也带来潜在的不安全因素。此外,某些数据的个人隐私性又很高,因此在防止碰撞、磁场干扰、遗失、盗窃等方面对个人数据的安全性需要提供充分的保证。保证数据安全的主要措施是:

  • 对移动终端进行认证,防止非法终端的欺骗性接入;
  • 对无线通信进行加密,防止数据信息泄漏;
  • 对下载的数据副本加密存储,以防移动终端物理丢失后的数据泄密。

实时系统与嵌入式操作系统

现实世界中,并非所有的嵌入式系统都具有实时特性,所有的实时系统也不一定都是嵌入式的。但这两种系统并不互相排斥,兼有这两种系统特性的系统称为实时嵌入式系统。

在这里插入图片描述

对实时系统划分

根据实时性的强弱

即系统必须对外部事件做出响应的时间长短,将实时系统分为:

  • 强实时系统,其系统的响应时间非常短,通常在毫秒或微秒级;
  • 一般实时系统,其系统响应时间比强实时系统要求要低,通常在秒级;
  • 弱实时系统,其系统响应时间可以更长,也可以随系统负载的轻重而变化。

根据对错失时限的容忍程度或后果的严重性

可以将实时系统分为软实时系统和硬实时系统:

在这里插入图片描述

ps:死线(Deadline)或时限、死限、截止时间,是指系统必须对外部事件进行处理的最迟时间界限,错过此界限可能产生严重的后果。通常,计算必须在到达时限前完成。

实时嵌入式操作系统

整体上看,一个嵌入式系统的实时性能是由硬件、实时操作系统及应用程序共同决定的,其中,嵌入式实时操作系统内核的性能起着关键的作用。通常,有两种类型的实时嵌入式操作系统:实时内核型的 RTEOS 与通用型的 RTEOS。

  • 实时内核型的 RTEOS:这类操作系统,驱动程序传统嵌在内核之中,应用程序和中间件实现在标准的应用程序接口之上;
  • 实时通用型的 RTEOS:这类操作系统,驱动程序并非深度嵌入到内核中,而是在内核之上实现,并且仅包含少数必要的驱动程序,应用程序和中间件可以直接在驱动程序之上实现,而不必在标准的 APIs 实现。
    在这里插入图片描述
  1. 中断延迟时间,是指从中断发生到系统获知中断的时间,主要受系统最大关中断时间的影响,关中断时间越长,中断延迟也就越长;
  2. 中断处理执行时间,该时间由具体的应用决定;
  3. 中断响应时间,是指从中断发生到开始执行用户中断服务例程的时间;
  4. 中断恢复时间,是指用户中断服务例程结束回到被中断的代码之间的时间。对于可抢占式调度,中断恢复的时间还要加上进行任务切换和恢复新的任务上下文的时间
  5. 最大关中断时间,包含两个方面:一是内核最大关中断时间,即内核在执行临界区代码时关中断;二是应用关中断时间。关中断最大时间是这两种关中断时间的最大值;
  6. 任务响应时间,是指从任务对应的中断产生到该任务真正开始运行的时间。

ps: 一定要注意中断恢复时间是执行中断服务实例后才开始计算的,不是开始执行中断服务实例。

在这里插入图片描述

嵌入式系统开发设计

常用开发模型

在嵌入式系统领域,有如下几种常用开发过程模型:

瀑布模型

瀑布模型由五个主要阶段构成:

  • 需求分析阶段确定目标系统的基本特点;
  • 系统结构设计阶段将系统的功能分解为主要的构架;
  • 编码阶段主要进行程序的编写和调试;
  • 测试阶段检测错误;
  • 最后一个是维护阶段,主要负责修改代码以适应环境的变化,并改正错误、升级。

各个阶段的工作和信息总是由高级的抽象到较详细的设计步骤单向流动,是一个理想的自顶向下的设计模型

螺旋模型

螺旋模型假定要建立系统的多个版本,早期的版本是一个简单的试验模型,用于帮助设计者建立对系统的直觉和积累开发此系统的经验,随着设计的进展,会创建更加复杂的系统。在每一层设计中,设计者都会经过需求分析、结构设计、测试三个阶段。在后期,当构成更复杂的系统版本时,每一个阶段都会有更多的工作,并需要扩大设计的螺旋,这种逐步求精的方法使设计者可以通过一系列的设计循环加深对所开发的系统的理解。螺旋的顶部第一个循环是很小很短的,而螺旋底部的最后的循环加入了对螺旋模型的早期循环的细节补充,螺旋模型比瀑布模型更加符合实际。

ps:由小到大

逐步求精模型

逐步求精模型是一个系统被建立多次,第一个系统被作为原型,其后逐个将系统进一步求精。当设计者对正在建造的系统的应用领域不是很熟悉时,这个方法很有意义。通过建造几个越来越复杂的系统,从而精炼系统,使设计者能检验架构和设计技术。此外,各种迭代技术也可仅被局部完成,直到系统最终完成。

ps:由繁到精

层次模型

许多嵌入式系统本身是由更多的小设计组成的,完整的系统可能需要各种软件构件、硬件构件。这些部件可能由尚需设计的更小部件组成,因此从最初的完整系统设计到为个别部件的设计,设计的流程随着系统的抽象层次的变化而变化,从最高抽象层次的整体设计到中间抽象层次的详细设计,再到每个具体模块的设计,都是逐层展开的,其中每个流程可能由单个设计人员或设计小组来承担,每个小组依靠其他小组的结果,各个小组从上级小组获得要求,同时上级小组依赖于各个分组设计的质量和性能。而且,流程的每个实现阶段都是一个从规格说明到测试的完整流程

核心技术

主要有三种核心技术:处理器技术、IC (Integrated Circuits,集成电路)技术、设计/ 验证技术

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

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

相关文章

Android Google Maps

Android 谷歌地图 前言正文一、设置Google Cloud 项目二、项目配置① 设置SDK② 配置API密钥③ 配置AndroidManifest.xml 三、添加地图四、定位当前① 请求定位权限② 我的位置控件③ 获取当前位置 五、配置地图① xml配置地图② 代码配置地图③ 地图点击事件④ 管理Marker 六、…

达梦SQL 优化简介

目录 一、定位慢 SQL (一)开启跟踪日志记录 1.跟踪日志记录配置 (二)通过系统视图查看 1.SQL 记录配置 2.查询方式 二、SQL分析方法 (一)执行计划 1.概述 2.查看执行计划 (二&#x…

使用LLaMA-Factory快速训练自己的专用大模型

本文聊聊 LLama-Factory,它是一个开源框架,这里头可以找到一系列预制的组件和模板,让你不用从零开始,就能训练出自己的语言模型(微调)。不管是聊天机器人,还是文章生成器,甚至是问答…

物联网能源管理平台

能源管理平台可以对接各种物联网设备,感兴趣的朋友可根据下方方式联系获取演示账号 1.介绍 2.智慧照明接入 设备远程控制,灯光亮度感应等模式设置,用电耗能分析 3.温控器接入 温控器(空调面板)接入,实现…

GB/T28181规范和JT1078交通部标差异

技术背景 好多开发者区分不太清楚GB/T28181和JT1078规范,实际上,二者在规范定义、技术特点、过检认证以及应用场景等方面均存在显著差异。两者各有其适用领域和优势,但在某些特定场景下也可能需要相互协作以实现更全面的监控和管理。 规范定…

C#复习之封装_静态成员

知识点一 静态成员的基本概念 知识点二 早已出现的静态成员 知识点四 静态成员的使用 知识点五 为什么可以直接点出来 //记住! //程序中是不能无中生有的 //我们要使用的对象,变量,函数都是要在内存中分配内存空间的 //之所以要实例化对象…

TWS蓝牙耳机发展历史以及涉及的相关技术知识

TWS(True Wireless Stereo)蓝牙耳机是近年来迅速发展的消费电子产品之一。它们的诞生和发展经历了多个阶段,并涉及到多项关键技术。以下是 TWS 蓝牙耳机的发展历史及相关技术知识的详细解析。 1. TWS 蓝牙耳机的发展历史 1.1 初期阶段(2014年之前) 在 TWS 蓝牙耳机出现之…

老师怎样用微信发布月考成绩?

每当月考结束,老师们就开始了一项繁琐的任务——将成绩单一一私信给每位学生的家长。这不仅耗时耗力,还容易出错。家长们焦急等待,老师们则在电脑前忙碌着,一张张成绩单,一条条信息,重复的工作让人疲惫不堪…

Unity(2022.3.41LTS) - UI详细介绍-Scrollbar(滚动条)

目录 零.简介 一、基本功能与用途 二、组件介绍 三、使用方法 四、优化和注意事项 五.和滑动条的区别 零.简介 在 Unity 中,滚动条(Scrollbar)是一种用于实现滚动功能的 UI 组件。 一、基本功能与用途 滚动内容:主要用于…

【重学 MySQL】五、MySQL 的卸载

【重学 MySQL】五、MySQL 的卸载 停止MySQL服务卸载MySQL程序删除残余文件清理注册表删除环境变量配置重启电脑 MySQL的卸载过程需要仔细操作,以确保彻底卸载并清理所有相关文件和配置。 停止MySQL服务 打开任务管理器:右键点击任务栏空白处&#xff0…

模组级存储与嵌入式存储的千差万别

雷龙在多年销售CS创世 SD NAND(也称:迷你型eMMC,小尺寸/小容量eMMC,贴片式T卡,贴片式TF卡,贴片式SD卡等)的过程中,经常有被用户问到:SD NAND 与 TF卡 到底有哪些区别呢&a…

动态路由和路由导航守卫及其案例分析

为什么需要动态路由? 动态路由其实用的不多,在实际开发中,如果遇到权限分配问题,比如对于一个公司人员的后台管理系统,那对不同成员的权限肯定不同,对于人事部,他们有权限进入成员表对人员的流…

【网络安全】XSS漏洞挖掘Tip

未经许可,不得转载。 某网页存在错误信息,包含在div标签内: 检查此页面的源代码以获取id属性: 将id属性作为 GET 参数进行测试,例如在 URL 中添加error_messagehelloworld: 可以看到,参数被接受…

流媒体技术革新,EasyCVR视频汇聚平台赋能视频监控全面升级

随着科技的飞速发展,流媒体技术和视频监控正经历着前所未有的变革与融合。本文将从流媒体技术的新兴趋势出发,探讨其与视频监控领域的深度结合,以及这一融合所带来的创新与发展。 一、流媒体技术的新兴趋势 1、5G网络的广泛应用 5G网络以其…

AI驱动测试管理工具会有哪些发展前景呢?

在软件测试领域,人工智能(AI)的出现犹如一场技术革命,改变了传统的测试管理方式。随着AI技术的迅速发展,它将如何进一步提升测试管理的效率与准确性?未来的AI驱动测试管理工具又会带来哪些令人期待的创新呢…

unittest | 使用unittest模块来测试logging日志模块功能

我们在这篇文章实现了在项目工程中编写一个logging模块,但是我们如何确定我们编写的模块功能的是否正常? 你可能想到将全部代码写完后运行测试,但这是一个非常不好的习惯。❌ 最好的方式,是每写出来一个功能或者方法就对它进行测试&#x…

MySQL 存储引擎有哪些?InnoDB 和 MyISAM 存储引擎有什么区别?

MySQL 存储引擎有哪些? MySQL 存储引擎主要负责查询的执行和数据的存储,存储引擎主要有 InnoDB,MyISAM,Memery InnoDB 是 MySQL 默认的存储引擎,支持事务和行级锁,以及外键的约束,具有事务提交…

揭秘推荐算法:深度学习如何读懂你的购物心思

时间:2024年09月03日 作者:小蒋聊技术 邮箱:wei_wei10163.com 微信:wei_wei10 音频:https://xima.tv/1_L8HH40?_sonic0 希望大家帮个忙!如果大家有工作机会,希望帮小蒋内推一下&#xff0c…

帅地:秋招入职腾讯,后裸辞创业年入百万,一位全职程序员博主的第六年

这是《开发者说》的第17期,这次我们采访的是知名的程序员博主:帅地。 帅地从大学开始接触公众号,在大学毕业时就沉淀了10w垂直粉丝,月入近10w。在秋招阶段,帅地靠扎实的算法基础和技术功底顺利入职腾讯。“还没折腾够”…

【分布式注册中心】NACOS_2.3.0部署与实战

部署 一 准备 1 依赖:MYSQL 2 创建数据库 CREATE database if NOT EXISTS nacos default character set utf8mb4 collate utf8mb4_unicode_ci; 3 导入初始化SQL https://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/mysql-schema.sql…