SD-HOST模块功能简述
1.SD_IF(interface)模块:ahb_slave接口模块,内含控制寄存器,供CPU访问,决定HOST的工作模式;
AHB总线接口功能模块,用于CPU通过驱动软件对SD HOST控制器进行访问。
◆功能:
(1)AHB slave接口,允许CPU访问,控制sd_host的运行方式;
(2)同步逻辑,SD域产生的信号同步到AHB域,供软件判断。
2.sd_clk模块:hclk分频电路,作为HOST模块时钟输入;
◆功能:
(1)允许软件干预时钟分频(in_sd_clk_enable)
(a)是否输出时钟
(b)频率与参考时钟关系
(2)允许硬件干预时钟处理(hw_stop_clk)
(a)是否输出时钟
(b)频率与参考时钟关系
Singals |
I/O |
Width |
declaration |
hclk hrst_n in_clk_divider in_sd_clk_enable hw_stop_clk out_sd_clk_dft in_TestMode |
input input input input input output input |
1 1 [7:0] 1 1 1 1 |
时钟信号 复位信号 分频关系 分频使能 硬件停时钟使能 频率输出 测试模式 |
时钟输出描述
- 分频系数置0,则模块输出不分频;
- 停时钟有效使能(!in_sd_clk_enable || hw_stop_clk),输出0电平时钟;
- 测试模式下,输出外部时钟。
3.sd_cmd_fsm模块:命令操作控制模块,控制sd_cmd_send_shift_register和
sd_cmd_recrive_shift_register模块;
命令发送/响应接受控制模块,根据输入的控制信号,进行状态机的跳转判定,以控制sd_cmd_send_shift_register和 sd_cmd_recrive_shift_register模块进行符合SD协议的数据处理过程。
Singals |
I/O |
Width |
declaration |
||
in_sd_clk |
input |
1 |
时钟信号 |
||
hrst_n |
input |
1 |
异步复位 |
||
in_soft_reset |
input |
1 |
软件复位 |
||
in_longresponse (R2) |
input |
1 |
Device有命令长回复信号 |
||
in_response |
input |
1 |
Device有命令回复信号 |
||
in_commang_ready |
input |
1 |
命令有效,状态机启动信号 |
||
in_sd_dat(注意是否只需一根线) |
input |
[3:0] |
数据输入端口 |
||
in_sd_cmd |
input |
1 |
命令输入端口 |
||
current_state |
output |
[2:0] |
状态机标志位 |
||
has_send_bit |
output |
[5:0] |
已发送命令bit位大小 |
||
has_receive_bit |
output |
[7:0] |
已接收命令bit位大小 |
||
end_command |
output |
1 |
命令结束信号 |
||
end_command_and_response |
output |
1 |
命令结束且反馈接收完成信号 |
||
response_ti |