设计报告01716QAM的FPGA设计与实现.docx
- 文档编号:29862750
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:12
- 大小:397.34KB
设计报告01716QAM的FPGA设计与实现.docx
《设计报告01716QAM的FPGA设计与实现.docx》由会员分享,可在线阅读,更多相关《设计报告01716QAM的FPGA设计与实现.docx(12页珍藏版)》请在冰豆网上搜索。
设计报告01716QAM的FPGA设计与实现
16QAM的FPGA设计与实现
本实现方案中,由有源晶振产生4MHz时钟,控制序列信号发生器。
序列信号经过串并变换后,使之变成四路同时序的基带信号。
根据表3-1的编码和信号点映射关系,利用数据选择器选通输出,该输出与查找输出相连,因此数据选择器及查表输出已经实现了16QAM的I路和Q路的调制,得到16QAM信号。
再将该信号通过信道传输,传输到星座点解码,通过查表输出四路同时序的基带信号,然后再经过并串变换,基带信号串行输出,完成了16QAM的解调过程。
图1是16QAM调制解调器实现方案。
图116QAM调制解调器实现方案。
16QAM调制解调器主要由以下几部分组成:
时钟、序列发生器、串并变换器、数据选择器、数据选择器与查表地址生成、查表输出、信道、星座点解码、并串变换等,我们采用自顶向下的设计方法[14],其顶层设计图如图2。
其中,CLK为时钟输入,FP4实现4分频,MXL为序列发生器,串并变换,数据选择器和查表输出在TABLE中实现,FFTABLE为星座点解码,BRCC为并串变换器[15],最后一部分为选通开关,进行数据的选通输出,输出的数据经过D/A转换器可以在数字示波器上显示,各部分设计说明如下(所有程序见附录)。
图216QAM调制解调器顶层设计图
一.时钟
时钟是数字电路中必不可少的。
本设计中由4MHz有源晶振产生的时钟传送给序列发生器、串并变换、并串变换器和选通开关,因此基带信号的数据率为4Mbps。
同时1MHz时钟通过图中FP4模块4分频后,为TABLE模块和FFTABLE模块提供1MHz的时钟,具体线路如图3所示。
图4是FP4模块仿真波形,CLK表示系统的输入时钟(即1MHz),CLK_OUT表示输出的时钟信号(为1MHz),COUNTER为计数器,范围为0到3,即通过4个系统时钟产生一个分频脉冲。
图34分频电路
图4FP4模块仿真波形图
二.序列发生器
本设计中,信号源由序列发生器(MXL模块)产生,提供的时钟是4MHz,也就是基带信号的数据率为4Mbps。
考虑到解调后输出的基带信号需要与信号源的信号进行比对,看两者的信号是否一样,即调制解调是否正确,为了方便这一点,所以序列发生器产生的基带信号必须是固定的,不能用随机信号,否则将无法比对,产生的基带信号为“0000000100100011010001010110011110001001101010111100110111101
111”。
图5为MXL模块仿真波形图,CLK为系统时钟,Y1为输出的基带信号,由于整段波形比较长,所以未能全部显示出来,截取了其中的一段,此段表示的基带信号为“000000010010001101000101”。
图5MXL模块仿真波形图
三.串并变换
当电路输入基带信号后,根据l6QAM调制原理,数据被分离成正交的四路:
I1路、Q1路,I2路和Q2路。
系统时钟把数据的奇数位我偶数位分别取出,例如输入的数据为0101,则经过串并变换器后变为0、0、1、1的四路数据,数据率变为原来的1/4,具体线路如图6所示。
图7是串并变换的仿真图。
图6串并变换线路图
图7串并变换仿真图
四.数据选择器和查表输出
根据16OAM调制原理,数据选择器实现输人数据和输出波形的对应关系,其对应关系如表4-1。
因此,数据选择器有4个控制端,通过查表输出为16个相对应的波形之一。
表4-1数据输入与输出波形的对应关系表
数据
输出
数据
输出
1101
0001
1111
0011
1100
0000
1110
0010
0101
1001
0111
1011
0100
1000
0110
1010
通过表3-1和表4-1的比较计算,TABLE模块中直接存入了16QAM的16个信号点的数值。
为了最后方便示波器的显示,每个数值都经过了放大20倍、取成整数和取正(因为最小数为-63,所以每个数加上63,即都取成了正数),然后将每个数值转换成8位的二进制数,为了方便后面的解调操作,最后在每个8位二进制数后加上4位二进制数,用来识别16个信号点波形数值与信号点的对应关系。
例如,输入数据1101的输出值应该为01111110,加上识别码0000,表示1101信号点在16QAM信号星座图上的位置为第一象限第一个,那输出到信道上的数据就成为011111100000,但输出到示波器上显示的数据只取前面的8位二进制数据,不需要后面4位识别码,其它15个也是如此编码,具体数据见表2。
图8是TABLE模块的仿真波形图。
表2数据输入与输出数据的对应关系表
数据
输出
数据
输出
1101
011111100000
0001
000000001000
1111
010*********
0011
001000111001
1100
100101000010
0000
000001101010
1110
011111100011
0010
000000001011
0101
011100100100
1001
000110011100
0111
001111110101
1011
001111111101
0100
001111110110
1000
001111111110
0110
000110010111
1010
011100101111
图8TABLE模块仿真波形图。
五.星座点解码
通过信道传输过来的12位并行数据,经过FFTABLE模块的工作,可以解码出每个星座点所对应的数据。
例如,输入的12位并行数据为011111100000,刚对应的输出4位并行数据1101,工作频率为64K,FFTABLE相当于基本上完成了16QAM的解调过程。
图9是FFTABLE模块仿真图形。
图9FFTABLE模块仿真图形
六.并串变换
当BRCC模块输入四路并行信号后,根据l6QAM解调原理,通过4倍频载波恢复[16],256K的系统时钟把64KHz的并行数据恢复为原始的基带信号,此过程刚好与串并变化相反。
例如输入的数据为1、0、1、1的四路数据,则经过并串变换后变为1101的串行数据,即原始信号。
图10是并串变换的仿真图。
图10并串变换的仿真图形
七.数据选通开关
因为实验室的FPGA开发系统上只有一个D/A转换器,而需要示波器测试的数据有两个,一个是16QAM信号,一个是解调后的串行数据,所以必须使用选通开关来选择哪一个数据进入D/A转换器进行转换。
此次设计使用了FPGA开发系统上的两个拨码开关K1和K2来做选通开关,当K1K2为高电平11时选择16QAM信号进入D/A转换器,当为00、01、10时选择解调后的基带信号进入D/A转换器,这样方便了最后的示波器的测试,数据选通开关的程序包含在顶层文件中。
八.D/A转换器
D/A转换器我选用FPGA开发系统上的8位TLC7528,TLC7528是双路、8位数字-模拟转换器,内部具有各自单独的数据锁存器,其特性包括两DAC非常精密的一致性,数据通过公共8位输入口转送至两DAC数据锁存器的任意一个。
控制输入端DACA/DACB决定哪一个DAC被装载。
器件的装载周期与随机存取存储器的写周期类似,能方便地与大多数通用微处理器总线或端口相接口。
而且基带信号的数据率为4Mbps,16QAM信号的频率为1MHz,选用TLC7528作为本设计的D/A转换器已足能满足性能的要求。
图11是D/A转换器TLC7528和F10K10芯片的接口电路图,D/A转换输出的信号经NE5534宽频运放之后,OUTA的信号可以在FPGA开发系统的JK4输出端口测量,OUTB的信号可以在JK5上测量。
图11D/A转换器TLC7528和F10K10芯片的接口电路图
九.系统总体仿真
将所有的子程序用顶层文件连接起来,编译通过后,接下来就对顶层文件进行仿真,从File菜单中选择NEW…,然后选择WaveformEditorFile,从下拉列表框中选择.scf扩展名,并按OK创建一个文件,如图12。
图12
然后导入所有的仿真信号,进行结果仿真,仿真结果正确,符合设计要求,波形如图13所示。
图13
十.系统引脚锁定
仿真通过后,设定工程文件,选择用于编程的目标芯片。
选择菜单Assign—Device...,在弹出的对话框中的“DeviceFamily”下拉列表中选择需要的器件系列F10K10K,在“Device”下拉列表中选择需要的器件EPF10K10LC84-3,完成器件选择后,按“OK”确定。
如图14所示。
图14
然后,对设定的元件进行引脚锁定,这在硬件测试时是必须的。
选择菜单Assign—Pin/Location/Chip,在弹出对话框的“NodeName”中输入各信号的名称,在“Pin”中输入引脚的编码,然后点击“Add”,再进行下一个信号的引脚锁定,全部信号锁定后,点击“OK”确定。
如图15所示。
图15
十一.系统硬件下载测试
对已经锁定引脚的顶层文件再进行一次编译,确认无误后,将实验室FPGA开发系统的电源接通,并用数据线将开发系统与计算机的相应端口连接起来。
选择菜单“MAX+plusⅡ---Programmer”,弹出两个对话框,在弹出的对话框“HardwareSetup”中选择“HardwareType”为“ByteBlaster(MV)”,点“OK”确定(如图16所示)。
再在“Programmer”对话中点“Configure”,实现程序对硬件的下载(如图17)。
图16
图17
十二.系统硬件测试
将数字示波器与FPGA开发系统右边的JK15输出端口相连,通过开发系统上的拨码开关K1和K2选择JK15输出端口的输出信号为16QAM或基带信号,当K1K2都为高电平11时选择16QAM输出,当K1K2为00、01、10基中一种时选择解调后的基带信号输出。
示波器上显示的波形如图18和图19所示。
经过比较,波形基本正确,符合了设计任务的要求,证明了我写的程序在逻辑上是正确无误的。
图1816QAM信号波形
图19基带信号波形
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 报告 01716 QAM FPGA 实现
