SD Host控制器的datasheet

发布时间 2023-11-28 01:21:46作者: Icer_Newer

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、硬件侧读写属性
寄存器配置完成之后,可以发出信号给到硬件,硬件操作之后可以将信息写到寄存器中