新星杯-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 池化技术原理 池化技术 当一个资源或对象的创建或者销毁的开销较大时,可以使用池化技术来保持一定数量的创建好的对象以供随时取用,于是就有了池式结构。常见的池式结构包括线程池、内存池和连接池。 池化技术应用的前提条件主要包括三…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...