1.SD模块功能模块划分:命令收发模块,数据收发模块,状态控制模块和校验模块
2.命令收发模块:命令接收和响应都在命令线CMD上传输,该端口是一个三态门,由输出使能信号En控制是否输出,命令接收时,首先检测命令起始位,检测到起始位后开始工作 接受完一个完整命令后 发出接收完成信号end,分别得到移位寄存器中对应的命令索引,命令参数,命令校验.命令接收过程中,同时将数据传给CRC7校验模块,用于生成校验数据.响应发送时,模块根据状态控制模块给出的响应类型产生对应的响应内容,当接收到发送使能信号start后,给出发送使能信号En,并将响应的内容通过移位寄存器发送出去.响应内容发送完成后给出响应完成信号Rsp_over.
3.数据线也是双向的,width信号指明当前数据传输模式是标准总线模式或者宽总线模式,Size信号指示每个数据块包含的字节数,该模块包含两个数据缓冲,接收缓冲RxFIFO和发送缓冲TrFIFO,数据缓冲位宽16bit,深度为256,这是因为数据块最大为512字节,数据接收状态时,首先检测数据起始位,检测到起始位后计数器开始工作.接收Size个字节的数据后,接收CRC16校验位&#