SD Host控制器的datasheet
SD-Host控制器的datasheet更多的是给嵌入式软件工作人员使用,datasheet中主要包含一些寄存器以及读写擦除流程
寄存器主要有:
- 控制寄存器
- 状态寄存器
- 配置寄存器
软件和硬件进行交互,就是通过配置寄存器和中断进行交互
功能列表

控制器架构图

- datasheet中描述的主要是ahb_slave_if模块
硬件集成环境

寄存器需求分析
寄存器:控制寄存器、状态寄存器
clk_gen 模块
1、需要分频,所以需要设置分频系数 - clk_div
2、软件可控的时钟 - clk_enable
3、test mode下的时钟 - Testmode
reponse receive模块
1、接收返回的信号 - respone0-3
2、respone_crc_error
cmd_fsm
1、cpu配置的trigger信号 - cmd_fsm_ready
2、响应类型,长响应或者短响应 - respone type
3、reponse_timeout
4、data_present - 是否有数据接收或者发送
cmd_send
1、cmd_index
2、cmd_arguement
3、high_speed(低俗模式或者高速模式)
data_fsm
1、data bus width(1bit/4bit)
2、high_speed(低俗模式或者高速模式)
3、block_length
4、read_or_write(direction)
5、read_data_timeout(status)
6、data_send_crc_error
7、data_rcv_crc_error
8、data_fsm_ready
9、read_data_timeout_cnt(counter)
data fifo
1、fifo_empty
2、fifo_full
3、block_length
dma
1、dma_enable(trigger)
2、dma_trans_len
3、dma_trans_dir
4、dma_trans_addr
寄存器详细描述

- 寄存器域段推荐按照4bit/8bit对齐的方式进行设置

- 硬件停时钟的使能,不是可写的




- 描述大小的时候,需要写清楚1bit表示的单位是什么
- datasheet中的寄存器注意事项:
1、长度相关的参数需要写明其单位,是byte/bit/word
2、控制参数不同模式对应的编码信息
3、使能信号的有效电平
4、对于config寄存器,软件侧读写属性定义为可读可写
5、对于status寄存器,软件侧一般为只读的,对于某些需要清0的寄存器,软件侧为可写的






- 硬件置位,软件清0,需要有一个clear寄存器


datasheet文档



- 地址信息:都是以byte为单位的
寄存器读写属性
1、软件侧读写属性
是否通过能够通过ahb总线进行读写
2、硬件侧读写属性
寄存器配置完成之后,可以发出信号给到硬件,硬件操作之后可以将信息写到寄存器中
SD Host控制器的datasheet的更多相关文章
- 8. [mmc subsystem] host(第二章)——sdhci
一.sdhci core说明 1.sdhci说明 具体参考<host(第一章)--概述> SDHC:Secure Digital(SD) Host Controller,是指一套sd ho ...
- 7. [mmc subsystem] host(第一章)——概述
一.host简单说明 host,也可以理解为host controller,是指mmc总线上的主机端,mmc总线的控制器,每个host controller对应一条mmc总线. host contro ...
- OpenRisc-30-SD card controller模块分析与验证
引言 ORPSoC的硬件平台是包含SD card controller控制器的,但是对应的linux里面却没有对应的linux的驱动程序,这使ORPSoC的SD card的使用收到了很大的限制.没有驱 ...
- sd 卡驱动--基于高通平台
点击打开链接 内容来自以下博客: http://blog.csdn.net/qianjin0703/article/details/5918041 Linux设备驱动子系统第二弹 - SD卡 (有介绍 ...
- Linux SD卡驱动开发(四) —— SD 控制器之真正的硬件操作
前面对SD卡控制器有了一个主要的介绍.事实上SD控制器层更过的意义是为core层提供一种操作SD卡硬件的一种方法.当然不同的控制器对硬件控制的方法不尽同样,可是他们终于都能像core层提交一个统一的封 ...
- linux驱动基础系列--Linux mmc sd sdio驱动分析
前言 主要是想对Linux mmc子系统(包含mmc sd sdio)驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.块设备驱动.设备模型等也不进行详细说明原 ...
- 基于tiny4412的Linux内核移植 -- SD卡驱动移植(五)
作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本 ...
- STM32之SD卡
目录 一.SD卡概述 1.定义 2.容量等级 3.SD卡框图 4.SD卡与TF卡的区别 二. SD卡内部结构 1. SD卡内部结构简图 2. 存储阵列结构图 3.Buffer 4.“存储阵列Block ...
- 转:USB主机控制器(Host Controller)--深入理解
1. 主机控制器(Host Controller) • UHCI: Universal Host Controller Interface (通用主机控制接口, USB1.0/1.1) • ...
- SD card技术了解并WINCE下SDHC驱动开发(updated)
Suumary: 简单介绍了一下SD卡的历史和发展,同时结合MX31 ADS上的WINCE 下SDHC驱动更深入的了解该硬件的一些行为特点. 了解SD card SD是Secure Digital C ...
随机推荐
- 流媒体服务器ZLMediaKit与FFmpeg
流媒体服务器ZLMediaKit与FFmpeg overview 关键字:ZLMediaKit.FFmpeg.srt.vlc 如果想快速拥有自己的流媒体服务器,那么可以使用开源项目自己搭建.开源的流媒 ...
- Linux的文件系统,根目录rootfs结构
文件系统fs 文件系统时操作系统用来管理文件的.fs=filesystem... 在linux中,一切皆为文件,这句话够经典了吧... linux中每个分区都是一个fs. FHS Linux下的Fil ...
- 山海鲸Cesium:用更简单的方式升级视效
CesiumJS作为绝大多数人都在用的开源地球可视化引擎,视觉效果并不拔尖,这让很多giser都想着有一天升级一下视效,从众多平庸的项目中脱颖而出.然而,对于一些使用Cesium的项目来说,要想达到C ...
- 使用kubeadm在Centos8上部署kubernetes1.18
// 查看系统版本 cat /etc/centos-release CentOS Linux release 8.1.1911 (Core) // 如果系统环境为8.0(云服务器默认最大安装环境为8. ...
- MinIO客户端之du
MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc du 用于输出桶内对象的数量和占用的空间. 命令如下: ./mc du local1/bkt1 控制台的输出 ...
- DEDECMS 后台系统用户授权目录更改为无限级(默认为二级授权)
在做一个学校的项目,分类有四级分类,总共一百多个分类,因为每个分类对应不同的老师,用于上传资料作为考核,但是添加系统用户的时候发现DEDECMS只有两级分类,所以修改啦一些代码,目前不知道是否修改完全 ...
- CentOS基线检测脚本
本脚本适用于CentOS 7.5-7.9版本,其他版本不详 1.检查系统信息 查看代码 echo " " echo "########################## ...
- 2022年发布jar到Maven公共仓库最全攻略
2022年jar包发布到Maven公共仓库最全攻略 分几个步骤: 1.注册 issues.sonatype.org 账号 2.创建 issues 填写项目地址(github.gitee等) 3.验证域 ...
- Docker + Jenkins 如何实现自动化部署?
Docker + Jenkins 如何实现自动化部署? 一. 概述 实验室每次项目发布测试时,都要手动本地打包好了然后上传到服务器,替换原来nginx下面的目录文件,十分麻烦和繁琐.这次就来优化一下, ...
- 基于Atlas 200 DK的原版YOLOv3(基于Darknet-53)实现(Python版本)
[摘要]本文将为大家带来使用Atlas 200 DK的原版YOLOv3(基于Darknet-53)实现的展示. 前言 YOLOv3可以算作是经典网络了,较好实现了速度和精度的Trade off,成为和 ...