如今,数据采集系统很多,有基于数字信号处理器 DSP 设计的,也有基于现场可编程门阵列 FPGA 设计的,这些采集系统尽管采集处理数据能力不差,但大多都采用传统授时模式。
而异地同步测量是工程中经常用到的方法,如果用传统的授时模式,其时钟频率的产生是用晶体,而晶体会老化,易受外界环境变化及长期的精度漂移影响,造成授时精度下降,这样异地同步测量的数据其实在理论上已经不再同步、同时了。本系统采用 GPS 新型授时方法,结合 DSP 技术和 USB 通信技术设计的数据采集系统能较好地解决这个问题。
数据采集系统模拟量输人、同步采样控制、A/D 转换以及微处理器和接口组成,如图 1 所示。
模拟量输入部分设有多个通道(如 16 路),可用来对若干路电压和若干路电流同时测量。来自 PT 或 CT 副边的电压或电流,经隔离变换、模拟低通滤波后,被建立在 GPS 时间基准上的同步采样系统所采样,经依次 A/D 转换后按顺序放入固定 RAM 区。DSP 根据递归 DFT 算法,每来一个新的采样点计算一次所有被测量的各相基波分量,然后利用 GPS 接收器串口提供的时间信息和数据窗第一个采样点的顺序编号,给计算结果置以便于识别的“时间标签”。计算得出的各相量连同其时间标签按照一定的数据格式,经过 DSP 总线和 USB2.0 数据线送往 PC 上位机进行处理和分析。
2 基于 GPS 授时的同步采样控制单元同步采样是实现异地同步测量的关键技术,只有各测量点的采样是同步进行的,同一时刻计算出的相量具有统一的参考时问基准,其相位关系才可直接进行比较。本文讨论了无线电广播、LORANC、OMEGS、GOES、GLO-NASS、GPS 这六种不同的授时方法。这些授时方法的误差比较如表 1 所列。
通过比较不难看出,传统的时钟同步方法由于受技术和经济等因素的影响,在精度和实用性上很难满足异地同步测量的要求;只有 GPS 精密授时方法的优越性能满足要求。为此,本文所介绍的是一种基于 GPS 时间信号的最新时钟同步方法。
2.1 GPS 系统简介
GPS(Global Positioing System,全球定位系统)是美国研制的第二代卫星导航系统。GPS 系统由空间部分、地面控制部分和用户设备组成。空间部分主要由 21 颗工作卫星和 3 颗备用卫星组成。在地球的任意处(有 360°的视野)至少可以看到 3 颗卫星(根据笔者实际用的情况看)。地面控制部分包括监测站、主控站和注入站。用户设备就是 GPS 接收机,本系统所选择的接收机是 GPS-OEM 板(型号是 GPS15L,在 2.3 小节会详细讨论),它根据自己时钟和接收到的导航电文计算出接收机(天线)所在的位置和 GPS 时间。
2.2 GPS 授时原理
目前的定时型 GPS 接收机,在其内部时钟与 GPS 时间同步后,将给出与 UCT 时间同步的 1 pps(秒脉冲)信号及其对应的时间代码,如图 2 所示。
2.3 同步采样控制单元硬件
在设计该模块时,选择 Garmin 公司研制开发的 GPS15L OEM 板和单片机 AT89C51 分别作为 GPS 接收机和控制器。该模块体现了整个系统要用到的 GPS 授时技术,工作原理如下:系统上电复位后,单片机通过串口 TXD 实现对 GPS15L 板初始化,设置 GPS 接收机传送的数据格式。初始化完毕后,GPS15L 板会给出相应信息,单片机识别到这些信息后,开始接收 GPS15L 板传送来的时间数据,并对它进行处理,将其转换成北京时间输出。如图 3 所示,单片机 AT89C51 的串行口 RXD、TXD 分别和 GPS15L 板的 TXD1、RXD1 连接起通信作用。由于 TXD 既要在上电时给 GPS15L 板发出初始化命令,又要在初始化完毕后传送北京时间,因此为了不使两阶段的工作相互影响,用 P1.0 口线和若干逻辑门来控制通信的先后顺序。GPS15L 板初始化后,还会输出秒脉冲信号。1pps 信号有一路作为单片机的外部中断源,以实现时间信息的同步处理,另外也用来监测信号是否正常。还有一路信号可由单片机 P1.1 口进行控制,根据监测的结果决定是否需要将其传送给下一级控制器。
另外,本电路选用的高稳晶振是 OCXO 型号的稳补晶体振荡器,其工作频率为 1 MHz,频差不大于 10-7。它输出的振荡信号经过整形、电平转换变为适合 TTL 电路的电平,经计数器分频后得到满足采样率要求的时钟信号(采样率可调)。该时钟信号每隔 1 s 被 1 pps 信号的上升沿同步 1 次,使之运行在 GPS 时间基准上。由于 1 MHz 晶振的稳定度很高,1 s 内漂移不超过 1μs,因此得到的同步采样脉冲精度很高。
3 ADC 与 DSP 的接口部分
DSP 芯片采用美国德州仪器(Texas Instruments)公司研制的数字信号处理器 TMS320F2812。它是一个 32 位定点运算、集成度高、性价比高的 DSP 芯片。
数据采集系统选用 ADS8361 作为片外 ADC 模块,虽然 TMS320F2812 有 16 通道的 12 位 ADC,但是为了进一步提高系统的 A/D 转换精度,增加了片外外设 ADS8361。ADS8361 是 2+2 通道,16 位的 A/D 转换器;它同 ADS7861(12 位)完全兼容,可以与 F2812 数字信号处理器直接接口使用。它是由四通道差分输入分成两组分别连接到独立的转换器上的,可以完成双信号的同时采集,最高转换速率可以达到 500 kHz。它工作在 50 kHz 频率时具有极强的抗干扰能力,特别适合数据采集的高采样率要求的场合。此外,ADS8361 还提供高速双串行接口,可以有效地减少软件开销,并且功耗非常低,只有 150 mW。
3.1 ADS8361 与 TMS320F2812 接口电路设计
TMS320F2812 处理器提供多通道缓冲串口(McBSP)和串行外设接口(SPI),两种串口都可以与 ADS8361 接口。根据设计的需要,本系统采用的是 McBSP 的接口扩展方式。在 ADS8361 与 TMS320F2812 的接口硬件设计时,为避免数据信号产生振铃,特意考虑在 DSP 与 ADS8361 之间增加吸收电阻。由于 TMS320F2812 只有一个 McBSP 接口,因此必须将 ADS8361 设置在模式 2 和模式 4。 TMS320F2812 与 ADS8361 的硬件接口电路如图 4 所示,ADS8361 的 CLOCK、(RD+CONVST)和 SDA 引脚分别连接到 McBSP 的 CLKX、(FSX+FSR)和 DR 引脚。由于 McBSP 上只连接一个 A/D 转换芯片,片选信号(CS)直接接地,如果需要扩展多个 A/D 转换芯片,则可以采用 GPIO 控制片选信号;同时使用通用 I/O 控制 ADS8361 的工作模式,使 M0=0,M1=1;DX 控制 ADS8361 的通道选择。
3.2 模拟输入信号调理电路的设计
电力系统的相电流和相电压分别经过 CT 和 PT 变换后,输出为标准±10 V 的模拟电压信号。此模拟电压信号需要经过前端的低通滤波器,滤除不必要的高频噪声信号,以及将模拟输入信号范围由±10 V 变换成后端 A/D 所能接受的信号范围。每一路的模拟调理电路如图 5 所示。
4 USB 接口通信电路部分
通信电路采用 USB 接口,USB 接口芯片选用 Cypress 公司的 CY7C68001。CY7C68001 与 TMS320F2812 的连接电路如图 6 所示。
CY7C68001 作为 TMS320F2812 的外设,采用异步存储器接口与 TMS320F2812 相连接,上位 PC 机可以唤醒 CY7C68001,也可以配置 USB 芯片。USBCS 是 CY7C68001 的片选信号线,在 USBCS 为低电平时,CY7C68001 采用异步读写方式完成二者之间的数据和命令的交换。
CY7C68001 有两种对外接口,分别是 FIFO 数据接口和命令口。数据采集系统将这两种对外接口配置在地址范围是 0x004000~0x004004 的空间,分配如表 2 所列。TMS320F2812 通过 CY7C68001 的 FIFO 数据接口可以访问 4 个 1 KB 的 FIFO 中的数据,而 FIFO 数据接口的选择是通过控制地址线 A[2:0]来实现的。当 TMS320F2812 的地址线 A[2:0]为 100B 时,选中 CY7C68001 的命令口,然后通过命令口可以访问 37 个寄存器、Endpoint0 缓冲器(64 字节 FIFO)和描述表(500 字节 FIFO)等。如果将 Endpoint0 缓冲器和描述表也看成寄存器,那么单个命令口内含了众多的寄存器,对这些寄存器进行读/写访问采用二次寻址方式,即首先通过命令口将要寻址的寄存器子地址和操作类型(读操作或写操作)写入,然后再通过命令口将数据读出或写入相应的寄存器。
CY7C68001 还有一个中断信号 USBINT 和 4 个状态信号(USBREADY、FLAGA、FLAGB、和 FLAGC)。中断信号 USBINT 占用 TMS320F2812 的外部中断 XINT1,状态信号 USBREADY、FLAGA、FLAGB 和 FLAGC 配置在另一个扩展的寄存器中, TMS320F2812 可对其进行查询,从而得到 USB 的状态。USB 芯片的 WAKEUP 也配置在另一个扩展的寄存器中,TMS320F2812 通过对这个寄存器的写操作达到唤醒 USB 的目的。
5 系统的软件部分系统的软件部分包括主程序和各中断程序以及系统与上位 PC 机的 USB 通信程序。主程序完成各变量及串行口的初始化,并利用傅里叶变换算法计算出各采样点的实部和虚部。中断程序包括 A/D 转换程序、GPS 时间信息的读取程序等。本文重点介绍用于读取 GPS 接收器串口输出的中断响应程序的设计思路,程序流程如图 7 所示。
6 电源设计
电源电路采用降额设计,并采用高精度电源电路,可保证供电系统的可靠性。
① ADS8361 的内部参考电源为+2.5 V。
② GPS15L OEM 板的供电电压为 3.3~5.4 V,GPS 接收天线的供电电压为 3.0 V。
③ TMS320F2812 要求双电源(1.9 V 和 3.3 V)为 CPU、Flash、ROM、ADC 和 I/O 接口供电。
当上电时,为了保证芯片内各个模块的正确复位,TMS320F2812 供电需要满足一定的时序。该系统先给所有+3.3 V 的电源引脚(VDDIO、VDD3VFL、VDDA1、VDDA2、VDDREF)上电,再接通 1.9 V(VDD、VDD1)的芯片内核电源;当 VDDIO 的电压上升到 2.5 V 时,VDD 才上升到 0.3 V,这样才能保证片内各个模块上电时能正确复位。掉电时,在 VDD 下降到 1.5 V 之前,系统复位。这样才能保证在 VDD、VDDIO 掉电之前片内 Flash 模块正确复位。该系统设计中,选用 TI 公司提供的双电源输出、Low- Dropout 型电源 TPS76801QDR 来给 TMS320F2812 供电,实现上述的供电时序。
结 语本数据采集系统为四通道,A/D 转换精度为 16 位,转换精度高并且抗干扰能力极强,通过 USB 能够实时海量传输所采集到的数据。另外最重要的是,用 GPS 授时模式代替传统授时模式,特别适合需要异地同步采集的场合。例如:在高速电气化铁道电气参数参量中,为了能够同步获得列车电流、位置以及钢轨电位、钢轨电流、吸上线电流,只需要在列车上和钢轨地面两个测量点同时使用同样的数据采集系统,这样测得的相量数据就有统一的时间基准,便于科学地分析这些参数。