PUT, Programmable Unijunction Transistor(可编程单结晶体管)。
主要用于触发电路、振荡器和定时器等应用。以下是其工作原理的详细描述:
PUT 2N6027 是一个三端器件,包含:
其内部等效电路类似于一个可控硅(SCR)与分压电阻的组合,但通过门极电压可以灵活调节其触发条件。
Testing PUT Programmable Unijunction Transistor 2N6027 how they work
PUT 的核心特性是 可编程触发电压,其触发点由外部电阻网络设定。以下是其工作过程:
(1) 截止状态
当阳极电压VA < 门极电压VG时,PUT处于截止状态,阳极-阴极间呈现高阻抗,仅有微小漏电流。
(2) 触发导通
当阳极电压VA > (门极电压VG+ VT(Offset Voltage))时,PUT 被触发导通。
导通后,阳极-阴极间阻抗急剧下降,电流从阳极流向阴极,器件进入负阻区。
(3) 维持导通
一旦触发,PUT 会保持导通,直到阳极电流IA低于维持电流(Holding Current)时,才会恢复截止状态。
正向导通电路IT:
谷点电流(Valley Current):导通后维持导通所需的最小电流。
峰值电流(Peak Current):触发瞬间的最大电流。
INTP、IRQ、NMI 是计算机系统中常见的缩写,分别代表不同的概念:
全称:Interrupt(中断)
INTP 是计算机系统中硬件或软件发出的信号,用于通知处理器需要立即处理某个事件。中断会暂停当前任务,转而去执行中断处理程序,完成后恢复原任务。
硬件中断:由外部设备触发(如键盘输入、网络数据到达)。
软件中断:由程序主动发起(如系统调用)。
可屏蔽(可通过设置处理器标志位忽略)。
全称:Interrupt Request(中断请求)
IRQ 是设备向处理器发送的中断请求信号,用于通知处理器需要处理特定设备的操作(如磁盘I/O完成、定时器超时)。
每个设备通常分配唯一的IRQ编号(如IRQ 0为系统定时器,IRQ 1为键盘)。
现代系统使用APIC(高级可编程中断控制器) 管理多核环境下的IRQ分配。
可屏蔽,优先级低于NMI。
全称:Non-Maskable Interrupt(不可屏蔽中断)
NMI 是优先级最高、不可被屏蔽的中断,用于处理系统级紧急事件(如硬件错误、内存校验错误、看门狗超时)。
硬件故障(如电源故障、CPU过热)。
调试用途(如触发系统诊断)。
不可屏蔽,立即响应,通常用于关键错误处理。
特性 | INTP(中断) | IRQ(中断请求) | NMI(不可屏蔽中断) |
---|---|---|---|
可屏蔽性 | 可屏蔽 | 可屏蔽 | 不可屏蔽 |
触发源 | 硬件/软件 | 硬件设备 | 硬件紧急事件 |
优先级 | 低 | 中 | 最高 |
典型应用 | 通用事件处理 | 设备I/O通知 | 系统级错误处理 |
INTP 是广义的“中断”概念。
IRQ 是设备向CPU发出的具体中断请求。
NMI 是最高优先级的不可屏蔽中断,用于处理严重系统错误。
在操作系统和硬件设计中,这三者的协同管理对系统稳定性和实时性至关重要。
特性 | I²C | I3C |
---|---|---|
推出时间 | 1982年(飞利浦) | 2017年(MIPI联盟标准化) |
兼容性 | 仅支持I²C设备 | 向下兼容I²C,同时支持I3C增强模式 |
最大速率 | 标准模式(100kbps) 高速模式(3.4Mbps) |
基础模式:12.5Mbps HDR模式:最高33Mbps |
总线电压 | 1.8V/3.3V/5V(依赖设备) | 统一1.2V(兼容1.8V/3.3V设备) |
总线拓扑 | 开漏输出+上拉电阻 | 推挽输出+动态上拉(降低功耗) |
引脚数量 | 2线(SCL+SDA) | 2线(SCL+SDA),支持多设备中断 |
(1) 速度与效率
I²C:
依赖上拉电阻,速率受限(最高3.4Mbps);
每次传输需起始位+地址+ACK,协议开销大。
I3C:
HDR(High Data Rate)模式:通过DDR(双倍数据速率)或Ternary编码实现最高33Mbps; 协议优化:支持批量传输,减少控制位开销。
(2) 功耗
I²C:
上拉电阻持续耗电,低功耗场景需手动关闭总线。
I3C:
动态地址映射(Dynamic Addressing):避免地址冲突,减少重试功耗;
睡眠模式:总线空闲时自动进入低功耗状态。
(3) 多设备管理
I²C:
7位/10位地址,地址资源有限(最多112个设备);
多主机需复杂仲裁机制。
I3C:
带内中断(In-Band Interrupt, IBI):从设备可直接通过SDA线申请中断,无需额外引脚;
动态地址分配:主设备自动分配唯一地址,支持更多设备。
(4) 错误检测
I²C:
无内置错误检测机制,依赖应用层校验。
I3C:
CRC校验(HDR模式)和总线超时检测,提升可靠性。
场景 | I²C适用性 | I3C优势 |
---|---|---|
低速传感器 | 温度传感器、EEPROM等传统设备 | 兼容I²C设备,无缝升级 |
高速数据采集 | 不适用(速率不足) | 支持摄像头、高精度ADC等高速设备 |
多设备系统 | 地址冲突风险高,扩展性差 | 动态地址分配+带内中断,支持复杂拓扑 |
低功耗设计 | 静态功耗较高 | 动态功耗管理+推挽输出,适合电池供电 |
实时控制 | 延迟较高,响应慢 | HDR模式降低延迟,适合实时反馈系统 |
I²C:
简单易用,硬件实现成本低;
需手动管理地址冲突和总线仲裁。
I3C:
硬件复杂度略高(需支持HDR模式、CRC校验等);
协议自动化程度高(如地址分配、中断管理),减少软件负担。
差异维度 | I²C | I3C |
---|---|---|
核心优势 | 简单、成熟、低成本 | 高速、低功耗、高扩展性 |
适用领域 | 传统低速外设(传感器、存储器) | 现代嵌入式系统(IoT、手机、汽车电子) |
升级必要性 | 无需升级,仍广泛使用 | 需高速、多设备、低功耗场景的首选 |
选择I²C:
系统仅需连接少量低速设备;
成本敏感且无需未来扩展。
选择I3C:
需要高速传输(如传感器融合);
多设备协同(如智能手表、AR/VR设备);
低功耗需求(如电池供电的IoT设备)。
注意:
I3C需主控芯片和从设备均支持协议,设计时需确认硬件兼容性。对于混合系统(I²C+I3C),I3C主控可无缝控制旧版I²C从设备。
最近,VSCode抽风,虽然设置了通过RSA key免密登录,但是,SSH远程连接时,每次仍然都要输入密码,而且用户名也没有按照config文件的设置来。 卸载,重新安装都不能解决问题,头疼的很。 折腾了半天vim+ctags+cscope,记命令、快捷方式太费时间了,不友好。 搜索发现:VSCodium可以平替VSCode。
特点:
开源:VS Code 的完全开源版本(去除了微软的专有代码)。
C/C++ 支持:通过开源扩展(如 C/C++
by ms-vscode
,可在 Open VSX 安装)。
SSH 远程开发:安装 Remote - SSH 扩展(需手动下载 .vsix
安装)。
搜索功能:全局搜索(Ctrl+Shift+F
)、正则匹配、跨文件替换。
不过,有些VSCode中的插件,在VSCodium中没有实现。
首先,打开两个文件,然后,在tab栏右键,选择 “Move to Other View”