




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、四川工程职业技术学院Verilog Hdl 语言设计点阵报告册班级:2014通信技术1班姓名:刘巧琳指导老师:郭欣时间:目录一、摘要2二、绪言4三、点阵基本知识7四、电路分析8五、设计方案10六、程序设计12七、电路仿真图23实验总结26一、 摘要本论文主要阐述了基于FPGA设计16*16的点阵,让点阵静态或动态显示一个字或者一段话,LED显示屏如今在生活中应用广泛,各大广告商利用LED显示屏的便捷性宣传产品。这次实验需要利用EDA工具软件QuartusII编写并调试系统的Verilog HDL程序。并且每一个模块都在这个软件下进行了仿真。系统的Verilog HDL程序编好过后先在实验室的E
2、DA实验箱上下载调试、验证。关键词:LED、FPGA、Verilog HDL、点阵AbstractThis paper mainly elaborated based on the FPGA design of 16 * 16 lattice, let lattice static or dynamic display a word or paragraph, LED display now in life are widely used, each big advertisers use LED display of the convenience of promotional produc
3、ts. This design needs to use the EDA tool software Verilog to write and debug the system's HDL QuartusII program. And each module is simulated in the software. The system of the HDL Verilog program is compiled in the laboratory after the first EDA test box to download and debug, verify.Keyword:L
4、ED、FPGA、Verilog HDL、lattice二、绪言目前,在机场、饭店等很多公共场所都能看到美观、实用的电子显示屏,它以高清、节能、控制简单、寿命长、耐冲击、性能稳定、成本低廉、环保等优势迅速占领市场。随着显示屏尺寸的扩大、亮度要求的增加,数据传输和控制的时间也会增加,如果仍然采用单片机作为控制器,将会影响显示效果,严重时可能无法正常工作,然而,这时若采用可编程逻辑器件作为控制器,则可解决这一难题。一方面,随着微电子技术的发展和生产工艺的提高,器件的性能大有很大的提高,出现了高性能的现场可编程逻辑器件(FPGA),FPGA具有处理速度高、可靠性高、高容量和集成度高等特点,在大屏幕显示
5、系统设计中使用FPGA可以满足现在的LED大屏幕系统对于处理视频数据的高速要求,同时改善电路的性能,缩小系统的体积。设计中使用硬件描述语言进行电路设计,可以随时根据设计需要进行修改,而不必对硬件进行修改,它使系统的设计和调试非常方便,大大的缩短了产品的开发周期,降低了开发成本,也方便以后的系统升级。 50年前人们已经了解半导体材料可产生光线的基本知识,第一个商用二极管产生于1960年。LED是英文light emitting diode(发光二极管)的缩写,它的基本结构是一块电致发光的半导体材
6、料,置于一个有引线的架子上,然后四周用环氧树脂密封,即固体封装,所以能起到保护内部芯线的作用,所以LED的抗震性能好。 我国LED显示屏市场起步较早,市场上出现了一批具有很强实力的LED显示屏生产厂商。目前LED显示屏已经广泛应用到车站、银行、证券、医院。在LED需求量上,LED显示屏仅次于LED指示灯名列第二,占到LED整体销量的23.1%。由于用于显示屏的LED在亮度和寿命上的要求高于LED指示灯,平均价格在指示灯LED之上,这就导致显示屏用LED市场规模达到32.4亿元,超过指示灯位居榜首成为LED的主要应用市场。 我国LED显示屏市场起步较早
7、,市场上出现了一批具有很强实力的LED显示屏生产厂商。目前LED显示屏已经广泛应用到车站、银行、证券、医院。在LED需求量上,LED显示屏仅次于LED指示灯名列第二,占到LED整体销量的23.1%。由于用于显示屏的LED在亮度和寿命上的要求高于LED指示灯,平均价格在指示灯LED之上,这就导致显示屏用LED市场规模达到32.4亿元,超过指示灯位居榜首成为LED的主要应用市场。凭借着独特优势,LED全彩显示屏广泛应用在体育场馆、市政广场、演唱会、车站、机场等场所。 LED早已应用在以手机为主的小尺寸液晶面板背光市场中,手机产量的持续增长带动了背光源市场的快速发展
8、。特别是2003年彩屏手机的出现更是推动白光LED市场的快速发展。但随着手机产量进入平稳增长阶段以及技术提升导致用于手机液晶面板背光源LED数量减少,使得LED在手机背光源中用量增速放缓,2005年背光源用LED数量超过12亿只,未来几年增长率也将保持在个位数。数量增速的放缓加上平均价格的不断下降,最终导致小尺寸背光源市场增长乏力,同时,中大尺寸背光源市场虽为厂商新宠,但在2006年还不能形成规模。在上述两个因素的影响下,背光源市场将在2006年出现1%的负增长。2005年背光源市场规模超过15亿元。 三、点阵基本知识16*
9、16扫描LED点阵只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。 LED点阵每个点都有一个红色的发光二极管。点阵内的二极管间的连接都是行共阳,列共阴。本实验采用共阴,当二极管的共阳极为高电平,共阴极为低电平时,所接点发光;反之处于截止状态,不放光。数字电路。(图1-7所示)四、电路分析本设计采用16×16LED点阵屏由4块8×8LED点阵拼接而成,每一块点阵都有8行8 列,因此总共有16根行控制线和16根列控制线
10、。EDA实验箱上有其接口电路,STR,SI,SCK,且实验箱上采用的是4个74HC595来实现行扫描和列扫描的。用动态分时扫描技术使LED点阵模块显示字体,需要进行两步工作。第一步是获得数据并保存,即在存贮器中建立汉字数据库。第二步是在扫描模块的控制下,配合行扫描的次序正确地输出这些数据。获得图像数据的步骤是,先将要显示的每一幅图像画在一个被分成16×16共256个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布,再将此分布关系以32×16的数据结构组成64个字节的数据,并保存在只读存贮器
11、ROM中。以这种方式将若干个汉字的数据贮存在存贮器内,就完成了图像数据库的建立工作。电路中采用SPI接口的方式对LED点阵进行操作,LATTICE_SI对应SPI的MOSI, LATTICE_STR对应SPI的nCS,LATTICE_SCK对应SPI的SCK。U17,U18,U19以及U20(74HC595)构成一个串入并出的32bit数据移位寄存器。当LATTICE_STR低电平有效时,32bit数据在32个LATTICE_SCK时钟下有LATTICE_SI串行输入,当LATTICE_STR由低电平变成高电平时,32bit数据并行输出。在主板上主板上数据输出时LADLDP对应行,而LD1LD
12、16对应列,最先移入的数据被当作16列(LD16),最后移入的被当作第一行(LDA)。 五、设计方案点阵LED一般采用扫描式显示,实际运用分为三种方式: (1)点扫描(2)行扫描(3)列扫描若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms即可。若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足方案一:本文系统的LED点阵模块,共由16×16=256个LED发光二极管组成。如何在该点阵模块上显示汉字是本文设计
13、的关键技术。本文系统设计是采用一种16路动态分时扫描技术来实现的。具体方法是,将4个8×8数组的显示模块组合成两个16行16列的扫描结构。其行输入端与FPGA内的只读存储器ROM的16位数据输出端口相连;16个列控制端与一个4-16译码器的输出相连;而译码器的输入端和片选信号又与FPGA内的列扫描控制模块的输出端口相连。方案二:Verilog HDL程序设计的是硬件,可以“并发执行”。本设计可以将LED显示屏要的显示内容抽象成一个二维数组(数组中的1对映点阵显示屏上面的亮点),用Verilog HDL语言设计一个进程将这个数组动态显示在LED显示屏上,再利用另一个进程对这个数组按一定
14、频率进行数据更新,更新的方式可以有多种。因为两个进程是同时进行的(并发执行),如果对数组中的汉字数据按滚动的方式更新,则可实现汉字的滚动显示通过比较我们选择方案二。虽然方案一很容易实现,而且占用FPGA的资源较少,但是由于其实现方式的局限性,该方案只能实现汉字的滚动显示。方案二中将LED点阵抽象成了一个二维数组。可以设计一些比较复杂的算法来控制这个数组,使设计的系统不但可以滚动显示汉字,还可以扩展一些其它的显示效果。六、程序设计设计程序如下:-LED1616.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE ;USE ;ENTITY LED16
15、16 ISPORT(clk48M:INSTD_LOGIC;-系统时钟sdat_in:INSTD_LOGIC_VECTOR(31 downto 0);STR:OUT STD_LOGIC;SCLK:OUT STD_LOGIC;d_out:OUT STD_LOGIC);END;ARCHITECTURE one OF LED1616 ISSIGNAL clk_count: integer range 0 to 400;SIGNAL cnt32: STD_LOGIC_VECTOR(5 downto 0);SIGNAL clk60K,STR_R,SCLK_R,d_out_R: STD_LOGIC;SIGN
16、AL data_shift: STD_LOGIC_VECTOR(31 downto 0);TYPE states IS(st0,st1,st2,st3);SIGNAL c_state,n_state:states;BEGINSTR <=STR_R;SCLK <=SCLK_R;d_out <=d_out_R;d_out_R <=data_shift(31);PROCESS (clk48M)BEGINIF RISING_EDGE(clk48M) THEN IF clk_count =400 THENclk_count<=0;clk60K<=not clk60K;
17、ELSEclk_count<=clk_count+1;ENDIF;END IF;END PROCESS;PROCESS (clk60K)BEGINIF RISING_EDGE(clk60K) THEN c_state<=n_state; -主控时序进程END IF;END PROCESS;PROCESS (c_state)BEGINCASE c_stateIS WHEN st0=>n_state<=st1;STR_R <='1'SCLK_R <='0'WHEN st1=>n_state<=st2;STR_R <
18、;='0'SCLK_R <='0'WHEN st2=>n_state<=st3;STR_R <='0'SCLK_R <='1'WHEN st3=>if (cnt32 >= "100000") thenn_state<=st0;elsen_state<=st2;end if;STR_R <='0'SCLK_R <='0'WHEN OTHERS=>n_state<=st0;END CASE;END PROC
19、ESS;PROCESS (SCLK_R)BEGINif (STR_R = '1') thendata_shift <=sdat_in;cnt32 <="000000"elsIF FAllING_EDGE(SCLK_R) THEN data_shift(31 downto 0)<=data_shift(30 downto 0) & '0'cnt32 <= cnt32 + '1'END IF;END PROCESS;END;-LS416LIBRARY IEEE;USE IEEE.STD_LOGIC_
20、1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY LS416 IS PORT(SEL:IN STD_LOGIC_VECTOR(3 DOWNTO 0); Dout:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END LS416;ARCHITECTURE BHV OF LS416 ISBEGIN PROCESS(SEL) BEGIN CASE SEL ISWHEN "0000" =>DoutWHEN "0001" =>D
21、outWHEN "0010" =>DoutWHEN "0011" =>DoutWHEN "0100" =>DoutWHEN "0101" =>DoutWHEN "0110" =>DoutWHEN "0111" =>DoutWHEN "1000" =>DoutWHEN "1001" =>DoutWHEN "1010" =>DoutWHEN "1011&qu
22、ot; =>DoutWHEN "1100" =>DoutWHEN "1101" =>DoutWHEN "1110" =>DoutWHEN "1111" =>DoutWHEN OTHERS => NULL; END CASE; END PROCESS; END BHV;-MAX280LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL
23、;ENTITY MAX280 ISPORT ( Qa : IN STD_LOGIC_VECTOR(8 DOWNTO 0); Q : OUT STD_LOGIC_VECTOR(8 DOWNTO 0);END MAX280;ARCHITECTURE BEH OF MAX280 ISSIGNAL Q1 : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS (Qa)BEGINIF(Qa>=280) thenQ <= Qa-280;elseQ <=Qa;END IF;END PROCESS;END BEH;modulecnt4b(clk,q);inpu
24、tclk;output3:0q;reg3:0q;always(posedgeclk)beginif(q=4'b1111)q=4'b0000;elseq<=q+1'b1;endendmodulemoduleint_diva(clockin,clockout);inputclockin;outputclockout;regclockout;reg23:0counter;always(posedgeclockin)beginclockout=(counter>=12000000);if(clockout)counter<=24'd0;elsecounter<=counter+1'b1;endendmodulemoduleint_divb(clockin,counter,clockout);inputclockin;outputclockout;output8:0counter;regclockout;reg8:0counter;al
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 箱包企业职业安全管理考核试卷
- 纺织品的智能穿戴设备开发考核试卷
- 液化石油气生产安全风险评估考核试卷
- 矿产勘查经济效益与投资回报分析考核试卷
- 耐火土石矿山开采对矿区地下水环境的保护与合理利用考核试卷
- 网络公共服务平台在志愿者服务中的促进作用考核试卷
- 玉石的开采与加工的安全生产标准提升考核试卷
- 服务标准化在钟点工服务的管理考核试卷
- 摩托车经销商管理培训考核试卷
- 海上旅客运输与旅游产业发展前景展望考核试卷
- 2024-2025人教PEP版(三起)(2024)小学英语三年级上册(全册)教学设计及反思(完整版P84)
- 苏州市施工图无障碍设计专篇参考样式(试行)2025
- 2025-2030中国锻造(锻件)行业投资策略及规划建议研究研究报告
- 国际关系理论智慧树知到期末考试答案2024年
- 顶板安全管理知识
- 《新能源汽车转向系统》课件
- 报关委托书 电子版
- 高中音乐人教版高一全一册音乐-《芬兰颂》详案
- 广告制作及印刷品方案
- 东莞市卫生与健康十三五规划
- 土壤分析技术规范(第二版)
评论
0/150
提交评论