控制器集成需求

  • SD Host可以从外部读取数据存储到SRAM和eFlash或者可以从内部读取数据输出到外部存储

AHB Bus



  • slave接口用于配置
  • master接口作为主设备,DMA可以控制总线,传输数据

SD Bus

  • CMD和data都是inout类型的,可以出入和输出
  • cmd_oe - (output enable)
  • cmd_oe = 1,输入的信号就是rsp_in,命令反馈输入接口
  • cmd_oe = 0,输入的就是cmd_out,cmd_out = 1 输出数据,cmd_out = 0,输出z
  • 将一个cmd分为三部分,再将这三部分驱动到pad上,芯片内部不实现三态逻辑
  • data总线也是同样的道理,分成data_oe,data_out,data_in

DFT & Interrupt

  • 在进行设计模块的时候,可以预估面积,可以考虑将面积比较大的模块和其他比较类似的模块进行复用

控制器集成需求

SD Host集成需求文档



SD Host微架构设计文档

SD_if模块

ahb总线接口模块,用于软件的访问控制

接口在微架构设计文档阶段确定的

1、先定义明确的接口

2、按照需求方的角度收集信息





  • reponse0-response3 -- 是读取回来的数据,ahb总线是32bit,就按照ahb总线的宽度来

  • reponse中的start bit,index,crc是不需要回传的,只要将content回传就可以

  • sd_clk输入,ahb_slave_if(sd_if)模块,既需要和ahb bus通信又需要和sd bus进行交互,所以需要进行数据的同步处理(通过打拍的方式),所以需要输入sd_clk

  • sd_fifo_full 和 sd_fifo_empty - fifo的空满状体需要上传给cpu,fifo为空的时候才能发起读命令,fifo满之后需要cpu驱动dma将fifo中的数据搬移,fifo的空满状态需要以中断的形式上报,所以需要输入fifo的空满状态

  • 了解cpu需要获取那些状态信号

  • sd_fifo_re - fifo读请求

  • in_end_command - host发送完成,信号来自于sd时钟域,如果要使用这个信号需要对其进行打拍处理

  • in_end_cmd_and_resp - 表示当前命令和相应都结束了,resp结束之后,cpu会读取resp的寄存器,查看其中的内容

  • in_transfer_complete - 表示数据传输操作完成

  • sd_clk_enable - 软件时钟门控

  • hw_stop_clk - 硬件停止sd_clk模块时钟输出



  • dma_en - 软件的置位,是dma启动

  • clr_dma_en - 硬件的清0信号

sd_clk模块



sd_cmd_fsm









sd_cmd_send_shift_register模块



sd_cmd_receive_shift_register模块



sd_data_fsm

sd_data_send_shift_register模块

sd_data_receive_shift_register模块

SD Host控制器的系统集成的更多相关文章

  1. 8. [mmc subsystem] host(第二章)——sdhci

    一.sdhci core说明 1.sdhci说明 具体参考<host(第一章)--概述> SDHC:Secure Digital(SD) Host Controller,是指一套sd ho ...

  2. 7. [mmc subsystem] host(第一章)——概述

    一.host简单说明 host,也可以理解为host controller,是指mmc总线上的主机端,mmc总线的控制器,每个host controller对应一条mmc总线. host contro ...

  3. OpenRisc-30-SD card controller模块分析与验证

    引言 ORPSoC的硬件平台是包含SD card controller控制器的,但是对应的linux里面却没有对应的linux的驱动程序,这使ORPSoC的SD card的使用收到了很大的限制.没有驱 ...

  4. sd 卡驱动--基于高通平台

    点击打开链接 内容来自以下博客: http://blog.csdn.net/qianjin0703/article/details/5918041 Linux设备驱动子系统第二弹 - SD卡 (有介绍 ...

  5. Linux SD卡驱动开发(四) —— SD 控制器之真正的硬件操作

    前面对SD卡控制器有了一个主要的介绍.事实上SD控制器层更过的意义是为core层提供一种操作SD卡硬件的一种方法.当然不同的控制器对硬件控制的方法不尽同样,可是他们终于都能像core层提交一个统一的封 ...

  6. linux驱动基础系列--Linux mmc sd sdio驱动分析

    前言 主要是想对Linux mmc子系统(包含mmc sd sdio)驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.块设备驱动.设备模型等也不进行详细说明原 ...

  7. 基于tiny4412的Linux内核移植 -- SD卡驱动移植(五)

    作者信息 作者: 彭东林 邮箱:pengdonglin137@163.com QQ:405728433 平台简介 开发板:tiny4412ADK + S700 + 4GB Flash 要移植的内核版本 ...

  8. STM32之SD卡

    目录 一.SD卡概述 1.定义 2.容量等级 3.SD卡框图 4.SD卡与TF卡的区别 二. SD卡内部结构 1. SD卡内部结构简图 2. 存储阵列结构图 3.Buffer 4.“存储阵列Block ...

  9. 转:USB主机控制器(Host Controller)--深入理解

    1. 主机控制器(Host Controller) • UHCI: Universal Host Controller Interface (通用主机控制接口, USB1.0/1.1)      • ...

  10. SD card技术了解并WINCE下SDHC驱动开发(updated)

    Suumary: 简单介绍了一下SD卡的历史和发展,同时结合MX31 ADS上的WINCE 下SDHC驱动更深入的了解该硬件的一些行为特点. 了解SD card SD是Secure Digital C ...

随机推荐

  1. flower插件-监视celery

    安装和使用: https://flower.readthedocs.io/en/latest/install.html#installation https://github.com/mher/flo ...

  2. 文心一言 VS 讯飞星火 VS chatgpt (162)-- 算法导论13.1 2题

    二.用go语言,对图13-1中的红黑树,画出对其调用TREE-INSERT 操作插人关键字 36 后的结果.如果插人的结点被标为红色,所得的树是否还是一棵红黑树?如果该结点被标为黑色呢? 文心一言,代 ...

  3. 【Python】【OpenCV】定位二维码

    相较于BarCode,QRCode有明显的特征区域,也就是左上角.右上角.左下角三个"回"字区域,得益于hierarchy中,父子关系的轮廓是连续的(下标),所以这个时候我们就可以 ...

  4. 国家专用加密数据传输之rsa,3des加密方法-rasor3desc

    title: 国家专用加密数据传输之rsa,3des加密方法 date: 2021-12-20 13:08:21.646 updated: 2022-03-10 16:00:58.65 url: ht ...

  5. Oracle数据库运维场景下,智能运维如何落地生根?

    简介: 「智能运维大数据平台」是一款开箱即用的运维监控平台,通过特有的平台功能可以将企业的基础架构.应用程序.日志管理结合在一起,提供统一采集.统一存储.关联分析.统一监控企业业务保障能力,保障企业业 ...

  6. Luogu P4592 [TJOI2018]异或 做题记录

    随机跳的. 树上维护序列,显然树剖.维护异或,显然 01trie. 01trie 维护区间异或,显然可持久化一下. 看到时限很大,显然可以双 log. 于是跑一边树剖,再根据 id 暴力建一个 可持久 ...

  7. HDU 2144 Evolution 后缀树/后缀数组

    HDU 2144 Evolution 后缀树/后缀数组 题意 给我们不到一百个字符串(长度不到一百)以及一个百分比q,然后如果某两个字符串的最长公共子串占比超过了q(在两个串中都超过)则两个串为一个集 ...

  8. osgEarth使用笔记2——推荐两个底图数据

    目录 1. 概述 2. 详论 2.1. Blue Marble 2.2. Bright Earth eAtlas Basemap 3. 分享 1. 概述 可以通过osgEarth自带的world.ti ...

  9. 华为云PB级数据库GaussDB(for Redis)揭秘第九期:与HBase的对比

    摘要: 高斯Redis,兼具开源Redis和HBase各自优点,提供成本更低.性能更好.灵活性更强的数据库服务! 本文分享自华为云社区<华为云PB级数据库GaussDB(for Redis)揭秘 ...

  10. 认识一下MRS里的“中间人”Alluxio

    摘要:Alluxio在mrs的数据处理生态中处于计算和存储之间,为上层spark.presto.mapredue.hive计算框架提供了数据抽象层,计算框架可以通过统一的客户端api和全局命名空间访问 ...