使用 Arduino 玩转 UINIO-MCU-ESP32 核心板

上海乐鑫科技 ESP32-C3 微控制器基于 RISC-V 架构,主频高达 160MHz。而其 ESP32-S3 微控制器则是基于 Cadence 公司的 Xtensa® dual-core 32-bit LX7 架构,拥有 45 个 GPIO 接口,主频高达 240MHz,板载有 384KB 容量的 ROM,以及 512KB 容量的 SRAM 和 16KB 容量的 RTC SRAM。这两款主控芯片在提供了不错的计算能力的基础上,均支持 2.4GHz Wi-FiBluetooth5 两种网络连接方式,属于当前市场上比较主流并且廉价的物联网接入方案。

博主设计并且开源出来的 UINIO-MCU-ESP32C3UINIO-MCU-ESP32S3 两款核心板,就分别采用了上述两款 MCU 主控方案。本文将会同时从软硬件两个角度,一方面分析电路原理以及 PCB 版图设计,另一方面会基于 Arduino-ESP32 官方库撰写丰富的示例程序,从而更好的展示 ESP32 系列芯片好玩易用的特点。

阅读更多

ARM 调试工具 UINIO-DAP-Link 应用指南

ARM Mbed OS 是一款开源免费的物联网操作系统,包含有基于 ARM Cortex-M 微控制器开发智能连接产品所需的全部基础架构。其推出的 DAP-Link 同样是一个开源软件项目,它支持编程和调试运行在 ARM Cortex 微控制器上面的代码,主要运行于拥有 SWD 或者 JTAG 接口的微控制器当中,并且通过 USB 接口在计算机与 ARM Cortex 微控制器之间创建一个用于调试仿真的桥梁,为开发人员提供了下载调试串口通信拖拽烧录等实用功能。

DAPLink 主要由 Mbed 硬件开发工具包 以及 DAPLink 固件 两个开源项目构成,而 UINIO-DAP-Link 则是由博主设计的一款开源 DAPLink 仿真器实现,相比于官方原版的硬件电路设计,在引出有 SWD 调试接口(由 ARM 制订)的同时,还引出了 JTAG 接口(IEEE 1149 国际标准)以及5V3.3V 电源,并且附带有 SWDJTAG 的转接板 PCB 设计,而固件部分则是基于 ARM 官方的原版固件移植而来,全部的原理图与固件程序都开源在博主的 GitHub

阅读更多

高等教育出版社《电路原理》温习札记

电路理论是一门研究电路分析与网络综合与设计基本规律的基础工程学科。所谓电路分析是在电路给定参数已知的条件下,通过求解电路中的电压、电流而了解电网络具有的特性;而网络综合是在给定电路技术指标的情况下,设计出电路并确定元件参数,使电路的性能符合设计要求。因此电路分析是电路理论中最基本的部分,是学习电路理论的人门课程,被列为电类各专业共同需要的技术基础课。

电路理论是电子与电气信息工程类专业的技术基础课,主要为相关专业的后续诸多课程提供理论支持,例如模拟电子技术数字电子技术信号与系统电机学电力系统分析集成电路设计自动控制电力电子技术等课程都有应用到电路理论当中的相关知识。

阅读更多

高等教育出版社《模拟电子技术》温习札记

电子信号是指随着时间进行变化的电压或者电流,可以在数学描述上描述为时间的函数,并且可以绘制出其波形。模拟信号数值时间上均具有连续性,对于任意时间均有确定的电压或者电流值与之对应。常用的模拟电路有放大电路(信号电压、电流、功率的放大)、滤波电路(信号的提取、转换、抗干扰)、运算电路(完成信号之间的加减乘除、积分、微分、对数、指数运算)、信号转换电路(电流与电压信号之间的相互转换)、信号发生电路(用于产生正弦波、矩形波等波形)、直流电源(将不同电压与频率的交流电转换为指定电压与电流的直流电)。

本文所涉及的内容主要包括有常用半导体器件基本放大电路集成运算放大电路放大电路的频率响应放大电路中的反馈信号的运算和处理波形的发生和信号的转换功率放大电路直流电源,基本涵盖了模拟电路当中主要的电路类型,其中放大电路是对模拟信号的最基本处理,上述模拟电路当中均包含有放大电路,因而放大电路是构成各种模拟电路的最基本电路

阅读更多

FreeCAD 参数化 3D 建模上手实例

FreeCAD 是一款面向计算机辅助设计CAD,Computer Aided Design)的 3D 参数化建模工具软件,该工具基于 LGPL 开源协议,同时提供有适配 Linux、Mac OS、Windows 操作系统的跨平台版本,其底层采用了 OpenCascade 来提供二维与三维几何体的生成显示与分析。这里所谓的参数化建模就是指通过一系列的参数来控制 3D 模型的形状,例如一个立方体可以由长度宽度高度三个参数共同决定,这些参数可以随时进行修改。除此之外,FreeCAD 还可以使用其它模型作为参数;例如将一个立方体作为输入参数,FreeCAD 就能够基于它创建出一个柱状的 3D 模型。

FreeCAD 并非只是为了完成某一项特定的工作,或者仅用于生成某一类特定的模型。使用者可以利用它创作小到电子元件与 3D 打印部件,大到建筑物的不同尺寸模型。由于每一种任务的工作流程并不完全相同,所以 FreeCAD 分别提供了相应的工作台。目前网络上关于 FreeCAD 的应用资料较少,所以尝试利用本文记录一些日常使用的技巧,全文基于 2022 年 9 月份发布的 FreeCAD 0.20.1 版本撰写,文中所涉及的实例已经共享至我的 FreeCAD-Tutorial-Example

阅读更多

如何设计 NFC 动态标签的天线

近场通信NFC,Near Field Communication)是一种基于无线射频识别RFID,Radio Frequency I Dentification)技术发展起来的近距离无线通信技术,它们都是通过无线频率的电磁感应耦合传递数据,但是 RFID 的传输范围可以达到 1m,而 NFC 的传输范围通常在 10cm 以内。NFC 的无线信号频率为 13.56MHz,可以兼容 ISO14443ISO15693Felica 等非接触式智能卡规范,数据传输速率可以达到 106kbit/s212 kbit/s424kbit/s

意法半导体的 NFC 动态标签芯片 ST25DV-I2CST25DV-PWM 可以通过低功率的 I²C 总线以及 13.56MHz 无线射频访问芯片内置的EEPROM(电可擦除只读存储器),同时支持近程的 ISO/IEC 14443 Type A 和远程的 ISO/IEC 15693 标准。本文旨在介绍无源 RFID 的基本原理,以及 13.56MHz 感应天线设计的基础知识,文中部分内容参考自意法半导体编号为《AN2972》的官方应用笔记(Application Note)。

阅读更多

开源 EDA 工具 KiCad 6.0 电路设计小书

对于国内的中小型电子企业而言,AllegroPadsAltium Designer 等商业 EDA 工具的授权费用过于昂贵,且大部分只提供 Windows 操作系统版本,缺乏相应的跨平台支持。在电子信息技术行业版权问题充分受到重视的今天,一款易于使用并且受到厂商广泛支持的开源 EDA 工具,对于硬件电子工程师而言尤为重要。本文介绍的 KiCad 就是一款基于 GNU GPL v3 开源许可协议的跨平台 EDA 电子设计自动化工具集,其能够处理多达 32 个铜层、14 个技术层、4 个辅助层的 PCB 电路板,并且生成加工制造所需要的网表物料清单光绘文件钻孔文件元件放置文件

自 2018 年 07 月 22 日发布 KiCad 5.0 版本以后,历经了三年时间,终于在 2021 年 12 月 25 发布了全新的 KiCad 6.0 版本,新版本采用了全新的用户交互界面,带来全新原理图编辑器PCB 编辑器3D 查看器的同时,还增加了更为丰富的 DRC 设计规则约束,并且提供了对于中文语言的良好支持。全文最早基于 5.0 版本写作,鉴于官方已经升级至功能更为完善的 6.0 版本,所以基于官方新版的 《Getting Started in KiCad》 对本文进行了全面的重写。

阅读更多

小记日常使用 3D 打印机的两三事儿

三维打印机(3D Printer)是一种通过分层堆积的方式,快速生产三维原型的设备。通常被划分为 熔融沉积FDM,Fused Deposition Modeling)和 立体光固化SLA,Stereo Lithigraphy Apparatus)两种成型方式,其中 FDM 熔融沉积成型是通过将 ABSPLA 等线材加热融化,然后通过挤出机喷头将其层层堆叠成型;而 SLA 立体光固化成型,则是采用紫外线光束,反复在液态光敏树脂当中曝光出模型每一层的形状来进行成型。

电子工程师在日常工作当中,不可避免的会遭遇到一些结构设计人机工程方面的问题,所以 3D 打印机成为了电子工程师进行方案验证时,必不可少的生产力工具。由于采用 FreeCADFusion 360 等参数化建模软件生成模型文件之后,还需要使用到 CuraPrusaSlicer 等切片工具软件进行处理,这些软件的配置参数较为繁杂,与打印机的性能以及工作环境温度息息相关,所以专门用这篇文章来备忘一些关键的配置参数与心得。

阅读更多

简明厄要的《电路理论》读书笔记

电路理论电气工程电子科学技术的主要理论基础,是一门研究电路分析网络综合与设计基本规律的基础工程学科。所谓电路分析是在电路给定、参数已知的条件下,通过求解电路中的电压电流而了解电路网络所具有的特性;而网络综合是在给定电路技术指标的情况下,设计出电路并确定元件参数,使电路的性能符合设计要求。因此电路分析是电路理论中最基本的部分,是学习电路理论的人门课程,被列为电子类专业重要的公共技术基础课。

这篇文章是邹建龙老师所出版 《电路实验》 一书的读书笔记,并且结合他的相关的课件资料,在摒弃繁杂数学推导的基础上,言简意赅的介绍了 电路模型和电路定律电路的分析方法与定理动态电路正弦稳态电路及其频域特性互感三相电路非正弦周期电路二端口网络 等电路分析方面的知识点,在凸出重要知识点的同时,力求简单易读,因而也可以作为大家的电路理论考前恶补资料使用 ヽ(✿ ゚ ▽ ゚)ノ。

阅读更多

《实用电子元器件与电路基础》读书笔记

实用电子元器件与电路基础》的英文原版书籍名称叫做《Practical Electronics for Inventors》,全书从电路基本原理入手,围绕各种类型的电子元器件进行了详细介绍。首先是阐述了基本的电路理论,然后重点讨论了包括 电阻电容电感变压器 在内的基本元器件;接下来介绍了半导体电子技术,并且详细分析了 二极管晶体管晶闸管 等半导体元件的性能与参数,以及运算放大器滤波电路振荡电路定时器稳压电路与电源 等经典的模拟电路。

最后介绍了数字电子技术相关的内容,从基本的逻辑门电路入手,重点讨论了组合逻辑电路时序逻辑电路,以及相关的 触发器寄存器计数器缓冲器锁存器收发器,乃至于存储器微控制器。除此之外,该书还简单介绍了线性函数二次函数指数/对数函数三角函数复数微积分等数学预备知识。电子元器件的选型运用是硬件工程师日常工作当中最为主要的内容,希望本篇文章能够对广大电子爱好者有所帮助。

阅读更多

高等数学主要概念与公式摘要

高等数学是由微积分学,较为深入的代数学、几何学以及它们之间的交叉内容所形成的一门基础学科。由于电路分析运算放大器信号完整性高频电路信号学当中,都涉及有大量的积分和导数运算,也需要经常使用到拉普拉斯和傅立叶变换等高等数学内容,因此着手撰写本文用于复习大学本科学习阶段涉及的微积分知识,主要包含一元函数微分学一元函数积分学矢量代数与空间解析几何多元函数微分学多元函数积分学无穷级数常微分方程等部分的内容。

由于微积分涉及的概念相对较为抽象,因此在文章写作过程中,阅读并且参考了《Thomas’ Calculus》一书当中的有关内容。该书从 1951 年第 1 版发行至今,当前的最新版本为第 14 版,已经足足经历了七十个年头,是一本经历过时间检验的优秀参考资料。对于本文当中所涉及到的代数学知识,可以参见博主撰写的另外一篇数学类文章《初等代数常用公式与图像汇总》

阅读更多

《电路分析导论》读书笔记

本文力求言简意赅的讨论电路分析过程当中涉及到的一些基本理论知识,全文第 1 部分围绕电路分析展开,涵盖了电路当中的 电阻电容 等基本元件,相关的定律(欧姆定律焦耳定律基尔霍夫定律)定理(叠加定理戴维南定理诺顿定理)和等效变换(电源等效串并联等效星形三角形等效),以及基本的分析方法(支路电流法结点电压法非线性电阻分析);第 2 部分则以电磁感应现象作为核心,同时引入 安培力洛仑兹力磁通量 等电磁学基本概念。

第 3 部分围绕交流信号展开,包含了动态元件 电阻电容电感 相关的交流电路,并且介绍了 功率因数 的提高,RCLC 电路,以及三相交流电路;第 4 部分介绍了互感变压器,主要讨论互感现象与变压器的原理;第 5 部分则主要讨论电路的过渡过程,比如 RCRL 电路的过渡过程,以及其中 电压电流 随着时间变化的规律和影响过渡过程快慢的时间常数,同时还引入了换路定则微分电路 以及 积分电路

阅读更多

初等代数常用公式与图像汇总

初等数学主要由代数(Algebra)和几何(Geometry)两部分构成,本篇文章基于《Thomas’ Calculus Early Transcendentals》第 14 版所附录的 A Brief Table of Integrals 章节整理而成,主要涉及基本代数运算集合区间与邻域斜率映射幂函数指数函数对数函数弧度制三角函数以及几何学等知识点,较为系统的概括了初等数学当中常见的公式定理以及相关的函数图像,以备日常进行电路与信号分析时,随手查阅公式使用。

高等数学的研究对象是变动的量,而初等数学的研究对象则是不变的量,正是由于初等数学只能解释常量的几何与物理问题,例如:规则图形的长度面积体积匀速直线运动等等。虽然并不涉及电路与信号分析过程当中,所需要经常涉及的变化量分析与求解,但是却是整个高等数学知识体系当中,不可或缺的基本常识性内容。毕竟初等数学当中所重点讨论的函数,正好就是微积分的主要研究对象

阅读更多

基于 HAL 与 LL 的 STM32F401 开发实践

相较于前一篇运用标准外设库(Standard Peripherals Library)开发的 STM32F403C8T6 微控制器,采用 UFQFPN48 封装的 STM32F401CCU6 则是基于 ARM Cortex®-M4 内核,内置有浮点运算单元(FPU,Float Point Unit)、自适应实时加速器(ART,Adaptive Realtime Accelerator)、数字信号处理器(DSP,Digital Signal Processor)指令,内置 16mHz 高速与 32kHz 低速晶体振荡器,工作时钟频率高达 84mHz,采用 1.7V ~ 3.6V 电源进行供电。

因为 STM32F401CCU6 提供了较大的数据与程序存储空间,所以本文将会基于意法半导体 ST 近年来主推的硬件抽象层HAL,Hardware Abstraction Layer)以及底层LL,Low-layer)开发库,并且结合 STM32CubeIDE 提供的便捷图形化配置工具。本文写作过程当中,参考了意法半导体的《STM32F401xC Data Sheet》《STM32F401xC Reference Manual》以及《Description of STM32F4 HAL & LL drivers》三份官方文档。

阅读更多

基于 ES6 的 JavaScript 简明语法书

JavaScript 是一款基于原型的的多范式动态脚本语言,支持命令式、函数式以及面向对象式的编程风格。其标准化工作主要由欧洲计算机制造商协会ECMA,European Computer Manufacturers Association)负责,其语言标准被称为ECMAScript,其它组织可以遵循该标准开发各自的 JavaScript 实现,例如 Firefox 内置的 SpiderMonkey 以及 Chrome 内置的 V8 解析引擎(ECMAScript 规范文档主要针对解析引擎的开发人员,而非 JavaScript 脚本的编写人员)。

2012 年之后推出的 Web 浏览器都完整实现了 ECMAScript 5.1 标准,而 2015 年发布的 ECMAScript 6 标准(官方称为 ECMAScript 2015,俗称为 ES6),目前已经被 FirefoxChromium 以及 NodeJS 进行了较为完整的实现,所以本文将会基于此介绍 JavaScript 的重点语法特性,以及一些较为用常用的核心工具函数,本文在写作过程当中参考了 Mozilla 开发者社区的 《JavaScript Guide》《JavaScript Reference》 两篇官方文档。

阅读更多