1系统设计方案
1.1系统硬件设计
本文中设计中硬件包括EP2C8Q20818N芯片和C8051F0201单片机、DAC0800芯片,T6963的LCD。本文中主要利用FPGA(EP2C8Q20818N)桥接控制LCD、4×4键盘和DAC0800(C8051单片机和DAC0800有一条基准电压信号),系统硬件设计框图如图2所示。本文中函数信号主要由FPGA(EP2C8Q20818N)产生;C8051单片机用作分析处理用户信息、给DAC0800提供基准电压以及控制FPGA(EP2C8Q20818N)产生需要用户的函数信号。
1.1.1EP2C8Q20818N简介
EP2C8Q20818N是ALTERA公司推出一款嵌入式FPGA(现场可编程门阵列)芯片。具有182管脚。下面列出它的特性表,如图1所示。
1.1.2C8051F0201简介
C8051F0201(以下简称51单片机)器件是完全集成的混合信号系统级MCU芯片,具有32个数字I/O引脚。此款51单片机具有高速、流水线结构的8051兼容的CIP-51内核(可达25MIPS)。全速、非侵入式的在系统调试接口(片内)。12位、100ksps的8通道ADC,带PGA和模拟多路开关。8位500ksps的ADC,带PGA和8通道模拟多路开关两个12位DAC,具有可编程数据更新方式。64K字节可在系统编程的FLASH存储器。4352(4096+256)字节的片内RAM,可寻址64k字节地址空间的外部数据存储器接口。硬件实现的SPI、SmBus/I2C和两个UART串行接口,5个通用的16位定时器。具有5个捕捉/比较模块的可编程计数器/定时器阵。列片内看门狗定时器、VDD监视器和温度传感器,每个MCU都可在工业温度范围(-45~+85℃)内用2.7~3.6V的电压工作。端口I/O、/RST和JTAG引脚都容许5V的输入信号电压。
1.2C8051单片机软件设计
C8051单片机软件主要包括按键处理函数、信号发生器控制函数、初始化函数、LCD显示函数、D/A函数以及主函数。软件设计的主程序流程框图如图3所示,子函数详细功能如表1所示。
1.3FPGA(EP2C8Q20818N)软件设计
本文中主要采用VerilogHDL语言设计。主要包括片选模块、时钟驱动模块、键盘扫描模块、传出信号模块、LCD模块、DAC0800模块以及指示灯模块。详细功能如表2所示。
1.4FPGA核心程序代码,DAC0800模块程序
2测试结果
3结束语
本文中运用FPGA和51单片机结合起来制作一个信号发生器。这样不仅能够锻炼学生单片机和FPGA的使用更能让学生学习到如何将FPGA和单片机联合通信使用。本文设计中可以对函数信精度进行升级,从而满足不同场合的函数信号需求。本文中提倡一种将单片机和FPGA结合到一起的学习方式,可以为现代教育改革提供一个参考方向。