【正点原子FPGA连载】第十五章eMMC读写测试实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

news2025/7/20 14:45:05

1)实验平台:正点原子MPSoC开发板
2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670
3)全套实验源码+手册+视频下载地址: http://www.openedv.com/thread-340252-1-1.html

第十五章eMMC读写测试实验

eMMC是一种嵌入式多媒体存储卡,它具有存储容量大、传输速度快、易于使用等优点,主要应用于对存储容量有较高要求的消费电子产品,如智能手机、平板电脑和车载导航等。本章我们将使用MPSOC开发板学习如何对eMMC卡进行读写操作。
本章包括以下几个部分:
1515.1简介
15.2实验任务
15.3硬件设计
15.4软件设计
15.5下载验证

15.1简介

eMMC的英文全称是Embedded Multi Media Card,即嵌入式多媒体卡(又叫嵌入式存储卡),eMMC是MMC协会所订立的内嵌式存储器标准规格,主要是针对手机或者平板电脑为主,是一种非易失性的存储器件。
eMMC采用统一的MMC标准接口,把高密度的NAND Flash以及Device Controller(也叫Flash控制器)封装在一颗BGA芯片中,从而减少了对PCB主板空间的占用。Flash控制器用于对Flash进行管理,相比于直接将NAND Flash接入到Host端(MPSOC开发板),eMMC 屏蔽了NAND Flash的物理特性,可以减少Host端软件的复杂度,让Host端专注于应用,省去对NAND Flash进行特殊的处理。同时,eMMC通过使用Cache、Memory Array等技术,在读写性能上也比NAND Flash要好很多。
正是由于eMMC采用统一的MMC标准接口,使得我们可以像操作SD卡一样操作eMMC,SD卡和eMMC的接口和传输协议类似,只不过SD卡是一种外置卡,方便插拔;而eMMC是直接焊接在主板上,其连接性更为可靠,读写速率也更高。所以,eMMC更像是直接焊接在主板上的SD卡,我们甚至能看到,有些网友将废旧手机上的eMMC拆下,飞线到读卡器卡槽中,把eMMC当成TF卡来使用。
MPSOC开发板板载的eMMC芯片型号是KLM8G1GETF,存储容量为8GByte,可以用于存储一些用户数据,其和MPSOC开发板的连接示意图如下:
在这里插入图片描述

图 15.1.1 MPSOC开发板和eMMC连接示意图
CLK:时钟信号,用于对命令和数据进行同步。
RST:复位信号。
CMD:双向信号,用于对器件进行初始化和传输命令。
DAT0~7:双向数据信号。
随着eMMC协议的版本迭代,eMMC总线的速率也越来越高。为了兼容旧版本的eMMC Device,所有Devices在上电启动或者Reset后,都会先进入兼容速率模式(Backward Compatible Mode)。在完成eMMC Devices的初始化后,Host可以通过特定的流程,让Device进入高速率模式。在兼容速率模式下,eMMC的时钟频率范围是0~26Mhz;而在高速率模式下,时钟频率最高可达200Mhz。
eMMC为并行数据接口,且为半双工通信,如果想提高传输速率,需要提高时钟和数据的频率。由于eMMC是并口,快速并行接口同步就是一个瓶颈了,即便同步问题解决了,信号之间的串扰也是无法避免的。因此对于更高带宽传输的场景,一般采用UFS(Universal Flash Storage,通用闪存存储),UFS闪存是基于串行数据传输技术打造,其内部存储单元与主控之间虽然只有两个数据通道,但由于采用串行数据传输,其实际数据传输时速远超基于并行技术的eMMC闪存。此外UFS闪存支持的是全双工模式,所有数据通道均可以同时执行读写操作,在数据读写的响应速度上也要凌驾于eMMC闪存,但同时其成本也更高。

15.2实验任务

本章的实验任务是通过Xilinx Vitis自带的FATFS库,完成对eMMC读写的功能,并将读写测试结果通过串口打印出来。

15.3硬件设计

我们的MPSOC开发板上板载了一个eMMC(U16),原理图如下图所示:
在这里插入图片描述

图15.3.1 eMMC原理图
图中的U19A是KLM8G1GETF芯片原理图中的一部分,由于eMMC的引脚较多,且大多数为没有用到的引脚(NC),因此这里仅贴出关键引脚的原理图。由上图可知,eMMC共8个数据IO。另外eMMC的IO电平(VCC_PSAUX)为1.8V。
从实验任务我们可以画出如下的系统框图,DDR中存放和运行程序、SD控制器驱动eMMC,UART实现串口通信。
在这里插入图片描述

图15.3.2 系统框图
由系统框图可知,本次实验和“SD卡读写TXT文本实验”相比,只是将TF卡替换成eMMC,因为eMMC的MMC接口的驱动时序和SD卡非常类似,我们完全可以像驱动SD卡一样驱动eMMC,并且eMMC也是支持FATFS文件系统的。所以上图是在MPSOC嵌入式最小系统的基础上,添加了SD控制器,用于驱动eMMC。需要说明的是,eMMC连接的是PS的MIO端口,因此本次实验没有用到PL的资源。
我们直接在“Hello World实验”的基础上,将工程另存为“emmc_rw”工程。
这里简单介绍下Zynq Ultrascale+ MPSOC的配置界面,如图所示。配置界面选择的是SD0 MIO13…22,接口类型(Slot Type)选择的是eMMC,Data Transfer Mode选择8bit,并勾选复位引脚,如下图所示:
在这里插入图片描述

图15.3.3 SD卡控制器配置界面
需要注意的是,eMMC的引脚连接到MPSOC的Bank0端口,Bank0的IO电压为1.8V,因此在MIO的配置界面将Bank0的电压改为“LVCMOS 1.8V”。
嵌入式系统最终搭建的框图如图15.3.4所示:
在这里插入图片描述

图15.3.4 最终原理图界面
最后导出HardWare,并打开Vitis软件。
15.4软件设计
在硬件设计的最后,我们打开了Vitis开发环境。
在菜单栏中选择File->New->Application Project,新建一个名为emmc_rw的Vitis应用工程。
接下来的操作,和“SD卡读写TXT文本实验”一样,甚至软件代码也可以直接拷贝过来,不用做任何修改,故此处不再赘述。
15.5下载验证
首先我们将下载器与开发板上的JTAG接口连接,下载器另外一端与电脑连接。然后使用USB连接线将开发板上的USB_UART接口(PS_PORT)与电脑连接,用于串口通信。eMMC位于ZYNQ FPGA的右下方位置,如下图所示。
在这里插入图片描述

图 15.5.1 开发板上的eMMC位置
最后连接开发板的电源,给开发板上电。
软件下载完成后,在下方的Terminal中可以看到应用程序打印的信息“src_str is equal to dest_str, eMMC test success!”,如下图所示:
在这里插入图片描述

图 15.5.2 打印eMMC读写测试结果
由上图可知,显示写入的字符和读出的字符一致,说明eMMC读写测试成功。
由于eMMC是焊接在开发板上的,我们不可能像TF卡一样,在电脑上查看是否有创建“ZDYZ.txt”文本,仅从串口中打印的信息可以得知,eMMC读写测试成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/368726.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BI工具术语表大全:从字母A-Z全面收录

谈到商业智能行业,变革是不可避免的。为了跟上步伐,各种各样的BI 解决方案正在快速迭代更新,以满足企业的数字化需求,那么市场上BI 工具种类繁杂,到底如何选择适合功能全面、满足自己企业运转情况的、合适的BI 工具呢&…

来啦来啦,续篇来啦,CMOS逻辑IC基本工作原理总结概述

在上一篇文章中我们已经认识了CMOS逻辑IC的基本知识和分类,由于功耗和成本以及复杂度的平衡性最好,是实际应用中最常用的一种。今天我们就详细跟大家一起了解东芝CMOS逻辑IC的基本工作原理还有其CMOS逻辑IC系列型号选型吧。 东芝CMOS逻辑IC系列型号选型表…

什么是主数据

整理不易,转发请注明出处,请勿直接剽窃! 点赞、关注、不迷路! 摘要:主数据定义、解释;主数据管理意义、管理工具 定义:主数据是企业内核心业务实体数据。 解释:主数据(Ma…

gRPC Ecosystem 初探

grpc是目前使用很广泛的远程过程调用库,在使用过程中,我们通常会使用protoc命令将proto文件转成特定的代码进行使用。那一些复杂点的应用有没有可以支撑的工具或类库呢。 前段时间在进行自定义grpc tls证书认证的过程中,知道了有一个github项…

【重庆邮电大学协办】2023年第六届数据挖掘与知识发现国际会议(DMKD 2023)

【重庆邮电大学协办】2023年第六届数据挖掘与知识发现国际会议(DMKD 2023) 重要信息 会议网址:www.icdmkd.org 会议时间:2023年6月24-26日 召开地点:中国-重庆 截稿时间:2023年5月24日 录用通知:投稿后2周内 收录…

测试部门来了个99年的卷王之王,老油条感叹真干不过,但是...

在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事,可遇不可求,向他学习还来不及呢。 真正让人反感的,是技术平平&…

实战-缓存数据一致+binlog初始+cannel监听+数据迁移,数据一致性架构设计

前言 一. 解决缓存不命中(高并发操作击穿打挂DB的风险) 当并发量打的时候,当我们的缓存过期时,就算到数据库的比例偏小的时候,我们的请求时比较大的。那也会存在数据库崩掉的情况。解决方案想法如下(总体…

电商共享购模式,消费增值返利,app开发

在当今以市场需求为主导的数字经济时代,消费者需求呈现出精细化管理和多元化的特性,目标市场日渐完善,另外在大数据技术迅速进步和运用的驱动下,总体行业的发展节奏感也在不断加速。因而,企业需要建立一套灵活多变的经…

【Leedcode】数据结构中链表必备的面试题(第五期)

【Leedcode】数据结构中链表必备的面试题(第五期) 文章目录【Leedcode】数据结构中链表必备的面试题(第五期)1.题目2.思路图解(1)第一步:复制每一个结点,插入到原结点和下一个结点之…

OAK相机如何将yolox模型转换成blob格式?(0.1.1pre 及之后版本)

编辑:OAK中国 首发:oakchina.cn 喜欢的话,请多多👍⭐️✍ 内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。 ▌前言 Hello,大家好,这里是OAK中国,我是助手…

新能源充电桩控制板迭代升级,打开充电桩行业发展新机遇

作为新能源汽车可持续发展的关键因素,充电桩的基础建设和完善一直备受关注。伴随着新能源汽车充电桩规模的扩大和停车位的增加,传统的充电桩控制板已经无法满足人们的充电需求,同时急需加强对新能源汽车充电桩的有效管理,新能源充…

Kali Linux使用Metasploit生成木马入侵安卓系统

额,这是我最后一篇文章了,周一我们开学了 文章目录前言一、Metasploit是什么?演示环境二、生成可执行木马文件1.生成2.运行命令并生成木马配置参数入侵安卓手机命令1.查看对方手机系统信息查看对方手机安装哪些app文件总结前言 前言&#xf…

Sophos Firewall OS (SFOS) 19.5 MR1 - 同步下一代防火墙

Sophos Firewall OS (SFOS) 19.5 MR1 - 同步下一代防火墙 请访问原文链接:https://sysin.org/blog/sfos-19-5/,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org Sophos Firewall v19.5 现已推出 Sophos Firewall…

H5视频上传与播放

背景 需求场景: 后台管理系统: (1)配置中支持上传视频、上传成功后封面缩略图展示,点击后自动播放视频; (2)配置中支持上传多个文件; 前台系统: &#…

游戏增长专题-构建游戏分析技术Game Analytic Pipeline与量江湖分享

文章目录亚马逊云科技游戏孵化营-游戏增长主题从事数据分析的起因加入游戏孵化营构建游戏分析技术Game Analytic Pipeline游戏公司的数据分析需求需要收集的数据游戏数据分类Game Analytics Pipline解决方案Game Analytics Pipline演示量江湖 CEO 赵晔 分享专题总结亚马逊云科技…

vue前端项目分享facebook、twitter、linkedin

背景 如果你FaceBook和twitter的分享机制就知道,当你分享数据到他们的网站,会有爬虫机器人一直在读取并解析你的数据(meta里面的),所以怎么让你的meta数据被抓到? 问题 Vue的页面公用一个HTML&#xff0…

Golang学习Day2

Go语言中的函数go语言中函数特性go语言有三种函数:普通函数、匿名函数(没有名称的函数)方法(定义在struct上的函数)。receivergo语言中不运算函数重载(overload),也就是说不允许函数…

Vulnhub靶场----7、DC-7

文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 DC-7下载地址:https://download.vulnhub.com/dc/DC-7.zip kali:192.168.144.148 DC-7:192.168.144.155 二、渗透流程 nmap -T5 -A -p- -sV -sT 192.168.144.155思路: …

【Opencv项目实战】目标检测:自动检测出现的所有动态目标

文章目录一、项目思路二、算法详解2.1、计算两个数组或数组与标量之间的每个元素的绝对差。2.2、轮廓检测 绘制物体轮廓 绘制矩阵轮廓2.3、连续窗口显示2.4、读取视频,显示视频,保存视频三、项目实战:实时动态目标检测实时动态目标检测一、…

[蓝桥杯 2018 省 A] 付账问题 贪心题

几个人一起出去吃饭是常有的事。但在结帐的时候,常常会出现一些争执。现在有 n 个人出去吃饭,他们总共消费了 S 元。其中第 i 个人带了 ai 元。幸运的是,所有人带的钱的总数是足够付账的,但现在问题来了:每个人分别要出…