<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[贾saisai的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zerokingwang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zerokingwang]]></copyright><item><title><![CDATA[电平标准:LVDS、CML]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/142906451</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/142906451</guid><author>zerokingwang</author><pubDate>Wed, 21 Jan 2026 15:36:08 +0800</pubDate><description><![CDATA[电平设计基础04：LVDS&CML 电平。]]></description><category></category></item><item><title><![CDATA[各种硬件知识]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/147061411</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/147061411</guid><author>zerokingwang</author><pubDate>Wed, 19 Nov 2025 16:23:46 +0800</pubDate><description><![CDATA[本文总结了TI电源设计手册及硬件工程师小册子中的关键知识点：1）光耦工作原理及电流传输比（CTR）；2）电阻应用技巧，包括LDO/TVS串联电阻设计、电阻选型注意事项（功率/电压/温度/温漂等）；3）特殊电阻特性（0欧姆电阻、NTC热敏电阻）；4）上拉电阻设计要点，涵盖TTL-CMOS接口、OC/OD门电路及阻值计算方法；5）使能电阻与MOS管下拉电阻的设计考量。文章为硬件设计提供了实用的工程经验参考。]]></description><category></category></item><item><title><![CDATA[Cortex-M3深入理解]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/151193148</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/151193148</guid><author>zerokingwang</author><pubDate>Tue, 30 Sep 2025 11:34:23 +0800</pubDate><description><![CDATA[本文介绍了ARM Cortex-M3/M4处理器的核心架构特性，主要内容包括： 存储器模型：详细解析了4GB线性地址空间的分配方案，包括代码区、SRAM区、外设区等，并解释了启动模式与地址映射的关系。 栈机制：阐述了双栈指针设计（MSP/PSP）的原理及在RTOS中的应用，说明了栈在函数调用、中断处理中的关键作用。 异常处理：重点分析了PendSV和SVC两种系统异常的运作机制及其在任务调度、系统调用中的核心作用。 存储器保护：介绍了MPU单元如何实现内存区域隔离和访问权限控制，保障系统安全性。 寄存器架构]]></description><category></category></item><item><title><![CDATA[LINUX驱动篇（二）驱动开发]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/150975372</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/150975372</guid><author>zerokingwang</author><pubDate>Mon, 01 Sep 2025 17:20:32 +0800</pubDate><description><![CDATA[本文介绍了Linux字符设备驱动开发的框架与核心概念。主要内容包括：1) 字符设备驱动工作原理，通过系统调用连接用户空间与内核驱动；2) 驱动开发框架，包括模块加载/卸载机制（module_init/exit）、设备注册/注销（register_chrdev/unregister_chrdev）；3) 设备号管理，解析主/次设备号分配方式及动态分配方法；4) 设备操作函数实现（open/read/write/release等）；5) 关键知识点，如函数指针应用、地址映射(ioremap)、设备树修改、临界区]]></description><category></category></item><item><title><![CDATA[FreeRTOS深入理解]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/151026980</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/151026980</guid><author>zerokingwang</author><pubDate>Sun, 31 Aug 2025 19:42:07 +0800</pubDate><description><![CDATA[这篇文章主要介绍了嵌入式系统中堆、栈的管理机制以及FreeRTOS操作系统的关键特性。文章首先阐述了堆内存分配原理和栈在任务切换中的作用，包括静态和动态任务栈分配方式。然后详细分析了FreeRTOS的五种内存管理方案及其适用场景，并解释了任务调度机制（时间片轮转、抢占式调度）和四种任务状态。在中断处理方面，文章说明了Cortex-M的中断优先级配置和临界区保护方法。最后对比了FreeRTOS与Linux系统的差异，突出了FreeRTOS在实时性、内存占用和启动速度方面的优势。全文贯穿了嵌入式开发中的核心技术]]></description><category></category></item><item><title><![CDATA[C语言知识点补充（链表和队列）]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/150933991</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/150933991</guid><author>zerokingwang</author><pubDate>Thu, 28 Aug 2025 18:30:50 +0800</pubDate><description><![CDATA[本文总结了单向链表的基本操作与实现方法。主要内容包括： 链表创建：通过判断根节点是否为空，使用while循环到链表末尾添加新节点。 链表遍历：使用while循环迭代访问每个节点。 链表释放：从根节点开始逐个释放内存空间。 链表查找：通过数据域或指针域进行节点查找。 节点删除：分为删除根节点、中间节点等情况处理。 节点插入：按特定顺序（如学号）插入新节点。 链表排序：通过节点数据域比较实现排序功能。 文章详细介绍了每种操作的C语言实现代码，并解释了链表与数组的主要区别。链表在操作系统中广泛应用，具有动态内存分]]></description><category></category></item><item><title><![CDATA[C语言知识点补充（指针、malloc...）]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/150025150</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/150025150</guid><author>zerokingwang</author><pubDate>Tue, 26 Aug 2025 20:24:26 +0800</pubDate><description><![CDATA[摘要 本文主要讲解C/C++指针相关知识点，包括指针基础概念、数组指针与指针数组、函数指针、二级指针等核心内容。文章详细分析了指针类型定义的必要性、指针运算规则，以及malloc/memset等内存操作函数的使用注意事项。同时对比了二维数组指针与二级指针的区别，探讨了const修饰指针的两种方式。此外，还介绍了野指针和悬空指针的危害及防范措施，assert断言的使用方法，以及指针传参的机制。最后简要对比了new/malloc的区别和进程线程的基本概念。全文通过大量代码示例和内存图示，帮助深入理解指针这一核心]]></description><category></category></item><item><title><![CDATA[LINUX入门]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/149299686</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/149299686</guid><author>zerokingwang</author><pubDate>Mon, 21 Jul 2025 10:41:18 +0800</pubDate><description><![CDATA[本文主要介绍了Linux系统的基础概念、应用层开发流程以及系统移植相关内容。第一部分阐述了Linux内核与应用程序的关系，区分了裸机编程、驱动编程和应用编程的差异。第二部分通过LED控制实验，详细讲解了如何在应用层通过设备文件和属性文件操控硬件设备，包括sysfs文件系统的使用、LED操作方法及C语言程序的编写与运行。第三部分介绍了系统移植过程，包括Uboot启动流程、交叉编译环境配置等内容。文章从基础概念到实际操作，为嵌入式Linux开发提供了系统性的入门指导。]]></description><category></category></item><item><title><![CDATA[LINUX（三）文件I/O、对文件打开、读、写、偏移量]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/149424842</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/149424842</guid><author>zerokingwang</author><pubDate>Sun, 20 Jul 2025 22:04:20 +0800</pubDate><description><![CDATA[本文介绍了Linux系统编程中的文件I/O操作，重点讲解了文件描述符、系统调用等核心概念。主要内容包括：文件描述符作为内核标识文件的非负整数特性；open()函数的参数flags和mode的设置方法；write()、read()、close()等基本文件操作函数的使用；以及lseek()函数对文件偏移量的控制。文章还说明了Linux中"一切皆文件"的设计理念，包括硬件设备也被视为特殊文件。通过系统调用，应用程序可以在用户态与内核态之间交互，实现对底层资源的操作和控制。]]></description><category></category></item><item><title><![CDATA[LINUX入门（二）QT的安装及运行环境搭建]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/149366142</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/149366142</guid><author>zerokingwang</author><pubDate>Sun, 20 Jul 2025 16:05:33 +0800</pubDate><description><![CDATA[本文介绍了QT交叉编译环境的搭建及开发板部署过程。主要内容包括：1) 配置Poky交叉编译工具链环境变量；2) 使用国内镜像加速QT社区版安装；3) QT Creator中配置交叉编译器、Qt版本和Kits；4) 开发板部署时解决XDG_RUNTIME_DIR路径问题；5) 串口上位机开发中的权限处理及最终效果展示。文章详细记录了从环境搭建到实际部署的完整流程，并提供了常见问题的解决方案。
]]></description><category></category></item><item><title><![CDATA[USB3.0拓展坞制作学习]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/147593469</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/147593469</guid><author>zerokingwang</author><pubDate>Tue, 13 May 2025 20:36:20 +0800</pubDate><description><![CDATA[本文详细介绍了基于VL822芯片的USB 3.1 Gen2拓展坞设计，涵盖了芯片的功能、引脚配置、电源管理、协议支持以及阻抗匹配等关键技术。VL822支持多种USB速度，兼容多种操作系统和设备，且自带ESD防护。文章还探讨了Type-C接口的解决方案，以及GL3224芯片在电源管理和数据传输中的应用。此外，文中还提供了阻抗匹配的设计建议，包括差分线和单端线的阻抗控制，以确保信号传输的稳定性和高效性。整体内容为USB拓展坞的设计和实现提供了全面的技术参考。]]></description><category></category></item><item><title><![CDATA[开关电源实战（六）ADDC反激电源]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/147070410</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/147070410</guid><author>zerokingwang</author><pubDate>Sun, 27 Apr 2025 15:37:20 +0800</pubDate><description><![CDATA[反激电源原理常见的电源结构有反激、LLC、推挽、正激反激通常在100W内，再高磁性储存能量就不够了，得换拓扑结构了先整流，再通过MOS控制变成方波在工作时，首先MOS打开情况下，变压器副边由于二极管作用，无法流过电流，那么副边就不存在，原边相当一个电感在存储能量。MOS管关闭后，由于电感电流突变，所以感应出一个下正上负的电压，副边会感应出上正下副的电压（从电流的变化方向好理解，电流从小到大和从大到小，导致副边感应电流方向不同），电流会给电容和负载充电供电。]]></description><category></category></item><item><title><![CDATA[硬件知识点-----SPI串联电阻、振铃、过冲]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/147490118</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/147490118</guid><author>zerokingwang</author><pubDate>Thu, 24 Apr 2025 19:04:56 +0800</pubDate><description><![CDATA[电阻取值，没有公式，一被传输线的特征阻抗为50欧姆左右，而TTL电路输出电阻大桃为13欧姆左右，在源端串一个33姆，大致和50相当，这样就可以柳制从终端反射回来的倍号，防止再次反射。传输时间tp=L/V，其中L是导线长度，V是电磁波在电路板中的传输速度V=C/sqrDk，其中Dk是光速衰减因子，对于电路板而言是铜线，Dk=4电磁波在电路板中的速度都是慢于光速的。实际上串联多大的电阻与传输线的阻抗有关，为了保证阻抗的连续性，如果传输线的特性阻抗 Z0与驱动源的输出阻抗 Zd不匹配，会引发信号的反射。]]></description><category></category></item><item><title><![CDATA[开关电源实战（六）STM32数控电源BuckBoost]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/146905079</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/146905079</guid><author>zerokingwang</author><pubDate>Mon, 21 Apr 2025 20:00:43 +0800</pubDate><description><![CDATA[自举电路要自己外接自举二极管和自举电容，在自举电路中，当低侧开关导通时，电源（VCC）通过自举二极管向自举电容充电，形成高端驱动的悬浮电压源。对于电流采样的这个运放输入端有些疑惑，其实是他前面画的时候，GND和VIN-这样画的，这样是不是有点问题，其他的以GND为基础的电路岂不都要流过R13才能流回负极。输出侧，MOS管关闭的时候，电容放电，但是没有放到电容后侧，测不到电流，其实可以通过软件校正，就是MOS管开启的时候测电流，关闭的时候不测，但是较为复杂。百ns，MHz级别的影响，应该能忽略。]]></description><category></category></item><item><title><![CDATA[HAL库(STM32CubeMX)——高级ADC学习、HRTIM（STM32G474RBT6）]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/147269696</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/147269696</guid><author>zerokingwang</author><pubDate>Mon, 21 Apr 2025 19:54:32 +0800</pubDate><description><![CDATA[对cubemx的ADC的设置进行补充Mode：ADC 模式Independent mod 独立 ADC 模式，当使用一个 ADC 时是独立模式，使用两个 ADC 时是双模式，在双模式下还有很多细分模式可选Data Alignment：数据对齐Right alignment 右对齐Scan Conversion Mode：扫描模式，如果是多通道 AD 转换使用 ENABLE。Continuous Conversion Mode：连续转换 / 单次转换。Disabled 单次转换。]]></description><category></category></item><item><title><![CDATA[开关电源实战（五）BuckBoost升降压SC8701]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/146505195</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/146505195</guid><author>zerokingwang</author><pubDate>Mon, 31 Mar 2025 16:55:47 +0800</pubDate><description><![CDATA[高效同降压-升压控制器4开关同步2.7-36V的输入支持输入限流、输出限流和过温保护，确保在各种异常情况下的安全32pin的QFN 4*4，底部有大GND焊盘QFN（Quad Flat No-lead）4x4 是一种方形扁平无引脚封装，其尺寸为 4mm × 4mm输出范围在2-36V内置10V，2A的栅极驱动器，驱动外置MOS管频率范围在200kHz-600kHz。]]></description><category></category></item><item><title><![CDATA[开关电源实战（四）BuckBoost升降压JW3651]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/146390429</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/146390429</guid><author>zerokingwang</author><pubDate>Tue, 25 Mar 2025 15:33:28 +0800</pubDate><description><![CDATA[热量传递有三种形式，热传导，热对流和热辐射，芯片在Package内的热量传递主要是以热传导为主。热阻θ的定义是两点之间的温度差除以对应流经这两点的功率，是一个有实际意义的物理量热阻θJA, θJC是用来评估不同芯片的thermal performance，不同芯片热阻的是通过统一的JESD51标准测得，方便一些系统级的工程师，在做系统级设计时，进行芯片之间的横向比较；θja是结到周围环境的热阻，单位是°C/W。θJA取决于IC封装、电路板、空气流通、辐射和系统特性，通常辐射的影响可以忽略。]]></description><category></category></item><item><title><![CDATA[开关电源实战（三）FlyBack反激电源MAX668]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/146096264</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/146096264</guid><author>zerokingwang</author><pubDate>Mon, 17 Mar 2025 20:07:34 +0800</pubDate><description><![CDATA[R4这个要根据电感选择的情况测试，用信号源接电感可以测试，看输出什么情况下效率最高，函数发生器最好是能提供50Khz到500Khz这个信号发生的范围，测试了一下差不多在460kHz的时候，变压器是工作在1:10.5，其他情况下电压都有衰减，整个频率和幅值的关系像一个波峰。重新焊接换了110K的电阻，NMOS增强型确实工作频率加快了，但是占空比没变化，还是很奇怪，占空比只有50%左右，按道理来说，电感的工作频率越合适，越符合匝数比，那么占空比应该会减小，而且电感的啸叫还是存在，是过载了吗？]]></description><category></category></item><item><title><![CDATA[开关电源实战（二）DC升压Boost芯片LM2577]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/146086847</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/146086847</guid><author>zerokingwang</author><pubDate>Fri, 07 Mar 2025 11:05:40 +0800</pubDate><description><![CDATA[手册里面说有一个3A的NPN三极管，电感上电流应该有3A，但是后级可能是电容储能放能，导致输出电流只有最大不到1A，这个然后再仔细学一下Boost升压，不过从功率的角度来算其实差不多，5-12V的升压，输入3A，输出差不多1点多A。里面是一个NPN三极管来控制的，Boost升压其实是NPN闭合，后级短路，输入电压直接加在电感上，存储能量，NPN打开的时候，输入电源和电感一起。输出负载电流的计算公式，5-12的时候，电流最大800mA。手册里面有些地方看不懂，输出这几个电阻是啥，测试功率的吗？]]></description><category></category></item><item><title><![CDATA[软件模拟SPI控制]]></title><link>https://blog.youkuaiyun.com/zerokingwang/article/details/145692779</link><guid>https://blog.youkuaiyun.com/zerokingwang/article/details/145692779</guid><author>zerokingwang</author><pubDate>Tue, 18 Feb 2025 14:56:36 +0800</pubDate><description><![CDATA[FPGA是用4MHz信号（上升沿采样吧）采集的，可以看出SCK的采样周期有21个点，那么推断其频率大概在4/21=0.19MHz，和预估的1MHz差的有点多。下图是旧版本代码（SDIO在SCK上升沿之前变化），上面的代码改进了SDIO的变化时机，放在了SCK的下降沿变化，从下图可以粗略看出时序没有问题。先把各种高低电平控制定义上，这样方便后面硬件的移植和修改。下面代码模仿的是SPI的其中一种传输时序。程序写入0x73地址，0x04数据。]]></description><category></category></item></channel></rss>