新星杯-ESP32智能硬件开发--SoC基础
本博文内容导读
1、当前嵌入式系统的发展情况,分析SoC作为物联网开发的重要技术,是未来物联网发展重要方向。
2、介绍SoC系统的组成和系统特点,了解SoC打下SoC基础。
3、介绍基于ESP32的SoC系列开发板,ESP32开发的系统功能进行总结。
System on Chip(SoC),即片上系统,是嵌入式系统发展到高级阶段的结果,技术上领先,性能上优越。 SoC的迅速发展为专业应用提供了强大的技术基础,具有灵活、高效、高性价比的优点,是万物互联时代的重要技术应用方向,未来更加广泛地应用于生产生活中。 它是针对特定需求,满足特定功能的计算机软件和硬件的集合体,具有软硬件可裁剪性,适应专业应用系统的功能、性能的专用计算机系统。 从狭义角度讲,SoC是将信息系统核心部件集成在一块芯片上。从广义角度讲,SoC是一个微小型系统,不仅包括微处理器,而且包括模拟IP核、数字IP核和存储器集成在单一芯片上,可以客户定制,也可以面向特定用途。
功能设计:电路依据产品的应用场景,设定一些诸如功能、操作速度、接口规格、环境温度及消耗功率等,进一步规划软件模块及硬件模块划分,哪些功能整合于SoC内,哪些功能设计在电路板上。 设计描述和行为验证:设计完成后,可以将SoC划分为若干功能模块,并实现这些功能要使用的IP核。此阶段直接影响了SoC内部的架构及各模块间传送的信号,以及未来产品的可靠性。确定模块之后,可以用VHDL或Verilog等硬件描述语言实现各模块的设计。最后,使用VHDL或Verilog的电路仿真器,对设计进行功能验证或行为验证。 逻辑综合:确定设计描述正确后,可以用逻辑综合工具进行操作,选择适当的逻辑器件库,作为合成逻辑电路时的参考依据,得到门级网表。 门级验证:门级功能验证是寄存器传输级验证。主要的工作是要确认经综合后的电路是否符合功能需求,该工作一般利用门电路级验证工具完成。
在SoC系统硬件组成中,包括微处理器CPU,一般采用精简指令集;存储器包含缓存、主存储器和辅助存储器;通用设备接口和I/O接口。在SoC系统软件组成中,包括中间层,是设备驱动程序和板级支持包;系统层,是实时操作系统;应用层,是具体的应用程序。

SoC结构与特点
SoC基本特点:
•内核小。SoC系统一般是应用于小型电子装置的,资源相对有限,所以内核较之传统的操作系统要小。
•专用性。SoC系统和硬件的结合紧密,一般硬件系统要进行的移植,即使同一品牌、同一系列的产品中也需根据系统硬件的变化和增减进行修改。同时,不同的任务,需要对系统进行较大更改,程序的编译下载需与系统相结合,这种修改和通用软件的升级是不同的。 •集成化。SoC没有系统软件和应用软件的明显区分,功能设计及实现上简单集成,一方面利于控制系统成本,另一方面有利于实现系统安全。 •实时性。SoC软件的基本要求是高实时性的系统软件。软件要求固态存储,提高速度; 软件代码要求高质量和高可靠性。
多任务。SoC软件未来的发展是使用多任务的操作系统。系统的应用程序可以没有操作系统直接运行;但是为了调度多任务、利用系统资源、系统函数以及与专家库函数接口,用户需自行选配RTOS开发平台。
•可测性。SoC需要有一套开发工具和环境,工具和环境是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等,具有可测性。
•长期性。与具体应用有机结合在一起,升级换代同步进行。因此,SoC系统产品一旦进入市场,具有较长的生命周期。 •可靠性。为提高运行速度和系统可靠性,SoC系统中的软件一般都固化在存储器芯片中。
•可裁剪。尽管系统支持提供统一的开放接口,但是要求系统具有开放性和可伸缩性的体系结构和良好的可移植性。
ESP32系列SoC
ESP32系列芯片是集成2.4GHz WiFi和蓝牙双模的单芯片方案,采用超低功耗的40纳米工艺,具有超高的射频性能、稳定性、通用性和可靠性,以及超低的功耗,适用于各种应用场景。 主要包括:核与存储器、RTC、WiFi、BT、RF、外部接口和密码软件加速器。
其主要特点:
1.超低功耗。在低功耗物联网传感器集中应用场景中,ESP32只有在特定条件下才会被周期性地唤醒。低占空比可以极大降低ESP32芯片的能耗。射频功率放大器的输出功率也可调节,以实现通信距离、数据率和功耗之间的最佳平衡。
2.高集成度。ESP32采用CMOS工艺实现单芯片集成射频和基带,还集成了先进的自校准电路,实现了动态自动调整,可以消除外部电路的缺陷,更好地适应外部环境的变化。

ESP32主要的功能
1.WiFi主要功能。
无线多媒体;帧聚合;立即块回复;重组;自动监测;4个虚拟WiFi接口;支持基础结构型网络Station模式/SoftAP 模式/混杂模式,ESP32在Station模式下扫描时,SoftAP信道会同时改变;天线分集。
2.蓝牙主要功能。
蓝牙v4.2完整标准,包含传统蓝牙和低功耗蓝牙;支持标准Class-1、Class-2和Class-3,且无须外部功率放大器;增强型功率控制;输出功率高达+12dBm;接收器具有–94dBm的低功耗蓝牙接收灵敏度;自适应跳频;基于SDIO/SPI/UART接口的标准人机交互;高速UART人机交互,最高可达4Mbit/s;•支持蓝牙4.2传统蓝牙和低功耗蓝牙双模控制器;同步面向连接/扩展同步面向连接;支持音频编解码算法;蓝牙微微网和散射网;支持传统蓝牙和低功耗蓝牙的多设备连接;支持同时广播和扫描。
3.CPU和存储功能。
Xtensa® 32位LX6单/双核处理器,运算能力高达600MIPS;448KB ROM;520KB SRAM;16KB RTC SRAM;QSPI支持多个Flash/SRAM。
4.时钟和定时器功能。
内置8MHz振荡器,支持自校准;内置RC振荡器,支持自校准;支持外置2MHz~60MHz的主晶振(如果使用WiFi/蓝牙功能,则目前仅支持40MHz晶振);支持外置32KHz晶振,用于RTC,支持自校准;2个定时器群组,每组包括2个64位通用定时器和1个主系统看门狗;1个RTC定时器;RTC看门狗。
5.高级外设接口功能。
34个GPIO引脚;12位SAR ADC,多达18个通道;2个8位D/A转换器;10个触摸传感器;4个SPI;2个I2S;2个I2C;3个UART;1个主机SD/eMMC/SDIO;1个从机SDIO/SPI;专用DMA的以太网MAC接口,支持IEEE 1588;双线汽车接口;IR(TX/RX);电机PWM;LED PWM,多达16个通道;霍尔传感器。
6.安全机制。
安全启动;Flash加密;1024位OTP,用户可用的高达768位;加密硬件加速器:AES/Hash(SHA-2)/RSA/ECC/随机数生成器。
相关文章:
新星杯-ESP32智能硬件开发--SoC基础
本博文内容导读 1、当前嵌入式系统的发展情况,分析SoC作为物联网开发的重要技术,是未来物联网发展重要方向。 2、介绍SoC系统的组成和系统特点,了解SoC打下SoC基础。 3、介绍基于ESP32的SoC系列开发板,ESP32开发的系统功能进行总…...
WDM_OTN_基础知识_波分系统的网络位置
波分系统简介和OTU 在这节课的内容中,我们主要介绍,波分系统在整个通信网络中的位置,波分系统的构成和它的架构,波分设备的构成和信号图,以及OUT的功能和分类及波分系统的应用场景。 波分系统在整个通信网络中&#x…...
计算机网络 (46)简单网络管理协议SNMP
前言 简单网络管理协议(SNMP,Simple Network Management Protocol)是一种用于在计算机网络中管理网络节点的标准协议。 一、概述 SNMP是基于TCP/IP五层协议中的应用层协议,它使网络管理员能够管理网络效能,发现并解决网…...
Excel重新踩坑6:工作实战总结之根据筛选条件求平均成绩
一、前言: 这个博客的实战场景:给了一组学生数据,这些数据中,有全市20个社区,1-9年级的学生各科成绩。要求按照各社区统计1-9年级的所有学生各科平均值。下面首先介绍会用到的一些函数,然后再简单说明实战…...
使用 Java 和 FreeMarker 实现自动生成供货清单,动态生成 Word 文档,简化文档处理流程。
在上一篇博客中主要是使用SpringBootApache POI实现了BOM物料清单Excel表格导出,详见以下博客: Spring Boot Apache POI 实现 Exc()el 导出:BOM物料清单生成器(支持中文文件名、样式美化、数据合并&#…...
20250118拿掉荣品pro-rk3566开发板上Android13下在uboot和kernel启动阶段的Rockchip这个LOGO标识
20250118拿掉荣品pro-rk3566开发板上Android13下在uboot和kernel启动阶段的Rockchip这个LOGO标识 2025/1/18 15:12 缘起:做飞凌OK3588-C开发板/核心板【Linux R4】的时候,测试/生产要求没有开机LOGO【飞凌/Rockchip】 要求:黑屏或者中性界面。…...
《Hands_On_LLM》8.3: 检索增强生成-RAG技术概论
3.检索增强生成 (Retrieval-Augmented Generation (RAG)) LLM 的大规模应用很快导致人们向它们提问,并期望得到符合实际的答案。虽然这些模型可以正确回答一些问题,但它们也自信地回答了许多错误的问题。为了纠正这种行为,业界转而采用的主要…...
CSS中样式继承+优先级
继承属性和非继承属性 一、定义及分类 1、继承属性是指在父元素上设置了这些属性后,子元素会自动继承这些属性的值,除非子元素显式地设置了不同的值。 常见的继承属性: 字体 font 系列文本text-align text-ident line-height letter-spacing颜色 col…...
Vue进阶之旅:核心技术与页面应用实战(路由进阶)
文章目录 一、路由模块封装二、声明式导航(一)导航链接与高亮(二)声明式导航传参1. 查询参数传参2. 动态路由传参 三、路由重定向、404 与模式设置(一)路由重定向(二)路由 404&#…...
单片机存储器和C程序编译过程
1、 单片机存储器 只读存储器不是并列关系,是从ROM发展到FLASH的过程 RAM ROM 随机存储器 只读存储器 CPU直接存储和访问 只读可访问不可写 临时存数据,存的是CPU正在使用的数据 永久存数据,存的是操作系统启动程序或指令 断电易失 …...
Vue.js 动态设置表格最大高度的实现
概述 在现代 Web 开发中,响应式设计至关重要,尤其是在处理复杂的布局和数据表格时。表格通常会受到多种因素的影响,如分页、合计行或动态内容,这可能导致表格高度的变化。本文将介绍一个基于 Vue.js 的方法 setMaxHeight…...
Java测试开发平台搭建(九)前端
1. 搭建前端vue环境 Vue3 安装 | 菜鸟教程 2. 创建项目 1.进入ui vue ui 2. create项目 3. 成功之后添加插件: cli-plugin-router vue-cli-plugin-vuetify 4. 添加依赖 axios 5. 点击任务开始运行 如果报错: 修改vue.config.jsconst { defineConfig }…...
MySQL多表查询练习
1.找出销售部门中年纪最大的员工的姓名 mysql> select name,age from dept a ,emp_new b where a.dept1b.dept2 and dept_name销售order by age desc limit 1; ------------ | name | age | ------------ | 荣七 | 64 | ------------ 1 row in set (0.00 sec) 2.求财务…...
低代码运维与管理服务
文章目录 前言一、服务内容二、服务范围三、服务流程四、服务交付件五、责任矩阵六、验收标准 前言 随着云计算技术的发展,数字化转型是企业的必然选择,企业需要实现广泛的连接并走向开放,传统集成工具无法满足当前企业面临的数字化转型诉求…...
【机器学习:三十二、强化学习:理论与应用】
1. 强化学习概述 **强化学习(Reinforcement Learning, RL)**是一种机器学习方法,旨在通过试验与反馈的交互,使智能体(Agent)在动态环境中学习决策策略,以最大化累积奖励(Cumulative…...
解决wordpress媒体文件无法被搜索的问题
最近,我在wordpress上遇到了一个令人困扰的问题:我再也无法在 WordPress 的媒体库中搜索媒体文件了。之前,搜索媒体非常方便,但现在无论是图片还是其他文件,似乎都无法通过名称搜索到。对于我这样需要频繁使用图片的博主来说,这简直是个大麻烦。 问题源头 一开始,我怀…...
【2024年华为OD机试】(B卷,100分)- 增强的strstr (Java JS PythonC/C++)
一、问题描述 题目描述 C 语言有一个库函数 char *strstr(const char *haystack, const char *needle),用于在字符串 haystack 中查找第一次出现字符串 needle 的位置,如果未找到则返回 null。 现要求实现一个 strstr 的增强函数,可以使用…...
【前端】CSS学习笔记
目录 CSS的简介CSS的概念语法 CSS的引入方式内联样式(行内样式)内部样式外部样式(推荐) 选择器全局选择器元素选择器类选择器ID选择器合并选择器后代选择器子选择器相邻兄弟选择器通用兄弟选择器伪类选择器:link:visited:hover:ac…...
项目架构调整,新增sunrays-combinations模块
文章目录 1.介绍2.环境搭建1.sunrays-framework下新建sunrays-combinations模块2.删除src3.pom.xml4.查看是否交给sunrays-framework管理5.删除sunrays-common中module引用的common-core-starter6.sunrays-combinations统一管理子模块7.common-all-starter的父模块修改为sunray…...
linux网络编程11——线程池
1. 线程池 1.1 池化技术原理 池化技术 当一个资源或对象的创建或者销毁的开销较大时,可以使用池化技术来保持一定数量的创建好的对象以供随时取用,于是就有了池式结构。常见的池式结构包括线程池、内存池和连接池。 池化技术应用的前提条件主要包括三…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
