首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

高速数据采集系统中精确时标的CPLD实现方法

高速数据采集系统中精确时标的CPLD实现方法

关键字:ADuC812   时间标签   CPLD   GPS  
  0  引言

  基于GPS的双端行波故障定位系统是利用行波的第一个波头到达线路两端的时间差来计算故障点的位置,由于行波的传播速度非常快(约为光速的98%),这就对线路两端行波波头到达时刻的时间精度要求非常高。但相对于高速数据采集系统而言,单片机系统对时间的分辨能力是很低的(设51系列CPU的时钟频率为12MHz,则计数器(T0或T1)对时间的最小分辨能力为2μs)。而且单片机系统还不能直接地得到故障发生时对应于静态RAM的确切地址,所以如果只利用单片机系统给采集数据贴上时间标签,则时间精度和时间标签的可靠性会大大降低,这样会直接影响到故障测距的精度。

  1 相关内容简介

  1.1 GPS简介

  全球定位系统(GPS)是美国于1993年全面建成并运行的新一代卫星导航、定位和授时系统。电力系统中主要是利用GPS的精确授时。GPS接收器在任意时刻能同时接收其视野范围内4~8颗卫星信号,其内部硬件电路和处理软件通过对接收到的信号进行解码和处理,能从中提取并输出两种时间信号:一是时间间隔为1s的脉冲信号1PPS;二是经串行口或RS-232输出的与1PPS脉冲前沿对应的国际标准时间和日期代码(年、月、日、时、分、秒)[1]。

  GPS接收器提供的1PPS信号实际上是以秒为计时单位、精度为1us的国际标准时间信号,这种信号在地球上任何地方都能比较可靠地接收到。因此,若以该信号作为标准时钟源去同步电网内运行的各时钟,则能保证各厂站时钟的高精确度同步运行[1]。

  1.2 ADuC812简介

  ADuC812芯片是由美国AD(Analog Device)公司推出的微转换器。它是一个完整的数据采集微系统,它的组成为:一个8通道、5μs转换时间、精度自校准、12位精度、逐次逼近的ADC转换器;两个12位的数模转换器(DAC);10.5KB的闪存E2PROM;具有16位计数/定时器和32条可编程I/O接口的8051/8052微控制器,256字节的SRAM[2]。由于ADuC812的特殊功能寄存器组中添加了一个DPP(地址为84H),它与特殊功能寄存器DPH、DPL配合,使得ADuC812能够访问16MB的外部数据地址空间。ADuC812的应用开发比较方便,它的内核是国内技术人员都很熟悉的Intel8051,用户现有软件都可以直接移植。

  1.3 MAX 7000系列CPLD器件及MAX PLUSⅡ开发平台简介

  本次设计选用ALTERA公司的MAX 7000系列器件。MAX 7000系列的高性能和高密度是基于它先进的多重阵列矩阵架构(Multiple Array Matrix),它采用E2CMOS工艺制作,传播延迟最小为3.5ns,可以实现速度高于200MHz的计数器,并且为高密度的器件提供了非常宽的选择余地,非常适合高速设计时应用。该公司推出的MAX PLUSⅡ软件是一款易于使用的开发工具,其界面友好,集成化程度高,兼容工业标准,支持FLEXMAXACEX1K等系列产品[3]。CPLD要实现的逻辑功能一般是在MAX PLUSⅡ环境下通过硬件描述语言(VHDL)开发出来的,并能脱离硬件(CPLD)对设计方案进行仿真,在确认逻辑功能正确无误的情况下,通过并行口下载“烧结”到CPLD器件中。“烧结”有不同设计人员“思想”的CPLD器件所实现的逻辑功能是千变万化的,正因为如此,对CPLD器件的开发是相当灵活的。

  2  实现方案

  针对前面提到的问题,本文提出一种利用CPLD器件巧妙解决此问题的方法。高速AD转换器件、地址发生器、地址计数器、计时器在时钟源CLK(5MHz)的同步下以统一的步调工作。ADuC812初始化时P3.5置“0”,P3.4发出清零脉冲同时对地址发生器和地址计数器清零。在故障信号出现时,ADuC812对P3.5置“1”,计时器和地址计数器同时停止计数,暂态信号记录完毕后,ADuC812分时读出计时器中的值并将该数值保存在双口RAM中,此值即为精度为0.2μs的时间信息,分时读出地址计数器中的值并将该数值保存在双口RAM中,此地址的精确时间即为计时器中的计数值。这样就为高速数据采集系统中的采集数据贴上精确的时间标签。本系统的硬件原理图如图1所示。


  2.1 ADuC812的工作过程

  ADuC812初始化时P3.5置“0”,同时P3.4发出清零脉冲使地址发生器和地址计数器同步计数。ADuC812控制内部的ADC转换模块对经过调整的取自电流互感器二次侧的电流进行AD转换,采用半波比较,在每个工频内采集36个点,分别用第n个点和第n+18个点、第n+1个点和第n+19个点比较,依此类推,如果大于事先设定的门槛值即认为故障已经发生。ADuC812使P3.5置“1”,计时器和地址计数器同时停止计数,计时器中的数据即为地址计数器记录的对应于静态RAM相同地址采集数据的时间标签,由于高速AD转换器件的转换频率固定(本次设计为5MHz),所以,可以此为基准为整个静态RAM中的采集数据贴上时间标签。
返回列表