您好,欢迎进入山西润盛进出口有限公司!

咨询服务热线

15383419322

FPGA:SD卡

发布时间:2024-01-09 09:47人气:

SD 卡可轻松与 FPGA 连接。我们的SD卡项目分为两部分:

SD 卡 1 - FPGA 连接

SD 卡可轻松与 FPGA 连接。 它们有不同的尺寸(标准、迷你和微型),但在电气上它们的工作方式相同。 让我们关注 micro-SD 卡,因为它们非常小且现在很受欢迎。

Micro-SD 卡有 8 个针脚。首先,电源连接在引脚 4 和 6 上。

然后,您需要 3 到 6 个 FPGA 引脚连接,具体取决于您决定使用的操作模式。

SPI模式

在SPI模式下,DI/DO线是单向的。这意味着:

  • 无需在 DI/DO 上上拉

  • 命令(以及执行扇区写入时的扇区数据)将发送到 DI 引脚

  • 响应(以及执行扇区读取时的扇区数据)从 DO 引脚接收

SPI模式通常用于微控制器系统。 有了FPGA,我们可以更好地为...

SD 模式

在 SD 模式下,CMD/DATx 线是双向的。这意味着:

  • CMD/DATx 上需要上拉(FPGA 通常可以在内部提供)

  • 命令/响应在CMD引脚上发送/接收

  • 扇区数据(用于扇区读取和写入)从 DATx 引脚发送/接收

例如,我们需要在 SD 1 位模式下进行这些连接:

SD 卡 2 - 协议

SD 卡使用命令/响应方案。 例如,命令“17”允许读取卡内存的一个扇区(512字节)。 所有通信都与主机提供的时钟同步(在本例中为FPGA)。 启动时时钟应低于 400KHz,并且在一些卡初始化后可以更快。

所有命令和大多数响应的长度为 48 位(6 字节)。 扇区数据以 512 字节的倍数表示。 例如,这里有一个简单的代码,允许向 SD 卡发送命令。

// we use the Xylo-E FX2 FIFO2 as data source for "commanding" an SD card// the SD card is used in one-bit SD mode// first we are going to drive the SD card at a much slower speed than the FPGA itself// let's create a "shift" signal that is asserted once every 64 clock periodsreg [5:0] cnt=0; always @(posedge clk) cnt <= cnt+1;reg shift=0; always @(posedge clk) shift <= &cnt;// now we serialize every byte we get from the FIFO2reg [2:0] cntbit=0;reg shifting=0;reg [7:0] data=0;always @(posedge clk) if(shift) shifting <= shifting ? ~(&cntbit & ~FIFO2_data_available) : FIFO2_data_available;always @(posedge clk) if(shift & shifting) cntbit <= cntbit+1;always @(posedge clk) if(shift) data <= (FIFO2_data_available & (~shifting | &cntbit)) ? FIFO_DATAIN : {data[6:0],1'b0};assign FIFO_RD = shift & (~shifting | &cntbit);// and send the serial data to the SD cardassign SD_CLK = cnt[5];assign SD_CMD = shifting ? data[7] : 1'bZ;

有些命令没有回复,而其他一些命令会在SD_DAT行发出响应。 例如,要初始化卡,我们从 CMD0 开始,然后是 CMD8:

  • CMD0 “GO_IDLE_STATE”

  • CMD8“SEND_IF_COND”,预期响应

以下是使用 Xylo-E 演示软件录制的会话:

❌SD.exeUSBdriveropened CMD0400000000095 CMD848000001AA87...OK CMD55770000000065...OK CMD41694018000019...OK CMD55770000000065...OK CMD41694018000019...OK SDHC/SDXC(highcapacity)card CMD242000000004D...OK ASTC3.4 CMD3430000000021...OK RCA=0100 CMD74700010000DD...OK CMD134D0001000053...OK CMD17510000000055...OK FAT32detected Reading1sector(s)startingat8192 CMD175100002000B1...OK Directory/

经过一些初始化后,卡接受 CMD17“READ_SINGLE_BLOCK”,以便可以从卡中读取文件。

  • 联系方式
  • 传 真:
  • 手 机:15383419322
  • 电 话:15383419322
  • 地 址:山西太原市杏花岭区解放路 175 号万达中心 A 座 33 楼 3301 室
友情链接
plc控制器
自动化设备
自动化设备
伺服驱动器
在线咨询

咨询电话:

15383419322

  • 微信扫码 关注我们

Copyright © 2022-2024 山西润盛进出口有限公司 版权所有 晋ICP备2021008479号-14

晋公网安备 14010702070906号

扫一扫咨询微信客服
15383419322