CN104954096B - 一种一主多从的高速同步串行通信数据传输方法 - Google Patents
一种一主多从的高速同步串行通信数据传输方法 Download PDFInfo
- Publication number
- CN104954096B CN104954096B CN201510195964.0A CN201510195964A CN104954096B CN 104954096 B CN104954096 B CN 104954096B CN 201510195964 A CN201510195964 A CN 201510195964A CN 104954096 B CN104954096 B CN 104954096B
- Authority
- CN
- China
- Prior art keywords
- data
- slave
- main frame
- frame
- transmission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0076—Distributed coding, e.g. network coding, involving channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Communication Control (AREA)
Abstract
一种一主多从的高速同步串行通信数据传输方法,该方法适用于主从多通道高速传输领域,通过编码方式传输的数据和通信时钟调制到一根信号线上,采用一主多从的方式进行数据传输,从而简化***通信结构,减少通信线数,降低通信成本,提高传输速率;并通过解码方式得到优良的串行同步时钟,降低传输的误码率。
Description
技术领域
本发明涉及数据传输方法,具体涉及一种一主多从的高速同步串行通信数据传输方法。
背景技术
目前,大型工业现场信号采集节点分散、数量多,人工现场采集效率低,特别是采集点位于高温、高湿、高噪声环境的应用场合,人工无法进行现场采集,且人工采集方式数据冗杂不便于统一管理。“一主多从”的串行通信,通过对多个采集点的数据采集、传输,并由主机统一记录管理数据信息,大大提高了数据采集效率,解决数据冗杂带来的管理不便的问题,成为了解决多通道数据传输的主要方式。
“一主多从”的串行数据传输方式主要有两种:同步串行通信和异步串行通信。其中,常用的异步串行通信方式有RS-232、RS-485、RS-422、CAN、LIN等,异步串行通信协议一般不需专用的同步时钟线,只需一根数据线和一根地线,通过设置相应的波特率就可以进行数据传输,结构简单;但异步传输通信开销大,通信效率低,传输速率低,不适合高速数据传输。
常用的同步串行通信方式有I2S、SPI、LVDS、MLVDS等,同步串行通信需要专用的时钟线,由时钟线、数据线和地线来进行数据传输,传输速度快,适用于高速数据传输,但其传输过程需要不少于三根线进行数据传输,与通用的两线制传输不匹配,严重限制了应用对象,且传输***结构复杂,远距离传输成本高。
综上所述,“一主多从”的数据传输方式存在以下问题:一方面基于实时性的需求,对数据传输速率的要求较高;另一方面基于低成本以及传输准确率的需求,要求数据传输***结构简单,传输线少,传输误码率低。
发明内容
本发明的目的在于克服现有技术的不足,提出一主多从的高速同步串行通信数据传输方法,该方法适用于主从多通道高速传输领域,通过编码方式传输的数据和通信时钟调制到一根信号线上,采用一主多从的方式进行数据传输,从而简化***通信结构,减少通信线数,降低通信成本,提高传输速率;并通过解码方式得到优良的串行同步时钟,降低传输的误码率。
所述的编码方式为:
发送方***提供100MHz时钟,原始信号速率为25MHz,数据的编码方式为:0à1000,1à1110。
一个码元对应100MHz的4位编码。每一个码元开始时第1位为“1”,第2位和第3位为输入信号信息,第4位是“0”,这样便可保证在每一个码元开始时产生一个上升沿。该上升沿是一个非常优良的同步时钟,只要将上升沿对准数据的有效位置(编码的第2,3位),即可恢复原信号。
当输入信号为“1”,输出为“1110”;当输入信号为“0”,输出为“1000”。其实质就是一个序列码发生器,根据不同的输入,产生不同的输出序列。***时钟由可编程逻辑器件CPLD的PLL倍频得到,编码电路也由可编程逻辑器件CPLD实现。
通过上述编码方式将发送的数据和时钟调制到一根数据线上,如图4所示,以解决串行传输中传输线多,通信结构复杂,通信成本高,不适合高速长距离传输的问题。
所述的解码方式为(接收端同步时钟提取):
解码过程是将输入信号通过RC延时电路延时得到同步时钟,再由同步时钟恢复原信号。如图5所示,输入信号通过RC延时电路得到同步时钟,此时,同步时钟的上升沿对准数据编码的有效位置(编码的第2、3位的时间范围是10ns~30ns),即可恢复原信号。当信号通过RC延时电路时,信号的宽度可能会有变化,把通过RC延时电路的信号作为同步时钟,只关心其上升沿位置,而其宽度的变化不会影响解码过程。
通过解码的方式,将编码的信息解码出来,得到原始数据和时钟。
这种编码方式的同步建立时间短,解码电路原理和设计都极其简单,采用一个帧同步来检测数据开始,恢复同步时钟,而且对接收方时钟的精度和频率要求不是很高,在实际***中容易实现。
所述的一种一主多从方式的高速同步串行数据传输方法,具体的方式如下:
步骤1:***初始化:***上电后,主机首先向从机发送复位信号,主机处于发送状态,从机处于接收状态;复位完成后,从机清除缓冲区及相关变量,进入到命令循环检测阶段,执行配置的各种任务。
步骤2:主机发送采集命令:主机轮询各从机配置启动采集命令,主机发送的数据帧包含六部分:第一部分为主/从机标识符,用来标识主机发送的命令帧;第二部分,主机读写标识符;第三部分为地址编码,存放从机的地址编码;第四部分为功能编码,存放主机发出的操作命令;第五部分为数据包,存放命令的内容;第六部分为校验码,保证通信可靠性。
步骤3:从机接收采集命令:主机和各从机共用一根数据线和一根地线,所以各从机同时接收到主机发送的数据帧。各从机通过数据帧第一部分来判断该数据帧是否来至主机,如果来自主机,则对比自身预先设置的地址编码与数据帧的第三部分地址编码是否相符,从而判断是否与主机开始通信。
步骤4:从机发送数据:从机确认主机的采集命令后,开始向主机传送数据,根据一主多从的连接方式,从机传送的数据帧,主机和其它从机均能接收到,因此,需要在从机数据帧最高位加一个从机标识符。主机接收到数据帧时,通过数据帧的第一位来判断该数据帧是否来自从机,如果是,则接收该数据帧;而其它从机接收该数据帧时,同样根据数据帧上的第一位上标识符来判断该数据帧是否来自从机,如果是,则其它从机不予响应。
步骤5:释放通信链路:使用串行传输协议在数据传输过程中,为避免数据位发生错乱,主机在每接收完一帧数据后发送复位数据帧(即复位阵列),进行一次复位,从机接收该数据帧之后,清除缓冲区及相关变量。
步骤6:当从机收到主机停止采集命令或通信***发生异常时(当传输数据位出现多个0时,表示数据位错乱),主机发出一个复位信号,使***处于复位状态,即返回步骤2,从机继续等待命令。
本发明所实现的基于一主多从方式的高速同步串行通信数据传输方法的优点在于:
1.设计了一种基于一主多从方式的高速同步串行通信数据传输方法,该传输方法使用同步串行通信传输技术,由CPLD控制逻辑直接驱动硬件,满足测量及控制***中高速数据传输的要求,并且结构较简单,传输线少,传输误码率低。
2.设计了一种高速同步串行数据传输的编解码方法,将传输数据和时钟调制到一条传输线上,兼具同步串行传输和异步串行传输的优点,并避免了两者的缺点,该方法为主从多通道数据的高速传输提供保证。
附图说明
图1 为主机发送的命令数据帧格式;
图2 为从机发送的数据帧格式;
图3 为主从多机数据传输拓扑结构图;
图4为编码过程;
图5为解码过程;
图6为主从多通道高速数据传输方法执行流程;
图7为主机发送的复位数据帧;
图8 为主机发送的命令数据帧;
图9 为从机发送的数据帧;
图10 为主从通信时序图;
图11 为发送端编码方式;
图12为异步通信方式图;
图13为同步通信方式图。
具体实施方式
为了保证复杂控制***和测量***数据的高速有效传输,要求数据传输***必须支持较高的数据传输率、较低的误码率和较高的实时性,这对数据传输***的设计提出了较高的要求。
本发明的数据传输拓扑结构图如图3所示。由图3中可以看出,本发明设计的基于一主多从方式的高速同步串行数据传输方法包括主机A和多个从机B。主机A与各从机共用一根地线和一根信号线进行数据的高速传输。
所述的主机A发送采集命令信号,该采集命令信号经过可编程逻辑器件编码后进行传输,相应的从机接受该命令并按照主机命令响应,具体的基于一主多从方式的高速同步串行数据传输执行流程图6所示,包括下述步骤:
步骤1:***初始化。
***上电后,主机A首先发送复位信号,其格式如图7所示,主机处于发送状态,从机B处于接收状态;复位完成后,从机B清除缓冲区及相关变量,进入到命令循环检测阶段,执行配置的各种任务;
步骤2:主机发送采集命令。
主机A轮询各从机配置启动采集命令,主机A发送的命令数据帧图8所示,共17位,第17位是主机A的标识,“0”代表主机A;第16位,读写位,写为“0”,读为“1”;第15~13位是地址位,根据从机B的个数,地址位可以设置不同的宽度,理论上可以最多设置32个从机;第12~9位是4位寄存器,存放主机发送的命令;第8~1位是8位数据位,存放命令的具体内容;第0位是奇偶校验位。
步骤3:从机接收采集命令。
从机B根据主机A发送的命令数据帧的第1位来判断该数据帧是否来自主机A,如果第1位为“0”的话,则从机接收该数据帧,然后判断数据帧的地址编码部分和自己预先设置的地址是否相符,如果相符,则判断寄存器位,根据主机A向从机B发送的命令,从机B做出不同响应。
步骤4:从机发送数据。
从机B确认主机A的采集命令后,开始向主机A传送数据,其数据帧格式为如图9所示,数据帧的第17位是从机的标识符,“1”表示从机;第16~1位为数据位;第0位为奇偶校验位。
步骤5:释放通信链路。
为了防止通信的混乱,主机A在每接收完一帧数据后都要发送复位数据帧,进行一次复位,从机B接收该数据帧之后,从机B清除缓冲区及相关变量。
步骤6:当从机B收到主机A停止采集命令或通信***发现异常时,主机A发出一个复位信号,使***处于复位状态,即返回步骤2,从机继续等待命令。
为了实现主机与从机之间数据的高速同步串行传输,本发明在发送端用可编程逻辑器件CPLD对数据进行编码,将数据和时钟调制到一条线上;在接收端通过RC延时电路提取同步时钟,然后利用同步时钟对接收的数据进行解码,提取原始数据和时钟,从而实现高速的数据传输。具体的编解码方式如下:
1)发送端编码方式
发送端***时钟为100MHz,数据的编码方式如图12所示:1à1110,0à1000。
一个码元对应100MHz的4位编码。这四位编码的第1位为“1”,第2~3位为输入码元的信息,第4位为“0”。通过编码,数据的传输速率是***时钟的1/4,为25MHz。***时钟由可编程CPLD的PLL倍频得到,编码也由CPLD来实现。
如图4所示,数据和串行同步时钟信号经过编码后调制到一根线上。
2)接收端编码方式
接收端***时钟为200MHz,将输入信号经过RC延时得到同步时钟,再由同步时钟恢复原信号,如图5所示。
输入信号经过RC延时电路延时15~20ns得到同步时钟,这样同步时钟的上升沿对准到数据编码的有效位置(编码的第2、3位的时间范围是10~30ns),即可准确的恢复原信号。
主从高速串行通信编码和解码的时序图如图10所示,发送端要发送的序列为“10110“,根据编码规则,在发送端100MHz时钟下,”1“编码为”1110“,”0“编码为”1000“,因此“10110“的编码为”11101000111011101000“,接收端接收的编码也为”11101000111011101000“,经过延时15~20ns得到同步时钟clk,可以看出clk的上升沿在接收的数据编码的有效位置(编码的第2、3位的时间范围是10~30ns)之内,因此接收的数据很容易解码出来。
本发明的具体事例,实验传输距离20m,传输速率为25M/S,通信稳定可靠。可根据实际需要进一步提高传输数率。发明中,主机和从机通信协议,实现了主从多机通信而不产生冲突;用延时的方式提取串行通信的同步时钟,实现了主从多通道的高速串行同步通信。
Claims (6)
1.一种一主多从方式的高速同步串行数据传输方法,其特征在于:包括如下步骤:
步骤1、***初始化:***上电后,主机首先向从机发送复位信号,主机处于发送状态,从机处于接收状态;复位完成后,从机清除缓冲区及相关变量,进入到命令循环检测阶段,执行配置的各种任务;
步骤2、主机发送采集命令:主机轮询各从机配置启动采集命令,主机发送的数据帧包含六部分:第一部分为主/从机标识符,用来标识主机发送的命令帧;第二部分,主机读写标识符;第三部分为地址编码,存放从机的地址编码;第四部分为功能编码,存放主机发出的操作命令;第五部分为数据包,存放命令的内容;第六部分为校验码,保证通信可靠性;
步骤3、从机接收采集命令:主机和各从机共用一根数据线和一根地线,各从机同时接收到主机发送的数据帧,各从机通过数据帧第一部分来判断该数据帧是否来至主机,如果来自主机,则对比自身预先设置的地址编码与数据帧的第三部分地址编码是否相符,从而判断是否与主机开始通信;
步骤4、从机发送数据:从机确认主机的采集命令后,开始向主机传送数据,根据一主多从的连接方式,从机传送的数据帧,主机和其它从机均能接收到,因此,需要在从机数据帧最高位加一个从机标识符,主机接收到数据帧时,通过数据帧的第一位来判断该数据帧是否来自从机,如果是,则接收该数据帧;而其它从机接收该数据帧时,同样根据数据帧上的第一位上标识符来判断该数据帧是否来自从机,如果是,则其它从机不予响应;
步骤5、释放通信链路:使用串行传输协议在数据传输过程中,为避免数据位发生错乱,主机在每接收完一帧数据后发送复位数据帧,进行一次复位,从机接收该数据帧之后,清除缓冲区及相关变量;
步骤6、当从机收到主机停止采集命令或通信***发生异常时,主机发出一个复位信号,使***处于复位状态,即返回步骤2,从机继续等待命令。
2.如权利要求1所述的一种一主多从方式的高速同步串行数据传输方法,其特征在于:所述的同步串行数据传输的编解码方式为,将传输的数据和通信时钟调制到一根信号线上。
3.如权利要求2所述的一种一主多从方式的高速同步串行数据传输方法,其特征在于:所述的编码方式为,编码前为 0的编码后为1000,编码前为1的编码后为1110。
4.如权利要求3所述的一种一主多从方式的高速同步串行数据传输方法,其特征在于:所述的一个码元对应100MHz的4位编码,这四位编码的第1位为“1”,第2~3位为输入码元的信息,第4位为“0”。
5.如权利要求4所述的一种一主多从方式的高速同步串行数据传输方法,其特征在于:所述的编码方式为 CPLD对数据进行编码。
6.如权利要求2所述的一种一主多从方式的高速同步串行数据传输方法,其特征在于:所述的解码方式为接收端通过RC延时电路提取同步时钟,然后利用同步时钟对接收的数据进行解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510195964.0A CN104954096B (zh) | 2015-04-23 | 2015-04-23 | 一种一主多从的高速同步串行通信数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510195964.0A CN104954096B (zh) | 2015-04-23 | 2015-04-23 | 一种一主多从的高速同步串行通信数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104954096A CN104954096A (zh) | 2015-09-30 |
CN104954096B true CN104954096B (zh) | 2018-01-26 |
Family
ID=54168482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510195964.0A Expired - Fee Related CN104954096B (zh) | 2015-04-23 | 2015-04-23 | 一种一主多从的高速同步串行通信数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104954096B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201972B (zh) * | 2016-07-01 | 2019-02-26 | 西安交大能源电子技术开发公司 | 一种适用于低成本子节点的高速串行通讯方法 |
CN106980301B (zh) * | 2017-03-08 | 2019-11-08 | 北京数码大方科技股份有限公司 | 通信方法和装置 |
CN108011692A (zh) * | 2017-06-30 | 2018-05-08 | 宁波方太厨具有限公司 | 一种用于单片机的数据通信方法 |
CN109684244A (zh) * | 2018-11-14 | 2019-04-26 | 珠海慧联科技有限公司 | 用于多从机***的i2c总线主机优化传输方法及装置 |
CN110011778B (zh) * | 2018-12-20 | 2020-07-07 | 上海欧秒电力监测设备有限公司 | 基于rs485网络中***同步采样方法 |
CN109407752B (zh) * | 2018-12-20 | 2020-07-07 | 上海欧秒电力监测设备有限公司 | Rs485通讯中实现时钟同步的gis断路器在线监测*** |
CN110034915B (zh) * | 2019-04-19 | 2021-09-10 | 哈尔滨工业大学 | 一种应用于阵列式探地雷达的高速异步串行数据传输方法 |
CN110098896A (zh) * | 2019-04-25 | 2019-08-06 | 苏州龙欣通颖网络科技有限公司 | 一种用于嵌入式应用特殊字符的数据传输方法 |
CN110190927A (zh) * | 2019-05-08 | 2019-08-30 | 北京海泽时空科技有限公司 | 一种用于slip协议的传输错误检测及纠错方法 |
CN110851392B (zh) * | 2019-11-13 | 2021-10-01 | 中广核研究院有限公司北京分公司 | 基于Modbus RTU协议的通讯方法及通讯*** |
CN111061337A (zh) * | 2019-12-10 | 2020-04-24 | 北京智联安科技有限公司 | 一种主机收发接口设计方法 |
CN112367232B (zh) * | 2020-09-16 | 2021-11-09 | 南斗六星***集成有限公司 | 一种道路试验车多路can数据采集终端及方法 |
CN115396082B (zh) * | 2022-07-26 | 2024-02-09 | 上海宇航***工程研究所 | 一种用于运载火箭的抵抗长距离通信相位畸变的方法 |
CN116185936B (zh) * | 2023-04-23 | 2023-07-14 | 常州星宇车灯股份有限公司 | 一种spi通信数据收发异常检测控制***及检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867452A (zh) * | 2010-06-10 | 2010-10-20 | 国网电力科学研究院 | 一种电力专用串行实时总线的通信方法 |
CN102722462A (zh) * | 2012-05-05 | 2012-10-10 | 美的集团有限公司 | 一种同步通信装置及其控制方法 |
CN103744811A (zh) * | 2013-12-27 | 2014-04-23 | 华中科技大学 | 一种串行数据传输***及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1650670B1 (en) * | 2004-10-21 | 2010-03-24 | Hewlett-Packard Development Company, L.P. | Serial bus system |
-
2015
- 2015-04-23 CN CN201510195964.0A patent/CN104954096B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867452A (zh) * | 2010-06-10 | 2010-10-20 | 国网电力科学研究院 | 一种电力专用串行实时总线的通信方法 |
CN102722462A (zh) * | 2012-05-05 | 2012-10-10 | 美的集团有限公司 | 一种同步通信装置及其控制方法 |
CN103744811A (zh) * | 2013-12-27 | 2014-04-23 | 华中科技大学 | 一种串行数据传输***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104954096A (zh) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104954096B (zh) | 一种一主多从的高速同步串行通信数据传输方法 | |
EP1825382B1 (en) | Low protocol, high speed serial transfer for intra-board or inter-board data communication | |
CN104008078B (zh) | 一种基于fpga的数据传输板之间进行高速传输的方法 | |
CN102708080B (zh) | 一种对齐高速串行通信通道的方法和*** | |
JP6878300B2 (ja) | マルチモード変調を用いる向上した仮想gpio | |
CN105208034A (zh) | 一种spi总线与can总线协议转换电路及方法 | |
CN102340316A (zh) | 基于fpga的微型空间过采样直流平衡串行解串器 | |
CN105119907A (zh) | 一种基于FPGA的BiSS-C通信协议方法 | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN103107862B (zh) | 逻辑器件及其mdio数据发送方法 | |
CN107066419B (zh) | 可扩展的自适应n×n通道数据通信*** | |
CN102158400B (zh) | 天基路由交换***的通信接口及天基路由交换*** | |
CN104536923B (zh) | 一种多通道的干扰信号采集与处理验证*** | |
CN103888331A (zh) | 一种用于配电终端的通用高速总线装置及其数据交互方法 | |
CN106209307A (zh) | 多颗fpga片间互联方法与*** | |
CN103279442A (zh) | 一种高速互联总线的报文过滤***及方法 | |
CN103064810B (zh) | 一种实现卫星串口通信的方法 | |
CN102946293B (zh) | 一种基于ds编码的并行接收方法及其装置 | |
CN202632782U (zh) | 一种基于MicroBlaze软核的多路SSI数据采集模块 | |
Cao et al. | Working principle and application analysis of UART | |
CN204143430U (zh) | 弹性先进先出存储器 | |
CN203838614U (zh) | 一种带网络管理接口的pcie扩展卡 | |
CN106126466B (zh) | 一种并行数据变串行数据的传输方法 | |
CN105512066B (zh) | 基于profibus的软起动器通讯协议转换装置及方法 | |
CN112800001A (zh) | 一种基于arm平台架构的高性能物联网硬件平台及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180126 Termination date: 20190423 |
|
CF01 | Termination of patent right due to non-payment of annual fee |