Spi长距离通信传输中校正时延的方法及系统的制作方法

文档序号:9474099阅读:1916来源:国知局
Spi长距离通信传输中校正时延的方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据传输领域,特别是涉及一种SPI长距离通信传输中校正时延的方法及系统。
【背景技术】
[0002]OLT(Optical Line Terminal,光缆终端设备)设备的常规产品形态都是采用背板设计,主控通过SPI (Serial Peripheral Interface,串行外设接口)的接口总线实现业务板的配置信息的读取和设定。而OLT设备主控和业务之间的管理通道的走线很长,当主控和背板走线过长时,传输线的延时会增加很多,主控的数据访问因为传输延时就会出现数据采样严重失真的现象。现有的常规设计中只是在总线两边增加数据的缓冲来增加总线的驱动能力以实现总线的长距离传输,但是却不能解决由于长距离走线传输所造成的时延而导致主控板卡在接收业务板卡回传数据时不能正确采样的问题。

【发明内容】

[0003]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种SPI长距离通信传输中校正时延的方法及系统,用于解决现有的OLT设备因走线长而引起的传输中产生延时造成的数据采样失真的问题。
[0004]为实现上述目的及其他相关目的,本发明提供一种SPI长距离通信传输中校正时延的方法,用于主控SPI接口和业务SPI接口之间的长距离走线通信,所述时延校正方法包括:
[0005]提供第一 CPLD算法单元,将所述第一 CPLD算法单元通信连接于所述主控SPI接口和所述长距离走线之间;
[0006]提供第二 CPLD算法单元,将所述第二 CPLD算法单元通信连接于所述业务SPI接口和所述长距离走线之间;
[0007]由所述第一 CPLD算法单元发送特定前导码数据经长距离走线传输至所述第二CPLD算法单元;
[0008]由所述第二 CPLD算法单元接收所述特定前导码数据并经所述长距离走线将接收的所述特定前导码数据回传至所述第一 CPLD算法单元;
[0009]由所述第一 CPLD算法单元计算回传的所述特定前导码数据在传输中的数据延时时间;以及
[0010]由所述第一 CPLD算法单元将计算得出的所述数据延时时间发送给所述主控SPI接口,以使得所述主控SPI接口在接收来自所述业务SPI接口传送的数据时,将时钟自动延时对应所述数据延时时间的时间长度之后再进行数据采样。
[0011]优选地,由所述第一 CPLD算法单元计算回传的所述特定前导码数据在传输中的数据延时时间,包括:
[0012]设定一时延长度,所述第一 CPLD算法单元根据所述时延长度接收经回传的所述特定前导码数据;
[0013]由所述第一CPLD算法单元比较发送的特定前导码数据与接收的经回传的所述特定前导码数据,若比较结果相同则所述数据延时时间为所述时延长度的一半,若比较结果不同则增加时延长度并重复发送特定前导码数据再进行比较,直至比较结果相同为止。
[0014]优选地,当比较结果不同时,增加后的时延长度为当前的时延长度和设定的时延长度之和。
[0015]优选地,由所述第一 CPLD算法单元发送特定前导码数据经长距离走线传输至所述第二 CPLD算法单元之前,还包括:
[0016]由所述第一 CPLD算法单元从所述主控SPI接口处获取时钟作为参考时钟而后阻塞所述第一 CPLD算法单元与所述主控SPI接口之间的数据通信;
[0017]由所述第一 CPLD算法单元根据所述参考时钟形成需发送的特定前导码数据。
[0018]优选地,还包括:
[0019]提供第一数据缓存器,将所述第一数据缓存器通信连接于所述第一 CPLD算法单元和所述长距离走线之间,
[0020]提供第二数据缓存器,将所述第二数据缓存器通信连接于所述第二 CPLD算法单元和所述长距离走线之间;
[0021]通过所述第一数据缓存器和所述第二数据缓存器为需经所述长距离走线传输的数据增强信号的驱动能力。
[0022]本发明还提供了一种SPI长距离通信传输中校正时延的系统,包括主控SPI接口单元、与所述主控SPI接口单元通信连接的第一 CPLD算法单元、与所述第一 CPLD算法单元通信连接的背板连接单元、与所述背板连接单元通信连接的第二 CPLD算法单元、以及与所述CPLD算法单元通信连接的业务SPI接口单元;
[0023]所述主控SPI接口单元和所述业务SPI接口单元通过所述背板连接单元传输数据以进行通?目;
[0024]所述第一 CPLD算法单元用于通过发送特定前导码数据和接收经回传的特定前导码数据计算得出所述背板连接单元中传输数据的数据延时时间,所述第一 CPLD算法单元将所述数据延时时间发送至所述主控SPI接口单元;
[0025]所述第二 CPLD算法单元用于接收所述第一 CPLD算法单元发送的所述特定前导码数据并回传给所述第一 CPLD算法单元。
[0026]优选地,所述第一 CPLD算法单元包括检测时钟模块、与检测时钟模块连接的前导码数据生成模块、以及与所述前导码数据生成模块连接的解析回环码模块;
[0027]所述检测时钟模块用于检测所述主控SPI接口单元的时钟作为参考时钟;
[0028]所述前导码数据生成模块用于根据所述参考时钟生成所述特定前导码数据并阻塞所述主控SPI接口单元和所述第一 CPLD算法之间的数据通信;
[0029]所述解析回环码模块用于发送所述特定前导码数据和通过根据设定的时延长度接收所述第二 CPLD算法单元回传的所述特定前导码数据,并比较发送的所述特定前导码数据和接收的经回传的所述特定前导码数据,若比较结果相同计算得出所述数据延时时间为所述时延长度的一半,若比较结果不同则增加时延长度并再次发送特定前导码数据而进行比较,直至比较结果相同为止。
[0030]优选地,所述解析回环码模块每次增加的时延长度为当前的时延长度和设定的时延长度之和。
[0031]优选地,所述第二 CPLD算法单元包括检析数据模块、与所述检析数据模块连接的判断模块、与所述判断模块连接数据透传模块、以及与所述判断模块连接的回环模块;
[0032]所述检析数据模块用于检析接收的数据并发送给所述判断模块;
[0033]所述判断模块用于判断所述检析数据模块发送的数据是否为特定前导码数据,若是则发送给所述回环模块,若否则发送给所述透传模块;
[0034]所述透传模块用于将接收的数据发送给所述业务SPI接口单元;
[0035]所述回环模块用于将接收的所述特定前导码数据回传给所述第一 CPLD算法单
J L ο
[0036]优选地,还包括连接于所述第一 CPLD算法单元与所述背板连接单元之间的第一数据缓存器和连接于所述第二 CPLD算法单元与所述背板连接单元之间的第二数据缓存器,所述第一数据缓存器和所述第二数据缓存器用于为需经所述背板连接单元传输的数据增强信号的驱动能力。
[0037]如上所述,本发明的一种SPI长距离通信传输中校正时延的方法及系统,具有以下有益效果:
[0038]本发明的SPI长距离通信传输中校正时延的方法及系统,通过CPLD算法实现对数据的自动时延计算而进行采样数据的校正,解决因SPI总线在长距离走线传输过程中所带来的时延问题。
【附图说明】
[0039]图1显示为本发明SPI长距离通信传输中校正时延的系统的结构框图。
[0040]图2显示为本发明SPI长距离通信传输中校正时延的系统中第一 CPLD算法单元的结构框图。
[0041]图3显示为本发明SPI长距离通信传输中校正时延的系统中第二 CPLD算法单元的结构框图。
[0042]图4显示为本发明SPI长距离通信传输中校正时延的方法的流程图。
[0043]图5显示为本发明SPI长距离通信传输中校正时延的方法中第一 CPLD算法单元的流程图。
[0044]图6显示为本发明SPI长距离通信传输中校正时延的方法中第二 CPLD算法单元的流程图。
[0045
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1