当前位置: 首页 > news >正文

嵌入式学习前要了解的基础知识

一、电压和电流

在嵌入式开发中,电压和电流是两个基本的电气概念,对于理解和设计电子电路至关重要。它们直接影响到嵌入式系统的性能、功耗、可靠性和安全性。

电压(Voltage)

电压是电场力推动电荷移动的能力,通常以伏特(V)为单位。在嵌入式系统中,电压的概念涉及到以下几个方面:

  1. 供电电压:嵌入式设备需要一个稳定的供电电压来保证其正常工作。例如,一个微控制器(MCU)可能需要3.3V或5V的供电电压。

  2. 逻辑电平:数字电路中,电压用来表示二进制逻辑电平。例如,高电平(High)可能表示逻辑1,低电平(Low)表示逻辑0。

  3. 模拟信号:在模拟电路中,不同的电压值代表不同的信号强度,如声音、光线或温度等。

  4. 电压转换:嵌入式系统中可能需要不同电压级别的组件,因此需要电压转换器(如稳压器、升压器或降压器)来适应不同的电压需求。

  5. 电压调节:为了保护敏感的电子元件,可能需要对电压进行调节,防止电压过高或过低。

电流(Current)

电流是电荷流动的速率,通常以安培(A)为单位。在嵌入式系统中,电流的概念涉及到以下几个方面:

  1. 供电电流:嵌入式设备工作时会消耗一定的电流。例如,一个微控制器在运行时可能消耗几毫安培(mA)到几十毫安培的电流,一般都不会超过25mA。

  2. 功耗:电流与电压的乘积等于功耗(功率)。功耗是衡量嵌入式系统能源效率的重要指标。

  3. 限流保护:为了防止电路过载或损坏,可能需要限制通过电路的电流。

  4. 信号传输:在模拟信号传输中,电流的大小可以表示信号的强度。

  5. 电磁兼容性:电流的变化可能产生电磁干扰,影响系统的电磁兼容性(EMC)。

电压和电流的关系

在嵌入式开发中,电压和电流之间存在密切的关系:

  • 欧姆定律:电压(V)、电流(I)和电阻(R)之间的关系由欧姆定律描述:V=I×R。这意味着通过改变电阻,可以控制电流或电压。

  • 功率计算:功耗(P)可以通过电压和电流计算得出:P=V×I。

  • 信号完整性:在高速信号传输中,电压摆幅和电流能力需要满足一定的要求,以保证信号的完整性。

应用场景

在嵌入式开发中,电压和电流的概念广泛应用于:

  • 电源管理:设计电源电路,确保系统各部分获得合适的电压和电流。

  • 电路设计:选择合适的电压和电流规格,以满足电路的性能和功耗要求。

  • 故障诊断:通过测量电压和电流,诊断电路中的故障。

  • 安全保护:设计过压、过流保护电路,防止系统损坏。

总之,在嵌入式开发中,电压和电流是设计和分析电路的基础,对于确保系统的稳定性和可靠性至关重要。

 二、单片机概述

单片机(Single Chip Microcomputer)

单片机是一种集成电路,它集成了处理器核心CPU、内存、输入/输出(I/O)端口、串行通讯接口、定时器、模拟/数字转换器(ADC/DAC)等多种功能。单片机通常用于控制应用,能够执行简单的程序来管理设备的操作。它们可以是通用的,也可以是为特定应用定制的。也叫(Micro Controller Unit )MCU。

嵌入式系统(Embedded System)

嵌入式系统是一种专用计算机系统,它作为更大的设备或系统的一个组成部分,通常用于控制设备的操作。嵌入式系统可能包含一个或多个微处理器或微控制器,以及为特定任务设计的硬件和软件。嵌入式系统的关键特性包括:

  • 专用性:为特定的控制功能或应用而设计。

  • 实时性:能够保证在严格定义的时间范围内响应。

  • 资源受限:在处理能力、内存和能源方面有限制。

  • 可靠性和稳定性:需要在恶劣环境下可靠运行。

  • 体积小:通常嵌入在所控制的设备内部。

单片机和嵌入式系统的区别

虽然所有的单片机都可以被认为是嵌入式系统,但并非所有的嵌入式系统都是单片机。区别主要体现在:

  1. 复杂性:嵌入式系统可能比单片机更复杂,因为它们可能包含多个处理器和复杂的外围设备。

  2. 集成度:单片机具有高度集成的特性,而嵌入式系统可能由多个组件构成,这些组件之间通过各种接口(如I2C、SPI等)连接。

  3. 应用范围:嵌入式系统的应用范围更广,它们可以用于汽车、家用电器、工业控制等多种场合,而单片机通常用于较为简单的控制应用。

  4. 软件和硬件:嵌入式系统的软件和硬件通常更定制化,以适应特定的应用需求,而单片机可能运行更通用的程序。

  5. 开发环境:嵌入式系统的开发可能需要考虑更多的因素,如功耗、散热、实时性能等,而单片机开发可能更侧重于程序设计和逻辑控制。

总结来说,STM32作为一种单片机,可以视为一种特殊的嵌入式系统,它集成了多种功能,适用于广泛的嵌入式应用。在实际使用中,选择STM32还是其他类型的嵌入式系统,取决于具体的应用需求、性能要求和成本考虑。

 常见MCU

    三、单片机控制原理

单片机(通常称为微控制器或微处理器)控制原理涉及到硬件和软件的协同工作,以实现对电子设备的控制。单片机控制原理可以概括为以下几个关键步骤:

  1. 输入信号采集

    • 单片机通过其输入/输出(I/O)端口采集外部信号,如传感器数据、按钮状态、开关信号等。

  2. 信号处理

    • 采集到的信号可能需要通过模拟/数字转换器(ADC)转换为数字信号,以便单片机处理。

    • 单片机内部的处理器对数字信号进行处理,如计算、逻辑判断、数据转换等。

  3. 决策制定

    • 根据处理后的信号,单片机运行预先编写的程序(固件)来制定控制策略。

    • 程序中可能包含一系列的条件判断、循环和分支,以实现复杂的控制逻辑。

  4. 输出控制

    • 单片机根据决策结果通过I/O端口控制外部设备,如驱动电机、点亮LED、发送通信信号等。

    • 输出控制可能涉及到数字信号的直接输出,或者通过驱动电路来控制更高功率的设备。

  5. 通信与协调

    • 单片机可能需要与其他设备进行通信,如通过串行通信(UART)、I2C、SPI等协议与其他单片机或模块交换数据。

    • 在多设备系统中,单片机还可能需要协调不同设备之间的工作,实现同步控制。

  6. 中断处理

    • 单片机通常具有中断机制,能够响应外部或内部事件(如定时器溢出),快速改变程序执行流程以处理紧急任务。

    • 中断可以使单片机及时响应外部变化,提高系统的实时性。

  7. 电源管理

    • 单片机可能需要管理其电源使用,包括节能模式的切换、电源故障检测等,以提高系统的可靠性和效率。

  8. 程序存储与执行

    • 控制程序通常存储在单片机的只读存储器(ROM)、闪存(Flash Memory)或其他非易失性存储器中。

    • 单片机的处理器从存储器中取出指令,解码后执行,实现对系统的控制。

单片机控制系统的设计和实现需要考虑系统的整体需求,包括处理能力、内存大小、I/O端口数量和类型、通信接口、电源要求等。开发者需要根据应用场景选择合适的单片机型号,并编写相应的控制程序来实现所需功能。

高低电平

在电子学和数字电路中,高电平和低电平是用来表示二进制数的两种状态。它们是数字信号的两个基本电位(bit)状态,通常对应于逻辑“1”和逻辑“0”。

高电平(High Level)

  • 高电平通常是指电路或系统中的正逻辑电平,它表示逻辑“1”。

  • 在不同的电路系统中,高电平的具体电压值可能不同。例如,在TTL(晶体管-晶体管逻辑)电路中,高电平可能定义为+5V,而在CMOS(互补金属氧化物半导体)电路中,高电平可能接近电源电压,如+3.3V或+5V。

  • 高电平可以用于表示设备开启、激活或“真”状态。

低电平(Low Level)

  • 低电平通常是指电路或系统中的负逻辑电平,它表示逻辑“0”。

  • 同样,低电平的具体电压值取决于电路类型和设计。在TTL电路中,低电平可能定义为0V,而在CMOS电路中,低电平可能接近地线电压,如0V或-0.3V。

  • 低电平可以用于表示设备关闭、停用或“假”状态。

应用

高低电平在数字电路设计中非常重要,它们用于:

  1. 数据表示:在数字系统中,高低电平用来表示数据位。

  2. 逻辑运算:在逻辑门电路中,高低电平通过逻辑运算产生新的输出电平。

  3. 信号传输:在通信系统中,高低电平用于数据传输,如RS-232、RS-485等接口。

  4. 控制信号:在控制系统中,高低电平用作控制信号,如启动、停止等。

注意事项

  • 噪声抗扰:在实际应用中,高低电平的选择需要考虑噪声抗扰能力,以确保信号的准确性。

  • 电平转换:在模拟信号和数字信号之间转换时,需要使用电平转换器(如ADC和DAC)。

  • 电压兼容性:不同设备或模块之间连接时,需要注意高低电平的电压兼容性,以避免损坏设备。

理解高低电平的概念对于设计和分析电子电路至关重要,它们是数字电子学的基础。

相关文章:

嵌入式学习前要了解的基础知识

一、电压和电流 在嵌入式开发中,电压和电流是两个基本的电气概念,对于理解和设计电子电路至关重要。它们直接影响到嵌入式系统的性能、功耗、可靠性和安全性。 电压(Voltage) 电压是电场力推动电荷移动的能力,通常以…...

RTC、直播、点播技术对比|腾讯云/即构/声网如何选型 — 2025 版

前言 作为一个有多年实战经验的开发者,在音视频技术领域我深刻体会到 RTC(实时通信)、直播和点播三者的不同。虽然它们的核心都涉及音视频内容的传输,但在实际应用中,它们的技术实现、使用场景以及所面临的挑战各不相…...

《白帽子讲 Web 安全》之文件操作安全

目录 引言 (一)文件上传与下载漏洞概述 1.文件上传的常见安全隐患 1.1前端校验的脆弱性与服务端脚本执行危机在文件上传流程中,部分开发者可能会在前端使用 JavaScript 代码对文件后缀名进行简单校验,试图以此阻止非法文件上传…...

yolov8训练模型、测试视频

yolov8先训练生成best.pt文件,用这个生成的模型进行视频的测试 因为本来用的代码生成的测试视频打不开,格式应该是损坏了,或者部分帧没有正常保存吧。 修改了一下代码,现状可以正常打开生成的视频了。 1、训练代码train.py im…...

03.网络编程套接字(二)

文章目录 简单的TCP网络程序 服务端创建套接字 服务端绑定 服务端监听 服务端获取连接 服务端处理请求 客户端创建套接字 客户端发起请求 服务器测试 单执行流服务器的弊端 多进程版的TCP网络程序 线程池版的TCP网络程序 简单的TCP网络程序 服务端创建套接字 我…...

一周学会Flask3 Python Web开发-Flask3之表单处理WTForms安装与定义WTForms表单类

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 我们平时开发项目,都会用到表单,编写表单,提交表单,验证表单,如果…...

Git基本命令索引

GIT基本命令索引 创建代码库修改和提交代码日志管理远程操作操作分支 创建代码库 操作指令初始化仓库git init克隆远程仓库git clone 修改和提交代码 操作指令查看文件状态git status文件暂存git add文件比较git diff文件提交git commit回滚版本git reset重命名或者移动工作…...

【论文阅读笔记】SL-YOLO(2025/1/13) | 小目标检测 | HEPAN、C2fDCB轻量化模块

目录 摘要 1 引言 2 相关工作 3 方法 3.1 为小目标检测增加一个头 3.2 优化网络结构 3.3 改进轻量化模块 3.3.1 C2fDCB 3.3.2 SCDown 4 实验 4.1 数据集 4.2 实验环境 4.3 与其他模型的比较 4.4 消融研究 ▲不同网络结构的分析 ▲不同模块的分析 ▲不同降采样…...

MySQL SQL 优化专题

MySQL SQL 优化专题 1. 插入数据优化 -- 普通插入(不推荐) INSERT INTO tb_user VALUES(1,tom); INSERT INTO tb_user VALUES(2,cat); INSERT INTO tb_user VALUES(3,jerry);-- 优化方案1:批量插入(推荐,不建议超过1…...

Mac上安装Pycharm

说明:仅供参考,是自己的安装流程,以免以后自己想不起来来看看的笔记 官网地址:https://www.jetbrains.com/pycharm/ 1、点击Download,跳转到下一个页面 2、MAC,选择Mac OS,在Pycharm Professio…...

flask框架基础入门学习教程

文章目录 前言1. 环境搭建1.1Python安装1.2选择Python开发环境1.3 创建虚拟环境(可选但推荐)1.4 安装 Flask 2. 第一个 Flask 应用3. 路由和视图函数3.1 基本路由3.2 动态路由3.3 路由参数类型 4. 请求和响应4.1 获取请求数据4.2 响应对象 5. 模板渲染6.…...

Qt显示一个hello world

一、显示思路 思路一:通过图形化方式,界面上创建出一个控件显示。 思路二:通过编写C代码在界面上创建控件显示。 二、思路一实现 点开 Froms 的 widget.ui,拖拽 label 控件,显示 hello world 即可。 qmake 基于 .…...

MySQL快速搭建主从复制

一、基于位点的主从复制部署流程 确定主库Binlog是否开启修改主从server_id主库导出数据从库导入数据确定主库备份时的位点在从库配置主库信息查看复制状态并测试数据是否同步 二、准备阶段(主库和从库配置都需要修改) 1、确定主库Binlog是否开启 2、修改主从se…...

力扣-动态规划-674 最长连续递增序列

思路 dp数组定义&#xff1a;以i为结尾的最长连续递增序列递推公式&#xff1a; if(nums[i-1] < nums[i]) dp[i] dp[i-1] 1; dp数组初始化&#xff1a;都为1遍历顺序&#xff1a;顺序时间复杂度&#xff1a; 代码 class Solution { public:int findLengthOfLCIS(v…...

在笔记本电脑上用DeepSeek搭建个人知识库

最近DeepSeek爆火&#xff0c;试用DeepSeek的企业和个人越来越多。最常见的应用场景就是知识库和知识问答。所以本人也试用了一下&#xff0c;在笔记本电脑上部署DeepSeek并使用开源工具搭建一套知识库&#xff0c;实现完全在本地环境下使用本地文档搭建个人知识库。操作过程共…...

leetcode 94. 二叉树的中序遍历

题目如下 做了那么多道难题&#xff0c;给自己放放松。通过代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int …...

YOLOv12:目标检测新时代的破局者

目录 一、YOLOv12 横空出世二、YOLOv12 的性能飞跃2.1 多规模优势2.2 对比超越 三、技术创新与原理剖析3.1 区域注意力模块&#xff08;Area Attention&#xff0c;A2&#xff09;3.2 残差高效层聚合网络&#xff08;R-ELAN&#xff09;3.3 架构优化细节 四、实验验证与结果分析…...

基于OFDR的层压陆相页岩油储层中非对称裂缝群传播的分布式光纤监测

关键词&#xff1a;OFDR、分布式光纤传感、裂缝传播 一. 概述 四川盆地凉高山组优质页岩油储层存在复杂的垂直重叠岩性&#xff0c;大陆页岩油储层存在发育层理&#xff0c;薄层和天然裂缝&#xff0c;对水平井多级压裂技术的裂缝网络形态控制和监测构成挑战。本研究提出了一…...

Linux虚拟机网络配置-桥接网络配置

简介 本文档旨在指导用户如何在虚拟环境中配置Linux系统的桥接网络&#xff0c;以实现虚拟机与物理主机以及外部网络的直接通信。桥接网络允许虚拟机如同一台独立的物理机一样直接连接到物理网络&#xff0c;从而可以被分配一个独立的IP地址&#xff0c;并能够与网络中的其他设…...

软开经验总结

文章目录 软开经验总结一、二次开发时候操作步骤二、logger的作用&#xff01;&#xff01;&#xff01;三、git使用 软开经验总结 一、二次开发时候操作步骤 改 SDK 和 language level改 maven 配置改数据库 注意Mysql 版本 差别是否过大&#xff01;&#xff01;&#xff0…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

vue3 daterange正则踩坑

<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域&#xff0c;专业机构的核心价值不仅在于减轻债务数字&#xff0c;更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明&#xff0c;合法债务优化需同步实现三重平衡&#xff1a; 法律刚性&#xff08;债…...

【若依】框架项目部署笔记

参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作&#xff1a; 压缩包下载&#xff1a;http://download.redis.io/releases 1. 上传压缩包&#xff0c;并进入压缩包所在目录&#xff0c;解压到目标…...

在Zenodo下载文件 用到googlecolab googledrive

方法&#xff1a;Figshare/Zenodo上的数据/文件下载不下来&#xff1f;尝试利用Google Colab &#xff1a;https://zhuanlan.zhihu.com/p/1898503078782674027 参考&#xff1a; 通过Colab&谷歌云下载Figshare数据&#xff0c;超级实用&#xff01;&#xff01;&#xff0…...

Python的__call__ 方法

在 Python 中&#xff0c;__call__ 是一个特殊的魔术方法&#xff08;magic method&#xff09;&#xff0c;它允许一个类的实例像函数一样被调用。当你在一个对象后面加上 () 并执行时&#xff08;例如 obj()&#xff09;&#xff0c;Python 会自动调用该对象的 __call__ 方法…...

Linux操作系统共享Windows操作系统的文件

目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项&#xff0c;设置文件夹共享为总是启用&#xff0c;点击添加&#xff0c;可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download&#xff08;这是我共享的文件夹&#xff09;&…...

Qwen系列之Qwen3解读:最强开源模型的细节拆解

文章目录 1.1分钟快览2.模型架构2.1.Dense模型2.2.MoE模型 3.预训练阶段3.1.数据3.2.训练3.3.评估 4.后训练阶段S1: 长链思维冷启动S2: 推理强化学习S3: 思考模式融合S4: 通用强化学习 5.全家桶中的小模型训练评估评估数据集评估细节评估效果弱智评估和民间Arena 分析展望 如果…...