静电力驱动有着功耗低、响应时间短、宜于完成高频率的驱动而且结构易于实现的特点,从而广泛应用于微变形镜、
微型光谱仪、微陀螺、微谐振器等MEMS器件。然而采用静电力驱动器件常常需要十分高的恒压电源,所以可以设计一种高压控制系统,满足驱动要求,使得微机械传感器的器件广泛使用。
系统简介
静电力驱动有着功耗低、响应时间短、宜于完成高频率的驱动而且结构易于实现的特点,从而广泛应用于微变形镜、
微型光谱仪、微陀螺、微谐振器等MEMS器件。然而采用静电力驱动器件常常需要十分高的恒压电源,所以可以设计一种高压控制系统,满足驱动要求,使得微机械传感器的器件广泛使用。
原理
高压控制系统的工作原理为:上位机根据相应的公式计算出静电力驱动所需的控制电压,经过USB,传输给
数字信号处理器来控制D/A转换芯片输出,D/A转换后输出电压经过高压放大施加到
微传感器电极上。图1为控制系统原理图。
功能
高压控制系统主要实现以下功能:
1、通讯功能:通过USB模块实现微机械传感器与上位机程序之间的数据传递。
2、控制功能:采用数字信号处理模块按照传输数据控制转换器输出静电力驱动所需电压。
3、放大功能:将电压同步放大至满足静电力驱动所需范围。
硬件
数字信号处理模块
数字信号处理模块由定点
数字信号处理器TMS320F2812和D/A转换器AD5381组成,其中2812具有高的处理速度、强大的处理功能,时钟频率可达150MHz,片上包含有128k的Flash、128k的ROM以及18k的RAM,满足程序编写的需要,同时还包含丰富的外设接口和事件管理器,十分适合于大批量数据处理的控制场合。而AD5381是一款理想的多通道
数模转换器,它具有40个数模转换通道,12位的分辨率,具备并行、串行以及I2C三种数据传输方式,单通道转换时间可以达到30ns,可以满足模块要求。
USB模块
USB模块选用Cypress公司的CY7C68013,该芯片具有以下优点¨1:数据吞吐量在高速传输模式下传输速率可达480 Mb/s,全速模式下传输速率达到12Mb/s,满足传输需求;具有大容量的FIFO用于数据缓冲,当作为从设备时可采用同步或
异步FIFO方式与DSP进行连接。
高压放大模块
高压放大模块采用SUPERTEX公司的HV256芯片,该芯片具有32个独立的高压放大器,因此输出电压最大可达到295V,可以满足静电力驱动的要求,因此该芯片广泛应用于MEMS静电力驱动。
电路
控制系统的硬件电路主要包括DSP2812最小系统电路、DSP与USB芯片68013的信号通讯电路、DSP与D/A转换芯片的连接电路。
CY68013与DSP2812的硬件电路
采用CY7C68013是一个非常方便的USB2.0实现方案,68013与DSP的连接方法有两种:可编程的GPIF主控方式和Slave FIFO方式。在本设计中,采用Slave FIFO方式,异步读写。在这种方式下DSP可以像读写普通FIFO一样对CY7C68013进行读写,DSP2812与68013的连接如图2所示。
DSP读取USB中的数据时,首先判断GPIOB2(FLAGB)的电平,如果为高,说明PC有数据下发到68013中,可以进行读操作,在进行读操作时将FIFOADR[0:1]位置低,从而选择EP2端口。同时将SLCS与SLOE同时置低。DSP向USB写数据时,DSP判断GPIOB3(FLAGC)的电平,当该电平为高,说明FIFO中还没有写满,可以进行写操作,在进行写操作时将FIFOADR第0位置为低、第1位置高,从而选择EP6端口同时将SLCS置低、SLOE置高。
DSP与AD5381的硬件连接
AD5381的数据输入直接与DSP2812的数据线连接,DSP的地址线的低六位A0-A5来控制DA转换芯片的通道选择,AD5381的CS管脚和LDAC管脚由数字信号处理器的地址线的高两位经过地址解码器来控制。数字信号处理器与AD5381的连接如图3所示。
软件设计
控制系统的软件主要包括两个方面:USB程序和DSP2812控制系统程序。
USB程序设计
USB程序的设计主要包含:固件程序、驱动程序和主机端应用程序。固件程序是运行在CY7C68013上的程序,其主要功能包括初始化,包括设置一些特殊功能寄存器的初值、辅助硬件完成设备的重新列举过程、处理中断请求、数据的接受与发送以及外围电路的控制。首先初始化内部状态变量,然后调用用户初始化函数。从该函数返回后,初始化
USB接口到未配置状态并使能中断。然后每隔1s进行一次设备重枚举,直到端点0接受到一个SETUP包。一旦检测到SETUP包,固件程序将开始交互的任务调度。在本方案中选择68013工作于异步从属FIFO模式,将其FIFO对应到EndPoint2和End—Point6,其中EndPoint2为OUT型,从主机接受数据;EndPoint6为IN型,向主机发送数据。传输采用块(Bulk)传输方式,在初始化函数中设置芯片工作方式。
Windows平台的USB驱动程序由3部分组成:USB主控制器驱动程序、USB
总线驱动程序以及USB
设备驱动程序。其中USB主控制器驱动程序和USB总线驱动程序封装在操作系统中,由微软公司提供。而USB设备驱动程序则采用Cypress公司提供的通用驱动程序,经过DDK编译后直接使用。
主机端应用程序主要在PC机上采用VC++6.0编写,要完成数据的传输,只需要调用几个函数即可。
DSP程序设计
DSP主机控制模块由几个子模块构成:
1、初始化模块,在系统上电后执行一次,通过该模块来初始化系统硬件寄存器、数据结构及全局变量;
2、通信模块,通过判断标志位来观察是否有数据下发到USB芯片的缓冲区,继而读取数据。
3、缓冲模块,当数据比较多时,DSP芯片一次处理不过来,将数据先存入缓冲区,当一批数据处理完后,再继续处理下一批数据。
4、
D/A转换模块,
DSP芯片读取通过USB传输过来的数据后,控制D/A转化芯片进行转换。
测试
搭建如图4所示的测试系统来检测控制系统的性能。
该测试系统采用He—Ne激光器作为光源,发出的激光经过反射镜反射后,打到微变形镜镜面上,经过微镜镜面的反射激光由Hartmann波前传感器进行探测,上位机程序根据探测偏差以及测定的微变形镜光学影响函数,计算出要矫正偏差所需的电极电压,通过控制和驱动系统施加给微变形镜电极上,来控制微变形镜矫正畸变波。