陀螺仪是一种测量运动物体相对惯性空间旋转的装置。绕一个支点高速转动的刚体称为陀螺(top)。通常所说的陀螺是特指对称陀螺,它是一个质量均匀分布的、具有轴对称形状的刚体,其几何对称轴就是它的自转轴。 由苍蝇后翅(退化为平衡棒)仿生得来。在一定的初始条件和一定的外在力矩作用下,陀螺会在不停自转的同时,还绕着另一个固定的转轴不停地旋转,这就是陀螺的旋进(precession),又称为回转效应(gyroscopic effect)。陀螺旋进是日常生活中常见的现象,许多人小时候都玩过的陀螺就是一例。
人们利用陀螺的力学性质所制成的各种功能的陀螺装置称为陀螺仪(gyroscope),它在科学、技术、军事等各个领域有着广泛的应用。比如:回转罗盘、定向指示仪、炮弹的翻转、陀螺的章动、地球在太阳(月球)引力矩作用下的旋进(岁差)等。陀螺仪的种类很多,按用途来分,它可以分为传感陀螺仪和指示陀螺仪。传感陀螺仪用于飞行体运动的自动控制系统中,作为水平、垂直、俯仰、航向和角速度传感器。指示陀螺仪主要用于飞行状态的指示,作为驾驶和领航仪表使用。
1 PSoC简介
PSoC系列单片机是在一个专有的MCU(MicroprogrammedControlUnit)内核周围集成了可配置的模拟和数字外围器件阵列PSoC块,利用芯片内部的可编程互联阵列,有效地配置芯片上的模拟和数字块资源,达到可编程片上系统的目的。PSoC 是一种对于标准的"全数字式"微控制器设计、纯粹的模拟设计以及介乎此二者之间的所有设计而言具有同等的高适用性的器件,是一种具有极端灵活且完全可编程的混合信号SOC 的基本原理的全新一代器件。
PSoC Designer(TM)是PSoC的传统软件开发环境,它是一款功能全面的基于图形用户接口(GUI)的设计工具套件,使用户能以简单的点击对设计中的硅技术进行配置。在PSoC Designer的帮助下,用户可以采用C语言或汇编语言编写MCU的代码,还可用事件触发器和多断点等先进的特性对设计进行调试,同时还可以采用C语言、汇编语言或二者的结合,通过代码实现单步进。PSoC Designer是免费的,您可在此了解有关信息并下载该工具。
PSoC是一种可编程的半导体器件,与现场可编程门阵列FPGA(Field Programmable Gate Array)、在系统可编程模拟器件ispPAC(InSys-tem Programmable ArialogCircuit)和单片机相比,具有如下特点:
1)PSoC综合FPGA和ispPAC的功能为一体,既具有FPGA的可编程数字阵列,又具有ispPAC的可编程模拟阵列,即具有处理数字和模拟两种信号的能力。此外,PSoC所具有的A/D、D/A用户模块解决了两个阵列的接口问题。
2)PSoC有1个8位的微处理器,可以方便地实现系统设计。尽管FPGA可以通过设计,实现一个软核微控制器或微处理器,但是增加了系统设计的难度。
3)与ispPAC相同,PSoC不需要编程器,就能够在系统运行过程中编辑,用以修改和重构电子系统,使用灵活方便。
4)虽然也可将PSoC视为1个8位的微控制器,即8位单片机。但是与一般单片机不同的是,它几乎不需要外部电路,一片PSoC就可实现一个电子系统。而且PSoC具有比一般单片机更多的内部资源,如低电压监测电路(Low Voltage Detect,LVD)、开关式升压泵(SwitchMode Pum-p,SMP)、内部精密参考电压等。另外,PSoC同时具有片内和片外系统时钟源,可以不需要外部晶体振荡器即可自行工作。
PSoC的以上特点,使其在小型系统设计方面正在得到越来越广泛的应用。
2 系统核心器件CY29666-24VXI
本系统采用PSoC芯片CY29666-24PVXI,来实现对光纤陀螺脉冲输出的采集。芯片CY29666-24PVXI的结构框图如下图1所示。它由4部分构成:PSoC Core、数字系统(DigitalSystem)、模拟系统(Analog System)和系统资源(System Resources)。其中,PSoC Core是PSoC器件的核心部分,包括M8C微处理器、SROM、32 K字节Flash、2 K字节SRAM、中断控制器、可编程的多时钟源、休眠计时器及看门狗等;数字系统和模拟系统并存,如计数器功能模块、定时器功能模块、脉宽调制功能模块等:12个模拟PSoC用户模块,如A/D、D/A、可编程增益放大器等;CY29666-24PVXI提供的系统资源包括:数字时钟、乘法加法器、采样
抽取器、主从及多主模式的I2C、上电复位(Power on Reset,POR)和低电压检测电路(Low Voltage Detect,LVD)、系统复位电路、内部参考电压等。
3 系统硬件设计及硬件模块的配置
本系统的硬件部分包括信号预处理模块、脉冲采集模块及液晶显示模块,其总的框图如下图2所示。
3.1 信号预处理部分
脉冲信号是一种短暂、跃变的,达到一定跃变幅度的电信号。而对于输出信号为脉冲信号的光纤陀螺,为提高其输出信号的抗干扰性,本系统在光纤陀螺与PSoC器件之间加了一个光电耦合器HCPL-2630,完成信号的预处理。
光电耦合器对输入、输出电信号起隔离作用,HCPL-2630一般由3部分组成:光的发射、光的接收及信号放大。输入的电信号驱动发光二极管,使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电-光-电的转换,从而起到输入、输出隔离的作用。
由于光耦合器输入输出问互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力。
3.2 脉冲采集部分
脉冲采集模块由定时器模块和计数器模块组成。PSoC芯片嵌入了强大的定时器功能模块。它拥有8位、16位、24位和32位可编程递减定时器。通过对定时器模块编程,用户可实现多种工作方式的定时器功能。PSoC的定时器模块由1个周期寄存器、1个同步递减计数器和1个捕获比较寄存器组成,结构如图3所示,每个寄存器大小都是1个字节。当定时器不工作时,向周期寄存器(Period Register)写入一个周期值。定时器具有定时、比较和捕获比较3种功能。本系统中运用其定时功能。原理如下:将系统的数字时钟或其他输入信号作为Clock,通过设置Period值即可获得相应的定时间隔,定时间隔T=(Period+1)/fClock.当递减计数器值减为0时,定时器时间到,此时Terminal Counter Out将输出一个高电平脉冲,若设置了中断,则将产生定时器中断。
定时器的核心是一个递减计数的计数器,计数器功能模块和定时器功能模块具有相同的结构,都包含1个周期寄存器、1个同步递减计数器和1个捕获比较寄存器。两者的功能模块主要有如下的区别:
1)计数器的数据输入是一个计数器的使能位而不是一个捕获输入,计数器不能用作异步捕获,当计数器被使能工作时,数据寄存器不能执行读操作;
2)比较器输出作为计数器的主输出,而计数器终止输出是作为辅助输出;
3)计数终止输出只能是全周期输出。
本系统中运用计数器的计数功能,其原理是:将光纤陀螺仪脉冲输出信号作为Clock输入,预先设定一个Period数值,通过读取减数计数器DR0数值的变化获得输入信号的计数值,计数值C=Period-DR0.
3. 3 显示器件的选择
PSoC集成开发环境(IDE)PSoC Designer5.O中有LCD、LED、LED7SEG等显示器件。由于LCD功耗低、寿命长、价格低、接口控制方便、使用灵活等诸多优点,本系统选用LCD显示器件。通常液晶显示器LCD可分为两大类,一类是点阵型,另一类是字符型。点阵型液晶通常面积较大,可以显示图形;而字符型液晶显示模块专用于显示字母、数字和一些简单图形,面积相对较小,简单易控制且成本较低。本系统只需显示一定时间里的脉冲数,故选用了字符型液晶显示器1602,它可实现两行16个字符的显示。
3.4 PSoC内部硬件搭建
在集成开发环境(IDE)PSoC Designer5.0的器件编辑器中,可实现硬件模块的搭建。本系统只用到了PSoC芯片内部的1个8位定时器、1个16位计数器和1块LCD用户模块。
8位定时器产生1 ms的方波信号,接在16位定时器的使能端,用于控制定时器对光纤陀螺脉冲信号计数,最终的采集结果在液晶显示器LCD上显示。PSoC内部硬件搭建如图4所示。
4 软件设计
系统首先用8位定时器Timer8通过中断方式产生准确时间,而后调用计数子程序对光纤陀螺脉冲输出进行计数,最后调用显示子程序将采样结果在LCD上显示出来。其软件流程如下图5所示。
需要注意的是,在定时器最终计数结束后的下一个系统时钟周期,定时器会自动重新加载计数初值。所以要在此之前读取计数器的计数值。此操作可以通过定时器的中断程序来实现。
5 测试结果
将应用层代码下载到PSoC程序下载软件环境PSoCProgrammer3.06中。进行仿真。本系统选用南京盛普仪器科技有限公司生产的SP1641D型函数信号发生器来模拟光纤陀螺的脉冲输出信号,测试周期为1 s,测试数据如表1所示。
由表1可看出,本测试系统能够精确测量频率范围在0.1Hz~1MHz之间的光纤陀螺脉冲输出,并且误差小于万分之一,满足了实际的测试需求。
6 结束语
本设计以PSoC芯片CY29666-24PVXI为核心,完成了光纤陀螺脉冲输出的高精度采集。测试范围能够达到0.1Hz~1 MHz,误差小于万分之一。该设计电路简单、集成度高、性能稳定、抗干扰能力强、价格低廉、且可靠性高,充分体现了PSoC芯片的优点,在对光纤陀螺进行测试,提高光纤陀螺精度方面,有较大的价值。