
嵌入式开发
文章平均质量分 77
芯片,总线,外设的学习
物随心转
子曰:“学而时习之,不亦说乎?”
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络处理器芯片
通过网络处理器专用的指令集或高级语言(如P4),开发者可以编写微码或程序来定义数据包的处理行为,从而快速适应新的网络协议(如从IPv4到IPv6)或部署新的网络功能,而无需更换硬件。但处理海量、简单的网络数据包(检查包头、查询路由表、转发)时,像是用一位“大学教授”去干“分拣快递”的活,大材小用,效率低下,速度成为瓶颈。它在数据洪流中,依靠其并行、可编程、硬件加速的三大法宝,智能、快速、准确地引导每一个数据包去往它该去的地方,是支撑起当今互联网海量数据交换的基石技术。原创 2025-09-26 08:36:09 · 304 阅读 · 0 评论 -
ASIC的作用
芯片类型比喻特点适用场景CPU(通用处理器)万能瑞士军刀非常灵活,什么都能做,但效率不高个人电脑、服务器(处理复杂多变任务)GPU(图形处理器)巨型画笔工厂擅长并行处理大量简单任务图形渲染、科学计算、AI训练FPGA(现场可编程门阵列)乐高积木硬件可重构,非常灵活,开发周期短原型验证、小批量设备、需要硬件升级的场合ASIC(专用集成电路)特制超级钥匙性能最强、效率最高,但功能固化、前期成本极高需求固定、大规模量产的产品(如手机、矿机)一个常见的流程是。原创 2025-09-25 11:57:31 · 418 阅读 · 0 评论 -
微动开关的作用
接触可靠:瞬动结构使得触点通断非常迅速、干脆,接触电阻小,可靠性高。寿命长:通常有数十万次到上百万次的机械寿命,因为它能快速灭弧,减少对触点的烧蚀。体积小,驱动力小:只需一个很小的行程和力度即可触发,适合空间有限和需要精密控制的场合。成本低廉:技术成熟,制造成本低。总而言之,微动开关是一个极其重要的“机械-电信号转换器”和“检测卫士”。它将物理世界的“有”或“无”、“开”或“关”、“到”或“未到”这种状态,精准地转化为电子世界能理解的“通”或“断”信号。原创 2025-09-25 11:46:10 · 229 阅读 · 0 评论 -
拨码开关(DIP Switch)的作用
尽管在现代智能设备中,许多功能已被软件菜单取代,但在强调可靠性、简单性和隔离性的工业、通信及嵌入式领域,拨码开关依然是最经济、最可靠的选择之一。每个拨码开关的“ON”和“OFF”状态,对应着电路中的一个高电平(通常是VCC)或低电平(GND)。在产品出厂或用户需要改变设备行为时,通过拨动不同的开关组合,来设定设备的工作模式、地址、参数等。* 类比:就像老式的收音机,背后可能有几个开关来选择波段(AM/FM)或灵敏度。对于一些简单的设备,用拨码开关来设定基本参数,如波特率(通信速度)、IP地址的最后一位等。原创 2025-09-25 11:20:55 · 209 阅读 · 0 评论 -
肖特基二极管的作用
当你需要一个二极管在低压、大电流、高频率的电路中工作时,肖特基二极管通常是首选,它能极大地提升系统的效率和性能。当有异常的瞬时高电压(如感性负载断开时产生的反向电动势)到来时,肖特基二极管会迅速导通,将这个高压“钳制”在它自身的低正向压降水平(约0.3V),从而避免高压击穿核心元件。这意味着在同样大的输出电流下,肖特基二极管的功率损耗更小,发热更少,从而显著提高电源的整体效率。肖特基二极是一种非常特殊且重要的半导体。* 极快的开关速度:它能完美跟上高频开关的速度,不会因为开关延迟而产生严重的噪声和损耗。原创 2025-09-25 11:09:36 · 147 阅读 · 0 评论 -
开关电源的作用
需要降低压力时,它不是持续半开着,而是以极高的频率开关,通过控制“开”和“关”的时间比例来精确控制最终的平均水压。由于效率高,损耗的能量以热的形式散失的少,因此不需要巨大的散热片。总而言之,开关电源是现代电子设备的“心脏”和“能量枢纽”,它的高效和小型化是电子设备得以飞速发展并向便携化、高性能化迈进的关键技术基石。可以相对容易地设计出同时提供多组稳定、隔离的不同电压(如+12V, +5V, +3.3V, -12V)的电源,以满足复杂电路板的需求。* 工业控制:PLC、工业机器人、数控机床的驱动电源。原创 2025-09-25 10:58:11 · 111 阅读 · 0 评论 -
cpu密集型与i/o密集型任务的区别
合理使用多线程/多进程:虽然I/O等待时CPU空闲,但通过增加线程数,可以在一个线程等待I/O时让其他线程继续使用CPU,从而提高整体吞吐量。"perf"(Linux)、VisualVM(Java)等工具,查看 CPU使用率、I/O等待时间(%wa)、上下文切换次数 等指标。2. 分析时间消耗:若任务大部分时间在等待I/O操作(如磁盘读写、网络响应),则是I/O密集型;* I/O密集型任务优化:核心是减少I/O等待时间,提高并发处理能力。* 批量操作:将多个小I/O操作合并为批量操作,减少I/O次数。原创 2025-09-20 08:00:49 · 365 阅读 · 0 评论 -
Linux的DTS配置信息
在嵌入式 Linux 开发中,DTS(Device Tree Source,设备树源文件) 是一种描述硬件配置信息的文本文件,核心作用是将硬件细节(如CPU、内存、外设接口、中断号等)与内核代码解耦,避免修改内核源码即可适配不同硬件平台。- 总线节点:描述硬件总线(如I2C、SPI、AHB)的拓扑,外设节点会挂载到对应的总线节点下(如I2C传感器节点挂载在 i2c@44E0B000 总线节点下)。// 子地址0x0映射到父地址0x10100000,长度0x10000。原创 2025-09-19 11:45:10 · 374 阅读 · 0 评论 -
大端模式与小端模式
主流处理器架构:x86(Intel/AMD)、ARM(绝大多数嵌入式场景,如手机、物联网设备)、RISC-V(主流配置)等均默认采用小端模式,是嵌入式开发中最常见的模式。- 部分处理器架构:早期或特定领域处理器(如 PowerPC、MIPS 部分型号、SPARC)默认采用大端模式,配套的硬件外设(如部分传感器、通信芯片)也会遵循该模式设计。- 本地数据快速处理:在无需跨设备/跨协议交互的场景(如仅在本地处理器内部运算的变量、缓存数据),小端模式能减少处理器对字节的移位操作,提升数据读写效率。原创 2025-09-19 11:35:01 · 221 阅读 · 0 评论 -
Linux内核态适配I2C流程
实现 functionality 函数:返回适配器支持的功能标志,例如 I2C_FUNC_I2C (标准 I2C)、 I2C_FUNC_10BIT_ADDR (支持 10 位地址)等。注册适配器:在驱动的 probe 函数中,调用 i2c_add_adapter() 或 i2c_add_numbered_adapter() 将适配器注册到内核。注册驱动:使用 module_i2c_driver() 宏或 i2c_add_driver() 函数注册 i2c_driver。原创 2025-09-19 10:59:45 · 280 阅读 · 0 评论 -
Linux用户态可以初始化的芯片类型
SPI/I2C用户态可访问芯片:若系统开启了SPI/I2C的用户态访问权限(如通过 /dev/spidev 、 /dev/i2c-X 设备节点),则连接的芯片(如EEPROM芯片24C02、SPI Flash芯片W25Q64)可在用户态通过 spidev / i2c-tools 等工具或库初始化。- USB接口芯片:如USB转串口芯片(CH340、PL2303)、USB HID设备芯片(用于键盘、鼠标类设备),Linux通过通用USB用户态库(如libusb)即可完成初始化与数据交互。原创 2025-09-17 14:53:18 · 327 阅读 · 0 评论 -
arm处理器的工作模式
且与用户模式等共享部分寄存器(r0-r7),中断处理时需要保存这些寄存器,上下文切换开销稍大。: 运行操作系统内核,对应 ARMv7 的管理模式、中止模式、未定义模式以及系统模式的部分功能。无法直接访问硬件资源或执行特权指令,对系统资源的访问受限,有助于保障系统稳定和安全。(r8-r14_fiq),中断响应时无需保存这些寄存器,从而减少开销,实现快速处理。,例如在访问无效内存地址时触发该模式,操作系统可据此加载缺失的页或终止非法进程。,切换到对应的特权模式(如IRQ、FIQ、SVC等)。原创 2025-09-15 11:20:18 · 370 阅读 · 0 评论 -
BootLoader的内存布局
负责完成最底层的硬件初始化(关闭中断、设置时钟、初始化内存控制器、检测内存),并为加载 Stage2 准备 RAM 空间。2. 起始地址与对齐:应用程序的起始地址通常是 BootLoader 区结束地址后的第一个扇区 (Sector) 或页 (Page) 的起始地址(例如 BootLoader 占用 64KB,则 App 可从。* 参考芯片手册:具体规划时,务必查阅你所使用的 MCU 的数据手册和参考手册,了解其 Flash 和 RAM 的准确大小、扇区划分、启动配置等。四、 关键配置与注意事项。原创 2025-09-15 10:10:28 · 366 阅读 · 0 评论 -
Can总线原理
2. 发送“显性位”(逻辑 0,对应 CAN_H=3.5V、CAN_L=1.5V)的节点优先级高于发送“隐性位”(逻辑 1,对应 CAN_H=CAN_L=2.5V)的节点;- 处理逻辑:一旦检测到错误,节点会发送“错误帧”通知所有节点,同时停止当前数据传输;- ID 段:帧的标识符(标准帧 11 位,扩展帧 29 位),既代表“数据类型”,也用于总线仲裁(ID 越小,优先级越高)。3. 若某节点发现自己发送的是“隐性位”,而总线上是“显性位”,则立即停止发送,让高优先级节点继续传输;原创 2025-09-14 22:36:39 · 303 阅读 · 0 评论 -
ARM的TrustZone
ARM 的 TrustZone 是一项硬件级的安全技术,它通过在处理器中创建两个完全隔离的执行环境——安全世界(Secure World) 和普通世界(Normal World,或称非安全世界),来保护敏感代码和数据免受软件攻击和某些物理攻击。* 监控模式下的代码(通常是 ATF, ARM Trusted Firmware 的一部分)负责保存当前世界的上下文,并恢复目标世界的上下文,确保隔离性。安全世界软件安全:安全世界本身的代码也需保持安全与更新。硬件强制隔离:提供比纯软件方案更高级别的安全基础。原创 2025-09-14 22:25:41 · 1062 阅读 · 0 评论 -
ARM的GIC
驱动层抽象:内核通过 drivers/irqchip/irq-gic.c 等文件实现 GIC 驱动,向上提供统一的中断操作接口(如 request_irq() 申请中断、 free_irq() 释放中断),屏蔽不同 GIC 版本的硬件差异,让上层驱动(如网卡驱动、串口驱动)可直接调用通用接口处理中断。- 设备树描述:在设备树中定义 GIC 的基地址、中断范围、支持的版本(如 compatible = "arm,gic-v3" ),内核启动时通过设备树识别 GIC 硬件参数;原创 2025-09-14 22:20:12 · 554 阅读 · 0 评论 -
ARM指令集总结
条件执行:大多数ARM指令支持条件执行,通过检测状态寄存器(CPSR)中的条件标志位(N, Z, C, V)来决定是否执行,这可以减少分支指令的数量,提高代码效率。- 数据处理指令:如加减( ADD / SUB )、逻辑运算( AND / ORR )、移位( LSL / LSR ),用于算术和逻辑操作。- 分支指令:如条件跳转( CBZ / CBNZ )、无条件跳转( B )、函数调用( BL ),控制程序执行流程。* 固定指令长度:早期ARM指令(A32)采用32位固定长度,便于解码和流水线操作。原创 2025-09-14 22:14:30 · 396 阅读 · 0 评论 -
arm芯片的功能优化方案
同时,优化缓存预取策略,根据程序的执行规律提前预取可能需要的数据和指令,减少缓存缺失带来的性能损失。- 任务调度优化:开发智能的任务调度算法,根据任务的类型、优先级和负载情况,合理地将任务分配到各个核心上执行,充分发挥多核芯片的并行处理能力,避免核心资源的浪费和任务的不均衡分配,提高系统的整体并发度和吞吐率。- 增大缓存容量:适当增加芯片的一级缓存(L1 Cache)和二级缓存(L2 Cache)的容量,提高数据和指令的缓存命中率,减少内存访问次数,从而加快数据读取和处理速度,提升芯片性能。原创 2025-09-14 22:05:44 · 990 阅读 · 0 评论 -
看门狗的驱动原理
看门狗模式:有些看门狗硬件支持不同的模式,如中断模式(超时产生中断)和复位模式(超时触发系统复位)。1. 硬件准备 查阅芯片数据手册,了解看门狗寄存器(控制、数据、计数寄存器)的地址、功能及编码方式(如BCD码)。".set_timeout"):根据输入的超时时间(秒),计算并写入看门狗的分频器和重载值寄存器,以配置超时周期。"watchdogd",它可以配置喂狗策略,并监控系统服务状态,在服务异常时停止喂狗从而触发系统复位。".start"):配置看门狗的控制寄存器,使能看门狗定时器,并启动计数。原创 2025-09-14 22:03:58 · 502 阅读 · 0 评论 -
RTC驱动原理
配置 NVIC:在嵌入式系统中,需要在嵌套向量中断控制器 (NVIC) 中使能 RTC 报警中断通道,并设置合适的优先级。* 时间寄存器:RTC 模块通常有一套用于存储当前时间(年、月、日、时、分、秒)的寄存器,这些值会随着时间推移自动更新。在进行软件设置和比较时,可能需要进行相应的转换。* 比较器:RTC 模块内部有一个比较器,它会持续(或在特定时刻)将当前时间寄存器的值与报警寄存器的预设值进行比对。1. 设置报警时间:将你期望触发报警的特定时间点(年、月、日、时、分、秒)写入对应的报警寄存器。原创 2025-09-14 21:59:10 · 788 阅读 · 0 评论 -
线性稳压器LDO原理
典型应用 1. 为噪声敏感电路供电<br> - 模拟传感器<br> - RF和音频电路<br> - ADC/DAC的参考电压<br>2. 后级稳压<br> - 用于开关电源之后,进一步降低噪声和纹波<br>3. 小电流、低压差应用<br> - 设备待机电源 1. 为主芯片供电<br> - CPU、GPU、FPGA核心电源<br>2. 大电流、高效率应用<br> - 电池供电设备<br>3. 输入输出电压差大的场景。例如,一个压差为0.5V的LDO,要输出3.3V,输入电压必须至少为3.8V。原创 2025-09-14 21:36:21 · 691 阅读 · 0 评论 -
异步降压调节器
然而,在当今的主流应用中,特别是对于CPU核心电压、GPU电压、内存电压等低电压、大电流的场景,同步降压调节器(使用DRMOS或分立MOSFET)已经完全取代了异步方案,因为它能提供高得多的效率,这对于延长电池续航和减少散热至关重要。“异步”一词,是相对于“同步”降压调节器而言的,特指其使用二极管作为整流元件,该二极管的工作(导通和关断)是由其两端的电压自发决定的,而非由控制器同步驱动。* 难以实现高频化:二极管的反向恢复问题和自身的开关速度限制了整个转换器的工作频率,从而无法使用更小体积的电感和电容。原创 2025-09-14 21:28:47 · 634 阅读 · 0 评论 -
同步降压转换器原理
其核心是通过控制这两个开关管的交替导通(开关),将较高的输入电压(V_IN)转换为较低的输出电压(V_OUT)。根据公式 V = L * di/dt,更高的频率(更短的 dt)意味着在相同纹波电流要求下,可以使用更小的电感(L)。- 占空比 (D):高端MOSFET导通时间(T_on)与整个开关周期(T_sw)的比值,决定了输出电压:V_OUT = D × V_IN。* 栅极驱动损耗增加:驱动MOSFET的栅极需要能量(Q_g * V_drive * f_sw),频率越高,这部分损耗也线性增加。原创 2025-09-14 21:18:55 · 846 阅读 · 0 评论 -
可调精密稳压器的原理
它的“精密”体现在其内部集成了一个高性能的基准电压源,并通过巧妙的设计,使用户能够通过外部电阻网络在很宽的范围内精确地设定所需的输出电压。3. 外部编程:误差放大器的“同相输入端”(通常称为 REF 或 ADJ 引脚)则连接到由两个外部电阻(R1和R2)组成的分压器,该分压器对输出电压(Vka)进行采样。2. 开关电源的反馈隔离:在隔离式开关电源中,TL431与光耦配合,构成隔离的电压反馈环路,精密调节输出电压。3. 低动态输出阻抗:在工作区域内,等效为一个非常“硬”的电压源,负载变化时输出电压依然稳定。原创 2025-09-14 21:11:00 · 373 阅读 · 0 评论 -
电压监控器原理
2. 更早的保护,更快的响应:在上电时,MCU需要其自身的电源和时钟达到一定要求后,其内部复位电路才能开始工作。它时刻盯着系统的“生命线”(电源电压),一旦发现异常(电压过高、过低或不稳定),就会立即“拉响警报”或“强制重启系统”,防止系统出现不可预测的行为、数据损坏或硬件损伤。电压监控器(Voltage Monitor/Supervisor),也称为电源监控芯片或复位IC,是一种用于监测系统电源电压(如VDD),并在其偏离正常范围时提供明确状态信号或触发复位的集成电路。这是选择监控器时最重要的参数。原创 2025-09-13 20:44:09 · 406 阅读 · 0 评论 -
超级流水线和标量流水线的原理
它既能同时执行多个线程(多核),每个核心又能同时处理多条指令(超标量),并且每条指令的处理流程还被拆分得非常细以运行在高频率上(超级流水线)。关键点:超级流水线的单条指令延迟(从开始到结束的周期数)可能更长(10个周期 vs 5个周期),但因为它主频更高(假设周期时间减半),实际完成一条指令的绝对时间可能更短,并且吞吐率(单位时间内完成的指令数)更高。* 提升并行度:更细的划分允许更多的指令同时存在于流水线中(虽然每条指令完成的总时间可能变长),提高了整体的吞吐率。每个时钟周期都有一条指令完成(WB)。原创 2025-09-12 21:40:46 · 758 阅读 · 0 评论 -
时钟驱动器原理
可以把它想象成一个高质量的 “信号复印机和分发中心” :它接收来自时钟发生器(如晶振、PLL)的一个主时钟信号,然后复制出多份完全一致的副本,并分别驱动系统上的多个需要同步时钟的负载(如CPU、FPGA、内存、ASIC等)。时钟驱动器是一种专用于接收一个时钟信号输入,并产生多个完全相同或具有特定时序关系的时钟信号输出的集成电路。* 隔离与整形:将时钟源与负载隔离,并利用其内部电路对时钟进行整形,输出边沿陡峭、干净完整的信号。* LVPECL:高速差分信号,边沿非常陡峭,性能好,但功耗较大,需要终端电阻。原创 2025-09-12 21:40:20 · 525 阅读 · 0 评论 -
硬件加速引擎的原理
例如,GPU(图形处理器)有成千上万个核心,可以同时处理屏幕上数百万个像素的计算,而CPU的核心数通常只有几个到几十个。1. 功耗高:CPU是通用电路,执行任何任务都需要多个功能单元(取指、译码、执行、写回等)协同工作,即使是一个简单的任务也要走完整个流程,能耗较大。当这个“工人”(加速引擎)接到任务时,博士(CPU)就可以腾出手去处理其他更复杂的全局性工作,从而大幅提升整个系统的工作效率。* 硬件加速引擎 像一个经过严格训练的流水线工人,他只负责拧螺丝这一个动作,但速度极快、效率极高,远超博士。原创 2025-09-11 10:35:14 · 243 阅读 · 0 评论 -
IIC总线原理
如果某个主设备试图发送高电平‘1’,但检测到SDA线实际为低电平‘0’,它就意识到发生了冲突,并立即退出总线竞争,转为从模式。最终SCL的低电平时间由时钟最慢的主设备决定,高电平时间由时钟最快的主设备决定。1. 防止总线冲突:如果两个设备同时发送数据,一个输出‘1’(高电平,实际为释放总线),另一个输出‘0’(拉低),总线最终会被拉低(结果为‘0’)。2. 支持不同电压的设备:只要所有设备共用同一个地(GND),并且上拉电阻连接到各自合适的电压,3.3V的设备可以和5V的设备在同一个IIC总线上通信。原创 2025-09-11 10:12:28 · 306 阅读 · 0 评论 -
ARM处理器的NEON技术
ARM 处理器的 NEON 技术是一种单指令多数据(SIMD)扩展指令集,主要应用于 ARM Cortex-A 和 Cortex-R 系列处理器(从 ARMv7 架构引入,并在 ARMv8 中默认集成)。* 32 个 64 位寄存器(D0-D31),亦可视为 16 个 128 位寄存器(Q0-Q15)(在 ARMv7-A/R 架构下)。* 多媒体处理:视频编解码(H.264, HEVC, VP9)、音频处理(编解码、滤波)、图像处理(色彩空间转换、缩放、滤波)。"arm_neon.h" 头文件中)。原创 2025-09-10 20:27:40 · 401 阅读 · 0 评论 -
ARM的big.LITTLE架构
它支持更灵活的核心配置(如 1+7、2+6 等),提供了更精细的功耗控制和更快的缓存访问,为人工智能(AI)和机器学习(ML)等任务提供了更好的支持。ARM 的 big.LITTLE 架构是一种创新的异构计算设计,它通过智能地让高性能“大核”和高能效“小核”协同工作,成功解决了移动设备对高性能和长续航的双重需求。其基本要求是使用的两种处理器采用的指令集相同。它保证了所有核心(无论大小)看到的内存视图是一致的,数据可以在不同集群的缓存之间直接交换,无需经过慢速的主内存,这是实现任务无缝迁移的基础。原创 2025-09-09 16:25:13 · 475 阅读 · 0 评论 -
Linux的设备模型原理
Linux 设备模型是内核中用于统一管理硬件设备的核心框架,它通过一系列抽象概念和层级结构,让内核能够高效地组织、描述和控制系统中的各种硬件设备。Linux设备模型通过抽象(设备、驱动、总线)、统一管理(kobject, kset) 和用户空间接口(sysfs, uevent),构建了一个强大且灵活的框架。它们之间的关系是:总线是物理连接的抽象,设备挂载在总线上,而驱动则与设备绑定,负责控制设备。它是 Linux 设备模型面向用户空间的“窗口”,将内核中的设备、驱动、总线等对象以目录和文件的形式展现出来。原创 2025-09-09 11:21:37 · 798 阅读 · 0 评论 -
BCD寄存器
这4位二进制数能表示0-15,但BCD码只使用0000(0)到1001(9)这十个编码,1010到1111(10-15)在BCD码中是无效的。* 运算调整:直接对BCD数进行加减乘除时,结果可能需调整才能符合BCD编码规范(例如,加法的调整规则是若低4位大于9,则加6;* 非压缩BCD (Unpacked BCD):一个字节只存放一位BCD码,通常低4位有效,高4位为0(或根据特定协议定义)。* 压缩BCD (Packed BCD):一个字节存放两位BCD码(即两位十进制数),这是较常见的形式。原创 2025-09-08 10:42:02 · 328 阅读 · 0 评论 -
APB总线原理
当你需要配置一个UART的波特率、读取一个GPIO的状态、或者设置一个定时器的计数值时,你几乎肯定正在通过APB总线与它们通信。"PREADY": 从设备就绪信号。* APB 是市区内的街道,负责将货物(数据)最终分发到路边的每家每户(低速外设)。APB从不单独工作,它总是通过一个桥接器 与更高性能的总线(如AHB或AXI)相连。它的设计哲学是极简主义:追求尽可能低的功耗、尽可能简单的接口和尽可能小的电路面积。"PADDR": 地址信号,由总线主机(通常是AHB-to-APB桥)驱动。原创 2025-09-07 11:15:02 · 236 阅读 · 0 评论 -
板级电源设计原理
明确需求:定义清晰的电源规格。选择拓扑:根据效率、噪声、成本权衡选择最佳转换方式。精细选型:为拓扑选择匹配的无源元件和有源芯片。严谨布局:通过优秀的PCB布局将理论性能变为现实,这是成功的重中之重。充分验证:通过测试确保设计满足所有指标,尤其是稳定性和可靠性。掌握这些原理,你就能为任何电子系统设计出稳定可靠的“能量心脏”。原创 2025-09-07 11:07:40 · 752 阅读 · 0 评论 -
串口中SBUF的原理
关键点:必须在下一帧数据接收完成之前读取接收缓冲器中的数据。对程序员来说,它看起来像一个统一的8位寄存器,但其物理本质是两个独立的8位寄存器:一个只写的发送缓冲器和一个只读的接收缓冲器。关键点:一旦数据从发送缓冲器加载到发送移位寄存器,发送缓冲器就变空了,CPU可以立即写入下一个要发送的数据,而无需等待前一帧数据完全发送完毕。5. 中断标志:当一帧数据发送完毕,发送移位寄存器变空时,硬件会自动将发送中断标志位TI置1,向CPU申请中断,告知CPU“数据已发送完成,可以发送下一帧了”。原创 2025-09-04 20:32:16 · 880 阅读 · 0 评论 -
片上网络Noc原理
路由器查看数据包头部的目标地址,根据其内置的路由算法(例如XY路由,即先沿X轴走,再沿Y轴走)决定下一个出口方向(东、南、西、北或本地PE)。与传统总线(如AXI, AHB)或交叉开关(Crossbar)这种共享的、中心化的互联方式不同,NoC是一种分布式的、基于数据包路由的通信架构。* 传统总线(BUS) 像是一条单车道的高速公路,所有车辆(数据)都挤在这条路上,由一个交警(仲裁器)指挥,容易造成拥堵(性能瓶颈)。NoC的架构借鉴了大型计算机网络(如互联网)的思想,将其微型化并集成到芯片上。原创 2025-09-04 20:25:52 · 551 阅读 · 0 评论 -
PSU电源原理
最后通过电容、电感组成的滤波电路,滤除脉动直流电中的杂波,同时由反馈电路(如电压采样电阻)实时检测输出电压,将信号反馈给PWM芯片,动态调整开关管的开关频率,确保输出电压稳定在±5%的误差范围内(如12V输出稳定在11.4V-12.6V之间)。PSU(Power Supply Unit,电源供应器)的核心原理是将市电(交流220V/110V)通过一系列电路转换、整流和稳压,输出电子设备(如电脑、服务器)所需的稳定低压直流电,为硬件(CPU、显卡、硬盘等)提供持续可靠的电力。原创 2025-09-04 20:11:40 · 445 阅读 · 0 评论 -
电源管理单元PMU
PMU是一种高度集成的电源管理集成电路,它将多种电源转换和管理功能(如直流直流转换、线性稳压、电池充电、电量监测、时序控制、保护电路等)封装在单个芯片中。以最高的效率,为系统内各个不同需求的模块分配合适的电能,并确保整个上电、运行、休眠、关机过程的井然有序。您可以将PMU比喻为一个智能大厦的能源管理中心多元供电:它既有高效的大型发电机(DC-DC)为整栋楼供电,也有精密稳定的UPS(LDO)为服务器机房供电。时序控制。原创 2025-09-04 19:53:47 · 686 阅读 · 0 评论 -
DRMOS电源
DRMOS(Driver-MOSFET)电源芯片的核心原理是将MOSFET(场效应晶体管)、驱动IC及相关元件集成在单一封装内,通过高效控制MOSFET的开关状态,实现对输入电压的转换、稳定输出,为CPU、GPU等核心器件供电。- MOSFET(功率开关管):通常集成1个高侧MOSFET(与输入电压连接)和1个低侧MOSFET(与地连接),负责“导通/切断”电流,是电压转换的执行元件。MOSFET:真正的开关,分为上桥和下桥,通过极高频率的开关(每秒数十万次)来精确调节输出给CPU的电压和电流。原创 2025-09-04 19:46:23 · 477 阅读 · 0 评论