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 ...
随机推荐
- 组合式api-侦听器watch的语法
和vue2对比,也是语法上稍有不同. 监听单个数据对象 <script setup> import {ref, watch} from "vue"; const cou ...
- 手写滑动同步滚动进度条jq插件
因需要一种滑动显示内容,并且带可拖动的进度条,即下面这种效果 找了很多插件,总有地方不能满足需求.于是决定自己手写,下面为完整源码: swiper.js 1 $.swiperCalculator = ...
- vue3+ts打开echarts的正确方式
实例项目使用 vite5 + vue3 + ts,项目地址 vite-vue3-charts,预览地址 https://weizwz.com/vite-vue3-charts 准备工作 1. 注册为百 ...
- IDEA创建MyBatis项目--实现简单的查操作
IDEA创建MyBatis项目--实现简单的查操作 1.创建一个maven工程,不使用模板 2.通过maven加载Mybatis依赖包 在pom文件中导入maven坐标 <dependencie ...
- 实战案例丨ModelArts在数据标注、数据过滤上的应用技巧:自动分组
大量复杂.乱序的图片依次标注效率极低,如果一次可以标注一大片的图片将极大地提升标注效率. 自动分组识别并提取图像特征,通过ModelArts先进的聚类算法可以将所有图片分组:将特征相似的图片归为一类, ...
- Python压缩JS文件,重点是 slimit
摘要:Python Web程序员必看系列,学习如何压缩 JS 代码. 本文分享自华为云社区<Python压缩JS文件,PythonWeb程序员必看系列,重点是 slimit>,作者: 梦想 ...
- 云小课|GaussDB(DWS)数据存储尽在掌控,冷热数据切换自如
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: GaussDB( ...
- 3个轻量级物联网新品实验,带您深度体验IoT开发
摘要:一键创建实验环境,开发者通过实验手册指导,快速体验华为云IoT服务,在云端即可实现云服务的实践.调测和验证等开发流程. 本文分享自华为云社区<物联网云上实验上新,带您深度体验华为云IoT服 ...
- 面试官问:mysql中时间日期类型和字符串类型的选择
摘要:MySQL中有多种表示时间日期的数据类型,主要有YEAR.TIME.DATE.DATETIME.TIMESTAMP等 本文分享自华为云社区<一针见血,mysql中时间日期类型和字符串类型的 ...
- 一文快速了解火山引擎 A/B 测试平台
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 一. 概述 A/B Testing 作为因果推断的「黄金标准」,是效果评估的利器. 火山引擎 A/B 测试(Dat ...