vga图像显示_fpga控制vga显示图片

FPGA/ASIC技术

190人已加入

描述

本文为大家分享fpga控制vga显示图片的方法。

1:黑白图片rgb获取

如果是黑白图片直接采用image2LCD转换成bmp格式图片,然后通过BMPtoMIF软件转换成rom的中导入的数据mif文件。但这只是rgb3位,颜色比较单一。

RGB = 000 黑色 RGB = 100 红色 = 001 蓝色 = 101 紫色= 010 绿色 = 110 黄色= 011 青色 = 111 白色

2:转换成8位显示r【2:0】g【2:0】b【1:0】

if(rom_data==3‘d7) vga_rgb <= 8’b111_111_11;

else if(rom_data==3‘d6) vga_rgb <= 8’b111_111_00;

else if(rom_data==3‘d5) vga_rgb <= 8’b111_000_11;

else if(rom_data==3‘d4) vga_rgb <= 8’b111_000_00;

else if(rom_data==3‘d3) vga_rgb <= 8’b000_111_11;

else if(rom_data==3‘d2) vga_rgb <= 8’b000_111_00;

else if(rom_data==3‘d1) vga_rgb <= 8’b000_000_11;

else if(rom_data==3‘d0) vga_rgb <= 8’b000_000_00;

通过此可以转换成8位显示r【2:0】g【2:0】b【1:0】

3:彩色图片获取

通过winhex软件获取图片的信息,其中前54字节是图片信息,后1024字节是颜色表,后边是图片数据(给出颜色表中位置),通过图片数据查找颜色表显示。

在处理信息的时候我们舍弃前54字节,将数据复制成c数组保存到txt文档中,然后用excel打开,通过=OFFSET($A$1,(ROW(A1)-1)/16,MOD(ROW(A1)-1,16))公式将数据排列成一列,最后根据mif文件格式转换成mif。导入到rom中

4:整体工程

是将数据(颜色表和图片数据)存到rom里,然后,将颜色表转换成256种颜色数据,存到ram中,然后显示时候查表得出颜色的rgb显示

2‘d0: rr_din[7:6] <= rom_data[7:6]; //2blue--2blue

2’d1: rr_din[5:3] <= rom_data[7:5]; //3green--3green

2‘d2: rr_din[2:0] <= rom_data[7:5]; //3red--3red

5:注意

注意ram和rom在存储数据时候,出入地址后读出数据时候会有延迟2个时钟

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

全部0条评论

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

×
20
完善资料,
赚取积分