微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于CY7C68013和AD9851的正弦信号发生器设计

基于CY7C68013和AD9851的正弦信号发生器设计

时间:04-10 来源:互联网 点击:

本系统开发主要是基于高速 USB特性,加上丰富的软件开发包,有利于快速开发一个稳定,高效的系统,对进一步拓展系统的功能和精度有很好的快速升级能力。Cypress 公司的网站提供了 CY7C68013 芯片的开发工具包下载, 该开发包提供了开发固件程序的所需的一些资源,如 Keil μVision2 集成开发环境(限制版)、Cypress C51固件框架程序以及一些例子程序。CY7C68013 的固件主要有两种引导方式, 一种是存储在 EEPROM上, 通过上电后的自检自动将固件程序加在 CY7C68013上;另一种方式是通过主机将固件程序下载到CY7C68013。

本系统在设计上采用外接一片 EEPROM芯片来存放 USB设备配置信息和 8051应用程序。该应用程序在上电后加载到 8051内核,主要完成两个任务:实现 USB协议,包括 USB设备配置及 USB数据传输;实现对 AD9851的初始化以及对信号的产生和控制。

1固件程序框架

固件程序流程如图 4所示,主要执行以下任务,其中步骤①~⑤主要是完成 USB接口的初始化工作,而步骤⑥~⑩可以看作是任务执行阶段,完成 USB事务及用户特定的任务。


① 初始化所有的状态变量;

② CY7C68013中 USB端点寄存器进行初始化设置;

③ 判断是否重新定位描述符表,以确保描述符表的存放地址位于片内RAM;

④ 使能 USB中断,并允许所选择的中断;

⑤ 判断是否有来自系统的“重新枚举”命令,如有,则重新枚举;

⑥ 初始化 AD9851模块内部寄存器以及缺省模式下的信号配置;

⑦ 判断是否接收到 setup令牌包,如有,则调用相应函数响应 USB设备请求命令;

⑧ 判断是否进入睡眠状态,如是,则将 CY7C68013置于睡眠状态;

⑨ 查询是否有来自上位机的修改波形命令,按照程序执行与波形修改有关的任务;

⑩ 返回⑦,循环接收并执行来自上位机的各种命令。

2 AD9851工作流程 AD9851工作流程共包含40位控制码(D39~D0),其作用为:

(1)D39、D38用来控制AD9851数据输入的模式。AD9851的数据输入模式分为并行输入模式和串行输入模式两种。在并行输入模式下,模式控制码为“00”,每次8bit数据输入端D0~D7分5次数输入频率控制字。

(2)D37用来调节AD9851输出的功率。

(3)D36~D32相位调制码,用来控制AD9851的相位调制量。

(4)D31~D0用来控制AD9851输出的频率。这32位频率控制码是由输入的频率控制字转换过来的。具体转换关系为:

(5) AD9851 中的 DDS内核所需输入控制字由单片机提供。在进行频率控制时, 首先送入相位调制码、功率调节码和输入模式控制码, 然后送入 32bit频率控制码。本系统设置AD9851工作在并行数据输入模式。系统启动后,接受用户从键盘所输入的功能,调用相应的子程序,根据信号的频率值、以及 2psk功能下相位值,单片机将频率值根据公式转换为频率相位控制字,初始相位值按照公式Phase(度)/11.25°转换为 5位二进制数相位调制字,准备送往 AD9851频率控制输出。在传输数据之前,单片机先向 AD9851产生一个 RESET上升沿信号, 并延时 7ns,使整个下位机系统复位, 再依次传输一个 8 bit的相位调制码和置AD9851工作模式码以及 32bit的频率控制码。每传输一次 8bit的控制码后,需由软件产生一个有效的 WCLK上升沿信号,将控制码送入 AD9851输入数据寄存器中,重复五次后即可将40位的控制码全部加载到AD9851内部的数据寄存器中,昀后产生一个有效的 FQUD上升沿信号,将 40bit的控制码全部加载到 AD9851中的 DDS频率合成单元中,经过 13到 18个时钟周期后,就可获得所需的频率输出信号。

3 驱动程序设计在 Cypress 公司的 EZ-USBFX2 开发包中,提供了完整的 CY7C68013 驱动程序源代码、控制面板程序及固件的框架,可以大大加快用户开发的进度。用户只需对所带驱动程序稍加

修改,再经过 DDK 编译后使用,使得软件开发者大量的时间主要集中在应用程序和固件的开发上。本设计采用的 USB设备驱动程序就是对 FX2开发包所带的驱动程序做了一些修改,主要是修改了 DeviceIoControl例程,增加了控制数据传输函数、启动和停止 AD9851等。四结束语

本文提出了一种基于 EZ-USB和 AD9851的正弦信号发生器系统方案,利用 EZ-USB的优点,通过上位机软件的简单数据输入,可以产生供实验所需要的信号源,极大的提高了系统的灵活性和可配置性。通过实验测定,测试的输出频率准确度与稳定度达到 10 -6。

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

网站地图

Top