一种一主多从的高速同步串行通信数据传输方法
【技术领域】
[0001]本发明涉及数据传输方法,具体涉及一种一主多从的高速同步串行通信数据传输方法。
【背景技术】
[0002]目前,大型工业现场信号采集节点分散、数量多,人工现场采集效率低,特别是采集点位于高温、高湿、高噪声环境的应用场合,人工无法进行现场采集,且人工采集方式数据冗杂不便于统一管理。“一主多从”的串行通信,通过对多个采集点的数据采集、传输,并由主机统一记录管理数据信息,大大提高了数据采集效率,解决数据冗杂带来的管理不便的问题,成为了解决多通道数据传输的主要方式。
[0003]“一主多从”的串行数据传输方式主要有两种:同步串行通信和异步串行通信。其中,常用的异步串行通信方式有RS-232、RS-485、RS-422、CAN、LIN等,异步串行通信协议一般不需专用的同步时钟线,只需一根数据线和一根地线,通过设置相应的波特率就可以进行数据传输,结构简单;但异步传输通信开销大,通信效率低,传输速率低,不适合高速数据传输。
[0004]常用的同步串行通信方式有I2S、SP1、LVDS、MLVDS等,同步串行通信需要专用的时钟线,由时钟线、数据线和地线来进行数据传输,传输速度快,适用于高速数据传输,但其传输过程需要不少于三根线进行数据传输,与通用的两线制传输不匹配,严重限制了应用对象,且传输系统结构复杂,远距离传输成本高。
[0005]综上所述,“一主多从”的数据传输方式存在以下问题:一方面基于实时性的需求,对数据传输速率的要求较高;另一方面基于低成本以及传输准确率的需求,要求数据传输系统结构简单,传输线少,传输误码率低。
【发明内容】
[0006]本发明的目的在于克服现有技术的不足,提出一主多从的高速同步串行通信数据传输方法,该方法适用于主从多通道高速传输领域,通过编码方式传输的数据和通信时钟调制到一根信号线上,采用一主多从的方式进行数据传输,从而简化系统通信结构,减少通信线数,降低通信成本,提高传输速率;并通过解码方式得到优良的串行同步时钟,降低传输的误码率。
[0007]所述的编码方式为:
发送方系统提供10MHz时钟,原始信号速率为25MHz,数据的编码方式为:0?1000,Ι?ΙΙΙΟο
[0008]一个码元对应10MHz的4位编码。每一个码元开始时第I位为“ 1”,第2位和第3位为输入信号信息,第4位是“0”,这样便可保证在每一个码元开始时产生一个上升沿。该上升沿是一个非常优良的同步时钟,只要将上升沿对准数据的有效位置(编码的第2,3位),即可恢复原信号。
[0009]当输入信号为“1”,输出为“1110”;当输入信号为“0”,输出为“1000”。其实质就是一个序列码发生器,根据不同的输入,产生不同的输出序列。系统时钟由可编程逻辑器件CPLD的PLL倍频得到,编码电路也由可编程逻辑器件CPLD实现。
[0010]通过上述编码方式将发送的数据和时钟调制到一根数据线上,如图4所示,以解决串行传输中传输线多,通信结构复杂,通信成本高,不适合高速长距离传输的问题。
[0011]所述的解码方式为(接收端同步时钟提取):
解码过程是将输入信号通过RC延时电路延时得到同步时钟,再由同步时钟恢复原信号。如图5所示,输入信号通过RC延时电路得到同步时钟,此时,同步时钟的上升沿对准数据编码的有效位置(编码的第2、3位的时间范围是10ns~30ns),即可恢复原信号。当信号通过RC延时电路时,信号的宽度可能会有变化,把通过RC延时电路的信号作为同步时钟,只关心其上升沿位置,而其宽度的变化不会影响解码过程。
[0012]通过解码的方式,将编码的信息解码出来,得到原始数据和时钟。
[0013]这种编码方式的同步建立时间短,解码电路原理和设计都极其简单,采用一个帧同步来检测数据开始,恢复同步时钟,而且对接收方时钟的精度和频率要求不是很高,在实际系统中容易实现。
[0014]所述的一种一主多从方式的高速同步串行数据传输方法,具体的方式如下:
步骤1:系统初始化:系统上电后,主机首先向从机发送复位信号,主机处于发送状态,
从机处于接收状态;复位完成后,从机清除缓冲区及相关变量,进入到命令循环检测阶段,执行配置的各种任务。
[0015]步骤2:主机发送采集命令:主机轮询各从机配置启动采集命令,主机发送的数据帧包含六部分:第一部分为主机标识符,用来标识主机发送的命令帧;第二部分,主机读写标识符;第三部分为地址编码,存放从机的地址编码;第四部分为命令寄存器,存放主机发出的操作命令;第五部分为数据包,存放命令的内容;第六部分为校验码,保证通信可靠性。
[0016]步骤3:从机接收采集命令:主机和各从机共用一根数据线和一根地线,所以各从机同时接收到主机发送的数据帧。各从机通过数据帧第一部分来判断该数据帧是否来至主机,如果来自主机,则对比自身预先设置的地址编码与数据帧的第二部分地址编码是否相符,从而判断是否与主机开始通信。
[0017]步骤4:从机发送数据:从机确认主机的采集命令后,开始向主机传送数据,根据一主多从的连接方式,从机传送的数据帧,主机和其它从机均能接收到,因此,需要在从机数据帧最高位加一个从机标识符。主机接收到数据帧时,通过数据帧的第一位来判断该数据帧是否来自从机,如果是,则接收该数据帧;而其它从机接收该数据帧时,同样根据数据帧上的第一位上标识符来判断该数据帧是否来自从机,如果是,则其它从机不予响应。
[0018]步骤5:释放通信链路:使用串行传输协议在数据传输过程中,为避免数据位发生错乱,主机在每接收完一帧数据后发送复位数据帧(即复位阵列),进行一次复位,从机接收该数据帧之后,清除缓冲区及相关变量。
[0019]步骤6:当从机收到主机停止采集命令或通信系统发生异常时(当传输数据位出现多个O时,表示数据位错乱),主机发出一个复位信号,使系统处于复位状态,即返回步骤2,从机继续等待命令。
[0020]本发明所实现的基于一主多从方式的高速同步串行通信数据传输方法的优点在于:
1.设计了一种基于一主多从方式的高速同步串行通信数据传输方法,该传输方法使用同步串行通信传输技术,由CPLD控制逻辑直接驱动硬件,满足测量及控制系统中高速数据传输的要求,并且结构较简单,传输线少,传输误码率低。
[0021]2.设计了一种高速同步串行数据传输的编解码方法,将传输数据和时钟调制到一条传输线上,兼具同步串行传输和异步串行传输的优点,并避免了两者的缺点,该方法为主从多通道数据的高速传输提供保证。
【附图说明】
[0022]图1为主机发送的命令数据帧格式;
图2为从机发送的数据帧格式;
图3为主从多机数据传输拓扑结构图;
图4为编码过程;
图5为解码过程;
图6为主从多通道高速数据传输方法执行流程;
图7为主机发送的复位数据帧;
图8为主机发送的命令数据帧;
图9为从机发送的数据帧;
图10为主从通信时序图;
图11为发送端编码方式;
图12为异步通信方式图;
图13为同步通信方式图。
【具体实施方式】
[0023]为了保证复杂控制系统和测量系统数据的高速有效传输,要求数据传输系统必须支持较高的数据传输率、较低的误码率和较高的实时性,这对数据传输系统的设计提出了较高的要求。
[0024]本发明的数据传输拓扑结构图如图3所示。由图3中可以看出,本发明设计的基于一主多从方式的高速同步串行数据传输方法包括主机A和多个从机B。主机A与各从机共用一根地线和一根信号线进行数据的高速传输。