新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于EZ-USB单片机的正弦信号发生器

基于EZ-USB单片机的正弦信号发生器

作者:时间:2013-02-20来源:网络收藏

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

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

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

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

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

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

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

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

  2 工作流程 工作流程共包含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。参考文献:

[1].CY7C68013datasheethttp://www.dzsc.com/datasheet/CY7C68013_.html.
[2].AD9851datasheethttp://www.dzsc.com/datasheet/AD9851_251850.html.
[3].EZ-USBdatasheethttp://www.dzsc.com/datasheet/EZ-USB_305660.html.
[4].AD811datasheethttp://www.dzsc.com/datasheet/AD811_1055521.html.


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭