基于FPGA的数码相框制作精品资料.doc

上传人:封****n 文档编号:96698226 上传时间:2024-03-10 格式:DOC 页数:47 大小:431.31KB
返回 下载 相关 举报
基于FPGA的数码相框制作精品资料.doc_第1页
第1页 / 共47页
基于FPGA的数码相框制作精品资料.doc_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《基于FPGA的数码相框制作精品资料.doc》由会员分享,可在线阅读,更多相关《基于FPGA的数码相框制作精品资料.doc(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 中文题目 基于FPGA的数码相框制作 英文题目 Design of digital photo frame based on FPGA 中文摘要FPGA器件的应用是继单片机之后,当今地嵌入式系统开发应用中最最热门的关键技术之一,并且随着制造工艺水平的不断提高,成本的不断下降,FPGA甚至大有替代专用ASIC的趋势。FPGA使用Verilog或VHDL等硬件描述语言编程。本课题是DIY数码相框,是基于FPGA的数码相框设计。本系统工程的所有功能全部使用FPGA来完成,内容包括SD卡的读取控制,图片解码,VGA驱动显示等等,采用的是SFEP1C开发板,该板FPGA使用Altera公司Cyclon

2、e系列的EP1C3T144C8,配置PLL电源电路,SD接口,1个256色的VGA通用接口,SDRAM等。支持AS及JTAG配置方式,软件平台使用Quartus 9.1,从而完成10幅800*600的BMP图片循环显示。关键词 VGA FPGA SD Verilog Quartus外文摘要Title Design of digital photo frame based on FPGA AbstractThe application of FPGA devices is todays one of the most popular key technologies in the develop

3、ment and use of embedded systems after the MCU . and with the level of the manufacturing process constantly improving and the costs continuously declining, the FPGA will have the tendency of even replacing the dedicated ASIC. The FPGA programs use Verilog or VHDL hardware description language. The s

4、ystem accomplishes all the functions including the reading and controlling of SD card, decoding the pictures , drivering VGA, etc. based on the FPGA, which uses the SF-EP1C development board. The board use EP1C3T144C8 of Alteras Cyclone series as FPGA including the PLL power supply circuit, SD inter

5、face, a 256-color VGA common interface, SDRAM, and so on ,supporting for AS and JTAG configuration. The software platform completes displaying ten 800 * 600 BMP picturess in cycles by using the Quartus II 9.1. Keywords VGA FPGA SD Verilog Quartus目 录1 绪论.1.1 本课题的研究目的与意义.1.2 背景介绍与设计要求.2 关于的基本介绍.2.1 FP

6、GA与ASIC的区别.2.2 FPGA与CPLD的区别2.3 FPGA的基本结构和工作原理3 系统任务分析与总体设计3.1 课题难点及任务分析3.2 系统总体设计.4 SD卡及SPI模式说明4.1 SPI接口控制4.2 SD卡工程说明及操作.5 RAM配置模块5.1 SDRAM简介5.2 SDRAM设计方案6 BMP图片解码及数据流控制模块6.1 BMP图片格式6.2 BMP图片解码设计6.3 数据流模块7 VGA显示驱动模块7.1 显示器基本概念7.2 接口电路7.3 VGA驱动方案总结参考文献谢辞1 绪论1.1 本课题的研究目的与意义随着社会经济的发展和生活物质水平的提高,人们对于精神世界

7、的追求也越来越高。该设计理念源于提高人们的生活幸福指数。在传统意义上,人们往往用冲印出来的相片来记录生活中的美好瞬间。然而伴随电子行业的发展,包括数码相机,高像素智能内的大量电子产品大行其道,足以用数码形式将其取代,柯达公司申请破产,说明市场已经形成。据统计,世界上那个70%以上照片都是数码照片,年轻一族更是喜欢以数码形式记录他们的生活,并且分享在网络上。数码相框同时还可以将静态图片提升为动态的相册,携带方便,储存时间长远,满足于人们的需求,同时也会是一种节约型,环保低碳型的构想。1.2 背景介绍与设计要求反思数码相框,现在电子市场竞争愈演愈烈,电子技术也越来越成熟,功能越来越完善。不过大都以

8、外带ARM处理器来实现主要功能,本次课题完全应用硬件FPGA,重点是借此来掌握FPGA地开发流程和设计理念。根据本系统设计要求,使用Verilog语言,Altera提供的FPGA/CPLD开发集成环境Quartus9.1,cyclone系列地EP1C3T144为基础实现所有功能,包括从SD卡中读取图片信息,到最终彩色显示并循环播放。研究内容:基于FPGA设计包含有SD卡的读取,文件系统控制,图片解码,TFT-LCD驱动和图片显示地数码相框。该相框所用到地SD卡读取模块,图片信息地解码控制模块和彩色液晶驱动要求全部用FPGA完成。设计要求如下:(1)从SD卡中读取图片,采用SPI模式,不涉及文件

9、操作系统;(2)用FPGA解码BMP图片;(3)用SDRAM作为显示缓存;(4)使用TFT-LCD液晶显示,液晶驱动用FPGA完成。2 关于FPGA的基本介绍二十世纪六十年代中期,TI公司生产了大量通用IC(集成芯片),如分别面向民用和军用的74系列和54系列。这些通用IC甚至沿用至今,在二十世纪八十年代,出现了PLD(可编辑逻辑器件),包括SPLD(简单的可编辑逻辑器件),CPLD(复杂的可编辑逻辑器件)等,它们较之传统IC,具有可重配置性和较短的开发调试时间,但实现地功能和电路都相对简单。所以随着电子行业的发展和实际需要,Xilinx公司推出了第一块现场可编辑逻辑器件,即FPGA(现场可编

10、辑逻辑器件)。在随后的几十年里,FPGA得到了巨大的发展。2.1 FPGA与ASIC的区别 ASIC(专用芯片)是定制IC,内部已经固化,只能开启或关闭不同的功能模块;而FPGA是地地道道地可编程逻辑器件,用户要根据自己的实际要求进行开发设计。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。FPGA可重配置的灵活性是ASIC所不具有的。2.2 FPGA与CPLD的区别 首先CPLD是基于ROM结构的,而FPGA是基于RAM结构的。另外二者制造工艺上差异明显,CPLD的逻辑资源有限,通常逻辑门的密度在几千到几万个逻辑单元门之间,而FPGA通常在几

11、万到几百万。2.3 FPGA的基本结构和工作原理一个典型的FPGA是有几个部分构成的,首先是逻辑块(Logic Block),Altera公司将其称之为逻辑阵列快(LAB)Xilinx公司将其称为可配置逻辑块(CLB)。LAB由称之为LE(Logic Element)的基本单元构成,CLB由称之为LC(Logic Cell)的基本单元构成。这些就是FPGA的逻辑资源,还有一部分是散落在各个逻辑块之间地内部连线,它们好比是PCB板上的导线,将FPGA内部地各个逻辑相连接,起点和终点都是IOB(I/O Block)。另一部分就是IOB了,IOB是FPGA的外部物理接口,类似IC的各引脚,当然这里是

12、根据用户需要自己可以任意定义的。如今的FPGA的IOB已经很强大,从基本的LVTTL/LVCOMS接口到PCI/LVDS/RSDS甚至各种各样的差分接口,FPGA内部的I/O实际上是分组的,但是每一组都可以灵活配置,改变上拉下拉电阻,调解驱动电流大小,兼容5V,3.3V,2.5V,1.8V甚至1.5V,可以满足不同的电器特性,不同的I/O接口物理特性以及外部硬件电路对输入输出信号的各种匹配要求参考文献崔阿军.FPGA布局布线算法的改进与实现【D】.西安电子科技大学.2010Cui ajun.Improvement and Implementation of FPGA placement and

13、 routing algorithms D. Xian University of Electronic Science and Technology.2010。目前I/O可以达到的频率也愈来愈高,通过特定的技术数据读取速率甚至可以达到2Gbps现在越来越多的工程师喜欢FPGA,强大的I/O特性也是一种原因吧。而且以后我想I/O兼容恐怕是大势所趋。设计IOB的概念和技术还有很多,这里不做介绍了。还有一部分就是FPGA内部的功能模块,是制造商根据实际需要放置在FPGA内部的。比如数字时钟管理模块即DCM,Xilinx公司的FPGA全都具有这种功能。比如相位环路锁定。PLL需要一个外部时钟输入(晶

14、振),经过内部处理后(包括分频和倍频)可以提供在频率和相位上都比较稳定的一定范围内的时钟。还有不得不提的内部不占用逻辑资源的块RAM。RAM块可用作为单口RAM、双口RAM、内容地址存储器以及FIFO(first in first out)等常用存储器甚至ROM,移位寄存器。这对于小量数据缓存很有用,强化了FPGA的应用性。在选择FPGA时,芯片内部块RAM的资源多少也是衡量的一个重要因素。单独块RAM的容量为18kbit宽为18Bit、深度为1024,可以根据实际需要改变其位宽和深度,但有两点限制:首先就是修改后块RAM的容量(位宽 深度)不能大于单片块RAM容量;而且位宽最大不能超过36B

15、it,可以将多片块RAM联起来形成内存更大的RAM,此时只受限于芯片内块RAM的数量,而不再受上面两条原则约束。不过在Quartus中,具体操作起来很方便。还有底层内嵌功能单元包括内嵌专用硬核如乘法器等。它对于数字信号的运算处理提供极大的便利。图2-1 典型的FPGA内部结构图3 系统任务分析与总体设计 3.1 课题难点及任务分析首先是对于FPGA以前没有接触过,所以基于FPGA的开发流程和设计理念不是很了解。所使用的Verilog语言也很陌生,一切要从头学起,其次课题内容以前也没有接触过,需要学习相关知识。难点如下:(1)如何从SD卡中读取图片;(2)什么是BMP图片格式,如何解码;(3)如

16、何驱动显示。本工程采用SPI通信协议,不涉及文件操作系统,计划利用底层协议找到文件实际物理位置,直接读取。用SDRAM及FIFO组成数据流模块,共同完成数据缓冲,作为图片缓存。FPGA实现BMP图片解码,并完成VGA驱动显示。采用FPGA内部时钟作为系统时钟。3.2 系统总体设计图3-1 总体模块划分总体设计框图如图3-1所示。数据流模块包括SDRAM和两个FIFO,用于衔接SD卡及VGA显示模块,从SD中读取的BMP图片的色彩表数据将被存放到FPGA的一个内部RAM中,用于译码,SD中的数据通过一个FIFO送入到SDRAM中,再送入另一个FIFO中以供VGA读取,一起来完成高速数据的缓冲。由

17、于SD本身速度较慢,所以无法满足VGA实时扫描需求。总工程引脚定义如表3-1所列。表3-1 工程引脚定义名称方向分配作用clkinputPIN16FPGA输入时钟信号,25MhzRSTinputPIN144FPGA复位信号sdram-clkoutoutPIN25sdram时钟信号sdram-ckeoutputPIN27sdram时钟有效信号sdram-csoutputPIN39sdram片选信号sdram-routputPIN38sdram行地址选通脉冲sdram-coutputPIN37sdram列地址选通脉冲sdram-weoutputPIN1sdram写选通信号sdram-bank0:1

18、outputPIN40,41sdram的L-Bank地址线sdram-ad0:11outputPIN30-36,47-50,28sdram的地址总线sdram-data0:15inputPIN2-7,10-11,139-143,32-134sdram的数据总线spi-misoinputPIN51SPI主机输入数据信号spi-mosioutputPIN57SPI主机输出数据信号spi-clkoutputPIN52SPI时钟信号spi-csoutputPIN58SPI使能信号,主机控制hsyncoutputPIN61VGA行同步信号vsyncoutputPIN62VGA列同步信号vga-r0:2o

19、utputPIN72-74VGAredvga-g0:2outputPIN69-71VGAgreenvga-b0:1outputPIN68,67VGAblue4 SD卡及SPI模式说明4.1 SPI接口控制SPI(Serial Peripheral Interface)是一种通信协议,数据传输高速,全双工,逐位同步,只需要四条信号线即可。不但节约硬件资源,同时有利于简化板子的的布局。现在越来越多的芯片集成了这种协议,方便简易,SPI通信协议如图4-1所示。图4-1 SPI模式连接图该工程模块的SPI 接口四条信号线分别定spi_cs_n,spi_clk,spi_miso 和spi_mosi。其中

20、spi_cs_n 是数据控制使能信号,当要对芯片进行操作时,此信号低电平有效。也就是说在同一条主线上可以连接多个SPI。spi_clk是SPI 同步时钟信号,数据信号在该时钟的控制下进行逐位传输。spi_miso 和spi_mosi 是主从机进行通信的数据信号,spi_miso即主机的输入或者说是从机的输出spi_mosi 即主机的输出或者说是从机的输入。SPI的工作模式有两种:主模式和从模式。SPI总线也有三种模式,分别为单主单从、单主多从和互为主从庄建清.SPI总线的基本原理与应用实例【J】.电子制作2008年9期Zhuang Jianqing. SPI bus, the basic pr

21、inciples and application examples J. electronic production in 2008. 。本课题使用的是单主单从模式即SPI主机,SD从机。因此,FPGA 将控制产spi_cs_n spi_clk 的时序。SPI通信也可以配置成四种不同的传输模式。这主要是对CPOL和CPHA这两个参数不同设置而配置的。CP0L=时,SPI 时钟信spi_clk闲置时总是高电平,发起通信后的第一个时钟沿是下降沿;CPOL=0时,SPI时钟信spi_clk闲置时总是低电平,发起通信后的第一个时钟沿是上升沿。而CPHA则用于控制数据与时钟的对齐模式,CPHA=1时,时

22、钟的第一个变化沿(上升沿或者下降沿)数据变化,那么也意味着时钟的第二个沿(与第一个沿相反)锁存数据;CPHA=0 时,时钟的第一个变化沿之前数据变化,那么也意味着时钟的第一个沿锁存数据王婷.IO多路由复用的8位微处理器的设计【D】.华中科技大学.2009Ting Wang.IO route more than 8-bit microprocessor design reuse D,.Huazhong University of Science and Technology. 2009。CPOL控制时序如图4-2所示。 图4-2 CPOL配置spi时钟关于SD卡的SD模式不做介绍。本课题使用了S

23、D 卡的SPI 模式进行通信。SD卡在总线模式中唤醒,在接收复位命令时如果CS信号是低电平,那么SD会使用SPI工作模式。一旦进入SPI模式,没有办法回到总线模式,只能重新给SD上电。在SPI模式下,SD卡协议状态机不被检测,所有在SD 总线模式支持的命令在SPI模式也是可用的高永占.基于SD卡的嵌入式文件系统的设计与实现【D】.北京交通大学.2010Gao yongzhan.Based on the SD cards embedded file system design and realization ofD.Beijing Jiaotong University. 2010。SPI模式下

24、缺省的命令结构/协议是CRC 检测关闭宋国永.自容式湍流仪的设计研究【D】.中国海洋大学.2011Song guoYong.Self-contained turbulence meter D.China Ocean University. 2011。随着SD卡在SD 总线模式下上电,CMD0 必须紧跟着一个有效CRC字节。对于该设计中,SPI 的时序模式为CPOL=1,CPHA=1,速率25Mbit,本工程时序如图4-2所示。图4-2本工程SPI时序4.2 SD卡工程说明及操作 这次课题中我们SD用的是Panasonic的class 4,大小为 2GB,每簇的大小为960个扇区,每个扇区的大小

25、为512字节。属于一代sd卡由于不涉及操作系统,所以本人并没有仔细学习关于SD卡的工作原理,就本课题需要说明的如下,首先用WINHEX软件找到图片存放的物理地址,查看图片的大小和占用的空间,计算图片的末地址,之后用状态机来控制SD的上电初始化和扇区读取控制。接口与引脚定义如表4-1及4-2所列。表4-1 SPI主机引脚定义名称方向作用clkinputPLL产生时钟信号50MHzrsr-ninput系统复位信号spi-misoinputSPI主机输入从机输出数据信号spi-mosioutputSPI主机输出从机输入数据信号spi-clkoutputSPI时钟信号sd-data0:7output从

26、SD读出的数据信号sd-fifowroutput读出的数据写入FIFO时能信号sdwradoutputSDRAM写控制相关信号清零复位信号表4-2 SPI模块接口定义名称方向作用clkinput产生时钟信号50MHzrsr-ninput系统复位信号spi-misoinputSPI主机输入从机输出数据信号spi-mosioutputSPI主机输出从机输入数据信号spi-clkoutputSPI时钟信号spi-tx-ninputSPI数据发送使能信号spi-tx-ndoutputSPI数据发送完成标志位spi-rx-ninputSPI数据接收使能信号spi-rx-ndoutputSPI数据接收完成

27、标志位spi-tx0:7inputSPI数据发送寄存器spi-tx0:7outputSPI数据接收寄存器SD卡的上电初始化过程可以分为以下五个步骤: 适当延时等待SD卡就绪。 发送74+个spi_clk,且保持spi_cs_n=1,spi_mosi=1。 发送CMD0 命令并等待响应R1=8h01: 将卡复位到IDLE 状态。 发送CMD1 命令并等待响应R1=8h00: 激活卡的初始化进程。 发送CMD16 命令并等待响应R1=8h00: 设置一次读写BLOCK 的长度为512 个字节。SD 数据读取操作大体分为以下三个步骤: 发送命令CMD17。 接收读数据起始令牌0xfe。 读取512B

28、yte 数据以及2Byte 的CRC。SD 命令CMD 发送控制大体分为以下五个步骤: 发送8 个时钟脉冲。 SD 卡片选CS 拉低,即片选有效。 连续发送6 个字节命令。 接收1 个字节响应数据。 SD 卡片选CS 拉高,即关闭SD 卡。表4-3SD卡命令格式表描述起始位表示主机命令地址CRC校验位结束位位1b01b1位50位310位601b1SD卡32位命令格式如上表所列,其中地址位只是某些指令有用到。spi_cs_n信号由SD卡命令驱动模块控制。当需要开启SPI模式进行数据传输时,先把待传输的数据放置到SPI数据发送寄存器也就是spi_tx0:7中,然后将SPI发送使能标志位spi_tx

29、_n拉高,SPI 发送功能模块被启动。在若干个时钟周期后,数据发生完毕,则SPI 发送完成标志位spi_tx_nd被拉高。此时外部模块检测spi_tx_n为高电平,则拉低spi_tx_n,SPI模块在spi_tx_n拉低后也会清零内部计数器,此时地spi_tx_nd会恢复为低电位,至此一次数据传输过程完毕。接收功能和发送功能相类似,只要在SPI接口完成标志位。pi_rx_nd 拉高后读取spi_rx0:7的数据即可。5 RAM配置模块5.1 SDRAM简介SDRAM(同步动态随即存储器)与传统的DRAM有很大区别,它可以与系统总线以相同的频率工作,用共同的CPU时钟周期即可完成数据的访问和刷新

30、,进而大大的提高了数据传输速率,其速度远远大于DRAM李刚.SDRAM通用控制器的FPGA模块化设计【J】.电子产品世界2007年8期Li Gang.FPGA modular design of the universal controller J. Electronics World in2007 .9。本工程采用开发板上就用外部SDRAM作为数据缓存器,也就是VGA的显存缓冲。现在,许多嵌入式设备的大容量、高速度存储器都采用SDRAM来实现,大多数都是用专用芯片完成其控制电路,这不但提高了设计成本,而且使系统的硬件电路复杂化邓志清.基于FPGA的外部存储器设计【J】.现代电子技术2011年

31、34卷14期Deng Zhiqing.Based on FPGA external memory designs J. Modern electronic technology in2011.34 14。所以如果能够自行设计一个简易的,能够符合项目要求,迎合实际需要的SDRAM控制器,就会大大降低成本,而且可以简化编程操作。本课题设计了基于FPGA的通用SDRAM控制器,SDRAM具有内存空间大,数据读写快,成本低等优点,但缺点是硬件控制复杂,编程复杂(重复刷新操作、行列地址管理、不同延时和指令序列等)吴厚航.深入浅出玩转FPGA【M】.北京航空航天大学.2010Wu houhang.Laym

32、ans language the FPGA FunM. Beijing University of Aeronautics and Astronautics. 2010。SDRAM地址结构SDRAM的物理地址分为页(bank)地址,行(row)地址和列(column)地址。例如一个8MByte的SDRAM,被分为4个bank( 1个bank为2MByte),每个bank包括12行8列。SDRAM的指令SDRAM的指令如表5-1所列,每条指令都是最终通过控制行RAS、列CAS、使能WE信号来实现。通常对SDRAM的操作过程如下:图5-1指令表命令缩写RASCASWE空操作NCPHHH页激活ACT

33、LHH读操作RDHLH写操作WRHLL突发操作终止BTHHL预充电PCHLHL刷新操作ARFLLH配置模式寄存LMRLLLSDRAM初始化操作 上电后延迟100ns,然后至少执行1条空操作,这是SDRAM的输入稳定期; 发送PCH指令; 向各页发出两条刷新操作指令至少8个刷新周期; 发送LMR命令用来配置SDRAM工作模式寄存器(MSR)。其中A11A10是用户保留位;A9用来配置写突发模式;A8A7是操作模式,通常为“00”,代表标准操作模式;A6A4设置CAS延迟时间;A3决定突发操作模式是顺序还是间隔型;最后的三位A2A0用来配置突发长度柴若楠.大容量数据存储器设计与实现【J】.河北省科

34、学院学报2011年28卷3期Chai Ruonan.Large-capacity data memory design J. Hebei Academy of Sciences in 2011.28 3。SDRAM工作寄存器如表5-2所列。 表5-2工作寄存器A11A10A9A8A7A6A5A4A3A2A1A0ReserveWrite burst modeOperating modeLatency modeBurst typeBurst lengthSDRAM数据读写操作:SDRAM对数据采用突发式读写,支持的突发长度可配置为1个、2个、4个、8个数据周期或者页模式林志煌.一种简易SDRAM控

35、制器的设计方法【J】.现代电子技术2008年16期Lin zhiHuang. A simple SDRAM controller design method J. modern electronic technology in2008. 16。本次课题采用的是页模式。在页模式下地址可以为0-255,在进行写操作时,把数据和地址送入,一段延迟后,数据就会进入相应的地址;进行读操作时,内部地址被寄存,延迟13个时钟周期(CAS延迟时间)后,数据被读出在数据总线上。操作终止:在页操作模式下,必须实用突发停止命令停止操作,由外部的数据寄存器给出字节数适当发出命令,这样可以高效发挥页模式长处。5.2 S

36、DRAM设计方案本次课题采用的是三星SDR SDRAM(K4S641632),核心是设计一个SDRAM控制器。首先用两个状态机,一个用于上电初始化操作,另一个用于正常的工作状态控制,从而完成SDRAM的上电初始化及定时刷新,读写控制等的状态变迁。其次通过一个命令模块,根据不同状态指示输出相应的SDRAM的控制命令和地址,还有一个数据控制模块,根据不同的状态完成SDRAM数据总线的控制,包括读写等。SDRAM控制器接口定义如表5-3所示。原理图如图5-1所列。表5-3 SDRAM的控制器接口定义名称方向描述clkinputPLL时钟信号,100MHzrst-ninput系统复位信号sdram-w

37、r-reqinput系统读RAM请求信号sdram-rd-reqinput系统写RAM请求信号sys-wraddr0:21input写RAM时地址暂存器,位0-7为列地址,位8-19为行地址,20-21为Bank地址sys-rdaddr0:21input读RAM时地址暂存器,位0-7为列地址,位8-19为行地址,20-22为Bank地址sys-data-in0:15input写RAM时数据暂存器。sdwr-byte0:8input突发写RAM字节数(1256)sdra-byte0:8input突发读RAM字节数(1256)sdram-wr-ackoutput系统写RAM响应信号,作为wrFIF

38、O输出有效信号sdram-rd-ackoutput系统读RAM响应信号。sys-data-out0:15output读RAM时数据暂存器sdramclkoutputRAM时钟信号sdram-cs-noutputRAM片选信号sdram-ras-noutputRAM行地址选通信号sdram-cas-noutputRAM列地址选通信号sdram-we-noutputRAM写允许信号sdram-ba0:1outputRAM的Bank地址线sdram-addr0:11outputRAM的地址总线sdram-data0:15inputRAM的数据总线 图5-1 SDRAM控制器接口原理图接口信号介绍:(

39、1) 主机接口信号: CLK:时钟信号; RESET::复位信号;CMD2:0:译码指令;CMDACK:用于主机接收的应答信号;ADDR:地址线,本例中为22位,A20 ,21为页地址BA0,BA1.A8-A19代表行地址,A0-A7代表列地址;DATAIN/DATAOU:输入、输出数据总线;DM:数据掩码。(2) SDRAM接口信号:SADDR:12根地址线,分时复用。BA:页地址,BA0,BA1;CS:片选使能信号;CKE:时钟使能信号;RAS、CAS、WE:命令控制信号;DQM:SDRAM数据掩码;DQ:双向数据线。6 BMP图片解码及数据流控制模块6.1 BMP图片格式本次课题选用了1

40、0副800*600大小的BMP图片,所以我们先来了解一下位图文件结构,如表6-1所列。 表6-1 位图文件结构块名称windows结构体定义大小(Byte)文件信息头BITMAPFILEHEADER14位图信息图BITMAPINFOHEADER40彩色表RGBQUAD一个800*600的8bit位图的色彩表为:1024B。RGB、的颜色阵列BYTE|*由图像长宽尺寸决定头14个字节为文件信息头,它定义了图片的格式,之后的位图信息头占用了40个字节,它里面规定了图片的长度,宽度,色彩等。然后是彩色表,里面包含256色,占用1024个字节,后面的颜色阵列是图片的具体信息,800*600包含4800

41、00个字节。虽然BMP 格式内的数据本身就是RGB格式的,但是由于它存储的顺序是从图片的左下角开始右上角结束,而且对于如8bit 的位图还有色彩表的概念,而送到液晶显示器一端的数据一般是以从左到右、从上到下的顺序扫描数据的,这就需要解码。 6.2 BMP图片解码设计SD 卡控制模块直接寻址到某一幅图片地址后将其发送到数据流控制模块,同时会有一个图片数据有效标志位wrf_wrreq 做指示,wrf_wrreq 只在每次发送的数据有效后保持一个时钟周期高脉冲,从而让数据流控制模块对该数据做相应处理。因此一副分辨率800*600 的8B位宽图片共有481078 字节(54 个字节信息头数据、1024 字节色彩表数据和480000 字节图像数据)的数据,在读取SD 卡过程中,wrf_wrreq 也就会产生对应的481078 个单时钟周期的高脉冲。由于该设计中只处理BMP 格式图片,所以对文件信息头和位图信息头就不做判断处理,色彩表数据存储到FPGA 内部IP core 例化的一个RA

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 期刊短文 > 互联网

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁