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

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage)&#xff1a…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...

基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

比较数据迁移后MySQL数据库和OceanBase数据仓库中的表

设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...