CN109525363A - 数据传输方法及装置 - Google Patents
数据传输方法及装置 Download PDFInfo
- Publication number
- CN109525363A CN109525363A CN201811150944.1A CN201811150944A CN109525363A CN 109525363 A CN109525363 A CN 109525363A CN 201811150944 A CN201811150944 A CN 201811150944A CN 109525363 A CN109525363 A CN 109525363A
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- message
- type
- bit
- 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.)
- Granted
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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
- H04L1/001—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding applied to control information
-
- 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/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- 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
-
- 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
-
- 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
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Quality & Reliability (AREA)
Abstract
本申请揭示了一种数据传输方法及装置,应用于控制器,所述控制器分别与车载设备、汽车总线建立通信连接,且用于控制车载设备与汽车总线之间数据的传输,包括:获取发送方所发送的通信数据;根据传输过程中所述通信数据所对应接收方所接收数据的结构,进行所述通信数据的编解码处理;向所述接收方传输编解码处理后的数据。从而不需要对车载设备中的程序等进行额外的修改即可实现汽车总线和车载设备之间的数据传输,大大提高了数据传输的效率。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种数据传输方法及装置。
背景技术
汽车中的车载设备,例如燃油控制***、传动控制***、燃油喷射***等,在工作时根据汽车总线上传输报文进行相应车载设备的控制。由于车载设备在处理过程中所处理的数据类型为字节型数据,而汽车总线上所传输的报文除了包括车载设备所需的有效数据外,还包括传输协议规定的响应消息以及总线传输域等消息,所以车载设备在工作时不能直接识别并处理汽车总线上的报文。现有技术中,为了使车载设备能够识别并处理汽车总线上所传输的报文,需要根据车载设备的结构结合汽车总线上的通信协议,对车载设备上的程序进行修改,从而使车载设备可以识别和处理对应通信协议的报文。而车载设备由于优化等原因需要不断更新升级,为了使车载设备可以处理报文,需要对车载设备中的程序重新进行编程,从而导致需要反复地进行车载设备的编程调试,一方面反复修改车载设备中的程序导致车载设备性能降低,另一方面,反复进行车载设备的程序修改和调试大大占用的车载设备的工作时间。
由上可知,如何在不对车载设备进行附加修改的情况下,实现汽车总线和车载设备之间的数据传输的问题还有待解决。
发明内容
为了解决相关技术中存在的问题,本申请提供了一种数据传输方法及装置。
本申请实施例的第一方面提供了一种数据传输方法,所述方法应用于控制器,所述控制器分别与车载设备、汽车总线建立通信连接,且用于控制车载设备与汽车总线之间数据的传输,所述方法包括:
获取发送方所发送的通信数据;
根据传输过程中所述通信数据所对应接收方所接收数据的结构,进行所述通信数据的编解码处理;
向所述接收方传输编解码处理后的数据。
结合第一方面,在第一种可能的实现中,所述通信数据包括所述车载设备所输出的字节型数据,所述通信数据为所述车载设备所输出的字节型数据,所述汽车总线所接收的数据为指定协议的报文,所述根据传输过程中所述通信数据所对应接收方所接收数据的结构,进行所述通信数据的编解码处理,包括:
进行所述字节型数据的解码,得到所述字节型数据对应的位型数据;
根据传输过程中所述汽车总线所接收报文的结构,生成包含所述位型数据的报文;
所述向所述接收方传输编解码处理后的数据,包括:
向所述汽车总线传输包含所述位型数据的所述报文。
结合第一方面,在第二种可能的实现中,所述向所述汽车总线传输包含所述位型数据的所述报文之前,还包括:
根据所述字节型数据生成校验码;
按照所述报文的结构,将所述校验码添加至所述报文中。
结合第一方面,在第三种可能的实现中,所获取的通信数据存储于发送数据缓冲器中,所述根据传输过程中所述通信数据所对应接收方所接收数据的结构,进行所述通信数据编解码处理之前,还包括:
按照每一帧所述报文所传输位型数据的数据长度,从所述发送数据缓存器中提取与所述数据长度的位型数据相对应的字节型数据。
结合第一方面,在第四种可能的实现中,所述通信数据包括所述汽车总线所输出的报文,所述根据传输过程中所述通信数据所对应接收方所接收数据的结构,进行所述通信数据的编解码处理,包括:
按照所述报文的结构,提取所述报文中的位型有效传输数据;
对所述位型有效传输数据进行解码处理得到所述位型有效传输数据对应的字节型传输数据;
所述向所述接收方传输编解码处理后的数据,包括:
向所述处理器传输解码得到的所述字节型传输数据。
结合第一方面,在第五种可能的实现中,所述对所述位型有效传输数据进行解码处理得到所述位型有效传输数据对应的字节型传输数据之前,还包括:
按照所述报文的结构,提取所述报文中的校验码;
根据所提取的所述校验码进行所述位型有效传输数据的校验;
如果校验所述位型有效传输数据发送错误,则提取下一帧报文中的位型有效传输数据;如果校验所述位型有效传输数据发送准确,则进行对所述位型有效传输数据进行解码处理得到所述位型有效传输数据对应的字节型传输数据的步骤。
结合第一方面,在第六种可能的实现中,所述方法还包括:
对所述汽车总线上的传输进行状态监控;
如果监控到汽车总线处于传输繁忙状态,调整从所述汽车总线上获取报文的速率,或向所述汽车总线传输报文的速率。
本申请实施例的第二方面提供一种数据传输装置,应用于控制器,所述控制器分别与车载设备、汽车总线建立通信连接,且用于控制车载设备与汽车总线之间数据的传输,所述装置包括:
获取模块,用于获取所传输的通信数据;
处理模块,用于根据传输过程中所述通信数据所对应接收方所接收数据的结构,进行所述通信数据的编解码处理;
传输模块,用于向所述接收方传输编解码处理后的数据。
在一种可能的实现中,通信数据包括车载设备所输出的字节型数据,汽车总线所接收的数据为指定协议的报文,处理模块包括:
解码单元,用于进行字节型数据的解码,得到字节型数据对应的位型数据。
报文生成单元,用于根据传输过程中汽车总线所接收报文的结构,生成包含位型数据的报文。
传输模块,包括:
报文传输单元,用于向汽车总线传输包含位型数据的报文。
在一种可能的实现中,数据传输装置还包括:
校验码生成单元,用于根据字节型数据生成校验码。
校验码添加单元,用于按照报文的结构,将校验码添加至报文中。
在一种可能的实现中,获取模块所获取的通信数据存储于发送数据缓冲器中,数据传输装置还包括:
提取模块,用于在处理模块执行相应动作之前,按照每一帧报文所传输位型数据的数据长度,从发送数据缓存器中提取与数据长度的位型数据相对应的字节型数据。
在一种可能的实现中,通信数据包括汽车总线所输出的报文,处理模块包括:
提取单元,用于按照报文的结构,提取报文中的位型有效传输数据。
解码单元,用于对位型有效传输数据进行解码处理得到位型有效传输数据对应的字节型传输数据。
传输模块,包括:
字节型传输数据传输单元,用于向处理器传输解码得到的字节型传输数据。
在一种可能的实现中,数据传输装置还包括如下单元,用于在解码单元执行相应操作前执行对应操作,其中:
校验码提取单元,用于按照报文的结构,提取报文中的校验码。
校验单元,用于根据所提取的校验码进行位型有效传输数据的校验。
第一处理单元,用于如果校验单元校验位型有效传输数据发送错误,则提取下一帧报文中的位型有效传输数据;以及
第二处理单元,用于如果校验单元校验位型有效传输数据发送准确,则进行对位型有效传输数据进行解码处理得到位型有效传输数据对应的字节型传输数据。
在一种可能的实现中,数据传输装置还包括:
状态监控模块,用于对汽车总线上的传输进行状态监控。
速率调整模块,用于如果监控到汽车总线处于传输繁忙状态,调整从汽车总线上获取报文的速率,或向汽车总线传输报文的速率。
一种数据传输装置,应用于控制器,所述控制器分别与车载设备、汽车总线建立通信连接,且用于控制车载设备与汽车总线之间数据的传输,所述装置包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上任一项所述的数据传输方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的数据传输方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
通过对车载设备和汽车总线之间所传输的通信数据进行编解码处理,即将汽车总线输出的报文解码为车载设备可处理的字节型传输数据,将车载设备输出的字节型数据编码为位型数据,并根据位型数据生成符合汽车总线上通信协议所要求的报文。从而,车载设备可以直接接收解码得到的字节型传输数据进行处理,汽车总线可以直接接收所生成的报文,不需要对车载设备进行附加的修改,实现了车载设备和汽车总线之间的数据传输,大大提高了数据传输的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据本申请所涉及的实施环境的示意图;
图2是根据一示例性实施例示出的一种控制器的框图;
图3是根据一示例性实施例示出的一种数据传输方法的流程图;
图4是根据另一示例性实施例示出的一种数据传输方法的流程图;
图5是图4对应实施例的步骤S250之前步骤的流程图;
图6是根据另一示例性实施例示出的一种数据传输方法的流程图;
图7是图6对应实施例的步骤S332之前步骤的流程图;
图8是根据另一示例性实施例示出的数据传输方法的流程图;
图9是根据一示例性实施例示出的数据传输装置的框图;
图10是J1850协议的总线报文结构示意图;
图11是根据另一示例性实施例示出的数据传输装置的框图;
图12是根据一示例性实施例示出的有限状态机的状态切换图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据本申请所涉及的实施环境的示意图。本申请适用于汽车终端,该汽车终端中包括:发送方100、接收方300以及进行控制发送方和接收方数据传输控制的控制器200。其中在本申请的技术方案中,针对数据传输方向的不同,发送方与接收方也相应调整。对于车载设备向汽车总线传输通信数据的时候,则发送方100为车载设备,接收方300为汽车总线;对于汽车总线向车载设备传输数据的时候,发送方100为汽车总线,接收方300为车载设备。针对汽车总线与车载设备之间的数据传输,车载设备可以是一个或者多个,在此不进行具体限定。
在具体实施例中,发送方与控制器,以及控制器与接收方通过数据接口进行通信;在其他实施例中,还可以通过其上的无线通信模块进行双方的通信,在此不进行具体限定。
图2是根据一示例性实施例示出的一种控制器200的框图。控制器200可以用于图1实施环境中进行发送方和接收方之间的数据传输控制。控制器200可以是独立的芯片或者单片机等具有数据处理能力的电子设备。需要说明的是,该控制器200只是一个适配于本发明的示例,不能认为是提供了对本发明的使用范围的任何限制。该控制器200也不能解释为需要依赖于或者必须具有图2中示出的示例性的控制器200中的一个或者多个组件。
该控制器200的硬件结构可因配置或者性能的不同而产生较大的差异,如图3所示,控制器200包括:电源210、接口230、至少一存储器250、以及至少一处理器(CPU,CentralProcessing Units)270。
其中,电源210用于为控制器200上的各硬件设备提供工作电压。
接口230包括至少一有线或无线网络接口231、至少一串并转换接口233、至少一输入输出接口235以及至少一USB接口237等,用于与外部设备通信,例如与处理器进行数据传输,与汽车总线进行数据传输。
存储器250作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作***251、程序253或者数据255等,存储方式可以是短暂存储或者永久存储。其中,操作***251用于管理与控制控制器200上的各硬件设备以及程序253,以实现处理器270对海量数据255的计算与处理,其可以是Windows ServerTM、Mac OSXTM、UnixTM、LinuxTM、FreeBSDTM、FreeRTOS等。程序253是基于操作***251之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图2中未示出),每个模块都可以分别包含有对控制器200的一系列计算机可读指令。数据255可以是存储于磁盘中的图片等。
处理器270可以包括一个或多个以上的处理器,并设置为通过总线与存储器250通信,用于运算与处理存储器250中的海量数据255。
如上面所详细描述的,适用本发明的控制器200将通过处理器270读取存储器250中存储的一系列计算机可读指令的形式来完成数据传输方法。
此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本发明,因此,实现本发明并不限于任何特定硬件电路、软件以及两者的组合。
图3是根据一示例性实施例示出的一种数据传输方法的流程图,应用于控制器,所述控制器分别与车载设备、汽车总线建立通信连接,且用于控制车载设备与汽车总线之间数据的传输。如图3所示,该数据传输方法,可以由图1实施环境中的控制器200执行,可以包括以下步骤:
步骤S110,获取发送方所发送的通信数据。
步骤S130,根据传输过程中通信数据所对应接收方所接收数据的结构,进行通信数据编解码处理。
步骤S150,向接收方传输编解码处理后的数据。
汽车终端中由各个子***协同工作实现汽车的正常工作,其中各个子***即为汽车中的车载设备,车载设备可以为燃油控制***、传动控制***、燃油喷射***、防抱死制动***(ABS)、防滑控制***(ASR)、废气再循环***等子***,在此不进行具体限定。
针对数据传输方向的不同,通信数据所对应的发送方和接收方也不相同。在本申请的技术方案中,如果是车载设备向汽车总线进行的数据传输,则对应的,车载设备为通信数据的发送方,汽车总线为通信数据的接收方;如果是汽车总线向车载设备进行的数据传输,则对应的,汽车总线为通信数据的发送方,车载设备为通信数据的接收方。
针对不同的接收方,接收方受限于通信协议或者硬件条件,对所接收的数据的结构具有相应的要求。车载设备所接收的数据或者从车载设备输出的数据为字节型数据,而汽车总线所接收的数据或者从汽车总线发送出去的数据为符合汽车总线上通信协议的报文,例如J1850协议的报文。
通过对发送方和接收方所传输的通信数据进行编解码处理,将从发送方所传输的通信数据转换成接收方可接收的数据结构(即为编解码处理)形式的数据,即将汽车总线输出的报文解码为车载设备可直接处理的字节型传输数据,将车载设备输出的字节型数据编码为位型数据,并根据位型数据生成符合汽车总线上通信协议所要求的报文。从而,车载设备可以直接接收解码得到的字节型传输数据并进行处理,汽车总线可以直接接收所生成的报文,不需要对车载设备进行附加的修改,实现了处理器和汽车总线之间的数据传输,大大提高了数据传输的效率。
针对接收方可接收数据的数据结构的不同,控制器对通信数据所进行的编解码处理也不相同。下文针对接收方为车载设备和接收方为汽车总线分别进行本申请的数据传输方法的详细论述。
一、从车载设备向汽车总线传输通信数据:
在一示例性实施例中,如图4所示,通信数据包括车载设备所输出的字节型数据,汽车总线所接收的数据为指定协议的报文,那么在步骤S110中,所获取的通信数据即为获取车载设备所输出的字节型数据。
在本实施例中,步骤S130包括:
步骤S231,进行字节型数据的解码,得到字节型数据对应的位型数据。
步骤S232,根据传输过程中汽车总线所接收报文的结构,生成包含位型数据的报文。
根据汽车总线中采用的通信协议不同,报文结构也不同,图10示出了基于J1850协议的报文的结构示意图,在该示意图中,报文中所传输的数据位于数据域中,从而,在解码得到位型数据之后,将位型数据添加至报文的数据域中。在通过汽车总线利用报文将位型数据传到另一方之后,另一方根据J1850协议所规定的报文结构提取报文的数据域中的数据。
在本实施例中,步骤S150包括:步骤S250,向汽车总线传输包含位型数据的报文。
在一示例性实施例中,步骤S250进一步包括:
对向汽车总线所传输的报文进行传输监控。
如果监控到报文传输错误,则停止该报文的传输,并重新传输该报文。
其中报文传输错误可以是报文中某一位置的消息发送错误,例如图10中归一化位、帧内响应域的信息发送错误,在此不进行具体限定。
在具体实施例中,结合协议有限状态机和时钟发送器生成的报文发送时钟信号来进行传输监控。协议有限状态机在报文中对应位置的消息发送完成,协议有限状态机的状态发生改变,从而控制报文发送时钟发送报文中该消息下一位的消息,如果协议有限状态机所对应状态的改变与报文发送时钟所发送的消息不对应,则视为该报文传输错误。对于检测到报文传输错误,则立即停止该报文的传输,并重新开始传输该报文。
通过对报文的传输过程进行传输监控,从而保证了接收报文的一方可以准确接收到报文。
在一示例性实施例中,如图5所示,在步骤S250之前,还包括:
步骤S241,根据字节型数据生成校验码。
步骤S242,按照报文的结构,将校验码添加至报文中。
校验码用于提取报文中位型数据的一方在提取到位型数据之后,根据校验码判断所提取的位型数据是否与发送的字节型数据相符,如果相符才根据所提取的位型数据进行进一步处理,从而保证数据传输的准确性和有效性。
在具体实施例中,根据校验码的算法不同,校验码也相应的不同,其中校验码的算法可以是码距、奇偶校验、海明校验、循环冗余校验等,在此不进行具体限定。在J1850协议中通过循环冗余算法计算得到循环冗余校验码(Cyclic Redundancy Check,CRC)用于进行位型数据的校验。
基于不同的通信协议,校验码在报文中的位置也不相同。如图10所示的J1850协议的报文结构,校验位位于数据域的相邻位,则将生成的CRC校验码添加至报文中对应的位置。从而在向汽车总线发送包含位型数据报文的同时,也同时发送添加至该报文的校验码。
在一示例性实施例中,所获取的通信数据(即车载设备中输出的字节型数据字节型)存储于发送数据缓冲器中,在执行步骤S231和步骤S232之前,还包括:
按照每一帧报文所传输位型数据的数据长度,从发送数据缓存器中提取与数据长度的位型数据相对应的字节型数据。
在汽车总线中,报文按帧发送,每一帧报文中所传输的位型数据的数据长度由报文的数据域决定。通过发送数据缓存器进行所获取的通信数据即字节型数据暂存,从而,根据每一帧报文所传输位型数据的长度,从发送数据缓存器中提取对应数据长度的字节型数据。从而,不需要车载设备和控制器进行实时的信息交换,而可以一次性将多字节数据放入发送数据缓存器中,当发送数据缓存器空了或者发送数据缓存器中的字节型数据不满足一帧报文发送的数据长度时,再向发送数据缓存器中存放所获取的字节型数据。减小了车载设备的时间开销和管理负担,提高了车载设备的数据处理效率。
二、从汽车总线向车载设备传输通信数据
在该过程中,通信数据为汽车总线所输出的报文,即发送方为汽车总线,接收方为车载设备,在本实施例中,如图6所示,步骤S110即为步骤S310:获取汽车总线所输出的报文,图1对应步骤S130包括:
步骤S331,按照报文的结构,提取报文中的位型有效传输数据。
位型有效传输数据即为上文中提到的报文的数据域中的数据。
步骤S332,对位型有效传输数据进行解码处理得到位型有效传输数据对应的字节型传输数据。
相应的,图1中的步骤S150即为步骤S350:向车载设备传输解码得到的字节型传输数据。
在一示例性实施例中,步骤S350包括:
对解码得到的字节型传输数据进行滤波。
并将滤波后的字节型数据存储于接收数据缓冲器中。
按照车载设备可接收数据的长度从接收数据缓冲器中对应提取滤波后的对应数据长度的字节型传输数据传输至车载设备。
其中车载设备可接收数据的长度,即车载设备每一次可接收数据的长度,其中该长度实质上受限于车载设备的运算速度,而从物理硬件上受限于车载设备的外部接口。通过设置接收数据缓冲器,从而不需要进行车载设备和控制器之间实时的信息交换,减少了车载设备的时间开销和管理负担。
在一示例性实施例中,如图7所示,在步骤S332之前,还包括:
步骤S321,按照报文的结构,提取报文中的校验码。
即按照校验码在报文中的位置,从对应位置中提取校验码。
在具体实施例中,通过协议有限状态机结合时钟发送器生成的时钟信号,按照顺序进行提取报文中的各种信息,其中,在进行报文的各信息的提取时,当报文中的一种信息提取完成后时,协议有限状态机发生改变,根据时钟发生器生成的时钟信号进行报文中相邻位信息的提取,在该信息提取完成之后,协议有限状态机的状态再次发生改变。其中所提取的信息例如报文中的位型有效传输数据、校验码等。
通过协议有限状态机和时钟发生器生成的时钟信号保证了报文中各种信息的准确提取,提高了信息提取的准确性。
步骤S322,根据所提取的校验码进行位型有效传输数据的校验。
其中通过生成校验码对应的算法进行位型有效数据的校验。例如上文提到的通过循环冗余校验算法生成循环冗余校验码,则在校验的时候,根据对应的循环冗余校验算法结合所提取的校验码和位型有效传输数据进行位型有效传输数据的校验。
如果校验位型有效传输数据发送错误,则执行步骤S323,提取下一帧报文中的位型有效传输数据。
即针对校验得到报文中的位型有效传输数据发送错误时,则不对该位型有效传输数据进行进一步的解码处理,而是忽略掉该帧报文中的位型有效传输数据,提取下一帧报文中的位型有效传输数据。
如果校验位型有效传输数据发送准确,则执行步骤S332。
在一示例性实施例中,如图7所示,在向汽车总线发送报文或者在接收汽车总线输出的报文之前,还包括:
步骤S010,对汽车总线上的传输进行状态监控。
步骤S020,如果监控到汽车总线处于传输繁忙状态,调整从汽车总线上获取报文的速率,或向汽车总线传输报文的速率。
其中汽车总线中的传输繁忙状态可以通过汽车总线中空闲传输通道来确定,例如汽车总线中无空闲传输通道或者空闲传输通道的数量少于设定值,则认为汽车总线处于传输繁忙状态。
针对向汽车总线发送包含位型数据的报文之前,如果监控到汽车总线处于传输繁忙状态,则降低发送报文的速率,例如延缓报文的发送或者增加相邻帧报文发送的间隔时间。
针对从汽车总线中获取报文之前,如果监控到汽车总线处于传输繁忙状态,则加快获取报文的速率。
通过根据汽车总线的传输状态调整发送数据或者获取/发送报文的速率,从而可以避免汽车总线上报文传输的拥挤导致报文传输错误等。
下述为本申请装置实施例,可以用于执行本申请上述控制器200执行的数据传输方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请数据传输方法实施例。
现结合如图11所示的数据传输装置和如图12所示的协议有限机的状态图对本申请的数据传输方法进行进一步说明,该数据传输装置可以应用于控制器200中,用于执行以上数据传输方法中的全部或者部分步骤。
在该实施例中,汽车总线上按照J1850协议进行报文传输,其中J1850协议的报文结构如图10所示:
其中,J1850协议的报文结构包括:
总线空闲域(Idle Bus)、帧开始域(Start of Frame,SOF)、数据域(Data bytes,其中数据域传输的数据长度为8bits)、检测字节域(又称循环冗余错误检测字节域,CRCError Detection Byte)、数据结束域(End of Data)、归一化位(Normalization Bit(10.4Kbps only),NB)、帧内响应域(In-Frame Response)、帧结束域(End of Frame,EOF)、帧间隔域(Inter-Frame Separation,IFS)、总线空闲域(Idle Bus(occurs before SOFand after IFS))
如图11所示,该数据传输装置中与车载设备和汽车总线进行数据交互的结构包括:包括SPI接口,用于与车载设备进行通信。发送器,用于向汽车总线传输根据车载设备输出的字节型数据进行编码处理得到的报文,接收器用于获取汽车总线输出的报文。现分别针对车载设备向汽车总线传输通信数据和汽车总线向车载设备传输通信数据的过程进行分别论述数据传输装置中各部分的工作原理。
车载设备向汽车总线传输通信数据:
车载设备输出的字节型数据经数据传输装置的SPI接口进入发送数据缓冲器,报文队列控制器根据每一帧报文所传输位型数据的数据长度控制发送字节序列发生器发送对应数据长度的字节型数据,例如上文提到的每一帧中传输8bits的数据,其中1byte=8bits,则报文队列控制器控制发送字节序列发生器每次提取1字节的字节型数据传输至下一单元/模块。每次所提取的字节型经过CRC校验(即CRC<7:0>)生成CRC校验码,并将所生成CRC校验码放置在暂时接收器中,之后通过协议有限状态机和位时序逻辑将CRC校验码传输到TX移位寄存器中。在协议有限状态机的控制下,将每次所提取的字节型数据编码为位型数据之后,放置在TX移位寄存器中。最后,位时序逻辑在结合协议有限状态机输出的信号和时钟发送器所生成的发送时钟信号,控制TX移位寄存器按照图10所示的报文结构生成包含位型数据和CRC校验码的报文,并通过发送器将报文传输至汽车总线。在图11中,发送<7:0>即为从发送字节序列发生器输出的8bits的字节型数据,同理接收<7:0>为从RX移位寄存器中输出的8bits的字节型数据。
在TX移位寄存器生成报文并通过发送器将报文传输至汽车总的过程中,协议有限状态机针对报文中每一消息的传输进行状态监控,并针对每一消息的发送进行相应的状态改变。如图12示,在该过程中,在开始传输报文时,协议有限状态机变为S1状态,从而根据发送时钟信号开始传输位型数据时,协议有限状态机变为S2状态(发送数据);位型数据传输结束后,进而传输CRC校验码,此时协议限状态机变为S3状态,之后按照报文中各消息传输的顺序,协议有限状态机顺次在S4、S5、S6等状态之间变化。与向汽车总线发送报文的过程相类似,在接收到接收器从汽车总线传输的报文时,提取报文中的各信息的过程中,协议有限状态机的状态也进行与报文发送过程中相相应的改变,下文不再赘述。
进一步的,在向汽车总线传输所生成的报文之前,通过位时序逻辑对汽车总线上的传输状态进行监控,如果监控到汽车总线处于传输繁忙状态,则通过配置寄存器和时钟发送器调整报文向汽车总线传输的速率。在从汽车总线中获取汽车总线所传输的报文时,位时序逻辑也有相应的传输状态监控,下文不再赘述。
其中汽车总线向车载设备传输通信数据的过程中:
接收器接收到汽车总线输出的报文之后,位时序逻辑在结合协议有限状态机以及时钟发送器所产生的时钟信号进行提取报文中的各信息,其中所提取的信息包括报文中的位型有效传输数据、以及CRC校验码。之后,在协议有限状态机的控制下,根据所提取的位型有效传输数据和CRC校验码校验该位型有效插损数据是否发送错误,如果发送准确,则对位型有效传输数据进行解码,得到该位型有效传输数据对应的字节型传输数据。并将解码得到的字节型传输数据放置在接收滤波器中,并通过滤波设置寄存器对位于接收滤波器中的字节型传输数据进行滤波,将滤波之后的字节型传输数据放置在接收数据缓冲器中,从而通过数据传输装置的SPI接口将接收数据缓冲器中的字节型传输数据传输至车载设备进行处理。
在一具体实施例中,该数据传输装置通过现场可编程门阵列FPGA和硬件描述语言VHDL实现,具有并行处理功能,从而能够保证数据传输装置在汽车总线和车载设备进行数据传输的过程中进行高速的编解码处理。同时通过SPI接口与车载设备进行通信,而车载设备在使用的过程中由于优化升级的原因需要进行车载设备的硬件和软件的更新,而通过标注的SPI接口与车载设备连接进行通信,车载设备的更新并不会影响到到传输控制装置的硬件以及软件,从而数据传输装置的通用性强。
图9是根据一示例性实施例示出的一种数据传输装置的框图,该数据传输装置可以用于图1所示实施环境的控制器中,执行以上数据传输方法实施例中的全部或者部分步骤。该装置用于应用于控制器,所述控制器分别与车载设备、汽车总线建立通信连接,且用于控制车载设备与汽车总线之间数据的传输。在一具体实施例中,数据传输装置与车载设备通过接口来建立通信连接,例如SPI接口。如图9所示,该装置该数据传输装置包括但不限于:获取模块110、处理模块130以及传输模块150,其中:
获取模块110,车载设备获取所传输的通信数据车载设备。
处理模块130,该模块与获取模块110相连,用于根据传输过程中通信数据所对应接收方所接收数据的结构,进行通信数据编解码处理。
传输模块150,该模块与处理模块130相连,用于向接收方传输编解码处理后的数据。
在一示例性实施例中,通信数据包括车载设备所输出的字节型数据,汽车总线所接收的数据为指定协议的报文,处理模块130包括:
解码单元,用于进行字节型数据的解码,得到字节型数据对应的位型数据。
报文生成单元,用于根据传输过程中汽车总线所接收报文的结构,生成包含位型数据的报文。
传输模块150,包括:
报文传输单元,用于向汽车总线传输包含位型数据的报文。
上述装置中各个模块的功能和作用的实现过程具体详见图4以及上述数据传输方法中对应步骤的实现过程,在此不再赘述。
在一示例性实施例中,数据传输装置还包括:
校验码生成单元,用于根据字节型数据生成校验码。
校验码添加单元,用于按照报文的结构,将校验码添加至报文中。
在一示例性实施中,获取模块110所获取的通信数据存储于发送数据缓冲器中,数据传输装置还包括:
提取模块,用于在处理模块执行相应动作之前,按照每一帧报文所传输位型数据的数据长度,从发送数据缓存器中提取与数据长度的位型数据相对应的字节型数据。
在一示例性实施例中,通信数据包括汽车总线所输出的报文,处理模块130,包括:
提取单元,用于按照报文的结构,提取报文中的位型有效传输数据。
解码单元,用于对位型有效传输数据进行解码处理得到位型有效传输数据对应的字节型传输数据。
传输模块150,包括:
字节型传输数据传输单元,用于向车载设备传输解码得到的字节型传输数据。
在一示例性实施例中,数据传输装置还包括如下单元,用于在解码单元执行相应操作前执行对应操作,其中:
校验码提取单元,用于按照报文的结构,提取报文中的校验码。
校验单元,用于根据所提取的校验码进行位型有效传输数据的校验。
第一处理单元,用于如果校验单元校验位型有效传输数据发送错误,则提取下一帧报文中的位型有效传输数据;以及
第二处理单元,用于如果校验单元校验位型有效传输数据发送准确,则进行对位型有效传输数据进行解码处理得到位型有效传输数据对应的字节型传输数据。
在一示例性实施例中,数据传输装置还包括:
状态监控模块,用于对汽车总线上的传输进行状态监控。
速率调整模块,用于如果监控到汽车总线处于传输繁忙状态,调整从汽车总线上获取报文的速率,或向汽车总线传输报文的速率。
上述装置中各个模块/单元的功能和作用的实现过程具体详见上述数据传输方法中对应步骤的实现过程,在此不再赘述。
可以理解,这些模块可以通过硬件、软件、或二者结合来实现。当以硬件方式实现时,这些模块可以实施为一个或多个硬件模块,例如一个或多个专用集成电路。当以软件方式实现时,这些模块可以实施为在一个或多个处理器上执行的一个或多个计算机程序,例如图2的处理器270所执行的存储在存储器253中的程序。
可选的,本申请还提供一种数据传输装置,应用于控制器,所述控制器分别与车载设备、汽车总线建立通信连接,且用于控制车载设备与汽车总线之间数据的传输,该数据传输装置可以用于图1所示实施环境的控制器200中,执行以上数据传输方法实施例中任一所示的数据传输方法的全部或者部分步骤。装置包括:
处理器;及
存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时实现如上数据传输方法实施中任一项的方法。
该实施例中的装置的处理器执行操作的具体方式已经在有关该数据传输方法的实施例中执行了详细描述,此处将不做详细阐述说明。
在示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上数据传输方法实施例中任一项的方法。该计算机可读存储介质例如包括程序的存储器250,上述程序可由控制器200的处理器270执行以完成上述数据传输方法。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据传输方法,其特征在于,所述方法应用于控制器,所述控制器分别与车载设备、汽车总线建立通信连接,且用于控制车载设备与汽车总线之间数据的传输,所述方法包括:
获取发送方所发送的通信数据;
根据传输过程中所述通信数据所对应接收方所接收数据的结构,进行所述通信数据的编解码处理;
向所述接收方传输编解码处理后的数据。
2.根据权利要求1所述的方法,其特征在于,所述通信数据包括所述车载设备所输出的字节型数据,所述根据传输过程中所述通信数据所对应接收方所接收数据的结构,进行所述通信数据的编解码处理,包括:
进行所述字节型数据的解码,得到所述字节型数据对应的位型数据;
根据传输过程中所述汽车总线所接收报文的结构,生成包含所述位型数据的报文;
所述向所述接收方传输编解码处理后的数据,包括:
向所述汽车总线传输包含所述位型数据的所述报文。
3.根据权利要求2所述的方法,其特征在于,所述向所述汽车总线传输包含所述位型数据的所述报文之前,还包括:
根据所述字节型数据生成校验码;
按照所述报文的结构,将所述校验码添加至所述报文中。
4.根据权利要求2所述的方法,其特征在于,所获取的通信数据存储于发送数据缓冲器中,所述根据传输过程中所述通信数据所对应接收方所接收数据的结构,进行所述通信数据编解码处理之前,还包括:
按照每一帧所述报文所传输位型数据的数据长度,从所述发送数据缓存器中提取与所述数据长度的位型数据相对应的字节型数据。
5.根据权利要求1所述的方法,其特征在于,所述通信数据包括所述汽车总线所输出的报文,所述根据传输过程中所述通信数据所对应接收方所接收数据的结构,进行所述通信数据的编解码处理,包括:
按照所述报文的结构,提取所述报文中的位型有效传输数据;
对所述位型有效传输数据进行解码处理得到所述位型有效传输数据对应的字节型传输数据;
所述向所述接收方传输编解码处理后的数据,包括:
向所述处理器传输解码得到的所述字节型传输数据。
6.根据权利要求5所述的方法,其特征在于,所述对所述位型有效传输数据进行解码处理得到所述位型有效传输数据对应的字节型传输数据之前,还包括:
按照所述报文的结构,提取所述报文中的校验码;
根据所提取的所述校验码进行所述位型有效传输数据的校验;
如果校验所述位型有效传输数据发送错误,则提取下一帧报文中的位型有效传输数据;如果校验所述位型有效传输数据发送准确,则进行对所述位型有效传输数据进行解码处理得到所述位型有效传输数据对应的字节型传输数据的步骤。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述汽车总线上的传输进行状态监控;
如果监控到汽车总线处于传输繁忙状态,调整从所述汽车总线上获取报文的速率,或向所述汽车总线传输报文的速率。
8.一种数据传输装置,其特征在于,所述装置应用于控制器,所述控制器分别与车载设备、汽车总线建立通信连接,且用于控制所述车载设备与汽车总线之间数据的传输,所述装置包括:
获取模块,用于获取所传输的通信数据;
处理模块,用于根据传输过程中所述通信数据所对应接收方所接收数据的结构,进行所述通信数据编解码处理;
传输模块,用于向所述接收方传输编解码处理后的数据。
9.一种数据传输装置,其特征在于,所述装置应用于控制器,所述控制器分别与车载设备、汽车总线建立通信连接,且用于控制车载设备与汽车总线之间数据的传输,所述装置包括:
处理器;及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811150944.1A CN109525363B (zh) | 2018-09-29 | 2018-09-29 | 数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811150944.1A CN109525363B (zh) | 2018-09-29 | 2018-09-29 | 数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109525363A true CN109525363A (zh) | 2019-03-26 |
CN109525363B CN109525363B (zh) | 2021-07-06 |
Family
ID=65771631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811150944.1A Active CN109525363B (zh) | 2018-09-29 | 2018-09-29 | 数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109525363B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848790A (zh) * | 2005-04-14 | 2006-10-18 | 上海德科电子仪表有限公司 | 一种基于 can 技术的汽车仪表内部数据传输方法 |
US20080082544A1 (en) * | 2006-09-29 | 2008-04-03 | Dunstan Robert A | Method and system to validate a write for a device on a serial bus |
CN101895549A (zh) * | 2010-07-21 | 2010-11-24 | 中国北车股份有限公司大连电力牵引研发中心 | 车辆通信网络数据转换网关及其转换方法 |
CN102955474A (zh) * | 2011-08-26 | 2013-03-06 | 中国航空工业集团公司第六三一研究所 | 一种汽车ecu的测控方法及其*** |
CN104460429A (zh) * | 2014-11-04 | 2015-03-25 | 盛瑞传动股份有限公司 | Can信号的解析方法和装置 |
CN104579885A (zh) * | 2015-02-05 | 2015-04-29 | 青岛四方车辆研究所有限公司 | Cpci总线和isa总线的协议转换器和转换方法 |
CN104834276A (zh) * | 2014-12-19 | 2015-08-12 | 北汽福田汽车股份有限公司 | 汽车can总线网络及其从节点和汽车 |
CN105446910A (zh) * | 2015-11-24 | 2016-03-30 | 东软集团股份有限公司 | 一种数据传输方法及装置 |
-
2018
- 2018-09-29 CN CN201811150944.1A patent/CN109525363B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1848790A (zh) * | 2005-04-14 | 2006-10-18 | 上海德科电子仪表有限公司 | 一种基于 can 技术的汽车仪表内部数据传输方法 |
US20080082544A1 (en) * | 2006-09-29 | 2008-04-03 | Dunstan Robert A | Method and system to validate a write for a device on a serial bus |
CN101895549A (zh) * | 2010-07-21 | 2010-11-24 | 中国北车股份有限公司大连电力牵引研发中心 | 车辆通信网络数据转换网关及其转换方法 |
CN102955474A (zh) * | 2011-08-26 | 2013-03-06 | 中国航空工业集团公司第六三一研究所 | 一种汽车ecu的测控方法及其*** |
CN104460429A (zh) * | 2014-11-04 | 2015-03-25 | 盛瑞传动股份有限公司 | Can信号的解析方法和装置 |
CN104834276A (zh) * | 2014-12-19 | 2015-08-12 | 北汽福田汽车股份有限公司 | 汽车can总线网络及其从节点和汽车 |
CN104579885A (zh) * | 2015-02-05 | 2015-04-29 | 青岛四方车辆研究所有限公司 | Cpci总线和isa总线的协议转换器和转换方法 |
CN105446910A (zh) * | 2015-11-24 | 2016-03-30 | 东软集团股份有限公司 | 一种数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109525363B (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102780705B (zh) | Ethernet-CAN协议转换器 | |
CN109347598A (zh) | 校验码处理方法、电子设备及存储接介质 | |
CN103716137A (zh) | 一种识别ZigBee传感器网络丢包原因的方法及其*** | |
CN106162528B (zh) | LoRa信号与蓝牙信号转换模块、转换方法及信号发送装置 | |
CN102651229B (zh) | 半导体装置和数据处理方法 | |
CN103684678A (zh) | 一种用于uart的波特率自适应方法、装置及uart | |
CN105187227A (zh) | 一种应用rmap协议实现can总线设备即插即用的装置 | |
CN107592250B (zh) | 基于航空fc总线多速率自适应测试设备 | |
WO2011137640A1 (zh) | 文件传输方法、文件发送装置和文件接收装置 | |
CN109688555B (zh) | 一种信号数据的实时采集与通信***及方法 | |
CN109495215A (zh) | 一种半双工总线的通信方法、***装置及可读存储介质 | |
CN109286471B (zh) | 面向srio控制器的crc校验方法及装置 | |
Dong et al. | Exploiting error estimating codes for packet length adaptation in low-power wireless networks | |
CN112803950A (zh) | 一种数据压缩方法、装置、设备及计算机存储介质 | |
CN109525363A (zh) | 数据传输方法及装置 | |
CN108072779A (zh) | 一种数字示波器can总线波特率自动识别方法 | |
US11095474B2 (en) | Packet data protocol | |
CN112118083A (zh) | 一种单线半双工的通信方法、通信装置及设备 | |
CN107911288B (zh) | 列车通信网卡及列车控制管理*** | |
Goel et al. | UVM based controller area network verification IP (VIP) | |
CN111901126B (zh) | 一种基于v2x协议栈网络层避免解密验签模块耗时的方法 | |
US20210014006A1 (en) | System and method for implementing a hybrid automatic repeat request process | |
CN107046541B (zh) | 一种无线收发加密通信方法及其装置 | |
KR20130133007A (ko) | 이더넷 전송의 선 순차 조절 장치 및 방법 | |
Biswal et al. | IoT‐Based Response Time Analysis of Messages for Smart Autonomous Collision Avoidance System Using Controller Area Network |
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 |