APP下载

PSoC在光纤陀螺脉冲输出采集中的应用

2011-03-14胡志洁张志文

电子设计工程 2011年2期
关键词:计数器功能模块寄存器

胡志洁,张志文

(西安工业大学 电子信息工程学院,陕西 西安 710032)

陀螺仪是一种测量运动物体相对惯性空间旋转的装置。以陀螺仪为核心的惯性测量系统在飞行器控制与制导,空中、海上和陆上导航/定位中都起着至关重要的作用。作为新型陀螺,光纤陀螺得到了迅速的发展和应用。光纤陀螺(FOG)是利用光纤构成的一种环状干涉仪,属纯光学、静止型陀螺,通过萨格奈克(Sagnac)效应来实现旋转角速度的检测[1]。

由于光纤陀螺突出的技术特点和应用背景,光纤陀螺将在惯性元件领域占有非常重要的位置。光纤陀螺脉冲输出的采集,对于检验陀螺性能、提高陀螺精度、增强产品可靠性,具有重要作用。

1PSoC简介

2003年Cypress半导体公司推出了可编程片上系统(Programmable System on Chip,PSoC), 它不但集 8 位微控制器、可编程数字阵列和可编程模拟阵列为一体,而且实现了“在系统可编程”,既满足了一般电子系统的资源要求,又顺应了现代电子设计方法的发展方向,是第一种真正具有混合信号处理能力的片上系统(SoC)[2]。

PSoC是一种可编程的半导体器件,与现场可编程门阵列FPGA(Field Programmable Gate Array)、在系统可编程模拟器件 ispPAC(In-System Programmable Analog Circuit)和单片机相比,具有如下特点:

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)、开关式升压泵(Switch Mode Pump,SMP)、内部精密参考电压(Internal Voltage Reference)等。另外,PSoC同时具有片内和片外系统时钟源,可以不需要外部晶体振荡器即可自行工作。

PSoC的以上特点,使其在小型系统设计方面正在得到越来越广泛的应用。

2 系统核心器件CY29666-24PVXI

本系统采用PSoC芯片CY29666-24PVXI,来实现对光纤陀螺脉冲输出的采集。芯片CY29666-24PVXI的结构框图如下图1所示。它由4部分构成:PSoC Core、数字系统(Digital System)、 模拟系统 (Analog System) 和系统资源(System Resources)。其中,PSoC Core是PSoC器件的核心部分,包括M8C微处理器、SROM、32 K字节Flash、2 K字节SRAM、中断控制器、可编程的多时钟源、休眠计时器及看门狗等;数字系统和模拟系统并存,是PSoC芯片的独特之处。CY29666-24PVXI中有16个数字PSoC用户模块,如计数器功能模块、定时器功能模块、脉宽调制功能模块等;12个模拟PSoC用户模块,如 A/D、D/A、可编程增益放大器等;CY29666-24PVXI提供的系统资源包括:数字时钟、乘法加法器、采样抽取器、主从及多主模式的I2C、上电复位(Power on Reset,POR)和低电压检测电路(Low Voltage Detect,LVD)、系统复位电路、内部参考电压等[3]。

图1 CY29666-24PVXI的结构框图Fig.1 Block diagram of CY29666-24PVXI

3 系统硬件设计及硬件模块的配置

本系统的硬件部分包括信号预处理模块、脉冲采集模块及液晶显示模块,其总的框图如下图2所示[4]。

图2 系统硬件框图Fig.2 Block diagram of system hardware

3.1 信号预处理部分

脉冲信号是一种短暂、跃变的,达到一定跃变幅度的电信号。而对于输出信号为脉冲信号的光纤陀螺,为提高其输出信号的抗干扰性,本系统在光纤陀螺与PSoC器件之间加了一个光电耦合器HCPL-2630,完成信号的预处理。

光电耦合器对输入、输出电信号起隔离作用,HCPL-2630一般由3部分组成:光的发射、光的接收及信号放大。输入的电信号驱动发光二极管(LED),使之发出一定波长的光,被光探测器接收而产生光电流,再经过进一步放大后输出。这就完成了电—光—电的转换,从而起到输入、输出隔离的作用。由于光耦合器输入输出间互相隔离,电信号传输具有单向性等特点,因而具有良好的电绝缘能力和抗干扰能力。又由于光耦合器的输入端属于电流型工作的低阻元件,因而具有很强的共模抑制能力[5]。

3.2 脉冲采集部分

脉冲采集模块由定时器模块和计数器模块组成。PSoC芯片嵌入了强大的定时器功能模块。它拥有8位、16位、24位和32位可编程递减定时器。通过对定时器模块编程,用户可实现多种工作方式的定时器功能。PSoC的定时器模块由1个周期寄存器、1个同步递减计数器和1个捕获比较寄存器组成,结构如图3所示[6],每个寄存器大小都是1个字节。

图3 定时器模块结构图Fig.3 Block diagram of timer

当定时器不工作时,向周期寄存器(Period Register)写入一个周期值。当定时器工作时,周期值会被自动从周期寄存器中载入到递减计数器(Down Counter)中,随后,计数器将会执行递减计数操作直到0。在下一个时钟上升沿,周期值将会被重新载入,紧接着继续计数。递减计数器模块主要的功能是输出信号,它可以被配置成全时钟循环或者半时钟循环。

定时器具有定时、比较和捕获比较3种功能。本系统中运用其定时功能。原理如下:将系统的数字时钟或其他输入信号作为Clock,通过设置Period值即可获得相应的定时间隔,定时间隔T=(Period+1)/fClock。当递减计数器值减为 0时,定时器时间到,此时TerminalCounterOut将输出一个高电平脉冲,若设置了中断,则将产生定时器中断。

定时器的核心是一个递减计数的计数器,计数器功能模块和定时器功能模块具有相同的结构,都包含1个周期寄存器、1个同步递减计数器和1个捕获比较寄存器。两者的功能模块主要有如下的区别[7]:

1)计数器的数据输入是一个计数器的使能位而不是一个捕获输入,计数器不能用作异步捕获,当计数器被使能工作时,数据寄存器不能执行读操作;

2)比较器输出作为计数器的主输出,而计数器终止输出是作为辅助输出;

3)计数终止输出只能是全周期输出。

本系统中运用计数器的计数功能,其原理是:将光纤陀螺仪脉冲输出信号作为Clock输入,预先设定一个Period数值,通过读取减数计数器DR0数值的变化获得输入信号的计数值,计数值 C=Period-DR0。

3.3 显示器件的选择

PSoC集成开发环境(IDE)PSoC Designer5.0中有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 PSoC内部硬件模块图Fig.4 Inernal hardware block diagram of PSoC

4 软件设计

系统首先用8位定时器Timer8通过中断方式产生准确时间,而后调用计数子程序对光纤陀螺脉冲输出进行计数,最后调用显示子程序将采样结果在LCD上显示出来。其软件流程如下图5所示[8]。

需要注意的是,在定时器最终计数结束后的下一个系统时钟周期,定时器会自动重新加载计数初值。所以要在此之前读取计数器的计数值。此操作可以通过定时器的中断程序来实现。

图5 主程序流程图Fig.5 Flow chart of main program

5 测试结果

将应用层代码下载到PSoC程序下载软件环境PSoC Programmer 3.06中,进行仿真。本系统选用南京盛普仪器科技有限公司生产的SP1641D型函数信号发生器来模拟光纤陀螺的脉冲输出信号,测试周期为1 s,测试数据如表1所示。

表1 测试数据Tab.1 Testing data

由表1可看出,本测试系统能够精确测量频率范围在0.1Hz~1 MHz之间的光纤陀螺脉冲输出,并且误差小于万分之一,满足了实际的测试需求。

6 结束语

本设计以PSoC芯片CY29666-24PVXI为核心,完成了光纤陀螺脉冲输出的高精度采集。测试范围能够达到0.1Hz~1 MHz,误差小于万分之一。该设计电路简单、集成度高、性能稳定、抗干扰能力强、价格低廉、且可靠性高,充分体现了PSoC芯片的优点,在对光纤陀螺进行测试,提高光纤陀螺精度方面,有较大的价值。

[1] 周海波,刘建业,赖际舟,等.光纤陀螺仪的发展现状[J].传感器技术,2005,24(6):1-3.ZHOU Hai-bo,LIU Jian-ye,LAI Ji-zhou,et al.Developement status of fiber-optic gyroscope [J].Journal of Transducer Technology,2005,24(6):1-3.

[2] 罗胜钦.数字集成系统芯片(SOC)设计[M].北京:希望电子出版社,2002.

[3] 戴国骏,张翔,曾虹.PSoC体系结构与编程[M].北京:中国科学技术出版社,2005.

[4]黄苹.捷联惯导系统标定技术研究[D].哈尔滨:哈尔滨工程大学,2005.

[5] 武战强.光电耦合器介绍及应用 [J].家电检修技术,2007(8):61-62.WU Zhan-qiang.Introduction and application of optical coupler[J].Technology of Appliance Repair, 2007(8):61-62.

[6] Cypress Inc.DataSheet_Timer8[EB/OL].(2003).[2009-09-14].http://www.cypress.com.

[7] 叶朝辉,华成英.可编程片上系统(PSoC)原理及实训[M].北京:清华大学出版社,2008.

[8] Cypress Microsystems,Inc.PSoC Designer:C Language Compiler User Guide[EB/OL](2003).[2009-10-20].http://www.cypress.com/?docID=2724.

猜你喜欢

计数器功能模块寄存器
采用虚拟计数器的电子式膜式燃气表
STM32和51单片机寄存器映射原理异同分析
Lite寄存器模型的设计与实现
基于ASP.NET标准的采购管理系统研究
输电线路附着物测算系统测算功能模块的研究
计数器竞争冒险及其处理的仿真分析
功能模块的设计与应用研究
三值绝热多米诺可逆计数器设计
基于单片机的仰卧起坐计数器
高速数模转换器AD9779/AD9788的应用