【黑金云课堂】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 卡引脚说明

FPGA

3. SD 卡命令与应答格式

Command 命令格式

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

Respond 应答格式

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

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

FPGA

FPGA

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


FATFS 文件系统

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

FPGA


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。
每个像素的位数21(单色),4(16色),8(256色),16(64K色,高彩色),24(16M色,真彩色),32(4096M色,增强型真彩色)。
压缩说明40(不压缩),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,表示都不重要。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分