信号发生器又称为波形发生器是一种常用的信号源并且广泛应用于电子电路、通信、控制和教学实验等领域的重要仪器之一。为了降低传统函数信号发生器成本,改善信号发生器低频稳定性。笔者结合FPGA和51单片机产生0.596 Hz频率精度函数信号。笔者设计通过51单片机控制函数信号类型以及相关参数,用户可通过按键设置需要的波形、波形幅度、波形频率以及方波的占空比、相位。本文设计方案不仅具有良好的经济前景,也可以为当代高等教育深化改革做一个参考方向。
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.1 EP2C8Q20818N简介
EP2C8Q20818N是ALTERA公司推出一款嵌入式FPGA(现场可编程门阵列)芯片。具有182管脚。下面列出它的特性表,如图1所示。
1.1.2 C8051F0201简介
C8051F0201(以下简称51单片机)器件是完全集成的混合信号系统级MCU芯片,具有32个数字I/O引脚。此款51单片机具有高速、流水线结构的8051兼容的CIP-51内核(可达25 MIPS)。全速、非侵入式的在系统调试接口(片内)。12位、100 ksps的8通道ADC,带PGA和模拟多路开关。8位500 ksps的ADC,带PGA和8通道模拟多路开关两个12位DAC,具有可编程数据更新方式。64 K字节可在系统编程的FLASH存储器。4 352(4 096+256)字节的片内RAM,可寻址64 k字节地址空间的外部数据存储器接口。硬件实现的SPI、Sm Bus/I2C和两个UART串行接口,5个通用的16位定时器。具有5个捕捉/比较模块的可编程计数器/定时器阵。列片内看门狗定时器、VDD监视器和温度传感器,每个MCU都可在工业温度范围(-45~+85℃)内用2.7~3.6 V的电压工作。端口I/O、/RST和JTAG引脚都容许5 V的输入信号电压。
1.2 C8051单片机软件设计
C8051单片机软件主要包括按键处理函数、信号发生器控制函数、初始化函数、LCD显示函数、D/A函数以及主函数。软件设计的主程序流程框图如图3所示,子函数详细功能如表1所示。
1.3 FPGA(EP2C8Q20818N)软件设计
本文中主要采用Verilog HDL语言设计。主要包括片选模块、时钟驱动模块、键盘扫描模块、传出信号模块、LCD模块、DAC0800模块以及指示灯模块。详细功能如表2所示。
1.4 FPGA核心程序代码,DAC0800模块程序
2 测试结果
3 结束语
本文中运用FPGA和51单片机结合起来制作一个信号发生器。这样不仅能够锻炼学生单片机和FPGA的使用更能让学生学习到如何将FPGA和单片机联合通信使用。本文设计中可以对函数信精度进行升级,从而满足不同场合的函数信号需求。本文中提倡一种将单片机和FPGA结合到一起的学习方式,可以为现代教育改革提供一个参考方向。
关键字:FPGA 51单片机 信号发生器
引用地址:
基于FPGA和51单片机的信号发生器设计
推荐阅读最新更新时间:2024-11-03 02:28
51单片机中断的开放和关闭控制
由 中断 允许寄存器IE实现两级控制(SFR地址: 0A8H) EA X X ES ET1 EX1 内容来自单片机之家www.dpj100.com ET0 EX0 EA:总允许位(一级控制) EA=0时:禁止一切中断;EA=1时:中断开放。 ES:串行口中断允许位(二级控制) ES=1:允许RI、TI引发中断,否则禁止串口中断。 ET1、ET0:定时器T1、T0允许位(二级控制) ET=1 允许TF0、TF1引发中断,否则禁止相应的定时器中断。 EX1、EX0:外中断/ int1、/int0允许位(二级控制) EX =1
[单片机]
Xilinx推出业界首款高性能DDR4内存解决方案
赛灵思交付业界首款数据速率高达每秒2400 Mb的All Programmable UltraScale器件内存解决方案。 2014年3月11日,北京 — All Programmable技术和器件的全球领先企业赛灵思公司 (NASDAQ: XLNX)今天宣布推出业界首款面向All Programmable UltraScale™器件的高性能DDR4内存解决方案,每秒数据速率高达2400 Mb。UltraScale器件采用ASIC级架构,可支持大量I/O和超大存储带宽,并能够大幅降低功耗和时延。赛灵思稳定可靠的内存解决方案可加速设计进程,并增加了对DDR4接口的支持。 UltraScale器件中的新增DDR4内存接
[半导体设计/制造]
抢占高端FPGA市场,TI多核DSP可用于成像医疗
农历年前夕,德州仪器(TI)多核及媒体基础构架DSP业务部全球业务经理Ramesh Kumar先生来到北京与记者分享了TI多核DSP的优势和市场战略。在此之前,德州仪器无线基站基础业务总经理Kathy Brown女士以及德州仪器半导体技术(上海)有限公司半导体事业部业务拓展经理丁刚先生分别于2010年6月及11月在TI举办的媒体发布会上介绍了该多核DSP。 抢占高端FPGA市场 此次Ramesh Kumar先生给记者带来了一个霸气十足,能让FPGA厂商倍感威胁的信息,此次重磅推出的多核TMS320C66x DSP已经不把DSP当做竞争对手了,而将直接抢占高端FPGA市场。 图1 Ramesh Kumar先生
[医疗电子]
基于AT89C2051单片机的晶闸管触发电路的设计与实现
自晶闸管被用作开关元件以来,其触发电路经过了晶闸管分离元件阶段和集成电路阶段后进入了单片机嵌入阶段。使用以单片机为核心的触发电路虽然避免了前两个阶段元件多、故障率高和低智能化的缺点,但可靠性、迅速性和抗干扰性还存在诸多不足。 本设计详细介绍了一种基于AT89C2051单片机的晶闸管触发电路,具有高集成度、智能化、体积小、安全、迅速、可靠稳定等优点,今后必将被广泛应用。文中以晶闸管投切电容器为例来详细说明触发电路的工作原理。 1 触发电路的硬件设计 硬件电路以ATMEL公司的AT89C2051单片机为核心,包括晶闸管过零检测电路、控制器投切命令电路、脉冲隔离放大电路等几部分组成,硬件框图如图1所示。 1.1 AT89C205
[单片机]
一种新型数字温度测量电路的设计及实现
用传统的水银或酒精温度计来测量温度,不仅测量时间长、读数不方便、而且功能单一,已经不能满足人们在数字化时代的要求。本文提出了一种新型的数字式温度测量电路的设计方案,该方案集成了温度测量电路和实时日历时钟电路。 温度测量电路的测温范围在-20℃~50℃之间,分辨率为1℃,测温时间小于1秒。电路中采用凌特公司的电阻可编程振荡器LT1799来实现电阻值到频率的转换,然后根据预先存储在ROM中的参数值进行比较映射得到待测温度值。实时日历时钟电路能显示年、月、日、星期、时、分、秒七种时钟信号,用户可以对时间进行设定或修改。整个电路用Altera 公司的ACEX1K系列的FPGA进行了硬件仿真实现,电路设计灵活,便于修改。
[模拟电子]
Altera和Eutecus发布世界上第一款在FPGA上实现的1080p/30fps视频分析解决方案
延续其在高清晰(HD) 视频监控解决方案上的领先优势,Altera公司 (NASDAQ: ALTR) 发布世界上第一款基于FPGA的全HD 1080p/(每秒30帧) 30fps视频分析解决方案,它采用Cyclone® IV FPGA。Altera的单芯片解决方案进一步提高视频分析的性能,同时实现极大的吞吐量(每秒60-Mpixel),以及传统基于数字信号处理(DSP)方法无法实现的像素精度细节。解决方案包括Eutecus的多核视频分析引擎(MVE™)知识产权(IP),它在FPGA中完成分析功能。由于这一解决方案很容易集成到HD互联网协议摄像机中,因此,它非常适合包括流量监控在内的各种应用,监视事故探测、车辆计数、道路偏离探测、
[嵌入式]
AT89C51单片机在无线数据传输中的应用
一般的数字采集系统,是 通过 传感 器将捕捉的现场 信号 转换为电信号,经模/数转换器ADC采样、量化、编码后,为成数字信号,存入数据 存储器 ,或送给微处理器,或通过无线方式将数据发送给接收端进行处理。无线数据传输系统就是 样一套利用无线手段,将采集的数据由测量站发送到主控站的设备。 1 系统组成 系统组成如图1、图2所示。 系统由测量站和主控站两部分组成。测量站主要完成对现场信号的采集、存储,接收遥控 指令并 发送数据。主控站的主要工作是发送遥控指令、接收数据信息、进行数据处理和数据管理、随机显示打印等。 2 AT89C51与数字电台的串行通信 Atmel公司的AT89C51单片机,是一种低功耗、高 性能 的、片
[应用]
51单片机串口应用实例(汇编)
一、 实验题目 猜数字小游戏:串行口发送0x01、0x02、0x03 HEX数据中的一个到51单片机,对应的按键key1-key3,发送数据之后,另一边人员猜测对应的HEX码,并按下对应的按键,若按下正确的按键,则LED灯闪烁,按下不正确的按键,则蜂鸣器响一下报错,程序可以一直执行到猜中停止,此时按下key4清空复位运行数据,等待下一个串口发送的数据进行下一次猜数字。 二、 设计方案及电路 设计方案: 串口通过定时器1产生9600波特率,接收中断里面处理接收数据,主循环里面对接收数据进行判断,根据不同的HEX码转换到不同的按键判断任务,通过扫描的方式读取KEY1-3,判断读取的值,如果与HEX码对应的按键不同,则跳转到蜂鸣器报警
[单片机]