微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于SOPC的调制解调器设计

基于SOPC的调制解调器设计

时间:06-05 来源:互联网 点击:

元的设计和硬件结构的生成三部分。硬件结构的生成主要使用QuartusII7.1的系统设计工具软件SOPC Builder 来完成。图2为FPGA内所实现的各功能模块示意图。

3.1 ENET接口设计

本系统用到的基于DM9000A的ENET接口并非SOPC Builder所提供的标准组件,故必须进行自定义组件设计。经查阅参考文献[1]中图2.1(和处理器接口的信号连接图)可知:只需针对与处理器有关的管脚(SD0~15、CMD、INT、IOR#、IOW#、CS#、PWRST#)设计相应接口模块即可。图3为基于DM9000A的ENET接口设计示意图,图右侧表示接口与DM9000A管脚对应关系;NIOSII侧的写入数据IDATA只有在写入信号IWR_N有效时才会把数据传至DM9000A侧。根据图3所示的信号端口映射及逻辑关系,写出Verilog或VHDL文件,利用SOPC Builder中的Interface to User Logic导入即可创建基于DM9000A的ENET接口。

3.2 调制与解调单元的设计

调制和解调单元的设计采用基于SOPC的DSP实现方案,根据不同的应用目标,其实现方案有两种选择:纯硬件方案和软硬件结合方案。纯硬件方案是指按照Matlab→DSP Builder→QuartusⅡ的流程直接实现。而软硬结合的方案是指利用前一种方案为NIOSⅡ处理器设计自定义指令的硬件加速器接口模块,生成能够完成DSP功能的NIOSⅡ处理器,最后DSP功能的实现则通过软件来完成。考虑到调制解调器的传输速率要求,如果用软硬结合的方案,200MIPS的处理速度可能满足不了要求,故采用纯硬件方案。本设计中调制单元包括了调制器和缓冲器1。为保证连续性发送,DM9000A接收缓冲区的数据要先经缓冲器1缓存后再进行调制。调制单元的电路模型图如图4所示。

在图4中,调制器每调制完一字节的数据,要读入的下一字节地址Next_add会自动加1,将该地址送至缓冲器1的读出地址输入端Rd_add,即可开始下一字节的调制;当调制器从Next_add判断出已经读完一帧数据后,给出中断信号,此中断信号由DSP Builder的Interface库的AVALON_MM Slave 组件(选中Output IRQ,地址类型设为Write)提供的存储映射功能经由三态桥送至NIOSⅡ。处理器接到此信号后,向缓冲器1发送写使能信号,并传送要写入的数据,开始写入过程。缓冲器1采用Storage Library 库中的Dual-port RAM实现,双口RAM可随时输出缓存内部的剩余数据量,可实现读出、写入操作的灵活控制。

本设计采用2CPFSK调制方式,图5为用DSP Builder建立的调制器电路模型。图中,8位并行数据由输入端口DataIn输入,经并串转换后逐位送往多路器的数据输入端sel[0:0]。FWORD1和FWORD2是频率字设置端口,当数据输入端sel输入不同的值时,多路器会根据设置的频率字输出对应的相位值。将输出相位值的累加结果送入BusConversion1,抽取出相位值的高14位,将此相位信号通过查找表SinLUT后,在数据输出端即可得到2CPFSK已调信号。图中并串转换器的load输入端用来控制字节数据的输入,每当一字节调制完毕,load端口会输入数据载入信号进行下一字节数据的调制。

同样,解调单元包括解调器和缓冲器2两部分。解调单元的设计与调制单元类似,所不同的是: AVALON_MM Slave 组件将地址类型设置为Read。

3.3 硬件结构的生成

3.3.1 用SOPC Builder生成软核

SOPC Builder提供了丰富多样的组件库,用户可以按需要自定义系统,同时可利用SOPC Builder的用户逻辑接口生成系统未提供的外部器件接口。本设计中加入了如下组件:cpu_0、三态桥、Flash控制器、SRAM控制器、SDRAM控制器、jtag_uart、led_pio、anjian_pio以及自定义组件ENET接口。值得注意的是:软核的生成过程必须在电路模型文件转换为RTL级的VHDL代码时生成的QuartusⅡ工程下进行,这样SOPC Builder在生成软核时会自动检测到调制解调单元的AVALON_MM Slave组件,会在三态桥下生成相应的信号线,把调制解调单元同NIOSII连接起来,其中包括数据线、地址线、读/写命令线和中断信号线等。

3.3.2 调制解调单元Sysmbol的生成

在Simulink中完成仿真验证后,就需要把设计转到硬件上加以实现,这是DSP Builder设计流程中最为关键的一步,转换后可以获得针对特定FPGA芯片的VHDL代码。Symbol的生成过程:对模型的分析、设置Signalcompiler、把MDL模型文件转换成VHDL、综合、适配。上述过程完成后,把调制、解调模型的VHDL文件在QuartusⅡ下各自生成相应的Symbol。该Symbol会自动加载到工程库中,可以如工程库中自带组件一样调用。

3.3.3 在QuartusⅡ下进行原理图编辑

在BDF文件的编辑状态下,加入NIOSⅡ软核、调制单元、解调单元;根据需要,DM9000A和SDRAM还需单独的时钟信号,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top