【黑金云课堂】FPGA技术教程Vitis开发:PS端SD读写

PS 端 SD 卡读写

SD 卡原理

1. SD 卡分类

分类方式 类型
尺寸 标准 SD 卡、Micro SD(TF 卡)
速度等级 Class 2/4/6/10,UHS-1 U1/U3
容量 SD (≤2GB)、SDHC (≤32GB)、SDXC (≤2TB)

2. Micro SD 卡引脚说明

3. SD 卡命令与应答格式

Command 命令格式

启动位 主机 命令码 命令参数 CRC 停止位
0 1 5:0 31:0 6:0 1

Respond 应答格式

启动位 SD卡 应答内容 停止位
0 0 44:0 / 132:0 1

4. SD 读写时序与数据格式

SD 卡读写采用同步时钟,数据在 CLK 上升沿采样。数据存储以块(Block)为单位,默认每块 512 字节。


FATFS 文件系统

  • 简介:FatFs 是通用 FAT 文件系统模块,专为小型嵌入式系统设计。
  • 标准:遵循 ANSI C,与平台无关。
  • 支持平台:8051、PIC、AVR、ARM、Zynq 等。
  • 官方网址http://elm-chan.org/fsw/ff/00index_e.html

BMP 图片格式

  1. 位图像素组成:每个小方格就是一个携带颜色信息的像素。

  2. 每个像素记录 RGB 颜色信息(24 位色:24 位二进制数)

  • 红(R):8 位二进制 = 00000000 ~ 11111111(数值 0~255)
  • 绿(G):8 位二进制 = 00000000 ~ 11111111(数值 0~255)
  • 蓝(B):8 位二进制 = 00000000 ~ 11111111(数值 0~255)

每个像素颜色由红(R)、绿(G)、蓝(B)混合而成,使用 8 位 × 3 共 24 位二进制数存储颜色数据。

  1. 位图 = 所有像素数据的集合

将所有像素的颜色信息汇总集合,这些数据就是位图(Bitmap)。

名称 字节数 说明
图像文件头 2 字节1为0x42='B', 字节2为0x4d='M', 表示是Windows支持的BMP格式。
文件大小 4 整个文件大小。BMP头加上图像数据。
保留 4 保留,设置为0。
位图数据偏移 4 从文件开始到位图数据之间的偏移量,一般为54字节。
位图信息头长度 4 从此处到BMP头结束,一般为40字节。
位图宽度 4 以像素为单位,比如1920。
位图高度 4 以像素为单位,比如1080。
位图的总数 2 该值总是1。
每个像素的位数 2 1(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强型真彩色)。
压缩说明 4 0(不压缩),1(RLE 8,8位RLE压缩),2(RLE 4,4位RLE压缩),3(Bitfields,位域存放)。
位图字节数 4 用字节数表示的颜色数据的大小。假设位图是24位,宽为640,高为480,则数值为640×480×(24/8)=921600。
水平分辨率(像素/米) 4 用像素/米表示的水平分辨率。
垂直分辨率(像素/米) 4 用像素/米表示的垂直分辨率。
颜色索引 4 位图使用的颜色索引数。设为0的话,则说明使用所有颜色。
重要颜色索引数目 4 对颜色显示有重要影响的颜色索引数目。如果是0,表示都不重要。

💡 完整视频讲解可前往 ALINX 视频号进行直播回看

更多细节欢迎关注我们黑金云课堂全年免费直播课

黑金云课堂六月直播日历 我们将在每周二、三、四,同步推进 Verilog开发、Vitis开发、Linux开发三大系列,带你从零开始,稳扎稳打掌握 FPGA 开发全流程!

系列 内容定位
Verilog开发 硬件描述语言基础、逻辑设计、仿真调试
Vitis开发 Zynq软硬件协同、外设驱动、网络协议栈
Linux开发 嵌入式Linux系统移植、驱动编写、应用开发
相关推荐
LCMICRO-1331084774611 小时前
国产长芯微LPS7118完全pin-pin替代ADP7118,是一款采用 CMOS 技术设计的低噪声、高 PSRR、快速瞬态响应、低压差线性稳压器
arm开发·单片机·嵌入式硬件·fpga开发·硬件工程·线性稳压器·adp7118
LCMICRO-1331084774611 小时前
国产长芯微LM3042完全P2P替代LT3042,是一款高性能低压差线性稳压器
arm开发·单片机·嵌入式硬件·fpga开发·硬件工程·线性稳压器·lt3042
ARM|X86+FPGA工业主板厂家12 小时前
基于ARM+FPGA平台在精密测控领域的应用:ZYNQ高精度温振压多参融合采集系统
fpga开发
辰丁电子2 天前
PCB设计:EMMC设计规范
fpga开发·pcb设计·pcb工艺·layout·pcb layout
小蘇的FPGA2 天前
FPGA远程更新升级和测试(MultiBoot)
fpga开发
156082072193 天前
关于国微SQM7VX690T和复旦微JFM7VX690T调试
fpga开发
minglie13 天前
简易寄存器接口SMMR---正交编码器
fpga开发
神电测控3 天前
新品发布:32通道50MS/s同步并行14位采集模块PG-FMC9249(支持任意FPGA/ZYNQ,兼容LabVIEW FPGA软件开发)
fpga开发·labview·ni·神电测控·王电令·ad9249·32通道
Drgfd3 天前
半导体国产替代进入“深水区”:决战设备、材料、IP三大高地
网络·fpga开发
国产HT1621B3 天前
YL1650 LED驱动芯片详解:从原理到实战应用(附51单片机驱动代码)
stm32·单片机·嵌入式硬件·mcu·fpga开发·lcd驱动