CN101119267A - 一种基于can总线的信号实时性处理方法 - Google Patents

一种基于can总线的信号实时性处理方法 Download PDF

Info

Publication number
CN101119267A
CN101119267A CNA2007100705657A CN200710070565A CN101119267A CN 101119267 A CN101119267 A CN 101119267A CN A2007100705657 A CNA2007100705657 A CN A2007100705657A CN 200710070565 A CN200710070565 A CN 200710070565A CN 101119267 A CN101119267 A CN 101119267A
Authority
CN
China
Prior art keywords
bus
information frame
node
message
priority
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
Application number
CNA2007100705657A
Other languages
English (en)
Other versions
CN100525233C (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.)
Hangzhou Dianzi University
Hangzhou Electronic Science and Technology University
Original Assignee
Hangzhou Electronic Science and Technology University
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 Hangzhou Electronic Science and Technology University filed Critical Hangzhou Electronic Science and Technology University
Priority to CNB2007100705657A priority Critical patent/CN100525233C/zh
Publication of CN101119267A publication Critical patent/CN101119267A/zh
Application granted granted Critical
Publication of CN100525233C publication Critical patent/CN100525233C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

本发明涉及一种采用嵌入式计算机技术和计算机信号处理技术的基于CAN总线信号实时性处理方法。目前的数据处理方法简单,可靠性和真实性不高。本发明方法包括:1.根据信号各信息帧的标识符的大小标定信息帧的优先级,标识符越小信息帧的优先级越高,处理时按照优先级由高到低的顺序将各信息帧发送到CAN总线上;2.通过CAN总线从节点的状态转换优化各信息帧发送顺序。本发明的处理方法实时性更强,可靠性和真实性均得到有效提高。

Description

一种基于CAN总线的信号实时性处理方法
技术领域
本发明属于计算机应用技术领域,特别是涉及一种采用嵌入式计算机技术和计算机信号处理技术的基于CAN总线信号实时性处理方法。
背景技术
控制器局部网(Controller Area Network,简称CAN总线)是BOSCH公司为现代工业应用推出的一种多主机局部网,属于现场总线的范畴。它是一种有效支持分布式控制或实时控制的串行通信网络。由于其卓越性能现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多行业。1991年9月PHILIPS SEMICONDUCTORS制订并发布了CAN协议(VERSION 2.0)。该协议包括2.0A和2.0B两部分。2.0A给出了曾在CAN协议版本1.2中定义的CAN报文格式,而2.0B给出了标准的和扩展的两种报文格式。此后,1993年ISO正式颁布了道路交通运载工具--数字信息交换--高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。
CAN总线是一种多主总线,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1MBPS。CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等项工作。
CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位或29位二进制数组成,因此可以定义211或229个不同的数据块。这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC(循环冗余校验)并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连。因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。
另外,CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点。CAN总线上任意节点可在任意时刻主动地向网络上其它节点发送信息而不分主次,因此可在各节点之间实现自由通信,CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理。CAN总线协议已被国际标准化组织认证,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN总线插卡可以任意插在PC AT/XT兼容机上,方便地构成分布式监控系统。
近年来,国内工业现场测试技术与现代动力工程技术的发展相适应,产生了飞速发展。随着电子技术、传感器技术、计算机技术和控制技术的推广与应用,以前采用人工采集处理测试数据和人工操作等测试技术手段正被计算机自动测控系统所代替,数据采集在精度、可靠性、稳定性和灵活性都有了很大提高。但是,目前国内在数据采集,特别是高速采集、信号实时性处理方面存在不少问题,主要包括:
(1)传统的数据采集方法不适用于远程数据采集,如在串行通信中,RS-232通信标准数据传送距离短,一般电缆长度为15m,不适于用作远程数据采集;
(2)传统的数据采集速率低,实时性差,如RS-232通信标准数据传输速率慢,通常异步通信速率限制在19.2kbps以下;RS-449、RS-422及RS-423等通信标准,实时性不强;RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性差。
(3)传统的数据采集方法,由于测试工作现场大多环境较差,而被测信号基本都是弱电信号,噪声信号较多,目前一般的测试系统的数据处理方法简单,因此所测数据的可靠性、真实性不高,需用先进的数据处理方法进行数据处理;且当系统出现多节点同时向总线发送数据时,会导致总线数据传输出现丢失某些数据帧的现象。
发明内容
本发明的目的在于针对现有技术的不足,提供一种实时性更强、可靠性和真实性更高的基于CAN总线的信号实时性处理方法。
本发明方法内容包括:
(1)根据信号各信息帧的标识符的大小标定信息帧的优先级,标识符越小,信息帧的优先级越高。处理时,按照优先级由高到低的顺序将各信息帧发送到CAN总线上,优先级相同的信息帧采用FIFO(First InFirst Out,先进先出)的机制发送。
(2)通过CAN总线从节点的状态转换优化各信息帧发送顺序,CAN总线从节点的状态转换的流程包括:CAN总线从节点在系统上电后进行初始化,初始化完成后,发送一个启动报文,进入预操作状态;在预操作状态下,调用CAN应用层协议中的接收消息功能模块检测接收到的对象,并对接收到的对象进行相应处理;在预操作状态中,从结点通过服务数据对象(Service Data Object,SDO)配置和设置参数,但是禁止发送实时数据对象(Process Data Object,PDO),在收到的是进入操作状态的网络管理对象(Network Management Object,NMT)报文后进入操作状态,如果收到的是进入停止状态的NMT报文则进入停止状态;在操作状态下,进行正常的通讯,发送实时数据对象PDO,在收到进入预操作状态的NMT报文后进入预操作状态,如果收到的是进入停止状态的NMT报文则进入停止状态;在停止状态下,从节点停止实时数据对象PDO和服务数据对象SDO的通讯。
本发明通过在CAN总线应用层协议上增加发送信息调度算法来提高CAN网络通讯实时性。发送信息调度算法的前提是要保证CAN网络中优先级高的信息帧可以先占用CAN总线,但由于CAN网络中大多数CAN节点驱动程序设计都采用FIFO机制,即先进入缓冲区的信息帧先被发送到总线上。这种设计使CAN节点内高优先级的信息帧需要等待缓冲区内未发送的信息帧发送完后才能参与总线占用权的竞争,剥夺了高优先级信息帧的权利。该实时性优化方法在设计节点控制器的CAN驱动程序时采取如下一些措施:放弃FIFO机制,发送时由中断子程序在发送缓冲区中搜索优先级最高的信息帧,即CAN标识符最小的信息帧进行发送;对相同的优先级,建立FIFO缓冲区,不同优先级的信息帧放入各自的缓冲区,中断子程序从高优先级的FIFO缓冲区中读取信息帧发送到总线上。本发明通过调整CAN网络中信息帧优先级的优化方法,达到提高基于CAN总线的高速数据采集和信号处理速度的目的。
CAN通讯应用层具有开放性,不同应用场合和需求出现了多种不同应用层协议标准,常用的有CANOpen、DeviceNet、SAE J1939和MOST等,本发明主要通过基于CAN智能节点硬件的软件编程实现自定义应用层协议。本发明的基于CAN应用层协议的CAN智能从节点软件设计主要包括以下工作:CAN从节点数据帧标识符分配和优先级划分,从节点状态转换,PDO通讯实现和CAN发送中断子流程等。其中,CAN标识符确定CAN总线信息帧的优先级,标识符数值较小的优先级较大,CAN应用层协议中,信息帧的前四位标识符表示信息帧的类型,其值的大小代表了信息帧的优先级。
相对于现有技术,本发明具有以下优点:
(1)采用发送信息调度算法提高CAN网络通讯实时性;
(2)在设计节点控制器的CAN驱动程序时,放弃CAN总线的FIFO机制,发送时由中断子程序在发送缓冲区中搜索优先级最高的信息帧,提高优先级高的信息帧发送的实时性;
(3)通过调整CAN网络中信息帧优先级的优化方法,达到提高基于CAN总线的高速数据采集和信号处理的目的;
(4)本发明通过基于CAN智能节点硬件的软件编程实现自定义应用层协议,实现实时CAN应用层协议设计方法;
(5)本发明适用工业自动化各个领域,易于扩展,提高数据采集速度,使信号处理具有更高的实时性,同时降低了系统成本。
附图说明
图1为本发明方法中CAN总线从节点状态转换流程图;
图2为本发明一实施例的CAN总线结构示意图。
具体实施方式
本发明的基于CAN总线的信号实时性处理方法具体内容是:
(1)通过在CAN总线应用层协议上增加发送信息调度算法来提高CAN网络通讯实时性。首先通过自适应算法,即对不同优先级信息帧设置不同缓冲区,相同优先级信息帧建方FIFO缓冲区,发送时由中断子程序在发送缓冲区中搜索优先级最高的信息帧,即CAN标识符最小的信息帧进行发送,动态调整CAN信息帧的优先级,保证CAN网络中优先级高的信息帧可以先占用CAN总线;本发明通过调整CAN网络中信息帧优先级的优化方法,达到提高基于CAN总线的高速数据采集和信号优化的目的。
(2)实时CAN应用层协议设计方法。即CAN从节点数据帧标识符分配和优先级划分,从节点状态转换,PDO通讯实现和CAN发送中断子流程等。其中,CAN标识符确定CAN总线信息帧的优先级,标识符数值较小的优先级较大,CAN应用层协议中,信息帧的前四位标识符表示信息帧的类型,其值的大小代表了信息帧的优先级。
CAN应用层协议从节点状态转换流程图如图1所示。从节点上电后,首先从节点自动初始化CAN通讯接口、节点ID、波特率等参数,即通讯初始化;然后自动进入节点初始化,调用初始化功能模块,初始化一些特定的用户;完成后,发送一个启动报文,自动进入预操作状态,调用预操作功能模块,用户的程序循环执行着,在每个循环中,调用一次接收消息功能模块,用来检查接收到的对象,并做相应的处理。在NMT报文来之前一直持续在预操作状态,从结点可以通过SDO配置和设置参数,但是不允许发送PDO。收到相应的进入操作状态的NMT报文后,进入操作状态,可以进行正常的通讯,发送PDO,每个周期依然调用一次接收消息功能模块。收到相应的进入停止状态的NMT报文后,从节点进入了停止状态,从而停止PDO和SDO通讯,但是依然每个周期调用一次接收消息功能模块。
在CAN发送中断子流程中,对于不同优先级的信息帧,通过在发送缓冲区中找出最高优先级的信息帧进行发送,对于相同优先级的信息帧,则采用FIFO机制进行信息帧的发送。
采用本发明方法实现对纺织机的基于CAN总线分布式控制系统信号实时优化处理(CAN总线结构如图2所示)。控制系统主要包括电机控制模块7、卷取控制模块8、光电编码器模块9、电子选纬控制模块10、传感器模块11和人机接口模块12,分别通过CAN节点1、CAN节点2、CAN节点3、CAN节点4、CAN节点5、CAN节点6,连接到CAN总线13、14上,通过13、14进行相互之间的通讯。通过对CAN网络实时性的优化设计,具有通讯实时性好,网络连接可靠的优点,通过已实现的部分织机控制模块的实际运行情况看,本发明方法能达到较好的通讯实时性、稳定性和可靠性。

Claims (1)

1.一种基于CAN总线的信号实时性处理方法,其特征在于该方法具体内容包括:
(1)根据信号各信息帧的标识符的大小标定信息帧的优先级,标识符越小,信息帧的优先级越高;处理时,按照优先级由高到低的顺序将各信息帧发送到CAN总线上,优先级相同的信息帧采用FIFO(First In FirstOut,先进先出)的机制发送;
(2)通过CAN总线从节点的状态转换优化各信息帧发送顺序,CAN总线从节点的状态转换的流程包括:CAN总线从节点在系统上电后进行初始化,初始化完成后,发送一个启动报文,进入预操作状态;在预操作状态下,调用CAN应用层协议中的接收消息功能模块检测接收到的对象,并对接收到的对象进行相应处理;在预操作状态中,从结点通过服务数据对象(Service Data Object,SDO)配置和设置参数,但是禁止发送实时数据对象(Process Data Object,PDO),在收到的是进入操作状态的网络管理对象(Network Management Object,NMT)报文后进入操作状态,如果收到的是进入停止状态的NMT报文则进入停止状态;在操作状态下,进行正常的通讯,发送实时数据对象PDO,在收到进入预操作状态的NMT报文后进入预操作状态,如果收到的是进入停止状态的NMT报文则进入停止状态;在停止状态下,从节点停止实时数据对象PDO和服务数据对象SDO的通讯。
CNB2007100705657A 2007-08-28 2007-08-28 一种基于can总线的信号实时性处理方法 Expired - Fee Related CN100525233C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007100705657A CN100525233C (zh) 2007-08-28 2007-08-28 一种基于can总线的信号实时性处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007100705657A CN100525233C (zh) 2007-08-28 2007-08-28 一种基于can总线的信号实时性处理方法

Publications (2)

Publication Number Publication Date
CN101119267A true CN101119267A (zh) 2008-02-06
CN100525233C CN100525233C (zh) 2009-08-05

Family

ID=39055212

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007100705657A Expired - Fee Related CN100525233C (zh) 2007-08-28 2007-08-28 一种基于can总线的信号实时性处理方法

Country Status (1)

Country Link
CN (1) CN100525233C (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626333B (zh) * 2009-08-07 2011-11-23 北京和利时电机技术有限公司 一种can总线系统及其中的应用层通讯方法
CN102347877A (zh) * 2010-07-30 2012-02-08 中兴通讯股份有限公司 总线调度方法及装置
CN103325155A (zh) * 2013-03-28 2013-09-25 朱银娟 基于can总线的高效数据记录方法
CN103840993A (zh) * 2013-10-10 2014-06-04 北京航天发射技术研究所 一种双冗余can总线数据发送方法
CN103840992A (zh) * 2014-02-20 2014-06-04 金龙联合汽车工业(苏州)有限公司 整车总线控制系统的can通信协议
CN104333517A (zh) * 2014-09-28 2015-02-04 航天科工深圳(集团)有限公司 基于can总线的自动化设备通信方法
CN104393966A (zh) * 2014-10-10 2015-03-04 宁波三星电气股份有限公司 一种can总线通信方法
CN106557050A (zh) * 2016-09-27 2017-04-05 无锡小天鹅股份有限公司 洗衣机及其数据传输方法、洗衣机的数字信号调理装置
CN106685781A (zh) * 2016-12-29 2017-05-17 雷沃重工股份有限公司 一种拖拉机双can系统及数据信息传输方法
CN107171916A (zh) * 2017-04-07 2017-09-15 浙江工业大学 工业计量泵远程监控专用4g无线智能网桥
CN110300040A (zh) * 2018-03-22 2019-10-01 华为技术有限公司 一种通信方法及相关设备
WO2020150872A1 (en) * 2019-01-21 2020-07-30 Huawei Technologies Co., Ltd. Ethernet and controller area network protocol interconversion for in-vehicle networks
CN115442180A (zh) * 2022-09-13 2022-12-06 江苏威尔曼科技有限公司 基于can总线的通讯方法、装置、设备及存储介质

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101626333B (zh) * 2009-08-07 2011-11-23 北京和利时电机技术有限公司 一种can总线系统及其中的应用层通讯方法
CN102347877A (zh) * 2010-07-30 2012-02-08 中兴通讯股份有限公司 总线调度方法及装置
CN103325155A (zh) * 2013-03-28 2013-09-25 朱银娟 基于can总线的高效数据记录方法
CN103840993A (zh) * 2013-10-10 2014-06-04 北京航天发射技术研究所 一种双冗余can总线数据发送方法
CN103840992A (zh) * 2014-02-20 2014-06-04 金龙联合汽车工业(苏州)有限公司 整车总线控制系统的can通信协议
CN103840992B (zh) * 2014-02-20 2017-02-15 金龙联合汽车工业(苏州)有限公司 整车总线控制系统的can通信协议
CN104333517A (zh) * 2014-09-28 2015-02-04 航天科工深圳(集团)有限公司 基于can总线的自动化设备通信方法
CN104393966B (zh) * 2014-10-10 2017-12-12 宁波三星智能电气有限公司 一种can总线通信方法
CN104393966A (zh) * 2014-10-10 2015-03-04 宁波三星电气股份有限公司 一种can总线通信方法
CN106557050A (zh) * 2016-09-27 2017-04-05 无锡小天鹅股份有限公司 洗衣机及其数据传输方法、洗衣机的数字信号调理装置
CN106557050B (zh) * 2016-09-27 2020-07-14 无锡小天鹅电器有限公司 洗衣机及其数据传输方法、洗衣机的数字信号调理装置
CN106685781A (zh) * 2016-12-29 2017-05-17 雷沃重工股份有限公司 一种拖拉机双can系统及数据信息传输方法
CN107171916A (zh) * 2017-04-07 2017-09-15 浙江工业大学 工业计量泵远程监控专用4g无线智能网桥
CN107171916B (zh) * 2017-04-07 2020-08-18 浙江工业大学 工业计量泵远程监控专用4g无线智能网桥
CN110300040A (zh) * 2018-03-22 2019-10-01 华为技术有限公司 一种通信方法及相关设备
CN110300040B (zh) * 2018-03-22 2021-10-01 华为技术有限公司 一种通信方法及相关设备
WO2020150872A1 (en) * 2019-01-21 2020-07-30 Huawei Technologies Co., Ltd. Ethernet and controller area network protocol interconversion for in-vehicle networks
CN115442180A (zh) * 2022-09-13 2022-12-06 江苏威尔曼科技有限公司 基于can总线的通讯方法、装置、设备及存储介质
CN115442180B (zh) * 2022-09-13 2023-05-09 江苏威尔曼科技有限公司 基于can总线的通讯方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN100525233C (zh) 2009-08-05

Similar Documents

Publication Publication Date Title
CN100525233C (zh) 一种基于can总线的信号实时性处理方法
Raji Smart networks for control
CN102932224A (zh) 基于can网络的数据通讯系统及基于该系统的数据通讯方法
CN108966046B (zh) 一种基于fpga的两种通信接口融合mac控制器
CN201821380U (zh) 多协议之间的转换设备
CN107819659B (zh) 一种基于spi的智能级联通信网络
CN101729572B (zh) Modbus工业现场总线与无线zigbee间的协议转换装置及其方法
CN109932966B (zh) 一种基于m-lvds总线实时高效数据传输方法
CN101917321A (zh) 一种EtherCAT以太网网关及其工作方法
CN102685037A (zh) 网关设备
CN101106504A (zh) 基于can总线的智能自主机器人分布式通信系统
CN102316113B (zh) Powerlink和hdlc协议转换装置及实现方法
CN102130857A (zh) 实现EtherCAT工业以太网和WorldFIP现场总线互联通讯的网关及其实现方法
Hui et al. Design and application of communication gateway of EPA and MODBUS on electric power system
CN107018151B (zh) 一种可编程转换逻辑的CAN-LonWorks协议转换方法
US7283488B2 (en) J1850 application specific integrated circuit (ASIC) and messaging technique
CN101753486B (zh) 一种工业自动化现场总线网关设备
CN111770059A (zh) 适配串口通讯软件与远程gprs设备通信的实现系统
CN115552846B (zh) 协议转换器及自动化系统
CN109802877A (zh) 一种基于can总线的通信系统设计
CN103873330A (zh) 一种rs422—can总线转换器
CN207884676U (zh) 一种车载网络通信终端
CN201237732Y (zh) 一种通用plc主控制器模块
CN201717879U (zh) 一种EtherCAT以太网网关
US6295280B1 (en) Method for network node recognition

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
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20080206

Assignee: Zhejiang Maximal Forklift Co., Ltd.

Assignor: Hangzhou Electronic Science and Technology Univ

Contract record no.: 2013330000094

Denomination of invention: CAN bus based signal real-time processing method

Granted publication date: 20090805

License type: Common License

Record date: 20130423

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090805

Termination date: 20130828