基于FPGA的Led点阵系统设计孙启云11123359汇总_第1页
基于FPGA的Led点阵系统设计孙启云11123359汇总_第2页
基于FPGA的Led点阵系统设计孙启云11123359汇总_第3页
基于FPGA的Led点阵系统设计孙启云11123359汇总_第4页
基于FPGA的Led点阵系统设计孙启云11123359汇总_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统设计基础考核题目 基于FPGA的LED点阵显示系统设计 姓名:孙启云 学号:11123359承诺:本设计报告时本人独立思考完成! 签字: 时间:一 课题的意义与应用1. 课题所要解决的问题;2. 课题达到的目标;3.课题的应用领域总分:10得分:1. 课题所要解决的问题:随着现代化进程的深入和信息社会高速发展,各行各业的信息显示方式也必须适应这个光彩陆离的信息化社会。宽带网络快速发展,数字化多媒体内容将在信息世界中占据主流,于是,新型的大屏幕显示设备将代替传统电视机成为人们享受信息和多媒体内容的中心。与传统设备相比,正是这种未来的巨大需求让LED大屏幕点阵显示技术成为众人目光焦点。本

2、课题正是设计这种LED大屏幕点阵显示系统。由于大屏幕显示,必然会遇到庞大数据量处理和传输的问题,而作为LED点阵系统的控制中心和数据处理中心不管是FPGA还是单片机芯片,引脚数量都是有限的,那么在有限的引脚数量这一前提下,对于数据传输方式的设计就显得尤为重要。这也是本课题要解决的问题之一。2. 课题达到的目标:本设计完成32*64LED点阵动态显示文字或数字,可以自动向左右或上下流动,实现广告屏的基本文字流动,显示等功能。基于本次的硬件设施,将32*64的显示屏分为上下两排,可以在屏上的第一排实现数字的向上移动,第二排实现文字的向右移动。3. 课题的应用领域:LED点阵设计主要应用于LED点阵

3、显示屏,他是利用发光二极管点阵模块组成的平面式显示屏幕。而LED点阵显示屏的应用领域遍布城市的各个角落各大商场,车站,店铺及各类办事窗口,都会装有LED点阵显示屏来作为广告牌发布一些通知或广告。像车站的售票信息显示,公交车辆报站显示,证券与银行信息显示,交通信号灯的显示等等。总之,我们的生活中已经离不开这样的LED点阵显示屏幕,所以,LED点阵系统的每一次创新和进步都会为社会节省大量的资源,所以它的发展和应用前景是极为广阔的。二 课题需求分析1.输入信号类型及特征;2. 输出信号类型及特征; 3.非功能指标总分:10得分:1. 输入信号类型及特征:因为我们实现的功能是在32*64的LED点阵屏

4、上显示流动的文字,所以我们在软件中的输入信号就是对应的文字信息。具体的输入信号得到的过程是:在PCtoLCD字模提取软件中输入我们想要显示的文字,例如输入我的姓名:孙启云,如下:得到文字对应的点阵信息为:孙(0) 启(1) 云(2)0x00,0x20,0x7E,0x20,0x02,0x20,0x04,0x20,0x08,0x20,0x08,0xA8,0x0A,0xA4,0x0C,0xA4,0x39,0x22,0xC9,0x22,0x0A,0x22,0x08,0x20,0x08,0x20,0x08,0x20,0x28,0xA0,0x10,0x40,/*"孙",0*/0x01,

5、0x00,0x00,0x80,0x1F,0xFC,0x10,0x04,0x10,0x04,0x10,0x04,0x1F,0xFC,0x10,0x00,0x10,0x00,0x10,0x00,0x17,0xFC,0x24,0x04,0x24,0x04,0x44,0x04,0x87,0xFC,0x04,0x04,/*"启",1*/0x00,0x00,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x02,0x00,0x04,0x00,0x04,0x00,0x08,0x40,0x10,0x20,0x20,0

6、x10,0x7F,0xF8,0x20,0x08,0x00,0x08,/*"云",2*/所以输入信号的特征就是:将每个字的前4组数字合成一组数字,加上一组空格数字0x00,0x00,0x00,0x00,共有16个十六进制数,也就是64个二进制数,刚好对应控制*64屏幕的每一行Led灯的灭亮。2. 输出信号类型及特征:输出信号就是LED屏上显示的文字信息,如下图所示:实际上,正在亮的的那些Led等,都是以一个较快的频率在闪烁,由于人眼的视觉残留效应,只要灯闪烁的频率大于24Hz,人眼看到的就是如上稳定的显示。3. 非功能指标:系统的效率性:不管是硬件系统中关于LED点阵屏的拼接

7、,还是软件系统地串行传输数据都最大程度的节省了硬件资源。软件中精确的时钟控制信号保证了系统能够高效精确地显示我们想要显示的内容。 系统的可靠性:从成熟性来看,目前这套用FPGA控制大屏幕点阵显示的系统已经应用地相当成熟,不管是以单片机还是FPGA作为控制中心,都已普及到城市的各个角落。从容错性来看,系统还是有待加强的,由于每一路时序信号都是精确地控制LED的显示,一旦在违反规定的接口情况下,显示系统可能会出现乱码的现象。系统的可维护性:这种上位机控制下位机的整体结构保证了系统能够有效地维护和维修,下位机的乱码必然是上位机的程序控制出现问题,而其他一切关于硬件的问题大部分是处于下位端,包括电源驱

8、动,Led好坏等等问题。一般不会有大问题,所以还是比较容易维护的。系统的适应性:系统的适应性主要体现在下位端对于上位端的适应,只要下位端的驱动问题解决,对于控制中心,可以是FPGA,也可以是单片机还可以是其他的控制系统。而且软件上,Quartus的Verilog语言与单片机的C语言还是很相似的,并且现在FPGA已经发展到可以在一块FPGA上实现多种语言的编程,适应性相当的强。三 课题设计原理及工作过程描述1. 描述主要的设计思路;2. 设计完成后工作过程描述总分:10得分:1.描述主要的设计思路:本设计采取方案如下:(1)首先确定系统实现的功能是在32*64的LED点阵屏上完成文字的流动功能:

9、第一排实现一组数字向上流动,第二排实现文字的向右移动。(2)按照系统功能将系统分为两大模块:系统的控制中心为FPGA,即上位端;下位端也就是由32块8*8的LED点阵组成的32*64分辨率的显示屏:共有4行,每一行由8个8*8的LED点阵屏组成,第1、2行组成第一排显示向上流动的数字;第3、4行组成第二排显示向右流动的文字。(3)软件实现:即根据系统功能与结构编写程序,将想要实现的功能在Quartus软件中用Verilog HDL语言编好程序,并且仿真调试通过。(4)硬件实现:确定好所需的元器件并备齐,然后用JTAG下载线将程序载入FPGA中,再用导线连接相应的FPGA的输出信号引脚和对应的L

10、ED点阵屏芯片的输入引脚,实现上位端对下位端的控制。最终实现在LED点阵屏幕上实现既定文字和数字的移动。对于如何实现FPGA上位端对LED点阵屏下位端的控制作用,主要的设计原理如下:利用FPGA进行LED点阵显示屏的设计与制作是利用FPGA控制技术,编写程序,通过程序控制LED的显示,显示想要显示的内容与形式。技术线路为通过程序控制Cyclone系列的EP1C6T144C8芯片输出高低电平,高低电平分别控制LED的亮和灭,最终达到所要显示的内容。而LED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。以32×64点阵为例,

11、把所有同一行的发光管的阴极连在一起,把所有同一列的发光管的阳极连在一起(共阴的接法),先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭;再送出第2行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上的汉字的每一笔都是同时出现的。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。2.设计完成后工作过程描述:第一步弄清软件和硬件的原理结构 :Quartus 软件是Altera公司CPLD/FPGA集成开发软件,

12、其设计开发流程如下:设计输入(编程)编译仿真与定时分析在线调试修改设计设计输入:本课题会主要应用到原理图输入和HDL文本输入,最主要的是HDL文本输入(Verilog HDL File),即程序的设计,编译通过后转化为原理图模块(Block Symbol File),然后在Block Diagram/Schematic File文件中就可以调用以上的原理图模块。编译:根据设计要求设定编译方式和编译策略,最重要的是器件的选择,这里根据我们选择的硬件Device相应地应选择Cyclone系列的EP1C6T144C8.仿真与定时分析:在整个模块图都设计完成,输入输出引脚也相应地分配好之后,就是仿真,

13、包括功能仿真,时序仿真和定时仿真,用以验证设计项目的逻辑功能和时序关系是否正确。若编译错误,则要检测出相应的错误并修改。在线测试:用得到的编程文件通过编程电缆配置PLD,加入实际激励,进行在线测试。但是在这次的课题设计中,由于自己具有FPGA,JTAG下载线,PC机等部分硬件资源,加上实验室的老师提供的LED点阵屏,电源等资源,我在仿真分析之后,可以直接在点阵屏实物上测试,并且达到了预期效果。真实效果可以见上面显示我名字的那张图。四 课题硬件设计方法1. 硬件设计原理框图,要标注出主要链接信号线;2. 计算使用多大容量的ROM,RAM FLASH存储;3. 主要接口与传感器说明、指标、电路解释

14、总分:20得分:1.硬件设计原理图,要标出主要连接信号线: I/O I/O I/OI/OI/OFPGA I/OCyclone EP1C6T144C8 I/OI/OI/OI/OI/OGNDPIN-120PIN-119PIN-114PIN-113PIN-112PIN-111PIN-110PIN-109PIN-107PIN-106PIN-105PIN-101 HUB08 其中,FPGA的芯片EP1C6T144C8和LED单元板HUB08的相关引脚定义分别如下图两个表格中所示:引脚信号功能引脚信号功能120count0行电源控制信号110GD1绿色数据信号119count1行电源控制信号109GD2绿

15、色数据信号114count2行电源控制信号107SCK时钟信号113count3行电源控制信号106OE使能信号112RD1红色数据信号105LAT数据锁存信号111RD2红色数据信号101GND电源地引脚信号功能引脚信号功能1GND电源地2A行电源控制信号3GND电源地4B行电源控制信号5GND电源地6C行电源控制信号7OE使能信号8D行电源控制信号9RD1红色数据信号10GD1绿色数据信号11RD2红色数据信号12GD2绿色数据信号13GND电源地14LAT数据锁存信号15GND电源地16CLK时钟信号2. 计算使用多大容量的ROM,RAM FLASH存储:下面就Quartus II软件如

16、何在综合或布局布线后查看FPGA的片上存储资源的使用情况作一个说明:在一个工程完全编译后,Quartus II会弹出一个全新的Compilation Report,首先是Flow Summary页面。当然设计者也可以直接找到菜单栏点击Processing 的 Compilation Report选项查看。如下:我们再来看看详细的存储资源都用在哪里了。点开编译报告的 Fitter的Resource Section 的 Resource Usage Summary,如下所示:如报表中所示:M4Ks(Cyclone器件的内嵌存储块)为0,Total memory bits为0,Total

17、RAM block bits也为0,Total logic elements为241,Total registers为63. FPGA内嵌的块RAM一般可以灵活配置为单端口RAM、双端口RAM、伪双端口RAM、CAM、FIFO等常用存储结构。FPGA中其实没有专用的ROM硬件资源,实现ROM的思路是对RAM赋予初值,并保持该初值。 而通过以上报表所示,以FPGA作为控制中心,控制LED的点阵屏显示流动文字的设计并没有用到任何的ROM和RAM Flash存储资源,那么FPGA是如何实现逻辑功能的呢?原来,FPGA内部有很多可编程逻辑单元,基本可编辑逻辑单元是可编程逻辑的主题,可以根据设计灵活地改

18、变其内部连接与配置,完成不同的逻辑功能。fpga一般基于SRAM工艺的,其基本可编辑逻辑单元几乎都是由查找表(LUT,Look Up Table)和寄存器(Reigister)组成的。FPGA一般依赖寄存器完成同步时序逻辑设计,一般来说,比较经典的基本可编辑单元的配置是一个寄存器加一个查找表,而Altera 可编程逻辑单元通常被称为LE(Logic Element,逻辑单元),由一个Register加一个LUT构成。所以我们看到,在存储资源使用报表中我们看到的是:使用的Total logic elements为241,Total registers为63,而Total memory bits为

19、0。3.主要接口与传感器说明,指标,电路解释:主要接口说明:FPGA的IO口引脚PIN_120,PIN_119,PIN_114, PIN_113与LED单元板HUB08的引脚A、B、C、D之间传递的是行电源控制信号,即要显示的文字的数字信号:从PCtoLCD2002软件中提取所要显示文字的字模二进制数据。A、B、C、D引脚所输入的信号正是来自FPGA芯片的count0,count1,count2,count3信号,他们是选通显示行数的行电源显示信号。FPGA输出的SCK信号即输入到Led单元板芯片CLK引脚的时钟信号,是用来将64位的二进制文字串行数据sdata读入到LED单元板HUB08时用

20、到的时钟触发信号。这些数据对应相应的LED是亮还是灭,“1”代表会点亮,“0”则不会亮。LAT信号锁存信号,在送出对应第1列发光管亮灭的数据后需要锁存,然后选通第1列使其燃亮一定的时间,然后熄灭;而LAT信号就是刚好在SCK信号的64个脉冲 结束后实现锁存。OE信号,使能信号,在SCK第一个脉冲时开始使能,这样才能将串行数据输入到Led单元板的芯片中。R1,G1,R2,G2信号,就是对应的绿灯一排亮灭信号,红灯一排亮灭信号,绿灯二排亮灭信号,红灯二排亮灭信号,即从FPGA的sdata1和sdata2信号中得到。若R1和G1都接sdata1则显示黄色字暗背景;若R1接高电平,G1接sdata1,

21、则显示黄色字,红背景,以此类推。电路解释:首先解释一下8*8的Led点阵屏拼接成32*64的Led点阵屏的拼接电路:正如上图所示,把所有同一行的发光管的阴极连在一起,把所有同一列的发光管的阳极连在一起(共阴的接法),这样用8*8的字模软件提取文字信息的时候,就可以将四个文字的第一行合起来作为一行,就有64位,作为一组数据输入到FPGA内存中,然后再串行地输送至Led点阵屏的缓存中。该方法能驱动较多的LED,控制方式较灵活,而且节省FPGA的资源。至于FPGA和LED点阵屏的电路连接正如上面硬件设计原理图中的主要信号链接线一样,16信号正好对应16根传输导线,导线的一段是散开的:其中4路行电源控

22、制信号线,4路红绿灯数据信号线和3路时序控制信号线分别对应连接FPGA的11个IO引脚,另外5路信号线连接GND电源地;另一端是16 PIN Female,与HUB08相连接。五 课题软件设计1. 总体软件框图;2.输入模块框图; 3. 处理模块框图;4. 输出模块框图;5.与操作系统的接口框图说明;6.状态图解释总分:20得分:1.总体软件框图:这是在Quantus II中编译通过并且能够实现相应功能的Block Symbol File文件。下面将这个模块实现的功能细分为几个框图讲解。 clk16 分频器 tcCount30:0gun13:0count13:0gun5:0count25:0C

23、ount21:18Count12:9Count23:18Count5:0clk_enCount8:0Count5:0Fpga硬件提供文字对应的二进制信息序列 116行num63:0Sdata1时序控制信号时序控制信号取反数字对应的二进制信息序列 116行num163:0时序控制信号Sdata2时序控制信号取反sck输出取反LAT输出OE输出A=count0;B=count1;C=count2;D=count3;输出输入输入R2G2输出输出R1VCC输出输出2.输入模块框图:输入的信号就是所要在LED屏幕上显示的流动的数字和文字,但是要用PC to LCD字模软件转换。于是输入框图如下:输入要显

24、示的文字PC to LCD字模提取文字对应的二进制信息序列 116行输入3.处理模块框图: clk16 分频器 tcCount30:0gun13:0count13:0gun5:0count25:0Count21:18Count12:9Count23:18Count5:0clk_enCount8:0Count5:0Fpga硬件提供文字对应的二进制信息序列 116行num63:0Sdata1时序控制信号时序控制信号数字对应的二进制信息序列 116行num163:0时序控制信号Sdata2时序控制信号sck取反LATOE4.输出模块框图:输出的信号共有这样11路信号:4路行电源控制信号,分别为A=c

25、ount0,B=count1,C=count2,D=count3;4路数据信号,分别为控制LED点阵屏第一排绿灯的G1,第一排红灯的R1,第二排绿灯G2,第二排红灯R2;3路时序控制信号,分别为时钟信号SCK,锁存信号LAT,使能信号OE。所以输出模块框图为:Sdata1输出R1count13:0输出Sdata2R2G2输出 处 理 模块A=count0;B=count1;C=count2;D=count3;ABCD输出输出输出输出SCKLATOE输出输出输出FPGA 本身提供的电源VCC输出G15.与操作系统的接口框图说明: PC机Windows 操作系统FPGAUSB BlasterUSB

26、电缆10 PINFemaleUSB Blaster全面兼容Altera的USB Blaster下载电缆,通过计算机的USB接口可对Altera的FPGA/CPLD以及配置芯片进行编程,调试等操作。对于PC机的软件要求为装有Windows 2000/XP版本,装有Quartus II4.0以上版本。硬件连接程序如下:1. 关掉目标板电源。2. 将USB电缆的一端接到PC上的USB接口,另一端接到USB Blaster。3. 将USB Blaster的10PIN Female(母头)接头按照方向指示连接到目标板(FPGA)上的下载接口。4. 打开目标板电源,若第一次连接会有安装驱动的部分,这里不详

27、讲了。6.状态图解clk_enSCKLATOEcount10count11count12count1364个脉冲波64个脉冲波64个脉冲波在本课题的设计中,对于时钟信号的产生和连接无意为重中之重,上面的时序状态图能够更加直观地解释如何实现控制文字流动的各路时序信号:首先FPGA上电之后,其内部晶振会提供16.384M的方波输出,然后作为软件中的输入时钟信号,先经16分频器之后输出1M的方波信号c(假设其半个周期为T),周期然后以信号c的边沿为触发信号,使count30:0逐次加1,这样从count30:0中选取其中连续的几位就可以得到周期不同的但又严格遵守一定时序关系的各路控制信号: clk_

28、en信号是以count8:0个T为周期和以count5:0个T为脉冲宽度的方波信号;时钟输出信号SCK是在clk_en信号为1时保留c的方波信号,是用来将64位的二进制文字串行数据sdata读入到LED单元板HUB08时用到的时钟触发信号;OE是使能信号,只有在OE信号为1时才能进行数据的串行转换;LAT是锁存信号,用于数据的锁存。而count10信号是以clk_en信号的上升沿为触发信号,即也是以count18:0个T为周期的方波信号,而count11是以两倍count0信号周期的方波信号,同理,count12和 count13也是方波信号,周期逐乘2.而count13:0整个信号就是用来控制16行信号逐渐点亮,不断重复,由于人眼的视觉残留效应,只要各行闪烁的频率大于24Hz,就不会让人感觉到有闪烁的感觉,这是LED点阵屏显示文字的基本原理。六 课题的论证1.计算或分析实时处理时间;2.实现的功能论证说明总分:7得分:1. 计算或分析实时处理时间:Quartus软件编译时间如下图所示:整个编译过程一般都在1分钟以内。而具体的软件实时处理时间可以在Compilation Report中点击Timing

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论