一、什么是嵌入式系统

嵌入式系统是一种以应用为中心、以计算机技术为基础、软硬件可裁剪的专用计算机系统,通常嵌入在其他设备中,用于实现特定功能。它广泛存在于消费电子、工业控制、汽车电子、医疗设备等领域,是现代智能设备的核心 “大脑”。

一、核心定义与特点

  1. 专用性

    • 针对特定任务设计(如智能家居的温度控制、汽车的防抱死系统),而非通用计算(如 PC)。
    • 硬件和软件均根据需求定制,例如仅保留必要的处理器、存储器和外设接口。
  2. 软硬件可裁剪

    • 硬件:可根据性能、成本、功耗需求选择处理器(如 ARM Cortex-M 系列)、精简外设(如仅保留 UART、SPI 接口)。
    • 软件:运行实时操作系统(RTOS,如 FreeRTOS)或裸机程序,仅包含与任务相关的功能模块(如传感器驱动、通信协议)。
  3. 实时性

    • 对外部事件(如传感器信号、用户操作)需在指定时间内响应,避免任务失败或系统故障(如工业机器人的运动控制)。

二、系统组成

1. 硬件层面
  • 处理器 / 微控制器(MCU)
    • 如 ARM、STM32、Arduino 等,性能从低功耗(如用于手环)到高性能(如用于工业网关)不等。
  • 存储器
    • 程序存储:Flash(如 SPI Flash)用于存放固件;
    • 数据存储:RAM(如 SRAM、DRAM)用于运行时数据缓存。
  • 外设与接口
    • 通信接口:UART、SPI、I2C、Ethernet、Wi-Fi 等;
    • 传感器 / 执行器接口:ADC(模拟信号采集)、PWM(电机控制)等。
2. 软件层面
  • 系统软件
    • 实时操作系统(RTOS):管理任务调度、内存分配,如 μC/OS、RT-Thread;
    • 设备驱动:控制硬件外设(如 LED 驱动、串口驱动)。
  • 应用软件
    • 实现具体功能,如智能家居的温湿度监测程序、智能门锁的密码验证逻辑。

三、典型应用场景

领域示例嵌入式系统的作用
消费电子智能手表、扫地机器人、智能音箱实现人机交互、传感器数据处理、无线通信
工业控制PLC(可编程逻辑控制器)、数控机床实时监控设备状态、执行自动化控制
汽车电子车载中控、ABS(防抱死系统)、胎压监测保障行车安全、优化驾驶体验
医疗设备心电图机、输液泵、医疗监护仪精准采集生理信号、控制执行机构
物联网(IoT)智能传感器节点、智能家居网关数据采集、边缘计算、协议转换

四、与通用计算机的区别

维度嵌入式系统通用计算机(如 PC)
设计目标完成特定任务(如温控、通信)通用计算(办公、娱乐、开发)
性能需求低功耗、实时性优先高性能、多任务并行优先
软硬件配置定制化(硬件精简,软件功能专一)标准化(硬件可升级,软件生态丰富)
成本严格控制(如 MCU 成本<1 美元)相对灵活(高端配置成本高)

五、技术发展趋势

  • 智能化与边缘计算:集成 AI 芯片(如 NPU),在终端实现数据预处理(如智能摄像头的人脸识别),减少云端依赖。
  • 低功耗与微型化:采用 ARM Cortex-M 系列、RISC-V 架构处理器,配合能量收集技术(如太阳能),延长物联网设备续航。
  • 安全性强化:嵌入硬件加密模块(如 TrustZone),防止固件篡改和数据泄露(如工业设备的远程控制安全)。

总结

嵌入式系统是 “隐藏” 在各类设备中的专用计算机,它以高效、专用、低功耗的特点,支撑着现代社会的智能化运转。从身边的手机、家电到工业领域的复杂设备,其核心控制逻辑几乎都由嵌入式系统实现,是连接物理世界与数字世界的关键纽带。

二、简述STM32时钟源HSI、HSE、LSI、LSE

STM32 微控制器的时钟系统是其核心组件之一,通过多种时钟源为不同外设和内核提供精确的时钟信号。以下是 STM32 中四种主要时钟源(HSI、HSE、LSI、LSE)的含义及特点:

一、HSI(High-Speed Internal Clock,高速内部时钟)

  • 含义
    • STM32 内部集成的 RC 振荡器,无需外部晶振即可工作。
    • 频率通常为 8MHz 或 16MHz(不同型号可能不同),精度较低(±1%~±3% 误差)。
  • 作用
    • 系统启动时默认使用的时钟源,可快速提供时钟信号。
    • 作为低功耗模式或对时钟精度要求不高的场景下的主时钟。
    • 在 HSE 故障时作为备份时钟源,保障系统基本运行。

二、HSE(High-Speed External Clock,高速外部时钟)

  • 含义
    • 外部晶振或时钟源(如外部时钟信号),需通过外部引脚连接。
    • 常用频率范围为 4MHz~25MHz,精度高(±0.1% 误差)。
  • 作用
    • 作为系统主时钟(SYSCLK)的高精度时钟源,尤其适用于对时序要求严格的场景(如 USB 通信、以太网)。
    • 配合 PLL(锁相环)倍频后,可生成更高频率的系统时钟(如 STM32F4 系列最高可达 168MHz)。

三、LSI(Low-Speed Internal Clock,低速内部时钟)

  • 含义
    • STM32 内部的低速 RC 振荡器,频率约为 32kHz(典型值,实际范围可能为 20kHz~60kHz)。
    • 精度较低,但启动速度快,无需外部元件。
  • 作用
    • 为独立看门狗(IWDG)和实时时钟(RTC)提供时钟源。
    • 在低功耗模式下维持基本计时功能,降低系统功耗。

四、LSE(Low-Speed External Clock,低速外部时钟)

  • 含义
    • 外部 32.768kHz 晶振,需通过外部引脚连接。
    • 精度极高(±0.01% 误差),常用于需要精确计时的场景。
  • 作用
    • 为实时时钟(RTC)提供高精度时钟,确保日历时间的准确性(如闹钟、定时唤醒功能)。
    • 在低功耗模式下维持 RTC 运行,外部晶振功耗极低(约 1μA)。

五、对比与应用场景

时钟源类型频率范围精度外部元件典型应用
HSI内部 RC8MHz/16MHz低(±1%~3%)无需系统启动、低功耗模式、临时时钟
HSE外部晶振4MHz~25MHz高(±0.1%)需要晶振高精度系统时钟、PLL 输入
LSI内部 RC~32kHz低(±50%)无需看门狗、低功耗 RTC 计时
LSE外部晶振32.768kHz极高(±0.01%)需要晶振高精度 RTC 计时、低功耗模式下计时

六、时钟树中的协作关系

  • 系统时钟(SYSCLK):通常由 HSE 或 HSI 经 PLL 倍频后提供,为 CPU 内核、内存和高速外设提供时钟。
  • RTC 时钟:可选择 LSI(内部低速)或 LSE(外部低速),优先使用 LSE 以保证计时准确性。
  • 看门狗时钟:固定使用 LSI,确保独立于主系统时钟,防止系统死机。

通过灵活配置这四种时钟源,STM32 可在性能、功耗和精度之间实现最佳平衡,满足不同应用场景的需求。

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 8.0向量库 vs 传统向量数据库:大模型知识库开发选型全指南

在大模型知识库开发领域,向量数据库的选择直接影响系统的性能、扩展性和开发效率。随着Redis 8.0推出Vector Set数据结构并增强向量搜索能力,开发者面临新的选择困境:是采用传统专用向量数据库(如Milvus、Pinecone)&am…

偏向锁撤销为什么会触发STW?

偏向锁撤销触发STW(Stop-The-World)的根本原因在于其撤销操作需要​​全局内存一致性​​和​​线程状态确定性​​,具体机制如下: ⚙️ ​​一、偏向锁撤销的核心流程​​ ​​竞争触发撤销​​ 当线程B尝试获取已被线程A偏向的…

Java观察者模式详解

观察者模式(Observer Pattern)是一种行为型设计模式,它定义了对象之间的一对多依赖关系,当一个对象(主题)的状态发生改变时,所有依赖于它的对象(观察者)都会自动收到通知并更新。 核心概念 观察者模式包含以下核心角色: ‌Subje…

创世新布控球 国标

目录 结论: UDP模式 对讲 平台页面设置 设备tcp被动 旧的创世版本(平台选的设备tcp被动;设备侧无法设置) 新创世从2.8改到180上,先UDP,全报文 参考文档 结论: 对讲的tcp主被动&#xff0…

【Dify精讲】第18章:企业级功能定制

在企业级AI应用的实际部署中,你很快就会发现开源版本的标准功能往往无法满足复杂的业务需求。作为一个在多家企业实施AI系统的老兵,我深知企业级定制的痛点和需求。今天,让我们一起深入Dify的企业级功能定制,看看如何在现有架构基…

PHP $_GET 变量详解

PHP $_GET 变量详解 引言 在PHP编程中,$_GET变量是处理HTTP GET请求参数的一种非常便捷的方式。本文将详细介绍PHP $_GET变量的使用方法、特点以及在实际开发中的应用。 一、什么是$_GET变量? $_GET是一个预定义的PHP超级全局变量,用于存储HTTP GET请求中的数据。当用户…

Kafka动态配置深度解析

在分布式消息队列领域,Kafka凭借其高吞吐量、低延迟和可扩展性成为众多企业的首选。随着业务场景的日益复杂和数据流量的动态变化,静态配置已难以满足需求,Kafka的动态配置功能应运而生。通过动态配置,用户无需重启集群或中断服务…

为WIN10微软输入法的全角切换Bug禁用Shift+Space组合键

20250621 By wdhuag 目录 前言: 参考: 使用AutoHotkey屏蔽快捷键(推荐): 使用PowerToys的键盘管理器屏蔽快捷键(不推荐): 网上其它的方法: 前言: 是的…

Shell脚本调试与错误处理详解

在 Shell 脚本中,set 命令用于控制脚本的执行行为和调试选项。以下是详细解释: 1. set -e 和 set e set -e(严格错误检查): 当命令返回非零退出状态(失败)时,立即退出脚本。 示例&a…

鲲鹏服务器创建Zookeeper镜像实例

配置Kafka过程中,少不了要使用Zookeeer,这里记录一下配置Zookeeper镜像实例的过程。 创建目录 mkdir -p /data/docker/zookeeper/data mkdir -p /data/docker/zookeeper/conf mkdir -p /data/docker/zookeeper/logs说明:data目录为数据挂载…

GitHub Actions 自动 CI 测试 WorkFlow工作流搭建

大家好,我是此林。 代码托管平台 Github 我们应该比较熟悉。每次我们提交代码到 GitHub 仓库时,特别是开源项目,一般都会自动触发测试脚本运行,帮你验证代码没有引入新的错误。 这个其实就是 GitHub Actions,一般我们…

0-机器学习简介

有监督学习 目标:建立一个模型(函数),来描述输入(x)和输出(y)之间的映射关系。 价值:模型训练完成后,新的输入,模型会给出预测值输出。 注意点: 1.要有足够的训练样本 2.输入和输出之间有关联关系 3.输入…

前端跨域解决方案(6):Nginx

1 Nginx 核心 Nginx 是一个开源的高性能 HTTP 和反向代理服务器,以轻量级、高并发处理能力和低资源消耗著称。除作为 Web 服务器外,还可充当邮件代理服务器和通用的 TCP/UDP 代理服务器,广泛应用于现代 Web 架构中。 在 Windows 系统中使用…

C++智能指针编程实例

智能指针是C11引入的重要特性&#xff0c;用于自动管理动态分配的内存&#xff0c;防止内存泄漏。下面介绍几种高级智能指针编程实例。 1. 共享所有权模式 (shared_ptr) 循环引用问题及解决方案 #include <memory> #include <iostream>class B; // 前向声明clas…

单元测试总结

一、测试方案: 单元测试方案应包括以下步骤: 1.理解代码结构:仔细阅读代码,理解程序的结构、逻辑和算法。 2.制定测试目标:明确你想要测试的功能和输出结果; 3.撰写测试用例:编写涵盖所有测试目标的测试用例; 4.执行测试:运行测试用例以验证功能的正确性; 5.编写报告:根据测试…

Spring面向切面编程AOP(2)

前置通知&#xff08;Before Advice&#xff09; 前置通知在目标方法执行之前被调用&#xff0c;常用于执行一些预处理逻辑&#xff0c;例如权限验证、参数校验等。在 Spring 配置文件中&#xff0c;前置通知通过<aop:before>标签进行配置&#xff0c;以下是一个典型的示…

设备故障预测与健康管理技术:从数据到决策的工业智能进化之路​

在工业 4.0 与智能制造浪潮的推动下&#xff0c;设备故障预测与健康管理&#xff08;Prognostics and Health Management, PHM&#xff09;技术已成为企业实现数字化转型的核心驱动力。据统计&#xff0c;制造业中设备非计划停机 1 小时的平均损失高达 25 万美元&#xff0c;而…

RabbitMQ从入门到实践:消息队列核心原理与典型应用场景

在现代应用开发中&#xff0c;系统各部分之间的通信至关重要。这就是像RabbitMQ这样的消息代理发挥作用的地方。无论您是在构建微服务架构、实现任务队列&#xff0c;还是开发实时聊天应用程序&#xff0c;RabbitMQ都可能成为改变游戏规则的工具。本文将深入探讨RabbitMQ是什么…

基于Spring Boot和Vue的网上军事论坛设计与实现

目录 一.&#x1f981;前言二.&#x1f981;开源代码与组件使用情况说明三.&#x1f981;核心功能1. ✅算法设计2. ✅Java开发语言3. ✅Redis数据库4. ✅部署项目 四.&#x1f981;演示效果1. 管理员模块1.1 用户管理1.2 内容审核1.3 权限分配1.4 菜单管理1.5 字典管理 2. 用户…

LLMs基础学习(八)强化学习专题(6)

LLMs基础学习&#xff08;八&#xff09;强化学习专题&#xff08;6&#xff09; 文章目录 LLMs基础学习&#xff08;八&#xff09;强化学习专题&#xff08;6&#xff09;深度强化学习&#xff08;DQN&#xff09;DQN 起源&#xff1a;《Playing Atari with Deep Reinforceme…