当前位置: 首页 > news >正文

新星杯-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&#xf…...

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

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

【Oracle】分区表

个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...

高分辨率图像合成归一化流扩展

大家读完觉得有帮助记得关注和点赞!!! 1 摘要 我们提出了STARFlow,一种基于归一化流的可扩展生成模型,它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流(TARFlow&am…...

【51单片机】4. 模块化编程与LCD1602Debug

1. 什么是模块化编程 传统编程会将所有函数放在main.c中,如果使用的模块多,一个文件内会有很多代码,不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数声明,其他.c文…...

【java面试】微服务篇

【java面试】微服务篇 一、总体框架二、Springcloud(一)Springcloud五大组件(二)服务注册和发现1、Eureka2、Nacos (三)负载均衡1、Ribbon负载均衡流程2、Ribbon负载均衡策略3、自定义负载均衡策略4、总结 …...

React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?

系列回顾: 在上一篇《React核心概念:State是什么?》中,我们学习了如何使用useState让一个组件拥有自己的内部数据(State),并通过一个计数器案例,实现了组件的自我更新。这很棒&#…...

20250609在荣品的PRO-RK3566开发板的Android13下解决串口可以执行命令但是脚本执行命令异常的问题

20250609在荣品的PRO-RK3566开发板的Android13下解决串口可以执行命令但是脚本执行命令异常的问题 2025/6/9 20:54 缘起,为了跨网段推流,千辛万苦配置好了网络参数。 但是命令iptables -t filter -F tetherctrl_FORWARD可以在调试串口/DEBUG口正确执行。…...