GPS(Global Positioning System)全球定位系统是美国发射的24颗GPS地球卫星所组成的具有能提供全球全天候导航、定位、授时功能的系统。美国政府宣布2000年至2006年期间,在保证美国国家安全不受威胁的前提下,取消SA政策,利用C/A码进行单点定位的精度由100米提高到10米,GPS民用信号精度在全球范围内得到改善,这进一步掀起了GPS应用的热潮,刺激GPS技术与科技和生产领域的结合。诞生了大量的GPS的应用成果。如相量测量装置PMU就是利用了GPS来解决了电力系统广域空间同步测量的问题。
随着时代的发展,如今对数据采集在通信,电力和建筑等特殊应用场合又提出了新的要求,希望能够对被测系统不同节点的物理量行同步采样,能够实时获知采样点的精准时刻和地理位置然后将这些信息实时传送到主监控系统,根据采集来的测量信息对系统的状态进行分析,控制及事故预警。
传统的数据采集装置是用晶振产生的时钟频率经分频后提供的采样信号,虽然随着科技水平的提高出现越来越多的高精度的晶体振荡器,采样频率的精度也越来越高,但是在异地同步高精度的测量要求中传统的数据采集方式在理论上已经不再同步了,而且随着时间的推移单一晶振的时钟系统会出现一系列的老化和漂移特性,已经越来越不能满足新时期下同步数据采集的应用。为此,本文探讨了一种采用了GPS这一新型授时方法,充分利用了数字信号处理器TMS320F2812 DSP丰富的片上资源,以GPS秒脉冲为同步时钟信号,结合其片上12位A/D可支持16通道芯片进行采样,并以USB 2.0接口通信方式实现高速、大容量的数据传输,来构建同步数据采集系统以满足多测量场合的应用。
1 GPS授时系统
GPS卫星授时系统主要由空间卫星系统、地面卫星控制部分和用户接收设备组成。其中用户设备就是指GPS接收机。本文所选择的接收机是GARMIN公司的GPS25 OEM板,该OEM板为12通道的GPS接收机,可以同时跟踪其视野范围内内多达12颗GPS卫星,通过接收来自天线单元的信号,并通过变频、放大、滤波等一系列处理对得到的导航电文的解码和处理后,输出间隔是1 s的同步脉冲信号1PPS和的由RS-232标准串口输出串行数据UTC(协调世界时)如图1所示。1PPS秒脉冲前沿与UTC同步误差不超过1μs。
GPS25 OEM串口输出输出信号符合美国国家海洋电子协会制定的NMEA-0183通信标准格式。其输出数据采用的是ASCII码,数据更新时间为1 s,数据格式设置为1个起始位,8个数据位,1个停止位,无奇偶校验。输出默认波特率为4 800。内容包含纬度、经度、高度、速度、日期、时间、航向以及卫星状况等信息,常用语句有6种,包括GPGGA、GPGLL、GPGSA、GPGSV、GPRMC和GPVTG。本文只考虑其时间、经纬度信息,通常采用GPRMC定位信息来获得所需信息,GPRMC语句如下:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
<1>UTC时间,hhmmss(时分秒)格式
<2>定位状态,A=有效定位,V=无效定位
<3>纬度ddmm.mmmm(度分)格式
<4>纬度半球N(北半球)或S(南半球)
<5>经度dddmm.mmmm(度分)格式
<6>经度半球E(东经)或W(西经)
<7>地面速率
<8>地面航向
<9>UTC日期,ddmmyy(日月年)格式
<10>磁偏角
<1l>磁偏角方向,E(东)或W(西)
<12>模式指示
其中:$为语句起始标志;GPRMC为识别符;逗号为数据区分隔符;*为效验和识别符;hh为效验和;
秒脉冲的上升沿对应着一精准的UTC时刻。可以先对GPS接收机的1PPS秒脉冲进行整形,用经过整形信号的上升沿对DSP中断进行控制或触发计数器进行分频处理,同时从RS-232接口传输来的GPRMC语句通过DSP的串口输入可以方便提取到UTC时刻,地理经纬度信息。本文中使用GPS25 OEM板其授时精度优于200ns,定位精度可达5 m以内基本可以满足异地同步数据采集的需求。
2 采集系统的硬件构成
数据采集系统系统采用的核心芯片是美国TI公司生产的TMS320F2812 DSP处理器,它采用改进的哈佛结构,具有独立的数据和地址总线,支持多级流水线操作片上集成了定时器,锁相环,通用I/O接口和串行通信接口等。与单片机相比具有更为强大的数字处理和控制能力特别适合结合GPS接收机实现数据采集。
如图2所示,整个系统主要分为GPS信号接受模块,DSP控制模块,模拟量输入模块,采样脉冲发生模块和数据通信模块。
文中基于GPS的同步数据采集方法基本过程是通过GPS25 OEM接收机输出的1PPS秒脉冲信号作为DSP外部中断输入源来触发分频计数器来产生采样脉冲设备来保证被测信号在同一个时刻开始采样。为保证点采样频率的高度一致性,可以采用高精度温补晶体振荡器TCOX,其工作频率为10 MHz,频差不大于2 ppm。输出的振荡信号经过整形、电平转换后经计数器分频得到满足采样率的同步高精度的采样信号。为了进一步消除晶振电路给采样频率带来的累积误差,晶振产生的时钟钟信号每隔1 s被1PPS信号的上升沿同步一次,使得被测的模拟输入量经过低通滤波后被严格建立在GPS时间基准上的同步采样系统所采样。模拟量采样后经A/D转换依次转换后按顺序放入固定RAM区。DSP通过SCI接口从GPS25OEM接收机的串行数据发送端TX中提取到秒脉冲上升沿所对应的UTC时刻和地理经纬度坐标,从第一个采样点按顺序为每一个采样点置以便于识别的时间标签和地理位置坐标,最终将各测量量连同其对应的时间地理标签按照一定的数据格式,经过USB2.0数据线上传到上位机。
3 通信接口设计
传统的数据传输大多采用RS 232、RS 485接口传送,但是对于异地同步大容量的数据上传传统的通信模式就暴露出传输输速度较慢,时延大,易出错的缺点。利用USB接口就能有效实现数据远程海量的双向传输,而且USB传输速度可高达480 Mbps支持单点的热插拔可以有效地实现本地数据的携带转移。
本系统通信接口电路采用USB2.0接口,其控制器芯片选用CYPRESS公司的CY7C68013。CY7C68013遵从USB2.0规范,包括一个增强型的51内核与8051指令集兼容,USB2.0串行接口引擎SIE、USB收发器、8.5KB片上RAM、4KBFIFO以及一个通用可编程接口GPIF。CY7C68013与外设有两种接口方式:GPIF和SlaveFIFO。GPIF是主机方式,可以由软件设置读写控制波形,灵活性很大,几乎可以对任何8/16bits接口的控制器、存储器和总线进行数据的主动读写,使用非常灵活。而Slave FIFO方式是从机方式,工作方式可设为同步或异步,外部控制器DSP可象对普通FIFO一样对FX2的多层缓冲FIFO进行读写。本文采取的是Slave FIFO接口方式。电路中CY7C68013作为TMS320F2812的外设,它采用异步存储器接口与DSP相连接,上位PC机可以唤醒CY7C68013并对USB芯片。DSP2812将CY7C68013配置在其子空间采用异步读写方式完成二者之间的数据和命令的交换。
USB 2.0控制芯片的选择和接口方式的确定后,还要完成USB固件和驱动程序设计。固件程序负责接收并处理USB驱动程序和应用程序的控制指令从而使硬件让设备实现双向数据交换。CYPRESS公司针为CY7C68013芯片提供给出了一个Firmware库和Firmware框架。USB固件程序文件基于Firmware框架主要由fw.c、FPUSB.c、dscr.a51、USBJmpTb.OBJ、Ezusb.lib五部分组成。用户只需要Kei C51开发环境下修改文件FPUSB.c和dscr.a51中的代码来调用任务分配、设备请求和中断处理等函数来处理USB事件,在TD_Init()、TD_Poll()两个任务分配函数中添加初始化代码和完成特定功能的代码从而实现了芯片初始化、处理USB标准设备请求以及电源管理等功能。最好将编译后产生的.hex文件载入芯片就能与主机进行基本的USB通信。
4 软件设计流程
基于GPS的数据采集系统程序在TI公司提供的CCS集成开发环境下进行。系统软件主要由系统主程序,串口中断服务程序数据采集中断服务程序组成。程序流程如图3~5所示。基本的过程是系统上电以后,程序程将对DSP片上组件包括时钟,ADC,定时器,IO口,串口以及通过串口TXD对GPS25 OEM板实现初始化。系统初始化后设置中断向量,等待响应中断服务程序。待DSP接收到GPS25LP板会给出相应信息,开始接收GPS25 OEM板传送来的串行数据,DSP识别到“$GPRMC”语句后可以确定GPS数据处于有效数据的起始位置,开始数据的接收。如果数据的起始符和标示符有误则重复查询过程。接收到有效数据从中筛选出时间(转换成北京时间)和经纬度信息后对由GPS秒脉冲同步的采样信号采集来测量量打上时间和经纬度标签,在片内RAM中储存,再送入发送缓冲区,最后通过USB2.0上传到PC机中分析和处理。
5 结束语
文中将TMS320F2812与GPS25 OEM接收机相结合,设计了一种通用的同步数据采集处理系统。该系统能实现对异地的数据进行同步采集并记录测量点准确测量时间和地理位置信息,并对采集的数据通过USB2.0实现高速实时的上传。基于GPS的数据采集系统在电力系统测量,机电保护,通信测量等领域有着非常广阔的应用前景。
作者:许辉 王紫婷 来源:电子设计工程