CN113452591B - 基于can总线连续数据帧的回路控制方法及装置 - Google Patents
基于can总线连续数据帧的回路控制方法及装置 Download PDFInfo
- Publication number
- CN113452591B CN113452591B CN202110689695.9A CN202110689695A CN113452591B CN 113452591 B CN113452591 B CN 113452591B CN 202110689695 A CN202110689695 A CN 202110689695A CN 113452591 B CN113452591 B CN 113452591B
- Authority
- CN
- China
- Prior art keywords
- data
- bus
- frame
- packet
- data packet
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05B—ELECTRIC HEATING; ELECTRIC LIGHT SOURCES NOT OTHERWISE PROVIDED FOR; CIRCUIT ARRANGEMENTS FOR ELECTRIC LIGHT SOURCES, IN GENERAL
- H05B47/00—Circuit arrangements for operating light sources in general, i.e. where the type of light source is not relevant
- H05B47/10—Controlling the light source
- H05B47/175—Controlling the light source by remote control
- H05B47/18—Controlling the light source by remote control via data-bus transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例提出基于CAN总线连续数据帧的回路控制方法及装置,所述CAN总线接收到与其连接的终端发送的数据,所述数据中包含有通信协议;所述CAN总线对所述数据中的通信协议进行处理,得到不同优先级数据帧;所述CAN总线对所述不同优先级数据帧进行分包处理,得到若干数据包,并改造所述数据包以提升所述数据包的优先级;校验机制CRC接收所述数据包进行数据处理,完善数据包结构,以得到数据包集合;缓存器对所述数据包集合进行数据引流,缓存到FIFO队列,形成数据帧;并将所述数据帧发送至与所述CAN总线连接的所述终端,所述数据帧用于所述终端对其进行数据解析,得到所述数据帧对应的传输数据,实现对所述终端的控制。
Description
技术领域
本发明属于照明设备领域,尤其涉及一种基于CAN总线连续数据帧的回路控制方法及装置。
背景技术
在路灯的控制系统中,我们会用到回路控制箱,回路控制箱的作用是控制路灯回路开关,同时还可以通过电力载波控制各个终端。
回路控制箱一般通过多块电路板组成,包括主控板、单灯集中器板、DO板、DI板、计量板、电源板等电路板。电路板之间需要通信,在回路控制箱内采用CAN总线是比较理想的选择,每块板都可以是主动方和被动方(485总线必须采用1主N从方式,效率低),并且CAN总线的通信速率可以高达1Mbit/S。在实际使用中,CAN总线具备防冲突机制,但是CAN的每个数据包的大小有限制,有效数据最大只能填充8字节,而实际在使用过程中,如果每帧协议限制在8字节内,很多应用无法满足。如果超过8字节的协议,我们就要采用分包形式,意味着整个CAN总线上有很多碎片小包,正常的处理方法是接收时按发送地址存储到不同的内存缓存区,这对于内存消耗较大,并且系统中当设备连接越多,接收方需要申请的内存空间就越大。我们需要改进一种办法来实现大数据帧协议,并且尽可能占用较少的资源。
发明内容
针对上述的不足,本发明实施例提供一种基于CAN总线连续数据帧的回路控制方法及装置,旨在解决回路控制箱中板间通信协议数据帧较大时占用内存资源过多的问题。
第一方面,本发明实施例提供一种基于CAN总线连续数据帧的回路控制方法,所述基于CAN总线连续数据帧的回路控制方法包括以下步骤:
所述CAN总线接收到与其连接的终端发送的数据,所述数据中包含有通信协议;
所述CAN总线对所述数据中的通信协议进行处理,得到不同优先级数据帧;
所述CAN总线对所述不同优先级数据帧进行分包处理,得到若干数据包,并改造所述数据包以提升所述数据包的优先级;
校验机制CRC接收所述数据包进行数据处理,完善数据包结构,以得到数据包集合;
缓存器对所述数据包集合进行数据引流,缓存到FIFO队列,形成数据帧;并将所述数据帧发送至与所述CAN总线连接的所述终端,所述数据帧用于所述终端对其进行数据解析,得到所述数据帧对应的传输数据,实现对所述终端的控制。
进一步地,所述CAN总线连接多个终端,数据节点通过2条CAN总线进行数据点对点、点对多传输。
进一步地,对若干数据帧进行分包处理,分成若干数据包,所述数据包通过数据包头部ID进行数据拼接;
所述数据包抢CAN总线控制权,抢到所述控制权的所述数据包提升所在所述数据帧中的其他数据包优先级,直到所述数据帧中的所述数据包传输完整。
进一步地,所述控制权通过仲裁比较方式抢所述CAN总线控制权,控制所述CAN总线进行数据通信。
进一步地,所述数据校验机制为CRC循环冗余校验(Cyclical RedundancyCheck),其中,所述数据校验机制实时检测数据包传输,对错误数据包进行重发。
进一步地,所述缓存器对同一数据帧所述数据包存储到缓存队列FIFO中,实现有序存储。
第二方面,本发明实施例还提供一种基于CAN总线连续数据帧的回路控制箱装置,所述基于CAN总线连续数据帧的回路控制箱装置,包括:
协议处理单元,所述协议处理单元用于数据协议进行处理,得到不同优先级的数据帧;
数据帧处理单元,所述数据帧处理单元用于数据帧进行分包处理,并改造数据包,提升数据包的优先级;
数据验证单元,所述数据校验单元用于数据包进行数据处理,完善数据包结构,以得到数据包集合;
数据缓存单元,所述数据缓存单元用于所述数据包集合进行数据引流,缓存到FIFO队列,形成数据帧;并将所述数据帧发送至与所述CAN总线连接的所述终端,所述数据帧用于所述终端对其进行数据解析,得到所述数据帧对应的传输数据,实现对所述终端的控制。
第三方面,本发明实施例还提供一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例中任一项所述的基于CAN总线连续数据帧的回路控制方法中的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时实现本发明实施例中任一项所述的基于CAN总线连续数据帧的回路控制方法中的步骤。
本发明实施例中,采取CAN总线的形式进行数据传输,提高了传输的效率,传输的速率可达到1Mbit/s,在实际的运算当中,CAN总线的传输方式还具备防冲突的机制,减轻了数据的校验、线束过多等问题;CAN总线当中进行数据帧的改造,提升数据包中ID的优先级,减少了数据的多次仲裁,抢夺CAN总线的控制权,减轻了时间运算压力,同时节约了内存空间进行地址的存储。
附图说明
图1是本发明实施例提供的一种基于CAN总线连续数据帧的回路控制方法的流程框图;
图2为本发明实施例提供的一种CAN总线连续数据帧的回路控制箱方法中的节点回路图;
图3为本发明实施例提供的基于CAN总线连续数据帧的回路控制装置的模块图;
图4是本发明实施例提供的一种CAN总线连续数据帧的回路控制装置中CAN控制器的内部结构图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
请参见图1,图1是本发明实施例提供的一种基于CAN总线连续数据帧的回路控制方法的流程框图,在本发明实施例中,基于CAN总线连续数据帧的回路控制方法包括步骤S101至步骤S105,具体步骤如下:
步骤S101、所述CAN总线接收到与其连接的终端发送的数据,所述数据中包含有通信协议。
所述CAN数据总线采用两根数据总线形成数据回路,若干数据板连接在CAN总线上形成数据节点,形成点对点、点对多的数据线路结构,采用CAN数据通信能提升数据传输效率。
请参见图2,图2是本发明实施例CAN总线连续数据帧的回路控制箱方法中的节点回路图。在本实施例中,所述CAN总线连接多个终端,数据节点通过2条CAN总线进行数据点对点、点对多传输。该2条CAN总线包括CAN_H总线、CAN_L总线,通过2条CAN总线进行点对点、点对多的数据通信、电路板间想要进行通信,需要抢到CAN总线的控制权,想要发送消息的时候,需要CAN控制器对数据(报文)进行规范数据帧,只有数据帧中的格式符合规范,才能进行数据的发送,其中,CAN控制器的逻辑电平转换为CAN总线的差分电平,在两条有差分电压的总线上传输数据。
步骤S102、所述CAN总线对所述数据中的通信协议进行处理,得到不同优先级数据帧。
获取拼接好的数据协议,对所述数据协议分类划分为:实时控制数据、读取状态数据、上报数据、联动控制数据、升级数据。
所述数据优先级的数据协议可以通过设置29位的标识符进行数据协议的标注,优先级越高,所述29位标识符数值越低。
所述数据协议拼接到CAN通信协议的头部ID中,多项数据进行发送时,是否优先状况经过头部ID的仲裁比较,数值越低的数据越容易抢先发送数据。
步骤S103、所述CAN总线对所述不同优先级数据帧进行分包处理,得到若干数据包,并改造所述数据包以提升所述数据包的优先级。
通过仲裁比较得到优先发送的数据进行数据帧的拆分,确定数据帧的长度,分成若干数据包,例如:述所数据帧的长度为35字节数据,发送数据时把该数据帧拆分成4个数据包,所述若干数据包需要进行数据处理包括:
当第1数据包抢到数据总线进行发送,通过CAN通信的校验机制判断数据包是否发送成功,如若发送失败,则重新进行数据包发送,直到数据包发送成功,其后的3包数据对头部ID进行数据处理,对所述的协议进行改造,提升该3数据包的优先级,使其后的3数据包能够第一时间传输出去成为完整的数据帧,具体的,把29位仲裁帧的头部ID位进行切换,第1帧时为“1”,后面3帧时为“0”。释放CAN控制权,再由其后的数据帧进行数据的仲裁得到CAN总线的控制权,重复实现上述的步骤。
步骤S104、校验机制CRC接收所述数据包进行数据处理,完善数据包结构,以得到数据包集合。
数据传输过程中,会有些高时效性要求,面对一些突发的状况需要拥有数据的绝对控制权,本实施例中,在传输过程中出现了输入数据错误,验证的结果对应不上的情况,这就是需要CRC(Cyclical Redundancy Check)循环冗余校验数据进行服务数据,CRC循环冗余校验把错误的数据包进行数据间隔出去,不影响其他的数据传输,并且强制重复发送错误时间段的数据包,直到数据恢复正常,这个过程中,就需要实时控制数据。
步骤S105、缓存器对所述数据包集合进行数据引流,缓存到FIFO队列,形成数据帧;并将所述数据帧发送至与所述CAN总线连接的所述终端,所述数据帧用于所述终端对其进行数据解析,得到所述数据帧对应的传输数据,实现对所述终端的控制。
在本发明的实施例中,数据帧中的数据包会按照一定梯度进行数据的排布,同一存放在缓存队列FIFO中,其中所述缓存队列FIFO为一种先进先出的缓存器,顺序写入数据,顺序读出数据,正是因为这个特点,进行数据帧的存储的时候,只需要根据其中数据包的排序链条进行提取,不需要对数据包头部ID进行数据排序,减轻终端处理器内存空间。
其中,FIFO有两种缓冲传输方式,同步FIFO和异步FIFO,因为异步FIFO所采用的读写时钟不一致的原因,占用内存空间较大,这里采取了同步FIFO的传输方式。
数据包存储到FIFO缓冲器中时,因为缓存器的先进先出机制问题,直接得到一整条数据帧的结构,数据在存储到内存的时候,只需要对第1数据包头部ID进行存储到终端处理器内存中,剩余的所述数据包根据缓存的顺序进行排序、数据包整合成数据帧结构。
在所述同步FIFO的缓存中,需要进行缓存的地址进行空/满判断,进行的原则为写满不溢出,读空不多读,在读写地址相等或相差一个或多个地址的时候,满标志应该有效,表示此时FIFO已满,外部电路应对FIFO发数据,在满信号有效时写数据,应根据设计的要求,或保持、或抛弃重发。同理,空标志的产生也是如此,即:
空标志<=(|写地址-读地址|<=预定值)AND(写地址超前读地址);
满标志<=(|写地址-读地址|<=预定值)AND(读地址超前写地址);
采用读写地址相比较来产生空满标志,当读写地址的差值等于一个预设值的时候,空/满信号被置位,因而限制了FIFO的速度。一般只采用相等不相等的比较逻辑,避免使用减法器。
数据包存储到FIFO缓冲器中时,因为缓存器的先进先出机制问题,直接得到一整条数据帧的结构,数据在存储到内存的时候,只需要对第1数据包头部ID进行存储到终端处理器内存中,剩余的所述数据包根据缓存的顺序进行排序、数据包整合成数据帧结构。
在本发明实施例中,所述方法还包括:
对若干所述数据帧进行分包处理,分成若干所述数据包,所述数据包通过数据包头部ID进行数据拼接。
所述数据包抢所述CAN总线的控制权,抢到所述控制权的所述数据包提升其所在的所述数据帧中的其他所述数据包的优先级,直到所述数据帧中的所述数据包传输完整。
具体的,所述数据帧通过所述CAN总线进行通信时,所述数据帧格式大于8字节,需要所述CAN总线对所述数据帧进行分包处理,其中,对所述数据包的头部ID中的地址发送给终端,所述数据包根据所述终端的头部ID的地址进行数据拼接,形成完整数据帧。
在本发明实施例中,所述控制权通过仲裁比较方式抢所述CAN总线的控制权,控制所述CAN总线进行数据通信。
具体的,所述CAN总线控制权在网络上任意一节点均可在任意时刻主动向网络上的其它节点同时发送消息,若两个或两个以上的节点同时开始传送报文,就会产生总线访问冲突,根据逐位仲裁原则,借助所述数据帧头部ID标识符,优先级低的节点主动停止发送数据,而优先级高的节点继续发送信息。在仲裁期间,CAN总线作“与”运算,每一个节点都对节点发送的电平与总线电平进行比较,如果电平相同,则节点可以继续发送。如规定0的优先级高,当某一个节点发送1而检测到0时,此节点知道有更高优先级的信息在发送,它就停止发送消息,直到再一次检测到网络空闲。
在本发明实施例中,所述数据校验机制为CRC,其中,所述数据校验机制实时检测数据包传输,对错误数据包进行重发。
具体的,所述数据校验机制为CRC对数据包进行数据校验,所述CRC校验机制终端对发送的数据包和接收的数据包进行比对,如发送错误,把发送错误的数据包进行隔离出来,进行错误重发操作。
在本发明实施例中,进行数据协议的改造,把数据协议的等级按照29个标识符进行排序,得到的5个协议等级,并且通过改造数据帧中数据包的头部ID结构,可以实现数据包的有序传输、内存优化的优点,节约了资源空间,能够进行大字节的数据传输。
具体的,把29位标识符进行定义,最高位用于优先级切换位,第1包数据用于竞争时,固定为“1”,后面的N-1包数据,固定为“0”。这样就可以保证只要哪个发送方第1包占用了CAN总线后,后面的N-1包的优先级高于所有其他设备的第1包数据的优先级,发送方就可以以连续的方式发送给所有接收方,而不会被别的设备打断。
实施例二
请结合图3所示,为本发明实施例提供的基于CAN总线连续数据帧的回路控制装置中的结构框图,本发明实施例提供一种基于CAN总线连续数据帧的回路控制装置300,所述装置包括:
协议处理单元301,所述协议处理单元301用于数据协议进行处理,得到不同优先级的数据帧;
数据帧处理单元302,所述数据帧处理单元302用于数据帧进行分包处理,并改造数据包,提升数据包的优先级;
数据验证单元303,所述数据校验单元303用于数据包进行数据处理,完善数据包结构,以得到数据包集合;
数据缓存单元304,所述数据缓存单元304用于所述数据包集合进行数据引流,缓存到FIFO队列,形成数据帧;并将所述数据帧发送至与所述CAN总线连接的所述终端,所述数据帧用于所述终端对其进行数据解析,得到所述数据帧对应的传输数据,实现对所述终端的控制。
请结合图4所示,为本发明实施例提供的一种CAN总线连续数据帧的回路控制装置中CAN控制器的内部结构图,包括:接口管理逻辑模块3011、发送缓冲器模块3021、接收FIFO模块3041、CAN核心模块3012,其中,接口管理逻辑3011的作用是用于连接外部主控制器,解释来自主控制器的命令,控制CAN控制器寄存器的寻址,并向主控制器提供中断信息和状态信息;CAN核心模块3012为收到一个数据(报文)时,CAN核心模块3012根据CAN规范将串行位流转换成用于接收的并行数据,发送一个数据(报文)时则相反;发送缓冲器3021用于存储一个完整的数据(报文),当CAN控制器发送初始化时,接口管理逻辑会使CAN核心模块从发送缓冲器读CAN数据(报文);接收FIFO和主控制器之间的接口,用于存储从CAN总线上接收的所有数据(报文)。在本实施例中,接收FIFO3041作为缓存器来使用,接收通过验收得到的数据的时候,因为数据包是通过提升头部ID的优先级进行发送的,这样就保证了一整根条数据链的完整性,在缓存的器FIFO的作用下把数据包生成完整的数据帧,通过接口管理器的作用下发送至MCU终端处理器中进行存储。
本发明实施例提供的一种基于CAN总线连续数据帧的回路控制装置所实现的方法与本发明实施提供的上述基于CAN总线连续数据帧的回路控制装置方法相同,解决的技术问题和达到的技术效果也相同,参上述描述,在此不再赘述。
实施例三
请结合图5所示,本发明实施例提供的一种电子设备的结构示意图。本发明实施例提供一种电子设备400,包括:存储器401、处理器402及存储在所述存储器401上并可在所述处理器402上运行的计算机程序,所述处理器402执行所述计算机程序时实现本发明实施例提供一种基于CAN总线连续数据帧的回路控制方法中的步骤:
S101、所述CAN总线接收到与其连接的终端发送的数据,所述数据中包含有通信协议;
S102、所述CAN总线对所述数据中的通信协议进行处理,得到不同优先级数据帧;
S103、所述CAN总线对所述不同优先级数据帧进行分包处理,得到若干数据包,并改造所述数据包以提升所述数据包的优先级;
S104、校验机制CRC接收所述数据包进行数据处理,完善数据包结构,以得到数据包集合;
S105、缓存器对所述数据包集合进行数据引流,缓存到FIFO队列,形成数据帧;并将所述数据帧发送至与所述CAN总线连接的所述终端,所述数据帧用于所述终端对其进行数据解析,得到所述数据帧对应的传输数据,实现对所述终端的控制。
需要说明的是,所述处理器402执行所述计算机程序时实现本本发明实施例提供一种基于CAN总线连续数据帧的回路控制方法的步骤时,本发明实施例提供的电子设备400能够实现上述方法实施例中的各个实施方式,以及相应有益效果,为避免重复,在此不再赘述。
实施例四
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时实现本发明上述实施例中任一项所述的基于CAN总线连续数据帧的回路控制方法中的步骤。
S101、CAN总线接收终端发送数据,其中CAN总线通过CAN收发器进行数据收集,采用闭环高速ISO11898通讯网络进行数据传输,传输速率最高可达1Mpbs,实现1km以内距离传输,稳定可靠。
S102、通过CAN总线对数据中的协议处理,得到不同优先级数据帧,对数据协议分类划分为:实时控制数据、读取状态数据、上报数据、联动控制数据、升级数据。
S103、CAN总线对不同数据帧分包处理,得到若干数据包,并改造所述数据包以提升所述数据包的优先级。
相比于原来的通过分包操作,不对数据包头部ID进行数据改造,明显加大了终端处理器内存地址压力,数据包越大、节点越多,形成地址也会越来越多,虽然存储到FIFO缓冲器中,但是FIFO缓冲器的机制问题,需要对每个数据包ID地址进行的区分,因为每个数据帧中的数据包都是通过仲裁的方式得到CAN总线的控制权,再通过ID把数据包链接成完整的数据帧结构,这里需要消耗大量的时间和内存资源,效率比较低下,本实施例能够完整的解决上述的问题。
具体的,通过仲裁比较得到优先发送的数据进行数据帧的拆分,确定数据帧的长度,分成若干数据包。
例如:述所数据帧的长度为35字节数据,发送数据时把该数据帧拆分成4个数据包,所述若干数据包需要进行数据处理包括:
当第1数据包抢到数据总线进行发送,通过CAN通信的校验机制判断数据包是否发送成功,如若发送失败,则重新进行数据包发送,直到数据包发送成功,其后的3包数据对头部ID进行数据处理,对所述的协议进行改造,提升该数据包的优先级,使其后的3数据包能够第一时间传输出去成为完整的数据帧,释放CAN控制权,再由其后的数据帧进行数据仲裁得到CAN总线的控制权,重复实现上述的步骤。
S104、校验机制CRC接收所述数据包进行数据处理,完善数据包结构,以得到数据包集合。
数据传输过程中,会有些高时效性要求,面对一些突发的状况需要拥有数据的绝对控制权,本实施例中,在传输过程中出现了输入数据错误,验证的结果对应不上的情况,这就需要CRC循环冗余校验(Cyclical Redundancy Check)数据进行服务数据,CRC循环冗余校验(Cyclical Redundancy Check)把错误的数据包进行数据间隔出去,不影响其他的数据传输,并且强制重复发送错误时间段的数据包,直到数据恢复正常,这个过程中,就需要实时控制数据。
S105、缓存器对所述数据包集合进行数据引流,缓存到FIFO队列,形成数据帧;并将所述数据帧发送至与所述CAN总线连接的所述终端,所述数据帧用于所述终端对其进行数据解析,得到所述数据帧对应的传输数据,实现对所述终端的控制。
FIFO缓冲器对得到的数据包进行缓冲,并根据其先进先出的特性,通过接入的顺序对数据包组合成数据帧结构,完整的数据帧存储到终端MCU中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,简称RAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。上面结合附图对本发明的实施例进行了描述,所揭露的仅为本发明较佳实施例而已,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式用等同变化,均属于本发明的保护之内。
Claims (7)
1.一种基于CAN总线连续数据帧的回路控制方法,其特征在于,所述基于CAN总线连续数据帧的回路控制方法包括如下步骤:
所述CAN总线接收与其连接的终端发送的数据,所述数据中包含有数据类型;
所述CAN总线根据所述数据类型对所述数据进行处理,为不同类型的所述数据分配不同的标识符,得到不同优先级的数据帧;
所述CAN总线对所述数据帧进行分包处理,得到若干数据包,并根据所述数据包的发送顺序,对所述数据包的所述优先级进行更改;
校验机制CRC接收所述数据包并进行数据处理,完善数据包结构,以得到数据包集合;
缓存器对所述数据包集合进行数据引流,将其缓存到FIFO队列,并将所述数据包集合中的所述数据包整合为所述数据帧;并将所述数据帧发送至与所述CAN总线连接的所述终端,所述数据帧用于所述终端对其进行数据解析,得到所述数据帧对应的传输数据,实现对所述终端的控制;
其中,根据所述数据包的发送顺序,对所述数据包的所述优先级进行更改的步骤,具体为:
在按照分包顺序得到的第一个所述数据包被成功发送后,将同一所述数据帧中的其他所述数据包的所述标识符进行改造,以提升所述优先级,使得同一所述数据帧中的所述数据包能够在所述第一个所述数据包被成功发送后进行连续发送,所述优先级用于控制所述数据包的发送顺序。
2.如权利要求1所述的一种基于CAN总线连续数据帧的回路控制方法,其特征在于,所述CAN总线对所述数据帧进行分包处理,得到若干数据包,并根据所述数据包的发送顺序,对所述数据包的所述优先级进行更改的步骤,包括以下子步骤:
对所述数据帧进行分包处理,分成若干所述数据包,所述数据包通过数据包头部ID进行数据拼接;
所述数据包抢所述CAN总线的控制权,抢到所述控制权的所述数据包提升其所在的所述数据帧中的其他所述数据包的优先级,直到所述数据帧中的所有所述数据包传输完整。
3.如权利要求2所述的一种基于CAN总线连续数据帧的回路控制方法,其特征在于,所述数据包通过仲裁比较方式抢所述CAN总线的控制权,控制所述CAN总线进行数据通信。
4.如权利要求1所述的一种基于CAN总线连续数据帧的回路控制方法,其特征在于,所述缓存器将同一所述数据帧的所述数据包集合存储到缓存队列FIFO中,实现有序存储。
5.一种基于CAN总线连续数据帧的回路控制装置,其特征在于,所述基于CAN总线连续数据帧的回路控制装置,包括:
数据接收单元,所述数据接收单元用于接收与其连接的终端发送的数据,所述数据中包含有数据类型;
协议处理单元,所述协议处理单元用于根据所述数据类型对所述数据进行处理,为不同类型的所述数据分配不同的标识符,得到不同优先级的数据帧;
数据帧处理单元,所述数据帧处理单元用于对所述数据帧进行分包处理,得到若干数据包,并根据所述数据包的发送顺序,对所述数据包的所述优先级进行更改,具体为:
在按照分包顺序得到的第一个所述数据包被成功发送后,将同一所述数据帧中的其他所述数据包的所述标识符进行改造,以提升所述优先级,使得同一所述数据帧中的所述数据包能够在所述第一个所述数据包被成功发送后进行连续发送,所述优先级用于控制所述数据包的发送顺序;
数据验证单元,所述数据验证单元用于接收所述数据包并进行数据处理,完善数据包结构,以得到数据包集合;
数据缓存单元,所述数据缓存单元用于对所述数据包集合进行数据引流,将其缓存到FIFO队列,并将所述数据包集合中的所述数据包整合为所述数据帧;并将所述数据帧发送至与所述CAN总线连接的所述终端,所述数据帧用于所述终端对其进行数据解析,得到所述数据帧对应的传输数据,实现对所述终端的控制。
6.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的基于CAN总线连续数据帧的回路控制方法中的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时实现如权利要求1至4中任一项所述的基于CAN总线连续数据帧的回路控制方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110689695.9A CN113452591B (zh) | 2021-06-21 | 2021-06-21 | 基于can总线连续数据帧的回路控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110689695.9A CN113452591B (zh) | 2021-06-21 | 2021-06-21 | 基于can总线连续数据帧的回路控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113452591A CN113452591A (zh) | 2021-09-28 |
CN113452591B true CN113452591B (zh) | 2023-04-07 |
Family
ID=77812067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110689695.9A Active CN113452591B (zh) | 2021-06-21 | 2021-06-21 | 基于can总线连续数据帧的回路控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113452591B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114338270B (zh) * | 2021-12-24 | 2023-05-09 | 深圳市元征科技股份有限公司 | 数据通信方法、装置、电子设备及存储介质 |
CN114745697A (zh) * | 2022-03-22 | 2022-07-12 | 同济大学 | 一种基于超宽带技术的车辆编队通信系统及方法 |
CN115174304B (zh) * | 2022-06-24 | 2023-12-22 | 南京国电南自维美德自动化有限公司 | 一种识别符分段自定义的can总线通信方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764730A (zh) * | 2009-12-18 | 2010-06-30 | 航天东方红卫星有限公司 | 一种can总线数据传输方法 |
JP2021034863A (ja) * | 2019-08-23 | 2021-03-01 | 矢崎総業株式会社 | 中継器および通信システム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6174305B2 (ja) * | 2012-08-03 | 2017-08-02 | トヨタ自動車株式会社 | データ送信装置、通信制御方法、及び通信制御プログラム |
CN104780086A (zh) * | 2015-05-08 | 2015-07-15 | 中国电子科技集团公司第四十七研究所 | 用于监测环境的can总线通信的方法及系统 |
CN105007208B (zh) * | 2015-06-04 | 2018-11-23 | 南京阿凡达机器人科技有限公司 | 一种基于can总线的机器人系统内通信方法 |
CN111033476B (zh) * | 2017-08-30 | 2023-08-01 | 奥林巴斯株式会社 | 存储器访问装置、图像处理装置和摄像装置 |
CN110244604A (zh) * | 2019-05-29 | 2019-09-17 | 北京大豪科技股份有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN112165420A (zh) * | 2020-08-27 | 2021-01-01 | 深圳市优必选科技股份有限公司 | 报文处理方法、报文处理装置、机器人系统及can设备 |
-
2021
- 2021-06-21 CN CN202110689695.9A patent/CN113452591B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764730A (zh) * | 2009-12-18 | 2010-06-30 | 航天东方红卫星有限公司 | 一种can总线数据传输方法 |
JP2021034863A (ja) * | 2019-08-23 | 2021-03-01 | 矢崎総業株式会社 | 中継器および通信システム |
Also Published As
Publication number | Publication date |
---|---|
CN113452591A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113452591B (zh) | 基于can总线连续数据帧的回路控制方法及装置 | |
Di Natale et al. | Understanding and using the controller area network communication protocol: theory and practice | |
US7801173B2 (en) | Communication message conversion apparatus and communication message conversion method | |
US5247626A (en) | Fddi controller having flexible buffer management | |
CN107948094B (zh) | 一种高速数据帧无冲突入队处理的装置及方法 | |
JP2004534311A (ja) | 共有属性に基づいて圧縮キューペアから複数の仮想キューペアを作成する構成 | |
US9703736B2 (en) | Data transmission apparatus, communication control method, and communication control program | |
EP3461086B1 (en) | Communication apparatus, communication method and computer-readable medium | |
CN111459417B (zh) | 一种面向NVMeoF存储网络的无锁传输方法及系统 | |
CN113254375A (zh) | 一种数据传输方法、装置、电子设备和存储介质 | |
US20170134299A1 (en) | Method and apparatus for controlling message over heterogeneous network | |
CN113676386B (zh) | 一种fc-ae-1553总线协议报文通讯系统 | |
CN113051204A (zh) | 串行背板总线通信方法及系统 | |
CN110995507A (zh) | 一种网络加速控制器及方法 | |
CN112367236B (zh) | Lin总线的数据调度方法及系统 | |
CN114095901A (zh) | 通信数据处理方法及装置 | |
CN113973091A (zh) | 一种报文处理方法、网络设备以及相关设备 | |
CN108650160B (zh) | 一种基于链式端口的总线桥接器及其工作方法 | |
CN115766626A (zh) | 应用于afdx网络监控的基于优先级的轮询调度方法 | |
CN113157465B (zh) | 基于指针链表的消息发送方法及装置 | |
JP2001156874A (ja) | 通信制御システムとその制御方法 | |
JPH07111507A (ja) | データ受信方式及び通信制御装置 | |
CN116488957B (zh) | 信号处理方法、系统及桥接器 | |
Wang et al. | A Nerve-Like Systolic Message Bus System | |
CN117041186B (zh) | 数据传输方法、芯片系统、计算设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |