1、正弦信号发生器实验正弦信号发生器实验(3学时)学时)1可编辑版1、实验目的:、实验目的:熟悉熟悉VHDL语言、熟练使用语言、熟练使用QuartusII软件软件熟悉正弦信号采样过程、采样点的选取熟悉正弦信号采样过程、采样点的选取熟悉熟悉CASE语句的使用语句的使用2可编辑版微机微机1台、示波器台、示波器1台、台、FPGA实验箱实验箱1套。套。2、实验设备、实验设备 3、实验内容、实验内容采用采用FPGA器件来设计产生正弦信号,要求正弦信号频率为器件来设计产生正弦信号,要求正弦信号频率为1KHz。具体过程如下:具体过程如下:1、先将一个正弦波等间隔采样、先将一个正弦波等间隔采样8个点。个点。3可编
2、辑版2、对采样点进行量化、编码、对采样点进行量化、编码 D/A转换芯片的工作电压是转换芯片的工作电压是+5V量化成量化成127,采用,采用8位数字位数字来表示来表示,其中第八位表示符号位:,其中第八位表示符号位:“1”表示正,表示正,“0”表示负表示负;后面的;后面的七位表示电平的大小七位表示电平的大小:(:(11111111)B=(+127)D。把正正弦信号抽样成八个采样点:把正正弦信号抽样成八个采样点:0、/4、/2、3/4、5/4、3/2、7/4它们的采样值分别为:它们的采样值分别为:0、0.707、1、0.707、0、-0.707、-1、-0.707把它们扩大三倍后是:把它们扩大三倍后
3、是:0、2.121、3、2.121、0、-2.121、-3、-2.121把它们量化后是:把它们量化后是:0、54、76、54、0、-54、-76、-54 编码后是:编码后是:请同学们写出其请同学们写出其8bit二进制编码(二进制编码(注意:注意:“1”表示正,表示正,“0”表示负,负数用补码表示(正数取反表示负,负数用补码表示(正数取反+1)4可编辑版3、通过、通过VHDL语言编程实现数字载波的产生语言编程实现数字载波的产生使用一个计数器,计数范围为使用一个计数器,计数范围为07,每个值对应一个正弦波的,每个值对应一个正弦波的采样值。采样值。建议用建议用CASE语句语句来写程序。来写程序。4、
4、将数字采样值送入、将数字采样值送入D/A转换芯片的对应管脚转换芯片的对应管脚程序编译成功后,管脚分配时注意设置参照下表程序编译成功后,管脚分配时注意设置参照下表:DA0DA1DA2DA3DA4DA5DA6DA76867656463626059表表1 DA管脚分配表管脚分配表5可编辑版5、顶层电路图、顶层电路图D/A数字模拟转换模块采用的是数字模拟转换模块采用的是DAC0832芯片,该芯片为双列直芯片,该芯片为双列直插插20脚封装,最高转换速率为脚封装,最高转换速率为1MHz。在实验板中,。在实验板中,D/A模块输模块输入直接与入直接与FPGA相连。相连。6、观察实验结果:、观察实验结果:用示波
5、器观察用示波器观察OUTPUT的输出波形,看看的输出波形,看看频率是否达到设计要求。频率是否达到设计要求。由于采样的点只有由于采样的点只有8 8个所以输出的波形呈阶梯状与正弦波相比有个所以输出的波形呈阶梯状与正弦波相比有一定差距。一定差距。考虑一下:此分频器的分频倍数应该考虑一下:此分频器的分频倍数应该是多少?才能使得最终得到的正弦波是多少?才能使得最终得到的正弦波的频率是的频率是1KHz系统时钟:系统时钟:32.768MHz6可编辑版4、实验注意事项、实验注意事项1、严禁带电插拔下载线;、严禁带电插拔下载线;2、不要用手触摸、不要用手触摸FPGA器件,避免静电击穿器件;器件,避免静电击穿器件;3、不要触碰散热片,小心烫伤。、不要触碰散热片,小心烫伤。5、实验报告要求:、实验报告要求:写出实验目的、实验内容、实验程序、顶层电路图、写出实验目的、实验内容、实验程序、顶层电路图、示波器测试波形(频率和峰峰值)。示波器测试波形(频率和峰峰值)。7可编辑版