极速闪存启动:SD与SPI模式的智能初始化指南

最近很多客户朋友在询问我们 CS 创世 SD NAND 能不能使用 SPI 接口,两者使用起来有何区别,下面为大家详细解答。

SD MODE:

CS 创世 SD NAND 支持 SD 模式和 SPI 模式,SD NAND 默认为 SD 模式,上电后,其初始化过程如下:

image-20240820191618511

  1. 配置时钟,0-400KHZ,设置工作模式

  2. 发送 CMD0,使卡进入 idle 状态,该指令没有反馈

  3. 发送 CMD8,如果有反应,那就是 CRC 值与发送的相同,说明该卡兼容 SD2.0 协议,同时还是获取 SD 的工作电压

  4. 发送 CMD55+ACMD41, 判断 SD 卡的上电是否正确,短响应成功说明该卡为 SD 卡(短响应第 31 位为 1,说明为 HC 卡),否则发送 CM0, 有反应说明为 MMC 卡

  5. 发送 CMD2 验证 SD 卡是否正确接入,长响应(CID)

  6. 发送 CMD3,读取 SD 卡的 RCA(地址),短响应

  7. 发送 CMD9,获取 CSD 寄存器来获取卡的相关信息

  8. 发送 CMD7,使能 SD 卡

  9. 配置高速时钟,准备数据传输,一般为 20M-25M

SPI MODE:

image-20240820191629218

  1. 设置 SPI 时钟为低速 0~400khz-------------SD 卡初始化只能在低速模式下进行

  2. 发送至少 74 个周期的时钟信号 ------------- 建议适当多发送一些 (怕有些电路有延时)

  3. 发送 SD 卡命令 CMD0------------------------- 使在 SD 卡收到复位命令时,CS 为有效电平(低电平),则 SD 卡切换到 SPI 模式,进入 IDLE 状态

  4. 发送 CMD8(SD2.0)-------- 针对 SD2.0 进行鉴别同时读取后续 4 个字节返回值,判断其是否支持工作电压(例如:2.7~3.6v 支持则为 0x01aa)

  5. 发送 CMD55+ACMD41(SD2.0)----- 检测初始化是否完成

  6. 发送 CMD58------------------------ 对 SD2.0 版本进一步确认 SD 卡型号(SDHC 为扇区块寻址,普通 SD 卡为字节寻址)

  7. 发送 CMD55+ACMD41(SD1.0)---------------- 检测返回值进行判断为 SD1.0 或 MMC 卡

  8. 发送 CMD55+ACMD41(SD1.0)---------------- 检测初始化是否完成

  9. 发送 CMD16------------------------------------- 设置 SD 卡扇区大小(默认为 512 字节)

设置 SPI 时钟为高速,最大为 25Mhz,初始化完成

SD 模式与 SPI 模式的区别:

1.SD NAND 默认为 SD MODE,而进入 SPI MODE 必须在第一次上电的时候就要点复位

2.SD MODE 默认为单线输出 date0, 但是在高速模式下可以走四线,date0~date3; 在 SD NAND 下走的 SPI MODE ,只能走单线模式,其通信只有 CS(片选)、CLK(时钟)、DI(输入)、DO(输出)

  1. 很多客户由于板子上只有 SPI 接口,所以用 SPI MODE 能让客户减少设计上的压力,不过 SD NAND 使用 SPI MODE 只能走单线,相比于 SD MODE 四线来说传输速度会慢。

  2. 接口连接:

image-20240820191639824

以上为 CS 创世 SD NAND 在 SD MODE 和 SPI MODE 使用时的初始化过程介绍, 目前 CS 创世 SD NAND 在市面上广泛应用,在穿戴类的消费市场,以及航空航天、铁路交通、水利检测等工业领域都有应用,欢迎有兴趣的朋友来电咨询,我们竭诚为您服务。

image-20240820191656481

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

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

相关文章

【Word多级标题完整设置】设置各级标题样式将多级列表链接到各级标题样式中

Word多级标题完整设置 一、设置各级标题样式主标题样式设置中英文字体、字形以及字号设置段落设置(缩进、间距和行距) 一级标题样式设置中英文字体、字形以及字号设置段落设置(缩进、间距和行距) 二级标题样式设置中英文字体、字形…

深度学习基础—Batch Norm

对于一个神经网络我们知道,归一化输入特征是加速网络训练的技巧之一,因为归一化后,损失函数的图像就会由狭长变得更圆,那么这是否启发我们,在深度更深模型中,对各层的输出进行归一化,有益于下一…

day6 测试基础知识积累

JMeter 服务端系统性能测试是针对服务器端应用程序或服务 在特定负载下的运行能力和稳定性进行评估的方法。 产品文档应该有产品的性能指标,做性能测试前,如果需求文档没有性能指标则要向产品团队要。服务端系统性能测试 的常见指标有:TPS、…

ebpf教程(4.1):XDP程序的加载

文章目录 前言环境准备加载XDP程序源码构建过程运行 前言 前置阅读要求: ebpf教程(3):使用cmake构建ebpf项目-CSDN博客[译] [论文] XDP (eXpress Data Path):在操作系统内核中实现快速、可编程包处理(ACM,2018)xdp-t…

kubeadm搭建生产环境高可用集群

前言 搞了好多天(今天是20240819),中途遇到各种各样的问题,总算是可以用了 我这里用的vmware开了5台服务器做学习实践 K8S因为直接使用的 pkgs.k8s.io 仓库,所以直接拉取的最新release版(v1.31&#xff09…

SIRA-PCR: Sim-to-Real Adaptation for 3D Point Cloud Registration 论文解读

目录 一、导言 二、 相关工作 1、三维点云配准工作 2、无监督域适应 三、SIRA-PCR 1、FlyingShape数据集 2、Sim-to-real自适应方法 3、配准 4、损失函数 一、导言 该论文来自于ICCV2023,论文提出了一种新的方法SIRA-PCR,通过利用合成数据Flying…

网易云音乐故障 2 小时,这次到底谁背锅?(今天记得领补偿)

大家好,我是程序员鱼皮,8 月 19 日下午,网易云音乐突发严重故障,并登顶微博热搜,跟黑神话悟空抢了热度。 根据用户的反馈,故障的具体表现为:用户无法登录、歌单加载失败、播放信息获取失败、无法…

了解数据库中常用存储引擎数据结构(2)

目录 深入了解B树及其变种 BTree BTree B*Tree BTree并发机制 B-Link Tree 深入了解B树及其变种 先把我们要解释的B树变种都列出来,B树的变种主要有B树、B*树、B-Link树、COW B树、惰性B树、Bw树等。 下面具体来分析这些变种的优势和发展趋势。 BTree 下图…

Taro+Vue 创建微信小程序

TaroVue 创建微信小程序 一、全局安装 tarojs/cli二、项目初始化三、现在去启动项目吧 一、全局安装 tarojs/cli npm install -g tarojs/cli //安装 npm info tarojs/cli //查看安装信息 如果正常显示版本说明成功了,就直接跳到第二步吧官网说:…

AI产品经理如何入门?零基础入门到精通,收藏这一篇就够了

现在做产品经理,真的挺累的。 现在产品越来越难做,晋升困难,工资迟迟不涨……公司裁员,产品经理首当其冲!! 做产品几年了,还没升职,就先到了“职业天花板”。 想凭工作几年积累的…

BFS解决单源最短路问题

目录 迷宫中离入口最近的出口 最小基因变化 单词接龙 为高尔夫比赛砍树 迷宫中离入口最近的出口 题目 思路 使用宽度优先遍历解决这道题,需要一个二维数组标记是否被遍历过,也需要一个队列辅助完成宽度优先遍历,类似于水波纹一样&#x…

JAVA基础:File类

目录 前言 file对象的创建 file的常用方法 前言 file类表示的是系统中的一个文件或者文件夹 file类和系统中的文件或者文件夹不需要是一一对应的,我们可以在file类中写你系统中不存在的文件或文件夹 file类中存储的实际上是文件或文件夹的抽象路径&#xff0c…

面试经典算法150题系列-最长公共前缀

最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs ["flower","flow","flight"] 输出:"fl"示例 2&…

软件测试 - 自动化测试(概念)(Java)(自动化测试分类、web自动化测试、驱动、selenium自动化测试工具的安装)

一、自动化的概念 ⾃动洒⽔机,主要通上⽔就可以⾃动化洒⽔并且可以⾃动的旋转。 ⾃动洗⼿液,免去了⼿动挤压可以⾃动感应出洗⼿液 超市⾃动闸⻔,不需要⼿动的开⻔关⻔ ⽣活中的⾃动化案例有效的减少了⼈⼒的消耗,同时也提⾼了⽣…

C语言程序设计(初识C语言后部分)

代码是一门艺术&#xff0c;键盘是我的画笔。 3.递归和迭代&#xff08;循环就是一种迭代&#xff0c;迭代不仅仅是循环&#xff09; 求n&#xff01; 递归方式&#xff1a; n!---> 1 (n1); n*(n-1)! (n>1) #include <stdio.h> //n!-->递归方式 int fac(in…

Kafka运行机制(一):Kafka集群启动,controller选举,生产消费流程

前置知识 Kafka基本概念https://blog.csdn.net/dxh9231028/article/details/141270920?spm1001.2014.3001.5501 1. Kafka集群启动 Kafka在启动集群中的各个broker时&#xff0c;broker会向controller注册自己&#xff0c;并且从controller节点同步集群元数据。 broker是Kaf…

C++入门——16C++11新特性

1.列表初始化 初始化列表时&#xff0c;可添加等号()&#xff0c;也可不添加。 struct Point {int _x;int _y; };int main() {int x1 1;int x2{ 2 };int array1[]{ 1, 2, 3, 4, 5 };int array2[5]{ 0 };Point p{ 1, 2 };// C11中列表初始化也可以适用于new表达式中int* pa …

jstack结果提取特定线程池线程的堆栈

这里假设你已经知道如何定位java进程PID&#xff0c;以及如何执行jstack命令进行导出&#xff0c;下面仅提供相关命令&#xff0c;及示例 ps aux|grep java jstack 8229 > jstack_output.log v1版本 grep second jstack_output.log 如果此时我们想重点关注一下下面这个线程…

高性价比全屋智能家居解决方案,提升生活幸福感!

在快节奏的城市生活中&#xff0c;公司、住宅两点一线的上班族不在少数。近年来&#xff0c;随着物联网、大数据技术的不断发展与5G的广泛普及&#xff0c;生活品质的提升成为上班族新的关注焦点。忙碌的工作时间结束后&#xff0c;智慧家居系统打造便捷、安全、智能、舒适的居…

(javaweb)SpringBootWeb案例(毕业设计)案例--部门管理

目录 1.准备工作 2.部门管理--查询功能 3.前后端联调 3.部门管理--新增功能 1.准备工作 mapper数据访问层相当于dao层 根据页面原型和需求分析出接口文档--前后端必须遵循这种规范 大部分情况下 接口文档由后端人员来编写 前后端进行交互基于restful风格接口 http的请求方式…