0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

电子设备中MCU类VS Linux类 不同的存储方式

电子设计 来源:美光科技 作者:美光科技 2021-02-06 11:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

日常生活离不开各类电子产品,我们常见的电子产品通常以电路板作为载体,包含信息采集,信息处理,存储,执行等功能。

对于工程师来说,比起电路板,说开发板可能更亲切一些。由于工程师在研发初期,大都在开发板上验证功能,可以说开发板是所有电子设备最原始的状态。开发板与存储之间有什么样的关联呢?

开发板:MCU类VS Linux类 不同的存储方式

根据处理器类型,开发板一般分为两类:MCU类和 Linux 类。它们二者的存储方式还是有很大的差异的。

首先是MCU类开发板,MCU就是工程师口中的单片机,采用MCU的系统一般仅需要简单的操作或者控制,比如接收按钮或按键的输入信号,按照事先编好的程序,指挥马达和LCD的外围功能电路动作。

下图就是一个MCU系统的主要组成部分:

可以很明显的看出来MCU类的开发板它的存储功能靠内部存储就足够了。

内部存储分为ROMRAM两大类,存储空间大小在几十到几百KB不等。如果不运行操作系统和图形系统,MCU控制指令和代码就会相对简单,内部ROM和RAM可以满足大多数应用的系统存储要求。

另外一类是Linux类开发板,这类开发板的处理器我们最常见的有Arm Cortex A系列。

目前主流Linux开发板运行的是Linux系统,采用的多是Arm Cortex A系列的处理器。同Windows操作系统一样,Linux是一种开放源代码,功能强大、可靠、稳定性强、灵活而且具有极大的伸缩性的操作系统。

从下图可以看出,Arm Cortex A处理器的内部存储有96KB的ROM和128KB的RAM。

如果不跑操作系统,做一些简单的输入输出控制,代码量不多的话,自带的内部存储ROM和RAM是够用的。但是Arm Cortex A处理器的运算资源很强大,通常是使用在嵌入式产品上,嵌入式产品的软件是需要跑Linux操作系统的。

它的软件方面主要分为两大块:Linux内核和用户应用程序。如果Linux使用比较轻量级的busybox来做文件系统,使用版本比较低的内核kernel 3.2最终编译完后,Linux内核镜像大小在4-10M,最精简的文件系统就在16M左右,除此之外,用户另外用户肯定会在这个系统之上搭建自己的复杂的业务逻辑,要想支撑起比较复杂的用户应用程序,仅靠处理器的内部存储空间显然是不够的。

大家看看手边的Linux开发板,不难发现他们都额外增加了独立的存储芯片:SDARM和FLASH。

Linux开发板上的外部存储芯片

典型的Linux开发板,比如大家都很熟悉的树莓派4,使用的外部存储芯片就是美光的8GB LPDDR4 SDRAM。

或许有人就疑惑了:为什么是外接存储芯片,而不是直接在处理器芯片内置大容量Flash和RAM?

原因有很多,比如成本问题。如果单纯的加大RAM会占用很多硅片面积,这也会直接导致芯片价格的增加。在同样的硅片上,占用硅片面积大会使得切割出来的芯片晶圆数量减少。再者,RAM的工艺繁杂,RAM所占硅片的面积大,就会容易产生缺陷,导致芯片的整体良品率下降。

外部存储芯片如何与处理器进行工作的呢?

把Linux开发板看成一个大工厂,处理器是加工车间,外部的存储芯片则相当于仓库。为了提升工厂的产能,一是提高处理器的性能,这样可以提升加工车间的效率;二是缩短原材料从仓库到加工车间的时间,中间的临时小仓库,堆放目前专门生产的产品的原材料,可以大大缩短制造时间。小仓库相当于存储芯片中的DDR SDRAM,大仓库则相当于存储芯片中的Flash。

开发板上的DDR SDRAM用来保存用户程序在运行时使用到的数据。而Flash,负责存储应用程序等,就如电脑中的硬盘作用。

处理器,DDR SDRAM和Flash之间是如何进行数据传输的?

以运行用户程序为例,程序会以二进制码的形式存在Flash中。当想要运行某个用户程序时,处理器会先从Flash中读取待运行的程序放入DDR中。处理器与DDR实时进行数据传输,保证运行的速度。

✔ 开发板上的DDR SDRAM用来保存用户程序在运行时使用到的数据。

以美光的MT41K128M16JT-125 芯片(DDR3芯片)为例,速度可达800MHz的2GB DDR3 SDRAM。DDR3芯片的管脚较为复杂,不过大体上可以分成5类:电源线,时钟线地址线,数据线,控制线(在不同的容量芯片当中地址线和数据线的数目是变化的)。

下图的DRAM_ADDR[0:15],这是16根地址线,让处理器可以准确的访问DDR3芯片。然后是DRAM_DATA[0:15],我们可以看到16位的并行数据线,用于DDR3和处理器之间的数据传输。

✔ 开发板上的Flash,负责存储应用程序等,就如电脑中的硬盘作用,直接与处理器相连。

以美光的MT29F2G08ABAEAWP芯片为例,这是一颗Nand Flash芯片虽然有48个管脚,但是实际上使用到的管脚也就十多个,比如有:

复用的数据管脚,用于数据、地址、命令等信息;CLE:命令锁存使能,在输入命令之前,先要拉高CLE;ALE:地址锁存使能,在输入地址之前,先要拉高ALE;CE#:芯片使能,在操作Nand Flash之前,先要拉低CE#;RE#:读使能,在读取数据之前,先要拉低RE#;WE#:写使能,在写取数据之前,先要拉低WE#;WP#:写保护,拉低WP之后,将无法对芯片进行写操作;R/B#:Ready/Busy Output,平时R/B为高电平状态,但当NAND进行编程、随机读或擦除操作时变为低电平状态,操作完成后又变为高电平状态。

处理器与Nand Flash芯片通过8 bit的并行总线进行连接,操作CLE和ALE,可以实现对8个IO管脚的数据类型复用。这样做有一个好处,就是可以大大简化的硬件电路的设计,避免了繁琐的硬件连线。同时,为了加强处理器对Nand Flash读写操作的稳定性,图中CE,R/B和WP三个控制管脚被电阻上拉到高电平。

NAND Flash的操作通过一系列的命令来完成。命令一共分成9大类,包括复位操作、识别操作、配置操作、状态操作、地址操作、读操作、写(编程)操作、擦除操作以及写回操作。

最先进的DDR5时代已来

工程师们执着于增加电子产品的运行速度及存储空间,使得开发板上的存储芯片容量正不断增加。决定电子设备性能的核心除了处理器之外,存储芯片的读取速度也成为一个非常重要的因素。

迄今为止技术上最为先进的 DDR5 ,比上一代DDR4提升至少 85%,已经出现在工程师的手中了。
编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6074

    文章

    45342

    浏览量

    663736
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18620

    浏览量

    387444
  • lcd
    lcd
    +关注

    关注

    36

    文章

    4579

    浏览量

    175846
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    218013
  • DDR4
    +关注

    关注

    12

    文章

    343

    浏览量

    42683
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    企业如何根据自身需求选择合适的电能质量在线监测装置数据存储方式

    “本地存储、云端存储、混合存储” 三主流方式筛选。具体选择可按 “需求拆解→能力评估→
    的头像 发表于 10-30 09:53 113次阅读

    跳线VS超五/超六——如何选择“网络血管”?

    在布线工程,选对跳线类型直接影响网络性能与成本。六跳线虽非“全能选手”,但在特定场景下性价比突出。 一、六跳线VS超五:千兆网络的“
    的头像 发表于 10-21 10:24 367次阅读
    六<b class='flag-5'>类</b>跳线<b class='flag-5'>VS</b>超五<b class='flag-5'>类</b>/超六<b class='flag-5'>类</b>——如何选择“网络血管”?

    网线接口能插六网线吗

    网线接口(RJ45)可以插六网线,但实际使用效果需结合具体场景和设备综合判断。以下是详细分析: 一、物理兼容性:接口通用,但需注意细节 RJ45接口标准统一 五(Cat5)、超
    的头像 发表于 09-08 10:32 3370次阅读

    K8s存储设计与Ceph集成实战

    在云原生时代,存储是制约应用性能的关键瓶颈。本文将带你深入理解K8s存储的设计原理,并手把手实现与Ceph的完美集成,让你的集群存储性能提升300%!
    的头像 发表于 08-22 11:50 607次阅读

    harmony-utils之DeviceUtil,设备相关工具

    harmony-utils之DeviceUtil,设备相关工具
    的头像 发表于 07-03 18:27 414次阅读

    harmony-utils之AssetUtil,关键资产存储服务工具

    harmony-utils之AssetUtil,关键资产存储服务工具
    的头像 发表于 06-26 17:42 282次阅读

    将英飞凌USB串行桥接控制器配置为大容量存储 (MSC) 设备的过程是什么?

    将英飞凌 USB 串行桥接控制器配置为大容量存储 (MSC) 设备的过程是什么? 我对 CY7C65214 或 CY7C65215 部件的支持特别感兴趣。
    发表于 05-07 07:52

    买水晶头如何匹配超5 67

    购买与超5、6、7网线匹配的水晶头时,需遵循以下原则,以确保传输性能、稳定性和兼容性: 一、匹配原则 超5网线 推荐搭配:超5水晶
    的头像 发表于 03-26 10:05 4991次阅读

    DLP4500 sdkpattern和Image如何使用?

    启动投影需要pattern类型的数据。我有需要投影的图片读取成Image,如何用这个Image创建pattern呢?pattern类似乎只有默认构造函数,我怎么把Image数据装载上pattern呢?有提供这样的函数吗?
    发表于 02-21 12:59

    网线与其他网络设备的连接方式及注意事项

    连接。以下是六网线与其他网络设备的连接方式及相关注意事项: 一、基本连接方式网线的连接方式
    的头像 发表于 01-09 10:43 5099次阅读

    电源技术对电子设备的影响

    电源技术对电子设备的影响深远且重要,主要体现在以下几个方面: 一、提供稳定电能 电源技术是电子设备正常运行的基础,它负责为设备提供稳定和适当的电能。这种稳定的电能供应是确保电子设备能够
    的头像 发表于 01-08 10:10 1342次阅读

    EE-112:模拟C++实现

    电子发烧友网站提供《EE-112:模拟C++实现.pdf》资料免费下载
    发表于 01-03 15:15 0次下载
    EE-112:模拟C++<b class='flag-5'>中</b>的<b class='flag-5'>类</b>实现

    电位对电子设备的影响因素

    在现代电子技术,电位的概念至关重要。电位,即电压,是指电场某点的电势能与单位电荷的比值。对于电子设备而言,电位的稳定性和准确性直接影响到设备
    的头像 发表于 12-28 14:17 1230次阅读

    降噪技术在电子设备的应用

    降噪技术是通过减少或消除不需要的声音,提高声音质量的技术。在电子设备,降噪技术的应用已经变得日益广泛,为用户提供了更加清晰、宁静的使用体验。以下是对降噪技术在电子设备应用的分析:
    的头像 发表于 12-18 15:01 2303次阅读

    PFC在电子设备的应用 如何选择合适的PFC芯片

    PFC在电子设备的应用 电源因数校正技术在电子设备的应用主要体现在以下几个方面: 节能降耗 :通过提高功率因数,PFC技术能够减少电网
    的头像 发表于 12-16 15:43 2005次阅读