FPGA读写SD卡读取BMP图片通过LCD显示例程实验 Verilog逻辑源码Quartus工程文件+文档说明,FPGA型号Cyclone4E系列中的EP4CE6F17C8,Quartus版本17.1。
1 实验简介
在前面的实验中我们练习了 SD 卡读写,VGA 视频显示等例程,本实验将 SD 卡里的 BMP 图
片读出,写入到外部存储器,再通过 VGA、LCD 等显示。
本实验如果通过液晶屏显示,需要有液晶屏模块。
2 实验原理
在前面的实验中我们在 VGA、LCD 上显示的是彩条,是 FPGA 内部产生的数据,本实验将彩
条替换为 SD 内的 BMP 图片数据,但是 SD 卡读取速度远远不能满足显示速度的要求,只能先写
入外部高速 RAM,再读出后给视频时序模块显示
module top(
input clk,
input rst_n,
input key1,
output [5:0] seg_sel,
output [7:0] seg_data,
output vga_out_hs, //vga horizontal synchronization
output vga_out_vs, //vga vertical synchronization
output[4:0] vga_out_r, //vga red
output[5:0] vga_out_g, //vga green
output[4:0] vga_out_b, //vga blue
output sd_ncs, //SD card chip select (SPI mode)
output sd_dclk, //SD card clock
output sd_mosi, //SD card controller data output
input sd_miso, //SD card controller data input
output sdram_clk, //sdram clock
output sdram_cke, //sdram clock enable
output sdram_cs_n, //sdram chip select
output sdram_we_n, //sdram write enable
output sdram_cas_n, //sdram column address strobe
output sdram_ras_n, //sdram row address strobe
output[1:0] sdram_dqm, //sdram data enable
output[1:0] sdram_ba, //sdram bank address
output[12:0] sdram_addr, //sdram address
inout[15:0] sdram_dq //sdram data
);
parameter MEM_DATA_BITS = 16 ; //external memory user interface data width
parameter ADDR_BITS = 24