APP下载

分布式资源库多路数据同步传输系统设计

2023-09-19邹文景唐良运

电子设计工程 2023年18期
关键词:误码率资源库时钟

甘 莹,邹文景,唐良运,孙 刚

(南方电网数字电网研究院有限公司,广东广州 510663)

目前,网络发展十分迅速,通信双方在网络上进行数据传输时,要想实现数据实时准确交流,协同工作必不可少。实现数据同步传输的首要条件就是接收方准确地知道发送方发送数据的时间和顺序,否则会产生很大偏差。同步传输的两个关键因素是位置和时间,接收方只有准时接收和处理数据,才能对数据进行准确合理解释[1-2]。

传统的多路数据同步传输系统主要有基于NTP 的数据传输系统和基于GPS 的数据传输系统,其中基于NTP 的系统主要应用在因特网中,但需要网络协议的支持[3]。而基于GPS 的数据传输系统,存在同步精度低的问题,无法达到亚微秒级的时间同步精度[4]。

分布式资源库是一个集成的系统,主要包括Web Service 中间体、存储节点和只读实例。分布式资源库的数据可以实现读写分离,存储效率极高,每个中间体之间可以完成数据的连接和互联互通。中间体用于管理存储节点,汇集查询结果,存储节点用于存储分表,只读实例是存储节点的从属[5]。

综上所述,该文设计了一种新的分布式资源库多路数据同步传输系统。

1 系统硬件设计

1.1 多路数据采集模块

多路数据采集模块主要负责分布式资源库多路数据的采集,如图1 所示。

图1 多路数据采集模块

观察图1 可知,多路数据采集模块主要由指令计数器、指令寄存器、存储单元、运算单元、数据传感器、放大器、ADC、CPID、电源部分以及压力传感器构成[6-7]。采集模块中的ADC 使用的是A/D7492,可以同时采集10 路分布式资源库的数据。CPID 能够控制采集与录入数据的顺序,并且决定着数据传输的速率。电源部分为ADC 和CPID 提供稳定的工作电压。为了使采集模块能够适应分布式资源库的采集,该文使用trigger 触发采样,trigger 的输出作为系统时钟的输入。

1.2 分布式资源库传输模块

分布式资源库传输利用PIC16f877 单片机的l01 型收发控制芯片实现,数据收发控制芯片采用RF24l01 芯片,工作电压为3.6~9 V,工作温度为-40~+85 ℃,有125 个不同频道信号可供选择,双向通信重发速率最高达到2 Mbit/s,具有自动进行应对和同时重发两种功能[8-9]。

传输模块以单向方式传输电流,模块内部芯片RFl01 采用了新型的Shock burst 通信技术,多通道数据的处理依靠Shock burst 技术简化了传输流程。通信过程中,当发送方向接收方发送数据后,接收方会对数据进行实时反馈,随机回传的数据信号将告知发送方数据发送的结果;如果数据未传输到接收方,则发送方会在一段时间后自动重新发送该数据,通过这种机制,接收方和发送方可以实现数据的同步传输,避免了数据的丢失[10-12]。

1.3 多通道数据通信接口设计

PIC16f877 单片机监控平台主机内部设有两个全方位主机双工中文串行系列并行输入口,接口基本工作结构功能很强,双工并列串行口可以同时使用4 种工作功能查询中断方式,以满足用户的不同使用需求[13]。多通道数据通信接口如图2 所示。

图2 多通道数据通信接口

根据图2 可知,多通道数据接口主要以corba 接口为核心,通过数据写入FIFO 实现信号输出,能保障数据传输效率的最大化。波特率中断参数设置可由片内控制软件自动进行设置,由片内的硬件中断中止定时器/硬件中断中止计数器自动计算产生,同时,通过硬件和软件查询中断数据的接收和传输[14-15]。

2 系统软件设计

系统软件工作流程如图3 所示。

图3 系统软件工作流程

2.1 多路数据全局时钟同步

为了对分布式资源库中的多路数据进行同步采样,设计多路数据全局时钟同步机制。采用全局时钟进行同步可以对数据流进行快速恢复,并采用锁相环将恢复后的数据进行精准分发,最后经过时钟调理后向下级节点发送。多路数据经过逐级传输后,最后汇总至数据源,完成多路数据的全局时钟分发。

2.2 分布式资源实时传输

分布式资源具有性能高、可用度高、扩展性强的特点。此次设计传输系统包括两路数据传输通道,其中一条通道负责发送系统的传输命令与恢复时钟的本地采集,此通道为下行通道;另一条通道负责以流水线的方式进行数据传输,流水线传输即通过单路节点逐级向上传输,此通道为上行通道。

2.3 分布式资源多路数据可解性传输

分布式资源由多种形式组成,在数据传输的过程中可能出现传输错误,为了有效保证分布式资源多路数据在线传输的准确性,通过检测帧类型和帧长度确定数据是否完整,利用CRC 分析数据冗余性,判断数据在传输过程中是否发生改变。

利用线性数据编码校验理论实现CRC 编码校验,采用多项式函数进行波特率的计算,具体计算公式为:

其中,M为波特率;T1为溢出率;MOD 为多项式函数;TH为定时器值;Fosc 表示监测系数。

根据式(1)得到:

数据接收端通过逻辑算法同时检测所有数据,通过并行传输的方式检验逻辑正确性和数据完整性。

实际设计使用中,选择多项式函数,计算公式为:

其中,g(x)为多项式函数;x为被检测的逻辑数据。当数据再次上传时,每一级上传节点都会对上传数据帧状态进行三种动态校验,当出现异常时,丢弃异常以及校验存在问题的数据,将保留的数据传输至下一级。因此在每个级别的节点处都需要缓存模块,以便进行数据校验,保证数据的完整性[16]。

3 实验研究

为了检测该文设计的分布式资源库多路数据同步传输系统的有效性,选用该文系统和基于NTP 的数据传输系统和基于GPS 的数据传输系统进行实验对比。

通过无加扰模式对数据子波的运行状态进行分析,确定置零抑制情况,该文选用的实验环境如图4所示。

图4 实验环境

观察图4 可知,该文设定的实验环境主要由监测仪表、数据黑匣子、RAM 存储器、USB 摄像头、Kinect 体感传感器和LCD 控制器组成。

设定实验参数如表1 所示。

表1 实验参数表

根据上述参数进行实验,选用三种系统进行对比实验,计算数据传输误码率,计算公式如下:

其中,W表示传输误码率;Z表示误码数据量;V表示传输的总数据量。得到同步传输系统的误码率实验结果如图5 所示。

图5 同步传输系统误码率

根据图5 可知,随着时间的增加,三种传输系统的误码率也在不断增加,但该文设计的传输系统误码率远低于两种传统系统。该文设计的系统采用VME 总线进行数据传输,引用全局时钟分发机制,使多通道数据进行同步传输,并通过误码率验证实验,证明该文设计系统能够降低多路数据同步传输的误码率。

造成这种现象的原因是该文设计的系统时钟恢复主要通过芯片里的时钟恢复和锁相环功能模块实现,将时钟调制在数据流中,达到同步传输的目的。得到恢复的时钟后,本地锁相环进行相位的校准,以提供给ADC 采样使用。分布式资源中的部分数据往往只有读取、删除和修改操作,传输效率较高。为了实现分布式资源的实时传输,采集节点逐级上传采用两级乒乓FIFO 缓存的方法实现,其中第一级乒乓FIFO 负责本地数据帧的缓存在;第二级乒乓FIFO负责当前节点数据帧和后级节点数据帧的缓存。第一级乒乓FIFO 的输出接入第二级乒乓FIFO 的输入,使得当前节点和后级节点的数据帧能够无间断地实时上传,不会出现丢帧的情况,减少误码。

系统传输数据的延迟时间如表2 所示。

表2 系统传输数据延迟时间实验结果

根据表2 可知,该文系统的传输延迟时间较短,GPS 系统的延迟时间最长。该文设计系统使用本地ADC 采样时钟,同时本地PLL 调节相位,使其与恢复时钟相位对齐,由于多路数据之间的数据长度是固定的,所以传输延迟也是固定的,前级发送时钟和本级恢复时钟有固定的相位差,此相位差可以事先测量好,通过本地PLL 进行相位补偿去除。前路数据发送时钟,后路数据时钟恢复后,输入本地PLL,本地PLL 输出两个时钟,一个给本地ADC 使用,一个发送给后路数据。

分布式资源数据交叉节点由于需要将三个方向传输上来的数据上传,因此没有采用乒乓缓存的方法,而是将数据缓存在RAM 中,采用先到先转发的机制,将数据上传。当数据帧传输到汇总节点时,汇总节点上的FPGA 根据协议对数据帧进行剥离,将多通道数据进行时序转换、浮点数转换等操作,在数据完全上传完毕后,通过USB 或以太网接口向分析控制系统实时上传,从而完成整个分布式资源的实时数据传输。

4 结束语

随着互联网的不断发展,人类产生的数据量越来越多,分布式资源的出现大大缓解了数据库所面临的挑战。分布式资源具有可弹性伸缩的结构,能够实现自动化拆分,扩展了服务的能力。该文利用全局时钟分发的机制,实现了分布式资源多路数据的同步传输,传输过程采用两级乒乓FIFO 缓存法,并辅以CRC 校验算法,在确保多路数据同步传输的同时,保证了数据传输的准确性。该文未验证系统长时间工作状态下的实时传输性能以及长距离传输状态下的错误率,在下一次的研究中,将对这两点进行验证。

猜你喜欢

误码率资源库时钟
面向通信系统的误码率计算方法
别样的“时钟”
健身气功开放课程资源库建设研究
古代的时钟
贵州●石斛种质资源库
有趣的时钟
高中历史信息化教育资源库应用探索
福建基础教育教学资源库建设研究——以福建基础教育网资源库为例
时钟会开“花”
泰克推出BERTScope误码率测试仪