【一】SPI IP核使用

news2024/11/23 22:53:13

一、spi是串行外设接口(serial peripheral interface),是高速的、全双工、同步通信总线,标准的spi仅仅使用4个引脚

image-20230727155721264

image-20230727160048728

image-20230727160317977

image-20230727160623925

image-20230727160851867

spi ip核框图:

image-20230727161148198

image-20230727161658210

image-20230727161735246

二、spi核的寄存器描述

image-20230727161826641

image-20230727163316609

image-20230727163727450

image-20230727163949977

image-20230727164032554

image-20230727164344273

image-20230727164444304

image-20230727164551896

image-20230727164614464

三、配置spi核

image-20230727174407730

四、SPI内核编程

image-20230727173435247

alt_avalon_spi_command(
	alt_u32 base,
	alt_u32 slave,
	alt_u32 write_length,
	const alt_u8 * write_data,
	alt_u32 read_length,
	alt_u8 * read_data,
	alt_u32 flags
	
)

image-20230727173449003

五、sd卡的接口

image-20230806163326248

image-20230806163719637

在spi模式下,sd卡充当从设备,spi控制器发布命令,接收到命令之后,sd卡会回应一个响应帧。对于读和写操作,它连续传送数据令牌和批量数据。

sd卡的命令时序图:

image-20230806164047093

  • 主设备发送命令帧:

    一个命令帧包含6个字节,第一个字节是命令,以01开始,然后跟着6位命令索引,接下来的4个字节是参数字段,可以容纳多达32位的信息。最后一个字节包含7位的CRC(循环冗余校验码),最后一位是停止位。

    在spi模式下,crc校验码是可以选着的,默认情况下是不使用的,可以都置为1或置为0。即使不使用CRC特性,最后的字节也需要包括在内,构成6个字节的帧格式。CRC码的值可以手动计算和添加。

  • sd卡在一定时间内处理这个命令(通常称之为命令响应时间):

    image-20230806165259521

  • SD卡响应一个响应帧

image-20230806165323043

多数命令期望的响应是0x00,表示没有发生错误。在我们的程序中,也使用R7格式的响应,R7格式包含5个字节,第一字节与R1格式是相同的,其余4个字节返回特定的状态信息。

image-20230806165900272

image-20230806165950171

image-20230806170033395

image-20230806170058961

image-20230806170119234

image-20230806170134528

image-20230806170303429

image-20230806170340805

image-20230806170416510

六、sd的时序

  • SD卡的复位

    image-20230806170737476

  • SD卡的初始化

    image-20230806170950380

    image-20230806171109397

  • SD卡读一个扇区

    SRAM和SDRAM的数据存取是以字节或者字为单位进行的,于此不同,sd卡数据是以块为单位的,512个字节称之为一个扇区。

    image-20230806171328789

  • SD卡写一个扇区

image-20230806171502003

  --晓凡 202387日于武汉书

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

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

相关文章

React Dva项目 简单引入models中的所有JS文件

我们前面接触的 Dva项目 models目录下的文件还要一个一个引入 其实体验并不是很好 而且如果项目很大那就比较麻烦了 我们可以在 models 下创建一个 index.js 文件 编写代码如下 const context require.context("./", false, /\.js$/); export default context.key…

Java02-迭代器,数据结构,List,Set ,Map,Collections工具类

目录 什么是遍历? 一、Collection集合的遍历方式 1.迭代器遍历 方法 流程 案例 2. foreach(增强for循环)遍历 案例 3.Lamdba表达式遍历 案例 二、数据结构 数据结构介绍 常见数据结构 栈(Stack) 队列&a…

如何利用模拟考试系统提升学生复习效果

随着教育技术的发展,现代学生已经不再局限于传统的课本学习方式。模拟考试系统作为一种新型的教学工具,已经逐渐被学校和教师们广泛采用。它不仅能够帮助学生预测和评估自己的学习水平,还可以有效提升学生的复习效果。 第一,树立…

微信小程序集成V3支付接口

官方文档地址:https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_8_1.shtml 小程序开通微信支付 微信小程序集成参考最新先程序集成文档 yml配置: x-pay:v3:#微信关联的小程序的appidappId: wx281xxxxxxxxxxx#微信支付商户号mchId: 164803…

深度学习,计算机视觉任务

目录 计算机视觉任务 1.K近邻算法 2.得分函数 3.损失函数的作用 4.向前传播整体流程 5.反向传播计算方法 计算机视觉任务 机器学习的流程: 数据获取 特征工程 建立模型 评估与应用 计算机视觉: 图像表示:计算机眼中的图像&#…

实际工作中通过python+go-cqhttp+selenium实现自动检测维护升级并发送QQ通知消息(程序内测)

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 首先,今年比较忙没有多余时间去实操创作分享文章给大家,那就给大家分享下博主在实际工作中的一点点内容吧,就当交…

2024考研408-计算机网络 第四章-网络层学习笔记

文章目录 前言一、网络层的功能1.1、网络层功能概述(三种功能介绍)1.2、SDN基本概念1.2.1、理解转发与路由选择1.2.1.1、转发1.2.1.2、路由选择 1.2.2、数据平面(转发)1.2.3、控制平面(路由计算与选择)实现…

九分学长大作文笔记

前言 最近看了《顾家北手把手教你雅思写作》,我觉得收获很少,逻辑感觉很乱,不知道为什么网上全是吹的。在Bilibili上看了九分学长,非常清晰,发现自己很多没有注意到的问题,下面将总结一些对我有用的部分。…

C#,OpenCV开发指南(01)

C#,OpenCV开发指南(01) 一、OpenCV的安装1、需要安装两个拓展包:OpenCvSharp4和OpenCvSharp4.runtime.win 二、C#使用OpenCV的一些代码1、需要加头文件2、读取图片3、在图片上画矩形框4、 在图片上画直线 一、OpenCV的安装 1、需…

使用 React Native CLI 创建项目

React Native 安装的先决条件和设置 需要掌握的知识点 掌握 JavaScript 基础知识掌握 React 相关基础知识掌握 TypeScript 相关基础知识 安装软件前需要首先安装Chocolatey。Chocolatey 是一种流行的 Windows 包管理器。 安装 nodejs 和 JDK choco install -y nodejs-lts …

接口测试——postman接口测试(三)

目录 1. postman介绍与安装 2. postman发送get请求 3. postman发送post请求 1. postman介绍与安装 安装网址:Postman安装教程:留言找我要即可 2. postman发送get请求 import pymysql from flask import Flask,request# 这里是mysql的基本连接信息 c…

cloudstack management高可用

一、环境说明 CPU: kunpeng 920 操作系统:OpenEuler 22.03 IP角色192.168.157.20mysql192.168.157.21management-server 1192.168.157.22management-server 2192.168.157.30nginx 二、部署 基础环境准备参考【cloudstack测试环境搭建】 1、部署mysql&…

音视频 FFmpeg命令行搭建

文章目录 一、配置二、测试 一、配置 以FFmpeg4.2.1 win32为例 解压ffmpeg-4.2.1-win32-shared.zip 拷⻉可执⾏⽂件到C:\Windows拷⻉动态链接库到C:\Windows\SysWOW64 注:WoW64 (Windows On Windows64)是⼀个Windows操作系统的⼦系统,被设计⽤来处理许…

替换开源LDAP,某科技企业用宁盾目录统一身份,为业务敏捷提供支撑

客户介绍 某高科技企业成立于2015年,是一家深耕于大物流领域的人工智能公司,迄今为止已为全球16个国家和地区,120余家客户打造智能化升级体验,场景覆盖海陆空铁、工厂等货运物流领域。 该公司使用开源LDAP面临的挑战 挑战1 开源…

【论文阅读】基于深度学习的时序异常检测——Anomaly Transformer

系列文章链接 论文一:2022 Anomaly Transformer 文章目录 理论概述代码实战 论文链接: Anomaly Transformer.pdf 代码链接: https://github.com/thuml/Anomaly-Transformer 视频讲解(原作者禁止转载,联系的话侵删&am…

DC电源模块对于定制的要求主要有这几点

BOSHIDA DC电源模块对于定制的要求主要有这几点 DC电源模块是一种将交流电转换成为稳定的直流电的装置。在现代工业生产中,DC电源模块被广泛应用于各种电子设备中,例如计算机、手机、电视等。为了满足不同用户需求,DC电源模块的定制需求也是…

K8s中的Ingress

1.把端口号对外暴露,通过ip端口号进行访问 使用Service里面的NodePort实现 2.NodePort缺陷 在每个节点上都会起到端口,在访问时候通过任何节点,通过节点ip暴露端口号实现访问 意味着每个端口只能使用一次,一个端口对应一个应用…

pycharm中opencv库导入 cv2. 无函数提示跳出解决方法

pycharm中opencv库导入 cv2. 无函数提示跳出解决方法 1、找到当前解释器安装目录 例如: 2、进入D:\Python37\Lib\site-packages\cv2文件,进入cv2文件夹: 找到cv2.pyd, 把cv2.pyd复制一份,放到上层文件夹下,即site-p…

算法基础简介

目录 1、递归 2、二分查找 3、排序算法 分类 3.1、冒泡排序 3.2、选择排序 3.3、插入排序 3.4、希尔排序(高级插入排序) 3.5、归并排序 3.6、快速排序 核心思想 具体步骤 代码实现 3.7、堆排序 3.8、计数排序 3.9、桶排序 3.10、基数排序 4、字符串匹…

Pytest测试框架1

目录: 1.pytest简介、安装与准备2.pytest命名规则3.pycharm配置与界面化运行4.pytest测试用例结构5.pytest测试用例断言6.pytest测试框架结构7.计算器实战 1.pytest简介、安装与准备 前言 自动化测试前,需要提前准备好数据,测试完成后&am…