CN110221937A - 一种板间通信数据的解析方法 - Google Patents
一种板间通信数据的解析方法 Download PDFInfo
- Publication number
- CN110221937A CN110221937A CN201910486179.9A CN201910486179A CN110221937A CN 110221937 A CN110221937 A CN 110221937A CN 201910486179 A CN201910486179 A CN 201910486179A CN 110221937 A CN110221937 A CN 110221937A
- Authority
- CN
- China
- Prior art keywords
- register
- master control
- message information
- control borad
- expansion board
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种板间通信数据的解析方法,通过设计数据传输帧格式和读写解析方法,实现了主控板与多块扩展板间的快速串行通信,可以支持多种电气接口,帧格式简单、紧凑,通俗易懂;主从板读写灵活,可以读写单个寄存器变量,也可以读写多个寄存器变量,可以读写连续的寄存器变量,也可以读写离散的寄存器变量;增加帧错误检测判断、发送数据成功检测判断、接收数据成功检测判断、通信状态检测判断,保证数据的可靠传输。
Description
技术领域
本发明涉及信号通信技术领域,尤其是涉及了一种板间通信数据的解析方法。
背景技术
当前起重机控制系统中,往往需要实现不同信号处理板之间的互联和信息交换,如通过主控板同时向数字量输入输出板,编码器板,交流输入输出板以及模拟量输出板发送数据,主控板根据响应来控制扩展板程序的运行。
主控板与多块扩展板间的信号传输,最常见的是并行数据传输,但并行通信布线复杂、成本较高、不适合远距离传输且可靠性较低。主控板与多块扩展板间利用串行通信方式进行数据传输的应用还不是很成熟,数据的传输速率和准确率不高,会影响到系统的正常工作。
发明内容
为了克服背景技术中的不足,本发明公开了一种板间通信数据的解析方法,实现了主控板与多块扩展板间的串行通信,通过设计数据传输帧格式和读写解析方法,提高了传输速度,保证了传输的正确性。
为实现上述发明目的,本发明采用如下技术方案:
一种板间通信数据的解析方法,包括以下步骤:
步骤一:系统初始化,系统开始工作后,扩展板自身进行数据初始化工作,清除缓冲区及相关变量;
步骤二:主控板发送报文信息,主控板根据任务需求构造不同格式的报文信息,若主控板进行读寄存器操作,则主控板根据主机读寄存器帧格式构造报文信息,若主控板进行写寄存器操作,则主控板根据主机写寄存器桢格式构造报文信息,最后主控板生成CRC校验码,并将报文信息发送给各个扩展板;
步骤三:扩展板接收报文信息,与主控板相连的各个扩展板同时接收到主控板发送的报文信息,扩展板接收到报文信息后,对报文信息中的从机地址码进行核对,若报文信息中的从机地址码与扩展板的地址不一致,则舍弃此条报文信息,继续等待下条报文的到来,若报文信息中的从机地址码与扩展板的地址一致,则进行错误帧检测;若CRC校验码正确,则进入步骤四,若CRC校验码出现错误,则舍弃此条报文信息,继续等待下条报文到来;
步骤四:扩展板发送回应报文,扩展板根据主控板发送报文信息中的功能码判断需要执行什么动作,若为读寄存器操作,则扩展板读取主控板发送报文信息所需读取的寄存器中的数据,并根据读寄存器返回帧格式构造回应报文,若为写寄存器操作,则扩展板将主控板发送的数据依次写入相应的寄存器中,并根据写寄存器返回帧格式构造回应报文,最后扩展板生成CRC校验码,并将回应报文信息发送给主控板;
步骤五:主控板解析回应报文信息,主控板接收到扩展板发送的回应报文信息后,对回应报文信息中的从机地址码进行核对,若回应报文信息中的从机地址码与主控板已发送报文信息中的从机地址码不一致,则舍弃此条回应报文信息,等待下一条回应报文信息到来,若回应报文信息中的从机地址码与主控板已发送报文信息中的从机地址码一致,则进行错误帧检测;若CRC校验码正确且功能码为读寄存器操作,主控板读取扩展板发送的回应报文信息中的数据信息,若CRC校验码正确且功能码写寄存器操作,主控板判定写寄存器成功,若CRC校验码出现错误,则舍弃此条报文信息;主控板判断与扩展板通信是否结束,若继续进行通信,则重复步骤二。
优选的,所述主机读寄存器帧包括从机地址码、功能码、首寄存器地址、寄存器数和校验位。
优选的,所述主机写寄存器帧包括从机地址码、功能码、首寄存器地址、寄存器数、数据段和校验位。
优选的,所述读寄存器返回帧包括从机地址码、功能码、寄存器数、数据段和校验位。
优选的,所述写寄存器返回帧包括从机地址码、功能码、首寄存器地址、寄存器数和校验位。
本发明通过设计数据传输帧格式和读写解析方法,实现了主控板与多块扩展板间的快速串行通信,可以支持多种电气接口,帧格式简单、紧凑,通俗易懂;主从机读写灵活,可以读写单个寄存器变量,也可以读写多个寄存器变量,可以读写连续的寄存器变量,也可以读写离散的寄存器变量,无需修改程序本体,只需传递读写函数接口的形参即可实现对不同数据的读写;增加帧错误检测判断、发送数据成功检测判断、接收数据成功检测判断、通信状态检测判断,保证了数据的可靠传输。
附图说明
图1为主控板与多块扩展板间的串行通信结构示意图;
图2为本发明板间通信数据的解析方法流程示意图;
图3为本发明主机读寄存器帧格式;
图4为本发明主机写寄存器帧格式;
图5为本发明读寄存器返回帧格式;
图6为本发明写寄存器返回帧格式。
具体实施方式
通过下面的实施例可以详细的解释本发明,公开本发明的目的旨在保护本发明范围内的一切技术改进,本发明并不局限于下面的实施例。
图1为主控板与多块扩展板间的串行通信结构示意图,一块主控板与多块扩展板间进行串行通信时,多块扩展板共用一条数据传输线,当主控板发送命令时,多块扩展板同时接收到该命令。
图2为本发明一种板间通信数据的解析方法流程示意图,该解析方法使用主--从技术,即主控板进行查询,其它扩展板根据主控板查询信息作出相应反应;该解析方法针对主控板的读写操作,设计了主机读寄存器帧、主机写寄存器帧格式、读寄存器返回帧和写寄存器返回帧,其具体格式如图3-图6所示,同时规定当一帧数据结束后,4个字符时间内没有新的数据到达,判断为帧结束。各个帧元素具体说明如下。
从机地址码:通讯传送的第一个字节,表示扩展板的地址;主控板发送报文中的从机地址码表明将要与之进行通信的扩展板地址,扩展板回应报文的从机地址码表明向主控板进行回应的扩展板地址;每个扩展板都有具有唯一的地址码。
功能码:通讯传送的第二个字节,表示需要执行何总操作,0xAA为读操作,功能码0xBB为写操作;主控板发送报文中的功能码,告诉扩展板执行什么动作;扩展板回应报文中的功能码,若与从主控板发送报文中的功能码一致,表明扩展板已响应主控板进行操作。
首寄存器地址:读取或者写入数据的开始地址单元,占用2个字节,高字节在前低字节在后。
寄存器数:读取或者写入寄存器的个数,占用2个字节。
数据段:数据段包含了需要读取或写入的数据内容,高字节在前低字节在后。
校验码:用于检查主控板和扩展板传输过程中的错误,错误校验使用了16位循环冗余的方法(CRC16),长度为2字节,低字节在前,高字节在后。
一种板间通信数据的解析方法具体包括以下步骤。
步骤一:系统初始化。
系统开始工作后,扩展板自身进行数据初始化工作,清除缓冲区及相关变量。
步骤二:主控板发送报文信息。
主控板根据任务需求构造不同格式的报文信息。
若主控板进行读寄存器操作,则主控板根据主机读寄存器帧格式构造报文信息,如图3所示;报文信息中的从机地址码为要进行通信的扩展板地址码,报文信息中的功能码告之被选中的扩展板要执行读存器操作,这里使用0xAA,报文信息中的首寄存器地址和寄存器数告知扩展板要读取以首寄存器地址开始读寄存器以及读寄存器的个数。
若主控板进行写寄存器操作,则主控板根据主机写寄存器桢格式构造报文信息,如图4示;报文信息中的从机地址码为要进行通信的扩展板地址码,报文信息中的功能码告之被选中的扩展板要执行写寄存器操作,这里使用0xBB,报文信息中的首寄存器地址和寄存器数是告诉扩展板从首寄存器地址开始写寄存器以及写寄存器的个数,报文信息中的数据段为要写入的数据内容。
最后主控板生成CRC校验码,并将报文信息发送给各个扩展板。
步骤三:扩展板接收报文信息。
与主控板相连的各个扩展板同时接收到主控板发送的报文信息,扩展板接收到报文信息后,对报文信息中的从机地址码进行核对。
若报文信息中的从机地址码与扩展板的地址不一致,说明要与主控板通信的不是此块扩展板,则舍弃此条报文信息,继续等待下条报文的到来;若报文信息中的从机地址码与扩展板的地址一致,说明要与主控板通信的是此块扩展板,则进行错误帧检测。
若CRC校验码正确,传输过程无误,该扩展板可以与主控板通信,则进入步骤四,若CRC校验码出现错误,则舍弃此条报文信息,继续等待下条报文到来。
步骤四:扩展板发送回应报文。
扩展板根据主控板发送报文信息中的功能码判断需要执行什么动作。
若为读寄存器操作,则扩展板读取主控板发送报文信息所需读取的寄存器中的数据,并根据读寄存器返回帧格式构造回应报文,如图5所示;回应报文中的从机地址码是与主控板进行通信的扩展板地址,回应报文中的功能码是主控板发送报文信息中功能码的回应,回应报文中的寄存器数是在主控板发送报文信息中寄存器数的回应,数据段包括了扩展板读取的数据内容。
若为写寄存器操作,则扩展板将主控板发送的数据依次写入相应的寄存器中,并根据写寄存器返回帧格式构造回应报文,如图6所示;回应报文中的从机地址码是与主控板进行通信的扩展板地址,回应报文中的功能码是主控板发送报文信息中功能码的回应,回应报文中的首寄存器地址和寄存器数是主控板发送报文信息中首寄存器地址和寄存器数的回应。
最后扩展板生成CRC校验码,并将回应报文信息发送给主控板。
步骤五:主控板解析回应报文。
主控板接收到扩展板发送的回应报文信息后,对回应报文信息中的从机地址码进行核对。
若回应报文信息中的从机地址码与主控板已发送报文信息中的从机地址码不一致,说明不是该地址的扩展板与主控板通信,则舍弃此条回应报文信息,等待下一条回应报文信息到来;若回应报文信息中的从机地址码与主控板已发送报文信息中的从机地址码一致,则进行错误帧检测。
若CRC校验码正确且为功能码为读寄存器操作,主控板读取扩展板发送的回应报文信息中的数据信息,若CRC校验码正确且为功能码写寄存器操作,主控板判定写寄存器成功,若CRC校验码出现错误,则舍弃此条报文信息。
主控板判断与扩展板通信是否结束,若继续进行通信,则重复步骤二。
本发明未详述部分为现有技术。
Claims (5)
1.一种板间通信数据的解析方法,其特征是,该方法包括以下步骤:
步骤一:系统初始化,系统开始工作后,扩展板自身进行数据初始化工作,清除缓冲区及相关变量;
步骤二:主控板发送报文信息,主控板根据任务需求构造不同格式的报文信息,若主控板进行读寄存器操作,则主控板根据主机读寄存器帧格式构造报文信息,若主控板进行写寄存器操作,则主控板根据主机写寄存器桢格式构造报文信息,最后主控板生成CRC校验码,并将报文信息发送给各个扩展板;
步骤三:扩展板接收报文信息,与主控板相连的各个扩展板同时接收到主控板发送的报文信息,扩展板接收到报文信息后,对报文信息中的从机地址码进行核对,若报文信息中的从机地址码与扩展板的地址不一致,则舍弃此条报文信息,继续等待下条报文的到来,若报文信息中的从机地址码与扩展板的地址一致,则进行错误帧检测;若CRC校验码正确,则进入步骤四,若CRC校验码出现错误,则舍弃此条报文信息,继续等待下条报文到来;
步骤四:扩展板发送回应报文,扩展板根据主控板发送报文信息中的功能码判断需要执行什么动作,若为读寄存器操作,则扩展板读取主控板发送报文信息所需读取的寄存器中的数据,并根据读寄存器返回帧格式构造回应报文,若为写寄存器操作,则扩展板将主控板发送的数据依次写入相应的寄存器中,并根据写寄存器返回帧格式构造回应报文,最后扩展板生成CRC校验码,并将回应报文信息发送给主控板;
步骤五:主控板解析回应报文信息,主控板接收到扩展板发送的回应报文信息后,对回应报文信息中的从机地址码进行核对,若回应报文信息中的从机地址码与主控板已发送报文信息中的从机地址码不一致,则舍弃此条回应报文信息,等待下一条回应报文信息到来,若回应报文信息中的从机地址码与主控板已发送报文信息中的从机地址码一致,则进行错误帧检测;若CRC校验码正确且功能码为读寄存器操作,主控板读取扩展板发送的回应报文信息中的数据信息,若CRC校验码正确且功能码写寄存器操作,主控板判定写寄存器成功,若CRC校验码出现错误,则舍弃此条报文信息;主控板判断与扩展板通信是否结束,若继续进行通信,则重复步骤二。
2.如权利要求1所述的一种板间通信数据的解析方法,其特征是:所述主机读寄存器帧包括从机地址码、功能码、首寄存器地址、寄存器数和校验位。
3.如权利要求1所述的一种板间通信数据的解析方法,其特征是:所述主机写寄存器帧包括从机地址码、功能码、首寄存器地址、寄存器数、数据段和校验位。
4.如权利要求1所述的一种板间通信数据的解析方法,其特征是:所述读寄存器返回帧包括从机地址码、功能码、寄存器数、数据段和校验位。
5.如权利要求1所述的一种板间通信数据的解析方法,其特征是:所述写寄存器返回帧包括从机地址码、功能码、首寄存器地址、寄存器数和校验位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910486179.9A CN110221937A (zh) | 2019-06-05 | 2019-06-05 | 一种板间通信数据的解析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910486179.9A CN110221937A (zh) | 2019-06-05 | 2019-06-05 | 一种板间通信数据的解析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110221937A true CN110221937A (zh) | 2019-09-10 |
Family
ID=67819734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910486179.9A Pending CN110221937A (zh) | 2019-06-05 | 2019-06-05 | 一种板间通信数据的解析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110221937A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113587073A (zh) * | 2021-09-28 | 2021-11-02 | 江苏未来智慧信息科技有限公司 | 智慧电厂控制系统与方法 |
CN115080477A (zh) * | 2022-05-30 | 2022-09-20 | 杭州初灵信息技术股份有限公司 | 一种串行通信的方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399654A (zh) * | 2007-09-25 | 2009-04-01 | 华为技术有限公司 | 一种串行通信方法和装置 |
CN103425611A (zh) * | 2013-05-20 | 2013-12-04 | 万高(杭州)科技有限公司 | 用于计量领域的串口通讯方法 |
CN104580187A (zh) * | 2014-12-31 | 2015-04-29 | 厦门为那通信科技有限公司 | 一种实现不同modulebus协议的外置设备与服务器交互的方法 |
CN104794089A (zh) * | 2015-05-12 | 2015-07-22 | 中国电子科技集团公司第四十七研究所 | 适用于单片机的改进型uart通信的方法、装置及系统 |
CN107705391A (zh) * | 2016-08-08 | 2018-02-16 | 同方锐安科技有限公司 | 一种高安全、可扩展的门禁控制器 |
-
2019
- 2019-06-05 CN CN201910486179.9A patent/CN110221937A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399654A (zh) * | 2007-09-25 | 2009-04-01 | 华为技术有限公司 | 一种串行通信方法和装置 |
CN103425611A (zh) * | 2013-05-20 | 2013-12-04 | 万高(杭州)科技有限公司 | 用于计量领域的串口通讯方法 |
CN104580187A (zh) * | 2014-12-31 | 2015-04-29 | 厦门为那通信科技有限公司 | 一种实现不同modulebus协议的外置设备与服务器交互的方法 |
CN104794089A (zh) * | 2015-05-12 | 2015-07-22 | 中国电子科技集团公司第四十七研究所 | 适用于单片机的改进型uart通信的方法、装置及系统 |
CN107705391A (zh) * | 2016-08-08 | 2018-02-16 | 同方锐安科技有限公司 | 一种高安全、可扩展的门禁控制器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113587073A (zh) * | 2021-09-28 | 2021-11-02 | 江苏未来智慧信息科技有限公司 | 智慧电厂控制系统与方法 |
CN115080477A (zh) * | 2022-05-30 | 2022-09-20 | 杭州初灵信息技术股份有限公司 | 一种串行通信的方法和系统 |
CN115080477B (zh) * | 2022-05-30 | 2024-01-30 | 杭州初灵信息技术股份有限公司 | 一种串行通信的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3866175A (en) | Data communication system between a central computer and a plurality of data terminals | |
CN100565472C (zh) | 一种适用于多处理器核系统芯片的调试方法 | |
CN101866328B (zh) | 一种自动访问的串行总线读写控制方法 | |
US20110314191A1 (en) | Protocol adapter for passing diagnostic messages between a host computer and vehicle networks operating in J1939 or J1708 protocol | |
CN106444657B (zh) | 一种Modbus主站指令处理方法及主站控制器 | |
CN110221937A (zh) | 一种板间通信数据的解析方法 | |
CN107025203A (zh) | 第一板卡、第二板卡及一种设备 | |
CN104714904A (zh) | 采用窗口映射机制的RapidIO控制器及其控制方法 | |
CN106126465B (zh) | 一种数据传输方法及装置 | |
US7827335B2 (en) | Remote communication system of a network | |
CN212486527U (zh) | 一种基于modbus协议的从站转换装置 | |
CN103378994A (zh) | 一种通信设备的测试方法及终端 | |
CN110134622A (zh) | 数据采集模块与数据传输模块的数据交互系统 | |
CN113434442A (zh) | 一种交换机及数据访问方法 | |
CN100476778C (zh) | 主模块、功能模块和电子器件以及标识数据设定方法 | |
CN115549782B (zh) | 一种光模块的信息查询方法及其相关组件 | |
US7395197B2 (en) | Verification method and system for logic circuit | |
CN114416622B (zh) | 单总线通讯系统及方法 | |
CN210380890U (zh) | 一种Modbus设备的通讯系统及SIS系统 | |
CN115481078A (zh) | 主从式通讯系统及方法 | |
CN107729033A (zh) | 实现在线编程的嵌入式系统、编程器及方法 | |
CN110955175A (zh) | 一种单片机与pc机通信的方法 | |
CN103995475A (zh) | 一种柔性嵌入式被测设备模拟器 | |
CN110113137B (zh) | 一种消除数据传输干扰的方法 | |
JPH01282606A (ja) | Pmc装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190910 |