精品数码相框.docx

上传人:b****6 文档编号:7799920 上传时间:2023-01-26 格式:DOCX 页数:51 大小:3.12MB
下载 相关 举报
精品数码相框.docx_第1页
第1页 / 共51页
精品数码相框.docx_第2页
第2页 / 共51页
精品数码相框.docx_第3页
第3页 / 共51页
精品数码相框.docx_第4页
第4页 / 共51页
精品数码相框.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

精品数码相框.docx

《精品数码相框.docx》由会员分享,可在线阅读,更多相关《精品数码相框.docx(51页珍藏版)》请在冰豆网上搜索。

精品数码相框.docx

精品数码相框

 

数码相框

摘要

数码相框数码相框是展示数码照片而非纸质照片的相框,它不再用放进相片的方式来展示,而是通过一个液晶的屏幕显示,它可以通过读卡器的接口从SD卡获取相片,并设置循环显示的方式,比普通的相框更灵活多变,也给现在日益使用的数码相片一个新的展示空间。

市场上的数码相框一般是以带液晶驱动外设的ARM处理器为主实现功能,而本设计恰恰相反,所有的功能都使用FPGA来完成。

本设计使用Altera公司cyclone系列的EP1C3T144为基础来实现所有的功能,以SF-EP1C开发板作为目标板。

从SD卡中读取图片(SPI模式),SD卡控制不涉及文件操作系统。

使用电脑显示器(VGA)作为图片显示屏幕,工作在60Hz/800*600分辨率下,显示色彩为256色。

FPGA中实现bmp解码,使用SDRSDRAM作为显示图片缓存,循环显示SD卡中10幅图片。

关键词数码相框;EP1C3T144;SF-EP1C开发板;SPI模式;bmp解码;SDRSDRAM

Abstract

Thedigitalphotoframedisplaysdigitalphotosratherthanpaperphotos.ItnolongerusespaperphotosbutusesaLCDscreentodisplayphotosinstead.ItgetphotosfromSDcardthroughSDcardinterface,displayingphotosinacyclicalway.It’smoreflexiblethantraditionalframe,alsogivesanewdisplayspaceasdigitalphotosisincreasinglyused.Inthemarket,digitalphotoframesaremainlybasedonARMprocessorwithLCDandotherperipherals.Onthecontrary,thisdesignemploysFPGAtocompleteallfunctionsofdigitalphotoframe.ThisdesignusesEP1C3T144,whichisinthecycloneseriesofAlteracompany,asthecoreunitforrealizingallthefunctionality.AndthedesignusesSF-EP1Cdevelopmentboardasthetargetboard.ItcanreadpicturesfromtheSDcard(SPImodel).TheSDcardcontroldoesnotneedafilesystemoperation.Thenthedesignuseacomputerdisplay(VGA)asapicturescreen,workingin60Hz,800*600resolutionand256colors.AtlastBMPdecodingusingFPGAisrealized,inwhichSDRSDRAMisusedasimagecache.Asaresult,itcyclicallydisplays10picturesfromtheSDcardsuccessfully.

KeywordsdigitalphotoframeEP1C3T144SF-EP1CDevelopmentBoardSPImodebmpdecodingSDRSDRAM

 

第1章绪论

1.1课题的研究目的和意义

数码相框的普及,使得拍摄下来的数码相片呈现出了几何级数的增长,用各种存储器保存照片已成为大家习惯的做法。

有资料显示,全世界拍摄的数码照片,只有不到35%的被打印出来,而超过65%的都被保存在硬盘、光盘、存储卡等存储介质中。

浏览存储器中的照片最常用的方法是通过电脑、电视等产品,它们能够清晰地显示照片,但不方便携带。

随着嵌入式技术、液晶显示技术、数字存储技术的发展,出现了一种以数码相片的保存、回放和浏览为核心功能的产品——数码相框,给数码相片提供了一个新的展示平台。

数码相框主要由存储器、液晶显示器、解码器和微控制器组成,它利用解码芯片实现对图像的解码,并在液晶屏上显示图像。

鉴于数码相框广泛的用途,开发数码相框具有重要的意义和市场价值。

虽然当前数码相框并不普及,但随着数码成像后期应用市场的不断扩大,数码相框将成为必不可少的配套产品,它也许会成为继电视、电脑之后生活中必不可少的第三块屏幕。

1.2数码相框的动态发展趋势

从长远来看,今后几年将为处在数码相框产品供应链的各企业带来巨大的商机。

未来几年,数码相框的市场处在逐渐走向成熟的阶段,其产销量和市场需求依然将保持大幅度的增长,在未来几内,市场无萎缩的可能。

但数码相框拓展中国市场需克服两大难点:

一是价格;二是拓展应用空间。

价格下降是必然趋势,中国消费者接受只是时间的问题,而根据中国消费者的需求和特点,开发出相应的应用产品,则是需要数码相框厂商亟待的问题。

从技术上来说,未来数码相框的发展将向两极分化。

一部分产品着重强调基本功能和低成本,整合家庭中的闹钟、日历和装饰功能,这些产品走的是低成本路线,以展示照片为主,追求图像的品质及幻灯片播放特效,已成为DC/DV的附属物;另一部分产品会添加一些新的功能,如Wi-Fi、DVB-T,还可以即时报告天气、股票等信息,从而有望成为“桌面信息中心”。

此外,触摸面板会成为一个应用的新亮点。

1.3设计的主要目标任务

本设计使用Altera公司cyclone系列的EP1C3T144为基础来实现所有的功能,以SF-EP1C开发板作为目标板。

从SD卡中读取图片(SPI模式),SD卡控制不涉及文件操作系统。

使用电脑显示器(VGA)作为图片显示屏幕,工作在60Hz/800*600分辨率下,显示色彩为256色。

FPGA中实现bmp解码,使用SDRSDRAM作为显示图片缓存,循环显示SD卡中10幅图片。

1.4本章小结

本章介绍了数码相框广泛的用途及其研究的目的和意义,也从未来发展方向和技术实现层面简述了数码相框的动态发展趋势,从而说明了本人设计DIY数码相框的原因,最后介绍了设计数码相框的主要目标任务。

第2章SF-EP1C开发板介绍

2.1SF-EP1C开发板原理图 

2.2SF-EP1C开发板功能框图

如图2-1和图2-2所示,SF-EP1C开发板有着比较丰富的外设,也给用户预留了一些可扩展的接口。

图2-1SF-EP1C开发板正面资源分布及功能框图

图2-2SF-EP1C开发板背面资源分布及功能框图

2.3SF-EP1C开发板基本配置

●FPGA使用EP1C3T144C8,硬件电路充分考虑了可升级性,该板子同样适用于EP1C6T144;

●板载1Mbit串行配置芯片EPCS1,支持AS和JTAG两种配置方式;

●5V/1.5ADC电源供电,内部产生核压1.5V、I/O电压3.3V;

●PLL电源电路进行滤波处理,更加稳定可靠;

●板载25MHz有源晶振,预留1个未焊接晶振接口;

●4个独立按键、2个复用LED;

●1个串口;

●1个SD卡接口;

●1个256色VGA接口;

●1个64MBit(4*1M*256Bit)SDRAM;

●8位拨码开关;

●1个复位按键和1个FPGA重配置按键;

●4位数码管,仅使用3个I/O口控制,由两个74HC595芯片实现;

●2个20PIN的扩展接口,供大家任意发挥;

2.4Cyclone器件简介

Altera的Cyclone系列可编程门阵列是基于1.5V、0.13um的SRAM全铜工艺制造。

能提供最大20060个LEs,以及最大288Kbit的内嵌RAM。

FPGA内部集成的诸如时钟锁相环(PLLs)和专用DDR接口,达到了DDRSDRAM和快速RAM存储访问需求。

Cyclone器件是数据存储的高性价比解决方案。

Cyclone器件也支持多种I/O标准,包括数据率高达640Mbps的LVDS接口以及66-或33-MHz、64-或32-bit的PCI接口。

Altera也提供低成本的串行配置器件配置cyclone器件。

Cyclone器件具有以下特性:

●2910-20060个LEs;

●最大内嵌294912RAMbits(36864bytes);

●支持低成本串行配置器件;

●支持LVTTL,LVCOMS,SSTL-2以及SSTL-3I/O标准;

●支持66-或33-MHz、64-或32-bit的PCI接口;

●支持数据率高达640Mbps的LVDS接口;

●支持数据率低至311Mbps的LVDS接口;

●支持数据率311Mbps的RSDS接口;

●每个器件最多两个PLLs,并且支持倍频和相位偏移;

●多达8个全局时钟网络;

●支持外部存储器,包括DDRSDRAM(133MHz)、FCRAM以及SDRSDRAM;

●支持altera提供的多种多样的IP核。

表2-1Cyclone器件资源

器件

EP1C3

EP1C4

EP1C6

EP1C12

EP1C20

Les

2,910

4,000

5,980

12,060

20,060

M4KRAM块(128*36bit)

13

17

20

52

64

RAM总量

59,904

78,336

92,160

239,616

294,912

PLLs

1

2

2

2

2

用户可用IO数

104

301

185

249

301

2.5本章小结

本章介绍了SF-EP1C开发板的原理图、板子的功能框图、基本配置和Cyclone器件简介,与市面上其它板子对比,SF-EP1C开发板价格实惠,而且这块板子功能比较全面,虽然板子只有不到3000个LEs,但是如果写起代码来就会深有感触,这个规模的逻辑资源也是可以胜任很多应用的。

如果想通过这样一块板子来掌握如何利用FPGA器件本身的各种资源来完成一个像模像样的工程,那么SF-EP1C开发板是个不错的选择。

第3章数码相框的设计方案

3.1功能需求及模块划分

本设计所要实现的数码相框的主要功能点如下。

1、使用cyclone系列的EP1C3T144为基础来实现所有的功能,以SF-EP1C开发板作为目标板。

2、从SD卡中读取图片(SPI模式),SD卡控制不涉及文件操作系统。

3、使用电脑显示器(VGA)作为图片显示屏幕,工作在60Hz/800*600分辨率下,显示色彩为256色。

4、FPGA中实现bmp的解码。

5、使用SDRSDRAM作为显示图片缓存。

6、循环显示SD卡中10幅图片。

如图3-1、图3-2所示,该设计的功能框图里明确了各个功能模块,5个大的功能模块包括:

系统时钟与复位模块、SD卡相关模块(包括SD卡控制模块和SPI时序产生模块)、数据流控制模块(包括写SDRAM缓存FIFO模块、读SDRAM缓存FIFO模块和BMP色彩表模块)、SDRAM控制器模块、VGA显示驱动模块。

图3-1数码相框功能框图

图3-2数码相框系统功能框图

系统时钟与复位模块主要完成PLL例化和复位控制。

PLL输出三个时钟:

内部SDRAM控制器工作的100MHz时钟、外部SDRAM使用的有一定相位偏移的100MHz时钟和其他模块使用的50MHz时钟。

复位控制部分对复位信号做“异步复位,同步释放”处理,保证系统有一个可靠稳定的复位信号。

SD卡相关模块有两个子模块,SD卡控制模块完成SD卡的一些基本控制,如SD卡的上电初始化、命令发送、数据读取等。

FPGA和SD卡之间数据或命令的传输是通过SPI口,这部分由SPI时序产生模块控制。

数据流控制模块用于衔接SD卡、SDRAM以及VGA显示驱动模块。

从SD卡中读取的BMP图片的色彩表数据将被缓存到BMP色彩表中,用于显示图片时译码使用。

SD卡的图片数据部分则被送入写SDRAM缓存FIFO中。

读和写SDRAM缓存FIFO都直接和SDRAM控制器连接,他们一齐完成了高速数据的缓冲。

由于SD卡本身速度较慢,无法满足VGA实时的数据扫描需求,所以需要先将SD卡中缓存的图片送入SDRAM中,VGA显示器实时的从SDRAM中读取数据进行显示。

最后从读SDRAM缓存FIFO里输出的图片数据经过BMP色彩表译码后送到VGA显示驱动模块。

VGA显示模块直接驱动显示器进行图片显示。

DIY数码相框工程源码配合SF-EP1C开发板使用,FPGA管脚定义以及分配如表3-1所示。

表3-1DIY数码相框引脚定义及分配

名称

方向

分配

作用

clk

input

PIN16

FPAG输入时钟信号25MHz

rst_n

input

PIN144

FPAG输入复位信号,低电平有效

sdram_clk

output

PIN26

SDRAM时钟信号

sdram_cke

output

PIN27

SDRAM时钟有效信号,高电平有效

sdram_cs_n

output

PIN39

SDRAM片选信号,低电平有效

sdram_ras_n

output

PIN38

SDRAM行地址选通脉冲,低电平有效

sdram_cas_n

output

PIN37

SDRAM列地址选通脉冲,低电平有效

sdram_we_n

output

PIN1

SDRAM写选通信号,低电平有效

sdram_ba[0]

output

PIN40

SDRAM的L-Bank地址线

sdram_ba[1]

output

PIN41

SDRAM的L-Bank地址线

sdram_addr[0]

output

PIN47

SDRAM地址总线

sdram_addr[1]

output

PIN48

SDRAM地址总线

sdram_addr[2]

output

PIN49

SDRAM地址总线

sdram_addr[3]

output

PIN50

SDRAM地址总线

sdram_addr[4]

output

PIN36

SDRAM地址总线

sdram_addr[5]

output

PIN35

SDRAM地址总线

sdram_addr[6]

output

PIN34

SDRAM地址总线

sdram_addr[7]

output

PIN33

SDRAM地址总线

sdram_addr[8]

output

PIN32

SDRAM地址总线

sdram_addr[9]

output

PIN31

SDRAM地址总线

sdram_addr[10]

output

PIN42

SDRAM地址总线

sdram_addr[11]

output

PIN28

SDRAM地址总线

sdram_data[0]

inout

PIN132

SDRAM数据总线

sdram_data[1]

inout

PIN133

SDRAM数据总线

sdram_data[2]

inout

PIN134

SDRAM数据总线

sdram_data[3]

inout

PIN139

SDRAM数据总线

sdram_data[4]

inout

PIN140

SDRAM数据总线

sdram_data[5]

inout

PIN141

SDRAM数据总线

sdram_data[6]

inout

PIN142

SDRAM数据总线

sdram_data[7]

inout

PIN143

SDRAM数据总线

sdram_data[8]

inout

PIN11

SDRAM数据总线

sdram_data[9]

inout

PIN10

SDRAM数据总线

sdram_data[10]

inout

PIN7

SDRAM数据总线

sdram_data[11]

inout

PIN6

SDRAM数据总线

sdram_data[12]

inout

PIN5

SDRAM数据总线

sdram_data[13]

inout

PIN4

SDRAM数据总线

sdram_data[14]

inout

PIN3

SDRAM数据总线

sdram_data[15]

inout

PIN2

SDRAM数据总线

spi_miso

input

PIN51

SPI主机输入从机输出数据信号

spi_mosi

output

PIN57

SPI主机输出从机输入数据信号

spi_clk

output

PIN52

SPI时钟信号,由主机产生

spi_cs_n

output

PIN58

SPI从设备使能信号,由主机控制

hsync

Output

PIN61

VGA行同步信号

vsync

Output

PIN62

VGA场同步信号

vga_r[2]

Output

PIN74

VGA色彩

vga_r[1]

Output

PIN73

VGA色彩

vga_r[0]

Output

PIN72

VGA色彩

vga_g[2]

output

PIN71

VGA色彩

vga_g[1]

Output

PIN70

VGA色彩

vga_g[0]

Output

PIN69

VGA色彩

vga_b[1]

Output

PIN67

VGA色彩

vga_b[0]

Output

PIN68

VGA色彩

数码相框在FPGA中实现的框图如图3-3所示。

图3-3数码相框的RTL视图

3.2系统时钟与复位模块的设计

3.2.1PLL的配置需求

已经新建了一个工程,然后需要配置一个PLL。

该PLL的输入时钟为FPGA外部25MHz晶振,希望得到一个50MHz(输入时钟的2倍频)的系统时钟供FPGA内部使用。

该PLL的输入输出接口如表3-2所示。

 

表3-2PLL的接口定义

3.2.2PLL的配置步骤

1、如图3-4所示,在QuartusII的菜单栏选择“Tools—>MegaWizardPlug-InManager…”。

图3-4选择MegaWizard

2、如图3-5所示,使用默认选项“Createanewcustommegafunctionvariation”,点击“Next>”。

图3-5新建megagunction

3、如图3-6所示,进行以下配置:

●在“Selectamegafunctionfromthelistbelow”窗口内打开“I/O”下拉框,选择“ALTPLL”。

●在“Whichtypeofoutputfiledoyouwangttocreate?

”下选择“VerilogHDL”,这是配置的PLL内核使用的语言,一般选择此项。

●“Whatnamedoyouwantfortheoutputfile?

”里默认会出现当前设计的工程路径,需要设计者在最后面手动输入例化的PLL的名字,这里输入了“PLL_ctrl”。

完成以上配置,点击“Next>”。

图3-6新建PLL

4、如图3-7所示,进行以下配置:

●在“General”一栏内的“Whichdevicespeedgradewillyoubeusing?

”选则该工程所使用器件的速度等级。

●在“Whatisfrequencyoftheinclock0input?

”内选择PLL输入时钟的频率。

其他选项使用默认即可。

点击“Next>”。

图3-7输入时钟配置

5、如图3-8所示,配置如下:

●在“Optioninput”一栏内勾选“Creatan‘areset’inputtoasynchronouslyresetthePLL”。

●在“Lockoutput”中勾选“Creat‘locked’output”。

其他选项使用默认即可。

点击“Next>”。

图3-8配置控制信号

●在“Enteroutputclockfrequency?

”后面输入希望得到的PLL输出时钟的频率。

也可以在“Enteroutputclockparameter?

”后面设置相应的输出时钟和输入时钟的频率关系。

“ClockMultiplicationfactor”后输入倍频系数,“Clockdivisionfactor”后输入分频系数,二者决定了输出时钟频率。

●在“Clockphaseshift”中可以设置相位偏移。

●在“Clockducycycle”中可以设置输出时钟占空比。

按照图3-9设置后,点击“Next>”。

图3-9配置输出时钟c0

6、“clkc1”选项是可选的,用户需要第二个输出时钟时可以开启该输出时钟,相应勾选“Usetheclock”后和上一步类似进行配置即可。

如图3-10所示,点击“Next>”。

图3-10配置输出时钟c1

7、“extclke0”也是可选的,该时钟主要是输出给FPGA外部器件作为时钟,不能作为内部时钟使用。

用户需要该输出时钟时可以开启该输出时钟,相应勾选“Usetheclock”后和前一步类似进行配置即可。

如图3-11所示,点击“Next>”。

图3-11配置输出时钟e0

8、如图3-12所示,“EDA”中列了用户在对例化了PLL模块的工程仿真时,需要添加的仿真库文件,用户可以到QuartusII安装文件夹下可以找到。

点击“Next>”。

图3-12仿真库文件

9、如图3-13所示,“Summary”中罗列了该PLL核最终的输出文件。

对主要的一些输出文件说明如下:

●PLL_ctrl.v,字面翻译是“变异文件”,是PLL内部的控制IP核。

●PLL_ctrl_inst.v是一个模板的例化文件,用户可以直接复制这个文件里的例化来用。

●PLL_ctrl_wave.jpg里是用户所配置的PLL的波形示例,勾选后可以在工程目录下找到,看看波形是否符合预定的要求。

或者用它和仿真后的波形对比一下,它们应该是一致的。

图3-13输出文件

3.2.3PLL的例化

PLL配置完成后,需要将PLL例化到工程中。

找到“PLL_ctrl_inst.v”文件并打开,将其内容拷贝到工程代码中,然后更改“()”里的内容,使用代码外的接口对应即可。

如:

inputclk;//25MHz系统外部输入时钟

inputrst_n;//系统复位信号,低电平有效

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1