基于SOPC的DDS信号发生器设计
幅值。10 位的寻址ROM 相当于将一个周期的信号进行离散化,形成具有1 024 个样值的序列。累加器产生的地址通过波形的地址分配读取不同存储器中的数据,然后将读出来的数据经过D/ A 转换器,转换成模拟信号输出。 图4 DDS 模块图 2 软件设计 NIOS 完整的开发环境是NIOS 处理器与用户的接口界面。使用NIOS IDE 可以完成所有的软件开发任务,包括程序的编辑,编译和调试。硬件提取层( HAL) 支持通用I/ O 器件,可以通过编写标准C 程序访问硬件,HA L 减少了对硬件寄存器的访问,直接与外围器件进行通信或控制。不同的外围硬件需要不同程度的HAL 的支持,需要运行HAL 的软件驱动器。DDS 系统控制在NIOS IDE 环境下用标准C 语言实现,通过编写代码、编译、链接、调试、下载几个步骤完成整个设计。 打开IDE 开发环境后,第一步需要做的就是新建一个工程,将SOPC Builder 生成的. ptf 添加之后,系统根据该硬件的地址分配情况自动生成相应的头文件,该头文件定义了各个组件的基地址。当SOPC 系统发生变化,IDE 将在用户编译和运行应用程序时重新对HAL 进行编译。整个软件编写的流程图如图5 所示。 3 系统调试过程与结果 系统时钟为50 MHz,当波形选择键选为正弦波,频率字设置为5 时,数码管上显示5,按下确认键后,数码管显示”-“,通过示波器,可以观察到输出波形如图6所示,横轴为时间档,纵轴为幅值。当波形选择键选为方波,频率字设置为10 时,数码管上先显示1,后显示0,按下确认键之后,数码管显示“-”,这样在示波器上观察到的波形如图7 所示。按照上面的操作过程,三角波和锯齿波的波形分别如图8,图9 所示。 4 结 论 本文所设计的是频率字的预置与波形的选择,是通过键盘输入的,因此能够得到规定范围内的任意频率的波形,这样可以很好地满足变频信号的情况,实用性较强。实验所调试出的波形清晰,干扰小。采用SOPC 方法实现,使设计变得非常灵活。该设计只实现了任意频率的波形输入,还需要实现相位累加,设计才会变得更加完美。
图5 软件流程图
图6 正弦波波形
图7 方波波形
图8 三角波波形
图9 锯齿波波形
LED 相关文章:
- 常见LED芯片的特点分析 (04-19)
- LED无线通讯技术(07-22)
- 拆解:第7代Kindle阅读器 性价比超高(10-15)
- LED点阵屏的无线传输控制系统设计与实现(04-01)
- 大联大解决方案紧扣移动通信的发展机遇(09-30)
- ZigBee+GPRS的LED路灯监控系统(01-11)