至此,例图如下:
9. 设置适当的断点;
10. 查看变量内容和变量的值;
11. 改变外部硬件变量值,再次编译调试程序; 12. 验证程序功能;
13. 终止进程,保存文件;
3
Task 2:驱动1602液晶显示
(一).1602驱动原理
LCD1602控制芯片HD44780内部嵌入了字符液晶模块YM1602C,通过LCD的引脚,以高低电平组合构成HD44780指令,实现对LCD字符液晶显示的控制。LCD1602有一个业界认可的标准字符集,通过相关的指令组合,按照我们的需求,可以显示字符集中包含的字符。除了片内自带的系统字符,LCD1602还可以通过用户的软件编程,实现自定义字符的显示,如显示汉字。 (二).基本流程
13. 打开quartus软件;
14. 新建工程,选择开发板类型;
15. 输入程序源代码(硬件描述语言选择自己熟悉的语言);
至此,例程如图(仅给出修改成我的名字的代码部分:ZENG LAN WEI GUANG GONG):
16. 编译程序;
17. 开发板连接到电脑; 18. 下载程序; 19. 验证功能;
4
Task 3:DE2VGA
(一).VGA显示原理
VGA显示到屏幕上主要依靠显示缓冲区、控制电路和BIOS程序组成。其中控制电路主要完成时序发生、显示缓冲区数据操作、主时钟选择和D/A转换等功能;显示缓冲区提供显示数据缓存空间;视频BIOS作为控制程序固化在显示卡的ROM中。 (二).基本设计方法
20. 打开编译环境,例如quartus ii;
21. 建立工程,选择目标器件、语言种类; 22. 输入工程源代码; 23. 编译工程;
至此,可以看一下电路原理图,例图如下:
24. 开发板连接到电脑; 25. 下载程序; 26. 验证功能;
至此,验证的功能图如下:
5
Task 4:基于DE2 的uClinux 移植及应用开发
(一).Nios II 硬件定制 27. 添加 SOPC 组件
① 在 Quartus II 新建工程“NiosLinux”; ② 选择目标器件EP2C35F672C6; ③ 启动SOPC Builder; ④ 添加cpu_0 (Nios II); ⑤ 添加uart_0 串口组件;
⑥ 添加epcs_controller EPCS16 控制器; ⑦ 添加timer_0 定时器; ⑧ 添加Flash 存储器; ⑨ 添加sdram_0 存储器; ⑩ 添加jtag_uart_0调试组件; ? 添加led_green 绿LED 灯; ? 添加button_pio 4 位输入PIO; ? 添加DM9000 以太网控制器; 至此,完成的Nios II硬件平台例图如下;
28. 自动设置基地址:System->Auto Assign Base Addresses; 29. 自动设置中断优先级:击System->Auto Assign IRQs; 30. 生成系统;
31. 生成PTF系统文;
32. 添加复位延时控制:Reset_Delay.v; 33. 补充锁相环PLL:SDRAM_PLL.v;
34. 保存.sof 配置文件和生成.v 软核verilog HDL 文件; 35. 全编译:Processing -> Start Compilation; 36. 把代码下载到DE2开发板上
6

