微型虚拟任意信号发生器新设计与实现_第1页
微型虚拟任意信号发生器新设计与实现_第2页
微型虚拟任意信号发生器新设计与实现_第3页
微型虚拟任意信号发生器新设计与实现_第4页
微型虚拟任意信号发生器新设计与实现_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微型虚拟任意信号发生器的设计与实现内容提纲研究意义及现状系统设计方案硬件系统设计软件系统设计任意信号发生器测试效果一、研究意义及现状传统信号发生器

正弦波信号源函数发生器脉冲发生器扫描发生器针对特定应用产生波形种类有限波形不可编程研究意义及现状虚拟任意波形发生器综合其他信号源产生波形能力产生波形可编程控制适用于各种仿真试验、教学实验等仪器发展历史GPIB分立仪器虚拟仪器美国NI公司虚拟测试系统软硬件产品目标——吉林大学虚拟实验室LabViewCCURLCSCOPEWEBDAQAWG二、系统设计方案设计指标USB通信接口,实现即插即用无需外部电源,工作电流〈500mA

具有DDS模式和ARB模式;波形频率0.01Hz(DC)~80KHz(ARB模式点数为8)0.01Hz(DC)~1MHz(DDS模式)。频率分辨率:0.01HZ波形存贮容量:32K

垂直分辨率:16位波形幅度:0~2.5Vpp微型,80mm*70mm采用LabVIEW或者LabScene作为上层软件设计思想USB电缆VC软件LabVIEW或LabScenePC或笔记本产生波形硬件系统设计框图DDS波形产生模块CPLD逻辑控制模块USB接口通信模块任意波形产生模块微控制器89S52放大滤波模块三、硬件系统开发DDS波形产生模块设计任意波形产生模块设计USB通信接口设计3.1DDS波形产生模块设计直接频率合成(DDS)原理DDS波形成产方案选择DDS波形产生电路直接频率合成(DDS)原理直接频率合成技术(DDS)参考频率源D/A转换器正弦波形存储器低通滤波器频率累加器

根据奈奎斯特采样定律将一个正弦信号取样、量化、编码,形成一个正弦函数表存于EPROM中,通过改变相位累加器的频率控制字来改变相位增量,并将变化的相位/幅值量化的数字信号通过D/A转换器及低通滤波器即可得到合成的模拟信号。

信号输出频率控制字3.1.2DDS波形成产方案选择方案一:根据DDS原理,用EEPROM存储器、高精度D/A再配以CPLD的控制时序实现;

缺点:成本高、调试难度大、开发周期长方案二:根据系统需要,选择合适的DDS芯片,配以简单的外围电路实现;可大大缩短开发周期3.1.3DDS波形产生电路AD公司提供的DDS芯片,内部包括32位相位累加器、正弦查询表、高性能DAC、高速比较器和滤波器,能实现全数字编程控制的频率合成器和时钟发生器,其最高时钟源可达125M;32bits频率控制字,5bit相位调制,简化的控制接口,并行或串行输入形式。

W_CLK、FQ_UD控制信号由CPLD内部产生;

总线DATA在W_CLK上升沿将数据装入寄存器,40位需重复5次。最后在FQ_UD上升沿把40位数据从输入寄存器装入到频率、相位及控制数据寄存器控制数据寄存器。并行装入方式的时序图3.2任意波形产生模块设计任意波形产生原理任意波形产生电路设计

D/A转换控制电路

D/A基准电压产生模块 波形数据存取电路

CPLD控制电路 波形处理模块

任意波形产生原理利用计算机产生所需信号的波形数据,存入波形数据存储器,在CPLD的控制下同时选通存储器和D/A转换器,在两者之间建立直接的数据通道,使存储器相应单元中的波形数据传送给D/A转换器产生具有一定幅度、频率、相位的模拟波形。波形频率由CPLD的时钟信号决定。CPLD的时钟信号由AD9850提供。任意波形产生电路设计D/A转换器的选择

D/A转换器是整个系统的核心器件,波形信号的质量取决于其分辨率和数据输出速率。其制约关系为:

1.D/A的分辨率越高,则高次谐波的分量越小;

2.一周期的数据点数越多,模拟信号越平滑;

3.一周期数据点数多,则信号所能达到的最高频率则降低;

4.D/A的输出速率越高,波形平滑度越好,一般情况下并行D/A的输出速率高,但是占用的I/O也多;综合上述因素,本设计采用了MAXIM公司的MAX5541,它是16位D/A,电压输出,10MHz三线式串行总线接口,1us的信号建立时间。任意波形产生电路设计D/A转换控制时序任意波形产生电路设计D/A转换控制电路 由CPLD控制完成,包括:16位并行数据16位串行数据3线接口时序16位串行数据16位并行数据8位并行数据D/A转换控制电路的具体实现1.采用状态机机制(定义状态ss:start,send16,over)2.定义16进制计数器counter163.counter16.clock=clk;ss.clk=clk;CPLD仿真——并串转换及3线接口时序产生任意波形产生电路设计D/A基准电压产生模块 选择美国国家半导体公司的LM4040-2.5作为MAX5541工作时的基准点压(5V);它采用小封装TO-92,不需外接电容,电路连接简单;任意波形产生电路设计波形数据存取电路地址发生器由15位计数器充当SRAM地址发生器AD[14..0]SRAM写信号读CLK单片机数据至D/A并/串电路clr任意波形产生电路设计CPLD控制电路

选择ALTERA公司的EPM7128。采用MAXPLUS-2的图形语言和AHDL语言相结合的方式对其编程实现控制逻辑。

CPLDAD9850控制模块波形数据存取模块DA转换控制模块译码模块其他模块任意波形产生电路设计CPLD关键电路仿真时序Clk:DDS提供的时基信号;frame_start为转换控制门信号;da_ram_nrd:SRAM读信号有效;m_addr_frame:地址发生器读数据阶段的时钟信号;Start:预备态r0h、r0l:从SRAM读出数据wait_da:进行D/A转换3.2.3波形处理模块模拟开关运放运放ARB波形DDS波形信号输出考虑到任意波形发生器产生信号的可变性,本模块没有设计滤波电路;3.3USB通信接口设计USB接口介绍USB硬件开发USB固件程序开发3.3.1USB接口介绍USB是英文UniversalSerialBus的缩写,中文含意是:通用串行总线。特点:即插即用低功耗总线供电多种速度模式多种设备类价格低廉3.3.2USB硬件开发USB接口控制电路设计

带微控制器的USB接口芯片 (EZ-USB)

方案选择

不带微控制器的USB接口芯片 (PDIUSBD12)

USB固件程序开发选用PDIUSBD12+MCU89S52

PDIUSBD12特点符合串行总线(USB)1.1版协议规范集成了SIE、FIFO存储器、收发器与任何外部微控制器实现高速并行接口具有良好的EMI特性的总线供电能力在挂起时可控制LazyClock输出可通过软件控制与USB的连接符合ACPI、OnNOW和USB电源管理要求内部上电复位和低压复位电路双电源操作主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输USB设计硬件原理图3.3.3USB固件程序开发固件框架采用模块化结构,由KeilC开发主循环:发送USB请求、处理USB总线事件和用户功能处理等中断服务程序协议请求处理底层命令接口硬件提取层主循环保持的读指针

前台主循环程序后台中断服务程序保持的写指针循环数据区前后台工作原理固件采用前后台工作的编程思想,D12每发生一次中断,后台中断服务程序改变相应的事件标志位,前台主程序不断检测事件标志位状态,完成相应功能。开始初始化资源循环DDS模式YNNNY主程序流程DDS波形产生ARB波形产生处理命令RAM写数据ARB模式其他命令Y四、软件系统设计PC驱动程序开发USB应用程序设计思想DLL动态连接库的开发LabVIEW设备节点的开发4.1PC驱动程序开发驱动程序工作在核心态下,介于应用软件和设备硬件之间驱动程序作用

驱动程序

应用软件WDMVXD驱动程序模型VXDWDMNT

改进Win98WinNT98/NT/2000/XP支持PNP、电源管理、WMI1、即插即用查找设备INF安装驱动程序2、适合Win98Win2000/xp1、驱动程序查找设备,安装程序。2、适合于Win98/NT1、IRP结构2、电源管理3、分层驱动模型4、Windows管理诊断(WMI)WDM驱动程序NT驱动程序WDM驱动模型特点UserApplicationsWin32APICallSystemServicesI/OManagerIRPDRIVERHardwareAbstractionLayer核心态分层用户态WDM模型介绍驱动程序开发工具介绍VisualC++DDKDRIVERSTUDIOWINDRIVER

难!方法二方法一

寄生USB设备驱动程序四大例程事务即插即用例程,完成自动识别USB设备,实现硬件资源分配和再分配,主要包括I/O端口、硬件中断号等。电源管理例程,完成电源策略管理,决定什么时候应该采用何种电源策略。设备控制例程,负责设备的控制,主要是指对设备的一些操作命令的发送或者一些标志的读取。用户自己定义功能码,上层应用软件功能码必须和驱动程序保持一致。数据读写例程,完成上层应用软件API函数所对应的打开设备、关闭设备、读设备和写设备等例程函数。4.2USB应用软件设计思想采用Win32API函数和驱动程序建立联系。实现上层应用软件的相应功能。常用访问硬件的API函数有:

CreatFile():打开驱动程序,获取设备句柄

ReadFile():获取数据

WriteFile():向设备写数据

ControlIoDevice():实现与外围设备之间的读写操作

CloseFile():关闭设备应用软件开发工具选择MFC+APIGraphicalProgrammingLabWindows/CVI

发展方向虚拟仪器软件平台应用软件功能框图模式选择USB读写用户界面波形选择频率设定波形选择频率设定读取USB数据发送USB数据识别USB设备幅度设定模式选择模式选择点数设定波形显示基于VC++6.0平台开发VC开发环境使用相对复杂,需要花大量时间开发应用程序界面,界面开发远不如Labview便捷、美观,但是对于理解应用程序工作机理大有好处。MFC类库Win32API基于LabVIEW平台开发应用程序软件NI软硬件产品自定义设备LabVIEW不支持,用户需要开发LabVIEW驱动融入DLL

调用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论