ImageVerifierCode 换一换
格式:DOCX , 页数:43 ,大小:694.76KB ,
资源ID:12263501      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12263501.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(LED点阵书写显示屏913II.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

LED点阵书写显示屏913II.docx

1、LED点阵书写显示屏913IILED点阵书写显示屏 摘 要本设计运用了基于 Nios II 嵌入式处理器的 SOPC 技术。系统以 ALTERA 公司的 Cyclone II 系列 FPGA 为数字平台,将微处理器、Avalon 总线、LED 点阵扫描控制器、存储器和人机接口控制器等硬件设备集中在一片 FPGA 上,利用片内硬件来实现 LED 点阵的带地址扫描,降低系统总功耗和简化 CPU 编程的同时,提高了系统的精确度、稳定性和抗干扰性能。 关键词:SOPC FPGA 带地址扫描 Abstract This design using the Nios II based on embedded

2、 processor SOPC technology.ALTERA system to the company for the Cyclone II FPGA digital platform、 series、Will microprocessor、 Avalon bus of LED dot matrix scanning controller、memory and human-computer interface controller hardware device focused on such a FPGA,Using the piece of hardware to achieve

3、inside of LED dot matrix with address scanning, reduce the total power of the programming and simplify the CPU, improve the precision and stability of the system and the anti-jamming performance. Keyword: SOPC FPGA Address scanning目 录1 引言.32 系统方案.3 2.1主控器选择方案论证.3 2.2点阵驱动方案论证.33 理论分析与计算.4 3.1 光笔选取与参数

4、设计.5 3.2 LED点阵屏驱动参数设计. .5 3.3 屏亮自动调节设计.6 3.4 超时关显示节电设计.64 系统电路设计.7 4.1 系统工作原理.7 4.2 系统工作时序.75 系统程序设计.8 5.1 系统流程概述.8 5.2系统总流程图.86 系统测试与结果.97 结论.9参考文献.10附录:.10 附1:电路原理图.10 附2:扫描电路硬件描述.11 附2:软核NIOS II程序.17 附4:完整的测试结果.471 引言 LED点阵显示屏被用到很多领域,随着电子技术的发展,LED点阵书写显示屏的广泛应用是一种趋势。传统的LED点阵显示是由微处理器实现的,但是以FPGA做控制器将

5、成为发展趋势。 FPGA的结构灵活,其逻辑单元、可编程内部连线和IO单元都可以由用户编程,可以实现复杂逻辑功能,满足各种设计需求。其速度快,功耗低,通用性强,特别适用于大型系统的设计。使用FPGA还可以实现动态配置、在线系统重构(可以在系统运行的不同时刻,按需要改变电路的功能,使系统具备多种空间相关或时间相关的任务)及硬件软化、软件硬化等功能。用FPGA做为控制器对本系统进行设计,利用它灵活丰富的I/0资源简化了电路,降低了系统的成本。本作品用FPGA做为控制器,来实现LED点阵书写显示屏的功能。2 系统方案2.1 主控器选择方案论证 方案一:以 ARM 为系统控制器采用 32 位 RISC

6、微处理器 ARM 实现点阵屏的控制和编码功能,基本上能完成题目的要求,但是 ARM 不适合多线程操作,如果应用在系统中会使电路和软件设计变得复杂。 方案二:用 FPGA 作为系统控制器FPGA可以直接用硬件扫描、编码、解码、纠错,速度快、稳定性高、扩展性能好、体积小,可以提供丰富的逻辑单元和I/O 资源。用SOPC工具可以快速生成片上软核处理器,将所有的控制单元集成在一片FPGA芯片内,降低了额外的功耗开支。采用并行的输入/输出方式,可以达到很快的速度。这样合理的分配了FPGA 资源,具有很强的实时性和准确性。可以实现各种灵活控制。综合考虑,最后采用方案二。2.2点阵驱动方案论证 方案一:串行

7、方式显示这种显示方式由译码器单元74HC138、数据移位寄存器74HC595和列驱动器组成,点阵显示屏可以用少量I/O口接收控制器传输下来的大量数据,此方案为点阵显示屏系统中比较常用的,所用器件也比较常用,容易买到。但是它存在一个致命的缺点,就是刷新速度不够快,高速度的地址编码信息无法发送。方案二:并行方式显示可以通过锁存器芯片来增强FPGA的I/O口的驱动能力,将32位宽的数据同时输入到LED点阵列中,达到并行控制LED点阵的目的。方案中运用4片锁存器74HC573来组成双缓冲寄存器,驱动LED点阵行线,用5片3-8译码器74HC138组合成5-32译码器对LED点阵的32列进行选取。这样就

8、避免了各行数据显示不同步的问题。由于并行数据传输速度非常快,所以高速度的地址编码信息可以同步发出。 综上所述,本设计最终选择了第二个方案。3 理论分析与计算3.1光笔选取和参数设计光笔用光电三极管3DU33(3DU33三极管有个普遍识别管腿的方法,发射极位置会有一块突出的头。)做为的感光元件,LM393为比较器。由于点阵的光强相对较弱,通过光电三极管的电流很小,通过串接硅二极管来提升光电三极管发射极电压,方便后级比较器作业。光笔原理图如下图:LM393内部结构图 图1光笔原理图3.2 LED点阵屏驱动设计本电路采用74HC573 做电平转换及行驱动,8550三极管做列驱动,用5片74HC138

9、扩展成5-32译码器对列选信号进行译码,显示亮度和器件参数均可达到系统要求的功能设计。系统原理图如下: 省略4行 图2 LED点阵驱动原理图3.3 屏亮自动调节设计利用片外A/D转换芯片将当前光强转换成数字信号,将传统的PWM调光技术稍加修改,变换成带编码的PWM调光方式,根据显示的内容进行屏亮的自动调节。设计的框图如下:图3 点阵屏亮度自动调节图3.4 超时关显示节电设计基于定时器的数字电路,给定一个时间,当光笔检测到光信号,定时电路自动复位,否则定时电路到给定的时间后数字信号溢出,把溢出信号传送给核心模块,通过功耗管理模块,把系统其余部分模块的时钟切断以达到节电的目的。系统的节电框图如下:

10、 图4 超时待机框图4 系统电路设计4.1 系统工作原理 以NIOS II软核为主控,系统包括 LED 扫描为主的多功能模块、按键管理模块、LCD控制等,通过键盘扫描来确定工作模式以实现点亮、划亮、擦除、区域拖拽等功能,用外围电路的反相功能能实现点阵显示屏的反显,功耗管理模块对各模块时钟的控制可以实现节电的功能。光笔输入反显点阵数据显示缓存RAM按键管理点阵列选驱动芯片片选控制 A/D调光调理NIOS II32位软核微处理器功耗管理模块LCD控制器 图 5 系统工作原理框图4.2系统工作时序D10D6送出Y轴坐标的原码,D5为原码的奇校验,D4D0为原码的反码校检。 经过双层编码校验,有效防止

11、了周边点阵对数据的干扰。降低了CPU数据处理的难度,只有确定有效的数据才会通过中断被CPU读入内部进行处理。X轴坐标值则为当前所选列的地址。系统工作时序图如下:5 系统程序设计5.1系统流程概述 本系统是以软核NIOS II为主控,编程采用模块死循环的方式:按任意模式设置键将会复位CPU ,CPU重新启动后将根据复位标志进入相应的管理模式,从而实现点亮、划亮、擦除、拖移等功能,这种编程模式在降低编程难度的同时增强了系统的可靠性。5.2系统总流程图 图6 系统程序设计流程图6 系统测试与结果6.1 划亮反显擦除拖移的测试和结果 各模块均调通,将调好的模块连在一起,加上5v电压源,启动进行系统初始

12、化。按键进入点亮模式,用光电笔在LED点阵书写显示屏上接触,可以看到接触的点点亮,LCD上显示亮点的精确坐标。用光笔快速的在书写显示屏上划过,发现划过的地方变亮,多次操作都能实现。再次按键,进入反显模式,光笔划过,发现经过的地方没有亮其他的部分高亮,反显测试正常。再次按键进入擦除模式,用光笔在屏幕上划过,显示屏亮的地方变暗了。再按一次键可以看到整屏由亮变暗,实现了擦除这一功能。最后进入多字连写模式和区域拖动模式用光笔在LED点阵显示屏上写四个字,最后在屏上循环显示。最后对写的字用笔圈起来可以用笔移动。实现了对象拖移功能。经过反复的测试,所有的功能都能很好的实现,系统正常。6.2屏亮自动调节测试

13、和结果 外部光环境人为地改变后,测试LED点阵书写显示屏的亮度是否发生变化如果发生变化,则表明能够自动调节,结果屏亮随外部环境的变化而改变,系统正常。6.3 超时关显示节电测试和结果 加5v电压启动系统,对系统初始化。设定待机关显示的时间,在测试点接入万用表,不进行任何操作到设定的时间,看显示屏是否自动关闭。结果书写显示屏自动关闭,电路板测试点上的电流小于5mA。表明测试正常,完成系统要求。7 结论本作品完成了题目的基本要求和发挥部分的全部要求,系统性能良好。通过对作品的各项进行了优化,使系统的性能有了提高。FPGA的运用提高了强大的数据处理能力和较高的运行速度,并且使电路简单。同时也提高了系

14、统的集成度和可靠性。参考文献模拟电子线路基础,吴运昌著,广州:华南理工大学出版社,2004年;数字电子技术基础,阎石著,北京:高等教育出版社,1997年;FPAG系统设计与实践,黄智伟著,北京:电子工业出版社,2004年;EDA技术与应用(第2版),江国强著,北京:电子工业出版社,2007年;电子系统设计,李金平、沈明山、姜余祥著,北京:电子工业出版社,2007年;附录附1:FPGA内部构架图附2 扫描电路硬件描述module saomiao(ram_data,ram_address, saomiao_clk,saomiao_en_n, leds_data32,leds_select, pen

15、_in, pen_zuobiao_x,pen_zuobiao_y,pen_ok ,pen_du_shunjian,liangdu); /reg7:0liangdu; input7:0liangdu; output3:0 pen_du_shunjian; reg3:0 pen_du_shunjian; /line 91input31:0 ram_data;output4:0 ram_address;input saomiao_clk,saomiao_en_n;output31:0leds_data32;output4:0 leds_select;input pen_in;output4:0pen

16、_zuobiao_x;output4:0pen_zuobiao_y;output pen_ok;/兩次數據相同,座標值有效,輸出中斷reg ram_clock;reg31:0 leds_data32;reg4:0 leds_select;reg4:0pen_zuobiao_x;reg4:0pen_zuobiao_y;reg pen_ok;reg4:0 ram_address;reg11:0 all_shixu;/d2047./hang+xiao./6bits/5.10.reg5:0 pen_serial;reg5:0 pen_serial_backup;reg4:0 pen_serial_fa

17、n;always(negedge saomiao_clk)begin if(!saomiao_en_n) begin leds_select=5b11111; all_shixu=9d0; leds_data32=32h00000000; pen_zuobiao_x=5b00001; pen_zuobiao_y=5b00010; pen_du_shunjian=0;/ end else begin all_shixu=all_shixu+1; / /liangdu=hff; if(all_shixu=(12d2000+(liangdu*5-1281)leds_data32=32h0000000

18、0;/liangdu if(all_shixu=12d2000)all_shixu=12d0; /- case(all_shixu) 12d0:leds_data32=32h00000000; 12d1: begin leds_select=leds_select+1; end / 12d2:leds_data32=32hffff0000; 12d52:pen_serial5=pen_in; /big wei 12d53:leds_data32=32hff00ff00; 12d103:pen_serial4=pen_in; /3 12d104:leds_data32=32hf0f0f0f0;

19、12d154:pen_serial3=pen_in; /2 12d155:leds_data32=32hcccccccc; 12d205:pen_serial2=pen_in; /1 12d206:leds_data32=32haaaaaaaa; 12d256:pen_serial1=pen_in; /small wei / 12d257:leds_data32=32h69969669;/ 12d307:pen_serial0=pen_in; /反碼 / 12d308:leds_data32=32h0000ffff; 12d358:pen_serial_fan4=pen_in; /big we

20、i 12d359:leds_data32=32h00ff00ff; 12d409:pen_serial_fan3=pen_in; /3 12d410:leds_data32=32h0f0f0f0f; 12d460:pen_serial_fan2=pen_in; /2 12d461:leds_data32=32h33333333; 12d511:pen_serial_fan1=pen_in; /1 12d512:leds_data32=32h55555555; 12d562:pen_serial_fan0=pen_in; /small wei / 12d563:leds_data32=ram_d

21、ata;/xianshi /* 11d369: begin pen_zuobiao_x=pen_serial5:1; pen_zuobiao_y=leds_select; end */ 12d564:if( (pen_serial0!=(pen_serial5+pen_serial4+pen_serial3+pen_serial2+pen_serial1) &(pen_serial_fan=pen_serial5:1) ) begin if(pen_serial=pen_serial_backup) begin pen_zuobiao_x=pen_serial5:1; pen_zuobiao_

22、y=leds_select; pen_ok=1; end pen_serial_backup=pen_serial;/get new data end /- 12d580:pen_ok=0;/get new data endcase /- endendEndmodule附3 软核NIOS II程序#include sys/alt_stdio.h#include system.h#include altera_avalon_pio_regs.h#include alt_types.h#include lcd12864.hvolatile alt_u8 temp_x_old;volatile al

23、t_u8 temp_y_old;volatile alt_u8 PEN_GET;/mark intvolatile alt_u8 DiJiGeZi;/第幾個字volatile alt_u32 ram_zi_132;volatile alt_u32 ram_zi_232;volatile alt_u32 ram_zi_332;volatile alt_u32 ram_zi_432;alt_u8 disp_dijigezi=-;volatile alt_u8 quyu_state;/區域功能volatile alt_u8 start_x_point;volatile alt_u8 start_y_

24、point;volatile alt_u32 ram_back_up32;volatile alt_u32 ram_shixin_xuanqu32; /*volatile alt_u8 quyu_state;/區域功能 volatile alt_u8 start_x_point; volatile alt_u8 start_y_point; volatile alt_u32 ram_back_up32; volatile alt_u32 ram_shixin_xuanqu32;*/volatile alt_u8 start_point_biaozhi;volatile alt_u8 likai_start_point;/是否离开原点volatile alt_u8 huidao_start_point;/是否回到原点volatile alt_u8 shixing_xuanqu;/是否已经实心选区 /

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

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