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

嵌入式物联网系统软硬件基础知识大全(2)

接口技术

1. Flash存储器

(1)Flash存储器是一种非易失性存储器,根据结构的不同可以将其分为NOR Flash和NAND
Flash两种。
(2)Flash存储器的特点:
A、区块结构:在物理上分成若干个区块,区块之间相互独立。
B、先擦后写:Flash的写操作只能将数据位从1写成0,不能从0写成1,所以在对存储器进行
写入之前必须先执行擦除操作,将预写入的数据位初始化为1。擦除操作的最小单位是一个区
块,而不是单个字节。
C、操作指令:执行写操作,它必须输入一串特殊指令(NOR Flash)或者完成一段时序
(NAND Flash)才能将数据写入。
D、位反转:由于Flash的固有特性,在读写过程中偶尔会产生一位或几位的数据错误。位反
转无法避免,只能通过其他手段对结果进行事后处理。
E、坏块:区块一旦损坏,将无法进行修复。对已损坏的区块操作其结果不可预测。
(3)NOR Flash的特点:
应用程序可以直接在闪存内运行,不需要再把代码读到系统RAM中运行。NOR Flash的传输效率很
高,在1MB~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性
能。
(4)NAND Flash的特点
能够提高极高的密度单元,可以达到高存储密度,并且写入和擦除的速度也很快,这也是为何所有
的U盘都使用NAND Flash作为存储介质的原因。应用NAND Flash的困难在于闪存需要特殊的系
统接口。
(5)NOR Flash与NAND Flash的区别:
A、NOR Flash的读速度比NAND Flash稍快一些。
B、NAND Flash的擦除和写入速度比NOR Flash快很多
C、NAND Flash的随机读取能力差,适合大量数据的连续读取。
D、NOR Flash带有SRAM接口,有足够的地址引进来寻址,可以很容易地存取其内部的每一
个字节。NAND Flash的地址、数据和命令共用8位总线(有写公司的产品使用16位),每次
读写都要使用复杂的I/O接口串行地存取数据。 E、NOR Flash的容量一般较小,通常在1MB~8MB之间;NAND Flash只用在8MB以上的产
品中。因此,NOR Flash只要应用在代码存储介质中,NAND Flash适用于资料存储。
F、NAND Flash中每个块的最大擦写次数是一百万次,而NOR Flash是十万次。
G、NOR Flash可以像其他内存那样连接,非常直接地使用,并可以在上面直接运行代码;
NAND Flash需要特殊的I/O接口,在使用的时候,必须先写入驱动程序,才能继续执行其他
操作。因为设计师绝不能向坏块写入,这就意味着在NAND Flash上自始至终必须进行虚拟映
像。
H、NOR Flash用于对数据可靠性要求较高的代码存储、通信产品、网络处理等领域,被成为
代码闪存;NAND Flash则用于对存储容量要求较高的MP3、存储卡、U盘等领域,被成为数
据闪存。

2、RAM存储器

(1)SRAM的特点:
SRAM表示静态随机存取存储器,只要供电它就会保持一个值,它没有刷新周期,由触发器构成基
本单元,集成度低,每个SRAM存储单元由6个晶体管组成,因此其成本较高。它具有较高速率,常
用于高速缓冲存储器。通常SRAM有4种引脚:
CE:片选信号,低电平有效。
R/W:读写控制信号。
ADDRESS:一组地址线。
DATA:用于数据传输的一组双向信号线。
(2)DRAM的特点:
DRAM表示动态随机存取存储器。这是一种以电荷形式进行存储的半导体存储器。它的每个存储单
元由一个晶体管和一个电容器组成,数据存储在电容器中。电容器会由于漏电而导致电荷丢失,因
而DRAM器件是不稳定的。它必须有规律地进行刷新,从而将数据保存在存储器中。DRAM的接口
比较复杂,通常有一下引脚:
CE:片选信号,低电平有效。
R/W:读写控制信号。
RAS:行地址选通信号,通常接地址的高位部分。
CAS:列地址选通信号,通常接地址的低位部分。
ADDRESS:一组地址线。
DATA:用于数据传输的一组双向信号线。
(3)SDRAM的特点:
SDRAM表示同步动态随机存取存储器。同步是指内存工作需要同步时钟,内部的命令发送与数据
的传输都以它为基准;动态是指存储器阵列需要不断的刷新来保证数据不丢失。它通常只能工作在
133MHz的主频。
(4)DDRAM的特点
DDRAM表示双倍速率同步动态随机存取存储器,也称DDR。DDRAM是基于SDRAM技术的,
SDRAM在一个时钟周期内只传输一次数据,它是在时钟的上升期进行数据传输;而DDR内存则是
一个时钟周期内传输两次次数据,它能够在时钟的上升期和下降期各传输一次数据。在133MHz的
主频下,DDR内存带宽可以达到133×64b/8×2=2.1GB/s。

3、硬盘、光盘、CF卡、SD卡

4、GPIO原理与结构

GPIO是I/O的最基本形式,它是一组输入引脚或输出引脚。有些GPIO引脚能够加以编程改变工作
方向,通常有两个控制寄存器:数据寄存器和数据方向寄存器。数据方向寄存器设置端口的方向。
如果将引脚设置为输出,那么数据寄存器将控制着该引脚状态。若将引脚设置为输入,则此输入引
脚的状态由引脚上的逻辑电路层来实现对它的控制。

5、A/D接口

(1)A/D转换器是把电模拟量转换为数字量的电路。实现A/D转换的方法有很多,常用的方法有计数
法、双积分法和逐次逼进法。
(2)计数式A/D转换法
其电路主要部件包括:比较器、计数器、D/A转换器和标准电压源。
其工作原理简单来说就是,有一个计数器,从0开始进行加1计数,每进行一次加1,该数值作为
D/A转换器的输入,其产生一个比较电压VO与输入模拟电压VIN进行比较。如果VO小于VIN则继
续进行加1计数,直到VO大于VIN,这时计数器的累加数值就是A/D转换器的输出值。
这种转换方式的特点是简单,但是速度比较慢,特别是模拟电压较高时,转换速度更慢。例如对于
一个8位A/D转换器,若输入模拟量为最大值,计数器要从0开始计数到255,做255次D/A转换和
电压比较的工作,才能完成转换。
(3)双积分式A/D转换法
其电路主要部件包括:积分器、比较器、计数器和标准电压源。
其工作原理是,首先电路对输入待测电压进行固定时间的积分,然后换为标准电压进行固定斜率的
反向积分,反向积分进行到一定时间,便返回起始值。由于使用固定斜率,对标准电压进行反向积
分的时间正比于输入模拟电压值,输入模拟电压越大

相关文章:

嵌入式物联网系统软硬件基础知识大全(2)

接口技术 1. Flash存储器 (1)Flash存储器是一种非易失性存储器,根据结构的不同可以将其分为NOR Flash和NAND Flash两种。 (2)Flash存储器的特点: A、区块结构:在物理上分成若干个区块,区块之间相互独立。 B、先擦后写:Flash的写操作只能将数据位从1写成0,不能从…...

Origin拟合EIS(电化学阻抗谱),怎么出来圆圈

1.先导入数据,以点图的形式画出来 2.重要的一步Fitting,按照我这个一步一步来就行 3.将其中的Function选择为Elipse,然后点拟合至最佳条件 4.第三步做完就会发现圆圈已经出来了,然后点OK就行 5.搞定...

Android APP转成launcher

一、背景 使用场景&#xff0c;需要开机的时候&#xff0c;自动启动app&#xff0c;解决方案为将Android app转成 launcher app&#xff0c;可实现效果。 二、实现 在app入口activity 的配置文件&#xff08;AndroidManifest.xml&#xff09;对应位置&#xff0c;添加 <cat…...

【副本向】Lua副本逻辑

副本生命周期 OnCopySceneTick() 子线程每次心跳调用 --副本心跳 function x3323_OnCopySceneTick(elapse)if x3323_g_IsPlayerEnter 0 thenreturn; -- 如果没人进入&#xff0c;则函数直接返回endif x3323_g_GameOver 1 thenif x3323_g_EndTick > 0 thenx3323_CountDown…...

ROS机器人实用技术与常见问题解决

问题速查手册&#xff08;时实更新&#xff09;更加全面丰富的问题手册记录 1.机器人使用GPARTED挂载未分配空间 需要在图型界面下操作&#xff0c;建议使用no machine连接 安装gparted磁盘分区工具, sudo apt-get install gparted -y 启动软件 sudo gparted 点击磁盘/内存…...

Linux学习之IP协议

前言&#xff1a; 在学习IP协议i前&#xff0c;我们其实知道网络协议栈是一层层的&#xff0c;上层封装好之后就传给下层&#xff0c;对于我们正要学习到的TCP协议&#xff0c;在对数据进行封装之后&#xff0c;并不是直接就将数据进行传输&#xff0c;而是交给下一层网络层进…...

Python Dash库:一个Web应用只需几行代码

大家好&#xff0c;在数据科学领域&#xff0c;数据可视化是将数据以图形化形式展示出来&#xff0c;帮助我们更直观地理解数据。Python中有一个非常流行的数据可视化库叫做Dash&#xff0c;Dash以其简洁、高效和强大的功能而闻名&#xff0c;它允许开发者快速构建交互式Web应用…...

用Docker 创建并运行一个MySQL容器

可以在DockerHub官网上荡:mysql - Official Image | Docker Hub 指令是:docker pull mysql; 因为文件比较大可能时间比较长&#xff0c;我是跟着黑马的课走的 课程提供的有文件&#xff0c;我就用已有的资源了。 在tmp目录里放入mysql.tar包 然后cd进去 输入指令:docker lo…...

在Java中如何有效地处理内存泄露

在Java中&#xff0c;处理内存泄露有多种方法&#xff0c;以下是其中三种常见的方法及其原理和适用场景&#xff1a; ## 1. 合理使用垃圾回收机制 Java中的垃圾回收机制&#xff08;Garbage Collection&#xff0c;GC&#xff09;是一种自动化的内存管理技术&#xff0c;它可以…...

值得收藏!修复Windows 10/11中找不到输出或输入设备的五种方法

序言 这篇文章主要关注处理声音输出/输入设备未发现的问题。它提供了许多可行的方法,帮助了许多Windows用户。阅读以下内容以找到你的解决方案。 最近,我将Windows 10更新到21H2,发现我的音频无法工作。当我把鼠标放在任务栏上的声音图标(上面有一个十字图标)上时,它会…...

Slurm运行pytorch深度学习模型(小白版)

Slurm背景&#xff1a; Slurm 是一种开源的作业调度系统&#xff0c;它用于管理大型计算集群中的计算资源和作业。你可以把它想象成一个“交通管制员”&#xff0c;负责管理计算集群中的各种任务&#xff0c;确保它们按照用户设定的规则有序地执行。 Slurm 的主要功能包括&…...

SQL如何利用Bitmap思想优化array_contains()函数

目录 0 问题描述 1 位图思想 2 案例实战 3 小结 0 问题描述 在工作中&#xff0c;我们往往使用array_contains()函数来进行存在性问题分析&#xff0c;如判断某个数是否在某个数组中&#xff0c;但是当表数据量过多&#xff0c;存在大量array_contains()函数时&#xff0c;…...

面试官:打开了一个新窗口,怎么知道这个窗口已经被打开过?

前言 我们现在来想这么一个场景&#xff0c;在掘金的文章管理页打开了一篇文章草稿&#xff0c;然后点击编辑&#xff0c;这个时候打开新标签页 A &#xff0c;再点击一次编辑&#xff0c;打开了标签页 B 。 此时如果你在 A 编辑&#xff0c; B 是感知不到 A 的内容变动的&am…...

机器学习项目实践-基础知识部分

环境建立 我们做项目第一步就是单独创建一个python环境&#xff0c;Python新的隔离环境 创建&#xff1a;python -m venv ml 使用&#xff1a;.\Scripts\activate python -m venv ml 是在创建一个名为 ml 的虚拟环境&#xff0c;这样系统会自动创建一个文件夹ml&#xff0c;…...

CNN卷积神经网络,TensorFlow面试题

目录 CNN卷积神经网络 什么是TensorFlow? 张量是什么 TensorFlow有什么优势?...

Android 官网Ota介绍

构建 OTA 软件包 | Android 开源项目 | Android Open Source Project...

Redis(持久化)

文章目录 1.RDB1.介绍2.RDB执行流程3.持久化配置1.Redis持久化的文件是dbfilename指定的文件2.配置基本介绍1.进入redis配置文件2.搜索dbfilename&#xff0c;此时的dump.rdb就是redis持久化的文件3.搜索dir&#xff0c;每次持久化文件&#xff0c;都会在启动redis的当前目录下…...

基于Flask的岗位就业可视化系统(一)

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 前言 本项目综合了基本数据分析的流程&#xff0c;包括数据采集&#xff08;爬虫&#xff09;、数据清洗、数据存储、数据前后端可视化等 推荐…...

嵌入式学习68-C++(运算符重载和虚函数)

知识零碎&#xff1a; cin >> n 相当于scanf C系统提供的6种基本函数 …...

UVA1048/LA3561 Low Cost Air Travel

UVA1048/LA3561 Low Cost Air Travel 题目链接题意输入格式输出格式 分析AC 代码 题目链接 本题是2006年ICPC世界总决赛的A题 题意 很多航空公司都会出售一种联票&#xff0c;要求从头坐&#xff0c;上飞机时上缴机票&#xff0c;可以在中途任何一站下飞机。比如&#xff0c;假…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...