CN101605128B - Linux主从设备通过以太网接口进行通信的方法 - Google Patents

Linux主从设备通过以太网接口进行通信的方法 Download PDF

Info

Publication number
CN101605128B
CN101605128B CN2009100315072A CN200910031507A CN101605128B CN 101605128 B CN101605128 B CN 101605128B CN 2009100315072 A CN2009100315072 A CN 2009100315072A CN 200910031507 A CN200910031507 A CN 200910031507A CN 101605128 B CN101605128 B CN 101605128B
Authority
CN
China
Prior art keywords
slave unit
slave
main equipment
message
equipment
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.)
Active
Application number
CN2009100315072A
Other languages
English (en)
Other versions
CN101605128A (zh
Inventor
何光
程杰
刘继明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ITIBIA TECHNOLOGIES (SUZHOU) CO LTD
Original Assignee
ITIBIA TECHNOLOGIES (SUZHOU) CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ITIBIA TECHNOLOGIES (SUZHOU) CO LTD filed Critical ITIBIA TECHNOLOGIES (SUZHOU) CO LTD
Priority to CN2009100315072A priority Critical patent/CN101605128B/zh
Publication of CN101605128A publication Critical patent/CN101605128A/zh
Application granted granted Critical
Publication of CN101605128B publication Critical patent/CN101605128B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种LINUX主从设备通过以太网接口进行通信的方法,首先,主设备引导从设备的启动;然后,主设备发送控制命令给从设备;继而,从设备将检测到的事件或状态发给主设备;最后,从设备完成主设备下发的命令,完成对应的操作。实现专用协议簇,通过该协议簇可以对以太网的包进行重发、排序、确认包是否正确发送;利用linux的网络设备驱动;将主从设备交互信息抽象分类,通过命令响应机制确保从设备命令正确执行。

Description

LINUX主从设备通过以太网接口进行通信的方法
技术领域
本发明涉及LINUX平台下主从设备之间通过以太网接口进行通信的实现方法,属于通信技术领域。
背景技术
现有的嵌入式系统一般都由一个主CPU和许多的外围器件组成一个系统,特别是在多媒体系统应用领域中,主机CPU负责与媒体相关的协议、人机交互和设备控制的处理,外设(将CPU简称为外设)用来完成音频、视频的压缩、解压处理。这就涉及到主从CPU之间的通信,现有的主从设备之间进行通信一般都通过各种硬件总线(如UART、I2C、HPI、SPI等)进行连接。要求主从设备必须具有相应的硬件接口电路,这将会对主从设备的芯片选型造成一定的限制。由于都属于低速总线接口,因以传输速率并不高。由于这些设备总线的信号衰减原因,之间的线路传输长度都会受到限制。
嵌入式设备一般都配置有以太网接口,通过以太网接口可以实现高速率的数据传输,并完成主从设备之间的通信。现有的主从设备通信一般都是应用程序利用SOCKET通过TCP/IP协议栈进行通信,由于TCP/IP协议是一种分层协议,所有的数据包从接收到提交到上层应用程序需要很多的处理,所以它会占用比较多的CPU时间,并且它的实时性、可靠性都不能得到保证(其处理示意图见图1右边所示)。
嵌入式主从设备都有各自的代码在独自运行,如果要对整个系统升级,需要分别升级主设备和从设备,并且从设备还需要额外的存储介质。
发明内容
本发明针对嵌入式主从设备间通信的缺陷,提供一种新型的利用以太网接口在嵌入式主从设备之间进行实时、可靠、低开销通信的方法。
本发明的目的通过以下技术方案来实现:
LINUX主从设备通过以太网接口进行通信的方法,特点是:首先,主设备引导从设备的启动;然后,主设备发送控制命令给从设备;继而,从设备将检测到的事件或状态发给主设备;最后,从设备完成主设备下发的命令,完成对应的操作。
进一步地,上述的LINUX主从设备通过以太网接口进行通信的方法,其中:a)将主从设备交换的信息分为命令、响应、指示、数据四类:
命令,主设备指示从设备完成从设备提供的功能,如在VOIP应用中从设备完成语音、视频压缩功能;从设备处理命令后发送一响应消息;
响应,从设备接收到主设备命令并执行,发送消息;
指示,从设备检测到事件或状态发生变化时,通知主设备;
数据,从设备将产生的数据发送给主设备,或者通过以太网发送到网络上;
b)利用LINUX提供的网络设备驱动接口,注册新的专用协议簇,当以太网接口驱动接收到该协议簇的数据包后直接提交到socket层进行处理。当发送包时,直接将发送的数据包添加到以太网驱动队列上;通过该专用协议簇实现据数据包的重发、数据包排序、数据包校验、数据包无响应等处理机制;
c)从设备启动过程:从设备在上电后处于boot状态,等待接收主设备的消息,主设备发送一包括从设备的MAC地址、IP地址的广播包,从设备在接收到该广播包后将包中的MAC地址、IP地址配置为MAC、IP地址,并发送一响应消息;主设备下载从设备的运行代码,代码下载完成后主设备发送一程序执行命令,从设备校验主设备下载的代码,校验成功,即执行下载后的代码,并发送一程序开始执行指示;从设备运行后,主设备可靠消息传输机制发送命令消息指示从设备的操作,或者从设备将检测到的事件发送给主设备;
d)可靠的消息传输特征:定义一种协议包类型,并配置QOS,保证数据包的优先级;主从设备自动地发送消息包,采用消息应答机制,一方发送消息,另外一方收到消息后发送ACK;每个消息有一个序列号,接收方根据该序列号决定是一个新消息或重复消息,如果是一个重复消息接收方重新发送一ACK消息;消息发送方设置一定时器,当在指定的时间内没有收到ACK响应时,消息发送方重发消息;
e)该实现方法跳过了防火墙、路由的处理,直接将以太网包挂接到以太网发送队列,节省了CPU的开销,并且提高了数据包的优先级;该方法可广泛用于多媒体系统或网络处理系统等多主机环境下的主从设备之间的通信控制。
本发明技术方案突出的实质性特点和显著的进步主要体现在:
本发明利用常用的以太网接口进行主从设备通信;定义了主从设备通信方法,将通信内容按使用分为命令、响应、指示、数据;本发明提高了系统的实时性、降低了系统的开销。
附图说明
下面结合附图对本发明技术方案作进一步说明:
图1:应用程序直接利用socket通信与标准的linux通过TCP/IP通信的分层比较示意图;
图2:命令发送处理示意图。
具体实施方式
本发明设计一种新型的利用以太网接口在嵌入式主从设备之间进行实时、可靠、低开销通信的方法,不采用TCP/IP协议栈,利用LINUX NAPI接口创建一新的协议簇,并在该协议簇上实现socket接口。
LINUX主从设备通过以太网接口进行通信的方法,首先,主设备引导从设备的启动;然后,主设备发送控制命令给从设备;继而,从设备将检测到的事件或状态发给主设备;最后,从设备完成主设备下发的命令,完成对应的操作。
1)将主从设备交换的信息分为命令、响应、指示、数据四类:
命令,主设备指示从设备完成从设备提供的功能,如在VOIP应用中从设备完成语音、视频压缩功能。从设备处理命令后发送一响应消息;
响应,从设备接收到主设备命令并执行,发送消息;
指示,从设备检测到事件或状态发生变化时,通知主设备;
数据,从设备将产生的数据发送给主设备,或者通过以太网发送到网络上;
2)利用LINUX提供的网络设备驱动接口,注册新的专用协议簇,当以太网接口驱动接收到该协议簇的数据包后直接提交到socket层进行处理。当发送包时,直接将发送的数据包添加到以太网驱动队列上;通过该专用协议簇实现据数据包的重发、数据包排序、数据包校验、数据包无响应等处理机制;
3)从设备启动过程:从设备在上电后处于boot状态,等待接收主设备的消息,主设备发送一包括从设备的MAC地址、IP地址的广播包,从设备在接收到该广播包后将包中的MAC地址、IP地址配置为MAC、IP地址,并发送一响应消息;主设备下载从设备的运行代码,代码下载完成后主设备发送一程序执行命令,从设备校验主设备下载的代码,校验成功,即执行下载后的代码,并发送一程序开始执行指示;从设备运行后,主设备可靠消息传输机制发送命令消息指示从设备的操作,或者从设备将检测到的事件发送给主设备;
4)可靠的消息传输特征:定义一种协议包类型,并配置QOS,保证数据包的优先级;主从设备自动地发送消息包,采用消息应答机制,一方发送消息,另外一方收到消息后发送ACK;每个消息有一个序列号,接收方根据该序列号决定是一个新消息或重复消息,如果是一个重复消息接收方重新发送一ACK消息;消息发送方设置一定时器,当在指定的时间内没有收到ACK响应时,消息发送方重发消息;
5)该实现方法跳过了防火墙、路由的处理,直接将以太网包挂接到以太网发送队列,节省了CPU的开销,并且提高了数据包的优先级;该方法可广泛用于多媒体系统或网络处理系统等多主机环境下的主从设备之间的通信控制。
具体实现方法如图1(左边)所示:
I应用程序,完成对从设备的代码下载、从设备控制、从设备的数据处理等功能;
II BSD socket,LINUX提供的通过网络进行通信的方法;
III专用协议簇,类似UDP的协议,负责将应用程序通过socket调用发送的命令,通过以太网驱动发送出去;
IVEthernet,负责以太网的数据包发送接收。
主设备命令发送过程如图2所示:
I应用程序产生需要的命令,通过socket接口发送给专用协议簇;
II专用协议簇加上协议簇头字节、添加序列号、通过以太网驱动将数据包发送出去;
III专用协议簇启动一定时器,当定时器到期时,重发该数据包;
IV当接收到从设备响应时,确认该命令成功,将发送序列号加1。
综上所述,实现专用协议簇,通过该协议簇可以对以太网的包进行重发、排序、确认包是否正确发送;利用linux的网络设备驱动;将主从设备交互信息抽象分类,通过命令响应机制确保从设备命令正确执行。
利用常用的以太网接口进行主从设备通信;定义了主从设备通信方法,将通信内容按使用分为命令、响应、指示、数据;提高了系统的实时性、降低了系统的开销。
需要理解到的是:上述说明并非是对本发明的限制,在本发明构思范围内,所进行的添加、变换、替换等,也应属于本发明的保护范围。

Claims (4)

1.LINUX主从设备通过以太网接口进行通信的方法,其特征在于:首先,主设备引导从设备的启动;然后,主设备发送控制命令给从设备;继而,从设备将检测到的事件或状态发给主设备;最后,从设备完成主设备下发的命令,完成对应的操作;利用LINUX提供的网络设备驱动接口,注册新的协议簇,当以太网接口驱动接收到该协议簇的数据包后直接提交到socket层进行处理;当发送包时,直接将发送的数据包添加到以太网驱动队列上;通过该协议簇实现数据包的重发、数据包排序、数据包校验、数据包无响应的处理机制。
2.根据权利要求1所述的LINUX主从设备通过以太网接口进行通信的方法,其特征在于:主从设备交换的信息分为命令、响应、指示、数据四类:
命令,主设备指示从设备完成从设备提供的功能;
响应,从设备接收到主设备命令并执行,发送消息;
指示,从设备检测到事件或状态发生变化时,通知主设备;
数据,从设备将产生的数据发送给主设备,或者通过以太网发送到网络上。
3.根据权利要求1所述的LINUX主从设备通过以太网接口进行通信的方法,其特征在于:从设备启动过程是,从设备在上电后处于boot状态,等待接收主设备的消息,主设备发送一包括从设备的MAC地址、IP地址的广播包,从设备在接收到广播包后将包中的MAC地址、IP地址配置为MAC、IP地址,并发送一响应消息;主设备下载从设备的运行代码,代码下载完成后主设备发送一程序执行命令,从设备校验主设备下载的代码,校验成功,即执行下载后的代码,并发送一程序开始执行指示;从设备运行后,主设备可靠消息传输机制发送命令消息指示从设备的操作,或者从设备将检测到的事件发送给主设备。
4.根据权利要求1所述的LINUX主从设备通过以太网接口进行通信的方法,其特征在于:可靠的消息传输特征,定义一种协议包类型,并配置QOS;主从设备自动地发送消息包,采用消息应答机制,一方发送消息,另外一方收到消息后发送ACK;每个消息有一个序列号,接收方根据该序列号决定是一个新消息或重复消息,如果是一个重复消息,接收方重新发送一ACK消息;消息发送方设置一定时器,当在指定的时间内没有收到ACK响应时,消息发送方重发消息。
CN2009100315072A 2009-04-22 2009-04-22 Linux主从设备通过以太网接口进行通信的方法 Active CN101605128B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100315072A CN101605128B (zh) 2009-04-22 2009-04-22 Linux主从设备通过以太网接口进行通信的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100315072A CN101605128B (zh) 2009-04-22 2009-04-22 Linux主从设备通过以太网接口进行通信的方法

Publications (2)

Publication Number Publication Date
CN101605128A CN101605128A (zh) 2009-12-16
CN101605128B true CN101605128B (zh) 2012-05-23

Family

ID=41470682

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100315072A Active CN101605128B (zh) 2009-04-22 2009-04-22 Linux主从设备通过以太网接口进行通信的方法

Country Status (1)

Country Link
CN (1) CN101605128B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101958805B (zh) * 2010-09-26 2014-12-10 中兴通讯股份有限公司 一种云计算中终端接入和管理的方法及系统
CN105592020B (zh) * 2014-11-04 2019-07-05 国电龙源电气有限公司 风电变流器以太网通信方法
CN106254349B (zh) * 2016-08-09 2021-06-25 丰郅(上海)新能源科技有限公司 一种总线上现场实时通信的方法
CN110932759B (zh) * 2019-12-05 2021-09-17 成都长虹网络科技有限责任公司 一种电力线调制解调器的主从设备自适应方法
CN111984581B (zh) * 2020-08-14 2022-05-10 广州邦讯信息系统有限公司 一种基于Linux的SPI总线主从设备通讯系统、方法及装置
CN113391566A (zh) * 2021-06-23 2021-09-14 疯壳(深圳)科技有限公司 一种一体式可编程设备的协同工作方法及系统
CN117651022B (zh) * 2024-01-30 2024-05-03 辅易航智能科技(苏州)有限公司 数据传输方法、装置、主设备和计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777180A (zh) * 2005-12-02 2006-05-24 东南大学 基于嵌入式系统的无线保护接入设备
CN1845084A (zh) * 2006-05-12 2006-10-11 罗军 基于以太网和pstn通信方式的嵌入式远程监控系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777180A (zh) * 2005-12-02 2006-05-24 东南大学 基于嵌入式系统的无线保护接入设备
CN1845084A (zh) * 2006-05-12 2006-10-11 罗军 基于以太网和pstn通信方式的嵌入式远程监控系统

Also Published As

Publication number Publication date
CN101605128A (zh) 2009-12-16

Similar Documents

Publication Publication Date Title
CN101605128B (zh) Linux主从设备通过以太网接口进行通信的方法
US11533130B2 (en) Method and arrangement for retransmission using HARQ
CN103036904B (zh) 一种在通信网络中使用udp协议进行数据可靠传输的方法
CN106330414B (zh) 一种报文传输方法及装置
CN106209915A (zh) 一种实时流媒体无线传输方法及其系统
KR102046792B1 (ko) 송신 노드로부터 목적지 노드로의 데이터 전송 방법
CN102387485B (zh) 发送控制信令的方法和装置
KR20100104149A (ko) 전송계층 성능 향상을 위한 전송계층 제어장치 및 전송속도와 신뢰성을 동시에 보장할 수 있는 패킷 송신 방법
CN102801508A (zh) 处理网络丢包的控制方法
CN104980257A (zh) 物联网通讯方法及装置
CN112395237A (zh) 一种至少两个控制器之间通信的方法及其系统
WO2014194493A1 (zh) 一种减少传输控制层确认报文的方法、装置和系统
CN101094046B (zh) 混合自动请求重传的传输方法及装置
CN101145968B (zh) 网管系统和传输设备间数据发送及接收方法
CN114070806B (zh) 一种基于可变消息格式数据链的无人机系统及通信方法
CN101094241B (zh) 混合自动请求重传的传输方法及装置
CN113132069A (zh) 一种丢包重传的通信机制及基于fpga实现其的方法
WO2012155703A1 (zh) 基于hdlc协议的链路参数自协商方法、终端及系统
JP2004187099A (ja) 通信制御方法、通信システム及び通信装置
KR20090043724A (ko) 대용량 데이터의 직렬 송수신 방법
JP2008199431A (ja) 通信装置
WO2005069528A1 (ja) 通信システム及びそのデータ再送制御方法並びにそれに用いる無線送受信装置
KR20060096623A (ko) 통신시스템에서 데이터그램 프로토콜을 이용하여 실시간 데이터의 신뢰성을 보장하기 위한 방법
KR100630059B1 (ko) Ip 패킷을 ieee 1394 프로토콜을 통해 전송하는방법
CN112822664A (zh) 一种智能家居环境下的数据通信方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant