【硬件】通俗易懂的讲解晶体管(三极管和MOS管)的工作原理

晶体管是一个简单的元器件,可用于构建许多有趣的项目。在本文中,我将用通俗易懂的语言给您讲解晶体管的工作原理,以便您可以在电路设计中更好的使用静态管。一旦你学习这些基础知识,对以后的设计和使用来说,将会变得非常容易。

我们将重点介绍两种最常见的晶体管: 双极型晶体管(三极管)和MOSFET。
晶体管的工作原理其实是类似于电子开关。它可以打开和关闭电路。一个简单的思考方法是将晶体管视为无源的继电器。晶体管类似于继电器,从某种意义上说,您可以使用它来打开和关闭某些东西。 但晶体管也可以部分导通,一般在放大电路中使用,这部分内容不是本文讲解的重点。

三极管的工作原理 (BJT)

让我们从经典的NPN三极管开始。它是一个双极结晶体管(BJT),有三条腿,分别是: 基极 (b) 集电极 (c) 发射极 (e)

11a0b94b2fd96a3adda0300e6f5bbcbb.jpeg


三极管处于打开状态时,电流可以从集电极流过三极管到发射器。当它关闭时,没有电流可以流动。 在下面的示例电路中,晶体管是OFF的。这意味着没有电流可以流过它,因此发光二极管(LED)也关闭了。 要打开三极管管,基极和发射极之间需要大约0.7V的电压。 如果你有一个0.7V的电池,你可以把它连接到基极和发射极之间,三极管就会打开。 由于我们大多数人都没有0.7V电池,我们如何打开三极管? 很简单!三极管的基极至发射极部分的工作方式类似于二极管。二极管具有正向电压,它从可用电压中获取到该正向电压。如果串联添加一个电阻器,则电阻上的其余部分电压会下降。

因此,通过添加电阻,您将自动获得约0.7V的电压。

这其实与用于串联电阻限制通过LED的电流以确保LED不损坏的原理相同。

如果还添加一个按钮,则可以使用按钮控制晶体管,从而控制LED的ON和OFF。


01、选择元件的值


要选择元件值,您还需要了解三极管的工作原理: 当电流从基极流向发射极时,三极管导通,以便更大的电流可以从集电极流向发射极。

相关推荐

深入浅出TinyML 25:一个.tflite模型文件内部保存了什么?

<think>我们根据要求生成≤150字的文章摘要。内容核心:.tflite是FlatBuffer二进制,保存结构描述而非可执行代码;运行时解析并调用算子内核;模型文件与固件需兼容;检查构建门禁。摘要需简洁。</think>.tflite是FlatBuffer二进制模型,保存计算图、张量、算子、权重及量化参数,而非可执行代码。运行时解析结构并调用固件算子内核,需确保Schema版本与算子集合兼容。部署前应自动检查输入输出契约、算子类型、量化参数和模型哈希,作为构建门禁。理解Model

357

深入浅出TinyML 24:剪枝、聚类、蒸馏和算子替换是否真正适合MCU?

<think>我们只需要根据给定内容生成摘要,不超过150字。内容主要讲剪枝、聚类、蒸馏、算子替换在MCU部署中的实际收益取决于目标链支持,强调以Flash/RAM/延迟/能量等统一指标验收。需简洁概括核心观点。</think>剪枝、聚类、蒸馏和算子替换须经目标部署链才能转化为MCU收益。非结构化剪枝需稀疏内核支持;聚类常只优化压缩文件;蒸馏与算子替换更易直接减小模型结构。应用Flash、RAM、推理时间、能量和效果统一验收,压缩率仅为中间指标,避免误判。

388

深入浅出TinyML 23:代表性数据集和量化感知训练分别解决什么问题?

训练后量化需要一批代表性样本估计中间激活范围。样本只覆盖安静、正常或单一设备时,现场极端输入可能大量饱和。代表性数据集解决范围校准,无法自动修复模型对量化噪声敏感的问题。量化感知训练在训练过程中模拟量化,让权重适应整数误差。它增加训练复杂度,应在PTQ结果经过误差定位后再使用。PTQ在训练完成后选择整数尺度。代表性数据不需要标签,但必须像部署输入一样经过相同预处理并覆盖真实工况。图1:PTQ优先,量化误差超出目标时再进入QAT。

158

深入浅出TinyML 22:Scale、Zero Point和Per-Channel量化如何工作?

INT8只有256个整数码,模型需要用Scale说明相邻整数代表多大实数间隔,用Zero Point说明实数0对应哪个整数码。量化与反量化都依赖这两个参数。权重的不同输出通道可能具有不同数值范围。Per-Channel量化为每个通道设置独立Scale,通常能减少大范围通道对小范围通道的精度挤压。scale表示相邻整数码之间隔多远,zero point表示实数0落在哪个整数码。

184

深入浅出TinyML 21:INT8量化改变了模型中的哪些数据?

把模型文件标记为INT8并不能证明整个推理链都在执行整数计算。权重、输入、输出和中间激活可能采用不同数据类型,某些量化方式仍需要浮点输入或浮点内核。MCU部署最常关注全整数量化:权重和激活使用整数表示,输入输出也具有明确Scale与Zero Point。是否获得速度收益还取决于运行时和目标处理器的优化内核。INT8用-128到127共256个整数格子近似一段浮点范围。模型仍在做同类数学运算,但数值表示和内核发生改变。图1:全整数量化涉及输入、权重、中间激活和输出映射。

320

深入浅出TinyML 20:如何在准确率、延迟、内存和功耗之间选择模型?

TinyML模型很少在所有指标上同时最好。更深网络可能提高少量识别效果,却让Arena、推理时间和能量超过系统预算。模型选择应先淘汰不满足硬约束的方案,再比较剩余候选的业务收益。Pareto前沿提供一种清晰方法:当一个模型在效果不低于另一个模型的同时占用更少资源,后者就没有继续保留的理由。模型选择没有单一最高分。先淘汰超过Flash、RAM或截止时间的方案,再在合格方案中比较效果和余量。

235

深入浅出TinyML 19:一维卷积和深度可分离卷积为什么适合时间序列?

振动、动作、电流和声音都包含局部时间模式。相同冲击或周期片段可能出现在窗口不同位置,一维卷积使用同一组卷积核沿时间移动,能够复用参数提取这些局部特征。深度可分离卷积进一步把时间滤波与通道组合拆开。在输入输出通道较多时,它能够显著减少参数和MACC,但真实速度仍取决于MCU优化内核。卷积核像一个短模板,沿时间轴滑动寻找局部模式。同一个模板在每个位置重复使用,因此参数不随窗口长度增长。图1:深度可分离卷积将时间滤波和通道混合拆成两个阶段。

237

深入浅出TinyML 18:全连接网络适合解决哪些TinyML问题?

24维时域或频带特征连接16个隐藏单元,只需要24×16+16=400个参数;再连接5类输出需要16×5+5=85个参数。这样的小网络便于训练、转换和调试。若把100×6原始窗口展平为600维再连接128个单元,第一层已有600×128+128=76928个参数,还丢失了模型利用局部共享的机会。窗口加长会继续线性增加参数。Dense也是比较基线。它效果不足时,通过错误分析判断缺少时序局部模式、频率信息还是数据覆盖,再选择卷积或新特征。直接从复杂网络开始会失去一个可解释参照。

237

深入浅出TinyML 17:参数量、模型大小、MACC和激活内存有什么区别?

参数少的模型可能计算很多次,模型文件小的模型也可能产生很大的中间激活。把参数量、模型大小、MACC和激活内存混为一谈,会在部署阶段遇到Flash够用但RAM不足,或模型很小但推理超时的情况。这四个指标需要分别计算,再与最终固件和目标MCU实测对应。静态分析帮助筛选候选模型,链接报告与板端测试负责最终验收。参数是训练后保存的权重,激活是推理过程中产生的中间结果。前者多影响Flash,后者多影响运行时RAM。图1:参数量、模型文件、MACC和激活内存对应不同资源问题。

226

深入浅出TinyML 16:FFT、频带能量和MFCC分别适合什么任务?

FFT把时间序列转换为频率分量,适合识别周期、谐波和频带能量变化。MFCC在频谱基础上压缩出更接近听觉尺度的表示,常用于关键词和设备声音。频域方法依赖窗口长度、采样率、窗函数和幅值标定。频谱图清晰并不自动带来更好模型,仍要用独立数据和目标MCU验证。FFT是一种快速计算离散傅里叶变换的方法。它把时间序列换成各个频率分量的幅度和相位。图1:FFT、频带能量与MFCC位于同一频域处理链的不同阶段。

258

深入浅出TinyML 15:时域特征能够描述信号的哪些属性?

时域特征把一段波形压缩成少量数字。均值描述基线,RMS描述总体能量,峰峰值描述幅度范围,峭度对尖锐冲击更敏感。特征名称熟悉并不代表它一定适合当前任务。有效特征应在类别之间形成稳定差异,并在设备、温度和时间变化下保持可重复。计算量、数值稳定性和PC/MCU一致性也要进入选择。时域特征直接在采样值上计算,不需要FFT。它们适合幅值、能量、冲击和通道关系能够区分类别的任务。

315

深入浅出TinyML 14:归一化、标准化和滤波为什么必须保持一致?

模型在PC上输出正确、移植到MCU后类别混乱,最常见的根因之一是预处理不一致。缩放系数、均值方差、滤波状态、通道顺序或量化公式只要有一项不同,模型接收的张量就发生了变化。解决方法是把预处理视为模型的一部分,使用版本化参数和黄金样本,从原始数据开始逐级比较PC与MCU中间结果。模型输入前的每一步数学变换都属于模型接口。训练时减了均值,固件也必须减同一个均值。图1:PC与MCU预处理一致性应按处理阶段逐级验证。

631

深入浅出TinyML 13:原始波形和人工特征应该如何选择?

原始波形把特征学习交给模型,能够保留完整局部形状;人工特征先压缩数据,常能用更小模型完成任务。两种方案的优劣取决于数据规模、任务复杂度和MCU预算。选择输入形式时,应把预处理计算也计入系统成本。一个很小的特征模型,如果每个窗口需要昂贵FFT和大量浮点统计,整体资源未必更低。特征是从一段波形计算出的摘要,例如均值、RMS或某个频带的能量。模型可以接收波形,也可以接收这些摘要。

385

深入浅出TinyML 12:如何划分数据集并正确评价模型?

时间序列切窗后,相邻样本高度相似。把所有窗口随机打散,训练集与测试集可能来自同一设备、同一次采集甚至共享大部分数据,测试准确率会明显高估现场效果。可靠评价从划分单位开始。测试集应模拟真正的部署变化,例如新设备、新人员、新时间段或新工况;指标则根据误报与漏报成本选择。训练集用于学习,验证集用于选参数,测试集只用于最终评价。三者共享同一设备或同一连续片段时,测试结论会过于乐观。图1:时间序列项目应优先使用会话、设备或人员级分组划分。

201

深入浅出TinyML 11:标签应该如何定义和检查?

标签把传感器数据连接到业务目标。标签名称相同,并不保证标注者理解相同;“异常晃动”如果没有幅值、持续时间或现场条件说明,会在数据集中形成互相冲突的样本。标签规范应先于大规模采集完成。规范不仅列出类别名称,还要定义开始与结束、过渡段处理、未知状态、证据来源和版本。标签是模型要学习的答案。答案本身含糊时,网络只能拟合标注矛盾,增加层数不会解决定义问题。

414

深入浅出TinyML 10:窗口长度、步长和重叠率如何确定?

窗口太短可能截断一个完整事件,窗口太长会增加输入尺寸并把多个状态混在一起。步长决定多久产生一次新判断,重叠率则决定相邻样本共享多少数据。这三个参数应通过事件时间尺度、业务响应要求和MCU资源共同确定。只按模型准确率选窗口,容易得到延迟过长或推理频率过高的系统。窗口长度决定模型一次能看多长时间,步长决定多久给出一次新判断。两个参数共同决定体验和资源。

247

深入浅出TinyML 09:连续传感器数据如何变成模型样本?

传感器持续输出数据,神经网络通常要求固定形状的输入张量。工程中的关键工作是从连续流中截取时间窗口,同时保持采样间隔、通道顺序和标签时间范围一致。数据点、数据帧、样本和批次代表不同层级。混淆这些概念会造成样本数量计算错误、通道错位或训练与MCU输入形状不一致。连续传感器流没有天然的第1个样本和第2个样本。切窗规则负责把时间流转换成模型能够接收的固定形状。图1:采样点、数据帧、时间窗口和输入张量的层级关系。

398

深入浅出TinyML 08:噪声、漂移、毛刺和校准应该如何处理?

噪声、漂移和毛刺在波形上都可能表现为“数据不稳定”,处理方法却不同。低通滤波能抑制高频噪声,无法纠正缓慢零偏;减去均值可以修正偏置,却可能删除任务需要的直流成分。数据清洗的目标是修复采集链路问题,同时保留真实异常。若冲击正是待识别事件,把所有尖峰当作毛刺删除,会直接破坏标签与输入之间的关系。本篇先处理最常见的四类数据异常。每种问题的来源和处理不同,不能用一个低通滤波器包办。图1:噪声、漂移、周期干扰与真实事件的时间尺度不同。

210

深入浅出TinyML 07:采样频率如何决定模型能够看到什么?

采样频率定义了相邻数据点的时间间隔,也限制了可区分的最高频率。目标振动成分超过奈奎斯特频率时会折叠到低频,模型看到的是混叠后的伪信号。提高采样率会增加窗口点数、存储、预处理和推理负载。合理采样率应覆盖任务频段、给抗混叠滤波留出过渡带,并与模型输入和实时预算一起确定。只要会看正弦波即可完成本篇实验。频率表示每秒重复次数,采样率表示每秒记录多少个点。

251

深入浅出TinyML 06:传感器和采样链路如何决定数据上限?

模型只能处理已经进入数字数据的信息。传感器饱和后被截掉的峰值、带宽不足时被滤除的高频成分,以及安装松动造成的随机响应,都无法通过增加网络层数恢复。传感器选型应与任务频段、动态范围和现场安装共同评估。规格表提供边界,实采数据验证这些边界在目标设备上是否成立。传感器输出的数字不是物理量本身。先学会读量程和灵敏度,才能知道模型输入代表多少g、多少度每秒或多少伏。

203

深入浅出TinyML 05:TinyML模型实际识别的是什么?

模型无法直接接触振动、声音或动作。它接收的是传感器经过量程、带宽、采样、量化和预处理后形成的一组数字。模型学到的模式也只在这条数据链路定义的范围内成立。同一设备状态换一个安装位置、传感器批次或采样时钟后,数字分布可能改变。理解物理世界到输入张量的转换过程,是数据采集、模型解释和现场失效分析的共同起点。模型没有眼睛和耳朵。它只能处理按固定形状排列的数字,因此本篇从一帧数字怎样形成开始。图1:从物理现象到模型输入张量的四级数据链路。

327

深入浅出TinyML 04:如何判断一个项目是否适合使用TinyML?

摘要: TinyML项目常因输入不稳定、标签不一致或误报成本不可接受而失败。文章提出将可行性评审前移,在数据采集和训练前识别硬性阻断项(数据、标签、资源、风险、维护),通过四类检查(输入稳定性、输出量化、MCU资源、维护闭环)评估项目可行性。评审结果分为继续、试点或停止,避免无效投入。重点包括:确保传感器数据可重复区分、量化错误成本与业务指标、验证MCU资源约束、建立维护机制。提供评审脚本模板,强调硬性门槛优先,未知项必须明确标注,确保决策基于可验证证据而非盲目调参。最终目标是将模糊需求转化为可执行任务,减

236

深入浅出TinyML 03:TinyML、传统算法、边缘AI和云端AI如何分工?

技术选型应从问题和约束开始。稳定阈值能够解决的问题,使用状态机更容易验证;需要从多通道时间序列识别复杂模式时,TinyML能够在本地完成低延迟判断;大规模融合、全局优化和复杂生成任务更适合边缘服务器或云端。同一系统可以同时使用四类方法。关键是明确每一层接收什么数据、输出什么结论、失败时由谁接管,以及通信中断后系统是否仍能保持安全状态。本篇不要求你在四种方案中只选一个。工程系统经常把它们串成一条从保护到分析的决策链。图1:传统规则、TinyML、边缘节点与云端的分层协作。

391

深入浅出TinyML 02:MCU运行神经网络与运行普通C算法有什么不同?

本文对比了传统C算法与神经网络在MCU实现上的核心差异。神经网络将主要计算逻辑存储在模型图中,通过运行时解析计算图并调用内核完成推理,这带来了调试方法、内存管理和版本控制的新挑战。文章详细介绍了如何通过逐层检查张量、权重和中间结果进行调试,并提供了一个手工执行两层神经网络的Python示例,帮助理解神经网络作为数组运算的本质。最后强调在安全关键系统中,应将神经网络输出与传统确定性规则相结合,并保持模型与类别索引表的版本一致性。

227

深入浅出TinyML 01:TinyML到底小在哪里?

一个只有几十 KB 的模型,放进 MCU 工程后可能需要更多 Flash;运行时还会申请 Tensor Arena、输入缓冲区和算子工作区。只报模型文件大小,无法回答它能否稳定运行。TinyML 中的“小”是一组同时成立的约束:程序放得下、峰值内存不越界、推理在截止时间前结束、平均能量满足供电条件,并且硬件成本能够接受。本文给出一张可以直接用于项目评审的资源账单。只需要知道Flash用于掉电保存、RAM用于运行时读写即可。文中的参数量、MACC和张量会从零解释。

348

单片机为什么能够运行神经网络?从 C 函数理解 AI推理

《嵌入式AI:单片机如何运行神经网络》摘要 本文揭示了单片机(MCU)运行神经网络的核心原理:将训练好的神经网络转化为固定数值计算流程。关键要点包括: 神经网络在MCU上表现为确定的C函数,输入输出均为数组,通过固定计算流程处理数据。 权重和偏置本质上是常量数组,模型推理就是按既定顺序执行乘加运算。 输入输出需严格遵循训练时的格式约束,包括长度、顺序和数值范围。 MCU部署受限于三大因素:Flash存储参数、RAM存放中间结果、算子支持情况。 工程实现需关注数据链路完整性和可靠性,而非单纯追求模型复杂度。

517

嵌入式工程师要不要学AI?为什么我建议从TinyML开始?

这里是《贺老师讲嵌入式AI》,我是《嵌入式AI:让单片机学会思考》课程主理人,专注AI在MCU上的落地实践。嵌入式工程师要不要学AI?这个问题不应该被理解成“嵌入式工程师要不要转去做算法”。真正的问题是:设备现场越来越多判断,已经很难只靠固定阈值和几条 if-else 覆盖。嵌入式工程师要补的不是身份标签,而是让设备看懂复杂信号的能力。我建议从 TinyML 开始,是因为它足够小,也足够真实。

297

不会AI的嵌入式工程师,手把手教你系统跑通第一个STM32 AI模型(多图预警,建议收藏备用)

本文详细介绍了在STM32F407VET6单片机上部署TFLite正弦波模型的完整流程。通过STM32CubeMX/IDE配置GPIO、USART1和X-CUBE-AI组件,解析量化模型的输入输出参数(scale=0.02457/zero_point=-128),使用周期调度实现每20ms推理一次。重点包括:模型量化处理(输入/输出int8转换)、内存缓冲区管理、16位串口协议设计(帧头0x7E+4路16位数据+帧尾0x7F)以及误差分析。最终通过串口将理论值、推理值和误差传输到上位机显示,验证了嵌入式AI

725

“我们老板说了,嵌入式AI就是在单片机上运行神经网络算法,没啥难度!”用这4条信息反驳他!

大家好,我是贺老师,嵌入式 AI工程师,《嵌入式AI:让单片机学会思考》课程主理人,专注AI在MCU上的落地实践。前几天有个学员来问我,说自己想系统学一下嵌入式 AI,准备回公司问问老板能不能报销。结果老板回了一句:“嵌入式AI就是在单片机上运行神经网络算法,没啥难度。出于PUA员工的目的,这种“把事情想的很简单”的话,一般会出自老板的口中。不过,【嵌入式AI就是在单片机上运行神经网络算法】这句话很适合拿出来聊一聊。

278

嵌入式AI的常见问题解答:STM32Cube_AI全流程开发60问完整资料包

大家好,我是贺老师,嵌入式 AI工程师,《嵌入式AI:让单片机学会思考》课程主理人,专注AI在MCU上的落地实践。最近根据课程中大家私信我的问题,系统的整理了一份关于STM32Cube AI 开发流程的系统资料,名字叫:《STM32Cube AI全流程开发60问》……这份资料围绕 STM32Cube.AI 的实际使用过程展开,从基础概念、环境搭建、模型准备,到代码生成、部署优化、典型应用等内容,尽量用问答和专题讲解的方式,把嵌入式 AI 落地过程中常见的问题串起来。

349
上一篇: 【硬件】16种实用的将5V输出连接到3.3V输入的方法
下一篇: 5分钟解读STM32最小系统那些事
端侧AI贺老师
端侧AI贺老师 济南行远智能科技有限公司 济南行远智能科技有限公司
博客等级 码龄17年 783粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值