CN101217444A - 一种基于can总线的网络控制方法 - Google Patents
一种基于can总线的网络控制方法 Download PDFInfo
- Publication number
- CN101217444A CN101217444A CNA2008100594199A CN200810059419A CN101217444A CN 101217444 A CN101217444 A CN 101217444A CN A2008100594199 A CNA2008100594199 A CN A2008100594199A CN 200810059419 A CN200810059419 A CN 200810059419A CN 101217444 A CN101217444 A CN 101217444A
- Authority
- CN
- China
- Prior art keywords
- bus
- network
- state
- controller
- control method
- 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
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000007704 transition Effects 0.000 claims abstract description 6
- 230000000284 resting effect Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000005059 dormancy Effects 0.000 claims description 6
- 241001269238 Data Species 0.000 claims description 2
- 230000003139 buffering effect Effects 0.000 claims description 2
- 238000005538 encapsulation Methods 0.000 claims description 2
- 230000006266 hibernation Effects 0.000 abstract 1
- 238000006243 chemical reaction Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 14
- 230000006399 behavior Effects 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007958 sleep Effects 0.000 description 2
- 208000034657 Convalescence Diseases 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005272 metallurgy Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000013517 stratification Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
- 238000009941 weaving Methods 0.000 description 1
Images
Classifications
-
- 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
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种基于CAN总线的网络控制方法。将总线网络划分为五个状态,分别为未初始化、停止、启动、休眠和总线关闭状态,限定了每个状态下可执行的操作,并规定了如何从一个状态转变至另一个状态。本发明提供了这些状态之间的迁移条件。通过对操作模式状态的统一控制与管理,可以实现对CAN网络更加灵活的使用并能实时检测CAN网络中的软硬件故障。利用本方法,能够有效地对网络及下属控制器的状态进行管理,保证数据是在网络资源可用,线路可靠的情况下进行传输,提高了系统的稳定性。
Description
技术领域
本发明涉及计算机领域的嵌入式实时控制系统,更具体的说,是涉及一种基于CAN总线的网络控制方法。
背景技术
实时系统是指如果逻辑和时序出现偏差会引起严重后果的系统,广泛应用于工厂生产过程控制、汽车业、办公自动化、计算机外设、通信设备、机器人、航空航天和民用消费等领域。实时控制系统中,主要使用总线网络进行通讯。一般是指经过网络层、链路层、物理层等的电子控制单元之间的通信。对于嵌入式实时控制系统,电子控制单元之间的通信是非常必须和重要的,通信系统的速度和可靠性直接影响着汽车的性能和驾驶安全。
CAN(Controller Area Network)是控制(器)局域网的简称,是德国Bosch公司在1986年为解决现代汽车中众多测量控制部件之间的数据交换而开发的一种串行数据通信总线。CAN最初是为汽车的监测、控制系统而设计的,现已在航天、电力、石化、冶金、纺织、造纸、仓储等行业广泛采用。在火车、轮船、机器人、楼宇自控、医疗器械、数控机床、智能传感器、过程自动化仪表等自控设备中,都广泛采用CAN技术。
目前的CAN总线网络系统,涉及网络管理的方法还非常有限,不能对总线网络及连接在该网络上的所有CAN控制器提供统一的管理方法,这样就增加了系统的复杂性,并且在出现错误时不能统一的监控与管理,在实际应用时有诸多不便。
发明内容
为克服现有技术中的不足,本发明的目的在于提供了一种基于CAN总线的网络控制方法。
本发明解决其技术问题所采用的技术方案是:
本发明假设一个基于CAN总线的网络,可以分为三个层次:最下面一层是CAN驱动层,所有对底层CAN控制器硬件的访问都要通过CAN驱动来实现,是对底层硬件的唯一访问接口,驱动层为上层用户提供统一的接口,尽可能地隐藏了微控制器的硬件相关属性;CAN驱动层之上是CAN接口层,抽象了CAN控制器和电子控制单元的硬件布局,为所有的微控制器提供相同的访问总线通道的机制而不管其具体的物理位置;最上面一层统称为通讯服务层,包括传输控制,消息路由,通讯管理和网络管理等模块,主要是基于底层CAN网络的传输应用与管理。
本发明主要是在CAN接口层(硬件抽象层)实现对底层CAN网络的状态或称之为操作模式的控制。这样所有连接在同一CAN网络上的CAN控制器当前的操作模式都可通过一定的程序接口来读取和改变。CAN总线网络的操作模式分为未初始化、停止、启动、休眠和总线关闭五种状态。一些操作将会引起CAN网络的操作模式从一个状态转换至另一个状态。通过对操作模式状态的控制,可以实现对CAN网络更加灵活的使用并能实时检测CAN网络中的软硬件故障。本方法特别适用于对可靠性、健壮性、容错要求高的系统。
本发明提供了一种控制底层CAN网络通讯模式的方法。这种方法假设可将若干个同一类型的CAN控制器连接在同一个CAN网络上,CAN接口层的网络模式控制管理将会统一地影响到所有这些CAN控制器。连接在一个CAN网络上的多个CAN控制器由相应的应用程序接口通过获取当前的控制器模式。
在具体实施步骤如下:将总线网络划分为五个状态,分别为未初始化、停止、启动、休眠和总线关闭状态,限定了每个状态下可执行的操作,并规定了从一个状态转变至另一个状态。
在系统上电后,整个总线网络先是处于未初始化状态,在CAN接口层和CAN驱动层完成对整个总线网络以及网络上每个CAN控制器的初始化工作后,总线网络进入停止状态,在停止状态,能够根据需要更改网络上的某个CAN控制器的初始化设置,之后整个网络还是处于停止状态。
在停止状态,将会阻止CAN控制器发送符合CAN数据帧格式的协议数据单元,CAN接口层也会阻塞随后的到CAN驱动层的传输请求,所有被挂起的传输请求被取消,传输缓冲中的内容被删除,同时,也不能执行任何从总线网络上接收符合CAN数据帧格式的协议数据单元的操作。
在启动状态下,CAN控制器能够执行所有的发送接收数据的操作,所有的传输请求都能传至CAN驱动;同时CAN驱动能够接收到CAN总线上的协议数据单元并能将接收指示发送至上层应用模块。
在休眠状态下,须将同一个CAN网络上的所有CAN控制器全部设置成为休眠状态,如果系统支持唤醒中断,要开启每个CAN控制器的唤醒中断,如果CAN控制器不支持唤醒中断,则由CAN驱动封装这一功能。
总线关闭状态是从启动状态到停止状态的过渡状态,总线网络上的CAN控制器由于硬件故障原因从启动状态进入总线关闭状态,在CAN驱动层检测到这一事件后发出总线关闭通知,继而进入停止状态。
本发明具有的有益效果是:
提供了一种对CAN网络的层次化的划分方法,并在此基础上提供了一种统一的管理CAN控制器的操作模式的方法。将CAN网络及CAN控制器分为未初始化、停止、启动、休眠和总线关闭5种状态。提供了这些状态之间的迁移条件。通过对操作模式状态的统一控制与管理,可以实现对CAN网络更加灵活的使用并能实时检测CAN网络中的软硬件故障。利用本方法,能够有效地对网络及下属控制器的状态进行管理,保证数据是在网络资源可用,线路可靠的情况下进行传输,提高了系统的稳定性。
附图说明
附图是CAN总线网络的状态转换图。
具体实施方式
下面结合附图和实例对本发明所述的基于状态管理的CAN网络控制方法做进一步说明。
如下所述,是CAN总线网络中的五个状态或称之为操作模式以及转换到这些模式的典型条件或实例:
1.未初始化状态
在系统上电后,整个网络以及网络上的每个CAN控制器就位于尚未初始化的状态,这是整个系统的初始状态。
2.停止状态
主要有四种情况会使网络及网络上的每个CAN控制器进入停止状态:
a)初始化操作
事件:CAN接口层初始化CAN网络
行为:CAN驱动层调用相应的函数初始化网络上的每个CAN控制器
b)停止网络操作
事件:CAN接口层停止CAN网络
行为:CAN驱动层调用相应的函数接口将网络上所有的控制器状态设置为停止模式
c)唤醒网络操作
事件:CAN接口层唤醒处于休眠状态的CAN网络,使其进如停止模式
行为:CAN驱动层调用相应的程序接口唤醒每个CAN控制器,将所有CAN控制器的状态设置成为停止状态。
d)总线关闭:
事件:CAN控制器因为某种原因(如硬件故障)进入总线关闭状态
行为:CAN驱动层保证CAN控制器位于停止状态
3.启动状态
只有一种情况会使整个网络以及网络上的每个CAN控制器进入启动状态,即在停止状态下请求启动网络。
事件:CAN接口层启动CAN网络
行为:CAN驱动层调用函数接口将CAN网络上的每个CAN控制器的状态都设置为启动状态
4.休眠状态
为了将网络置为休眠状态,将执行如下的函数调用以及随后的CAN接口层的行为以完成到休眠模式的状态改变:
事件:CAN接口层设置CAN网络状态为休眠状态
行为:CAN驱动设置网络上的每个CAN控制器状态进入休眠状态
5.总线关闭状态
总线关闭状态是从启动状态到停止状态的过渡。
在具体实施时,CAN控制器的状态可以由上层通过一定的函数请求来改变。该请求被CAN接口层确认后通过CAN驱动层的函数接口传递至连在同一个CAN网络上的各个CAN控制器上。通过这种方式,所有的CAN控制器可以依次被设置成睡眠状态或被唤醒。
当CAN控制器发出一个网络事件(总线关闭,唤醒)的信号后,这一信号会被通知到相应的上层应用程序,在上层应用程序收到这些通知信号后,会执行相应的唤醒、恢复或关闭系统等操作。
如果是从启动到休眠或停止状态的转换,一旦有一个CAN控制器转换失败了,那么CAN接口层请求状态转换的函数就会返回失败。然后上层的通讯管理模块就会在一定时间内再次尝试请求CAN接口层的状态转换。
如果是从休眠或停止状态到启动状态的转换,那么一旦有一个CAN控制器转换失败,CAN接口层请求状态转换的函数就会返回转换失败。上层的通讯管理模块无需立即处理这一问题,因为上层的网络管理模块或是传输层的通讯模块提供了对超时事件的监控,将会检测到CAN控制器在发送或接收CAN协议数据单元时的所有超时事件。
总线关闭和唤醒通知按照如下方式被处理:
在有多个CAN控制器都发生总线关闭故障时,如果在总线关闭故障恢复期间没有到启状态的转换请求,那么CAN接口层只向上层应用模块发送一次总线关闭的通知。
在有多个CAN控制器都请求唤醒操作时,如果在唤醒阶段没有发生到启动状态的转换请求,那么CAN接口层只向上层应用模块发送一次唤醒控制器的通知。
用于请求改变CAN控制器状态的函数接口是以同步方式运行的,没有异步地回调函数的通知机制。对所请求的状态的真正的转换是在CAN控制器硬件的转换请求的基础上异步发生的。例如,转换到休眠状态的请求,在成功转换到休眠状态后CAN驱动层和CAN接口层的函数才返回成功;如果状态转换失败,CAN接口层返回一个失败提示。到启动状态在这种情况下和到停止状态的转换也是异步处理的。这些异步的行为允许上层的一些通讯管理模块处理并操作CAN网络的状态转换。
上层模块可以通过轮询的方式来获取CAN接口层的操作状态。
每个CAN控制器都支持休眠状态和唤醒状态。这些状态由CAN驱动封装好,在接口之上提供了一种硬件无关的操作模式,并由CAN接口层所管理。到启动和停止状态的转换是同步返回无需后继的检查的。只有到休眠状态的转换需要CAN驱动检查下面的CAN控制器,休眠请求是否执行成功。这时,转换请求可以迅速返回,但是CAN控制器到休眠状态的转换是有延迟的。在到达一定时间之后,到休眠状态的转换请求就会被抛弃,本次转换就是不成功的。在请求状态转换的过程中,CAN控制器可能会直接发出一个唤醒中断,同时还要发送或接收CAN协议数据单元。
这种方式保证了上层的通讯管理模块立刻就能接收到休眠状态的转换,这样可以方便地管理CAN收发器,并能立刻使能唤醒中断。
在转换到启动状态后,所有的发送和接收事件被处理。在进入停止状态后,CAN接口层禁止所有后来的传输请求,接收事件也不再被处理。
CAN接口层区分了内部发起的CAN控制器唤醒请求(内部请求)和总线唤醒请求(外部请求)。前者是一个内部同步请求,后者是一个CAN控制器的事件。只有总线发起的唤醒请求会被唤醒通知函数所通知出去,当然,这是在所使用的CAN控制器支持通知机制的前提下。
Claims (6)
1.一种基于CAN总线的网络控制方法,其特征在于:将总线网络划分为五个状态,分别为未初始化、停止、启动、休眠和总线关闭状态,限定了每个状态下可执行的操作,并规定了从一个状态转变至另一个状态。
2.根据权利要求1所述的一种基于CAN总线的网络控制方法,其特征在于:在系统上电后,整个总线网络先是处于未初始化状态,在CAN接口层和CAN驱动层完成对整个总线网络以及网络上每个CAN控制器的初始化工作后,总线网络进入停止状态,在停止状态,能够根据需要更改网络上的某个CAN控制器的初始化设置,之后整个网络还是处于停止状态。
3.根据权利要求1和2所述的一种基于CAN总线的网络控制方法,其特征在于:在停止状态,将会阻止CAN控制器发送符合CAN数据帧格式的协议数据单元,CAN接口层也会阻塞随后的到CAN驱动层的传输请求,所有被挂起的传输请求被取消,传输缓冲中的内容被删除,同时,也不能执行任何从总线网络上接收符合CAN数据帧格式的协议数据单元的操作。
4.根据权利要求1所述的基于CAN总线的网络控制方法,其特征在于:在启动状态下,CAN控制器能够执行所有的发送接收数据的操作,所有的传输请求都能传至CAN驱动;同时CAN驱动能够接收到CAN总线上的协议数据单元并能将接收指示发送至上层应用模块。
5.根据权利要求1所述的基于CAN总线的网络控制方法,其特征在于:在休眠状态下,须将同一个CAN网络上的所有CAN控制器全部设置成为休眠状态,如果系统支持唤醒中断,要开启每个CAN控制器的唤醒中断,如果CAN控制器不支持唤醒中断,则由CAN驱动封装这一功能。
6.根据权利要求1所述的基于CAN总线的网络控制方法,其特征在于:总线关闭状态是从启动状态到停止状态的过渡状态,总线网络上的CAN控制器由于硬件故障原因从启动状态进入总线关闭状态,在CAN驱动层检测到这一事件后发出总线关闭通知,继而进入停止状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100594199A CN101217444B (zh) | 2008-01-21 | 2008-01-21 | 一种基于can总线的网络控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100594199A CN101217444B (zh) | 2008-01-21 | 2008-01-21 | 一种基于can总线的网络控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101217444A true CN101217444A (zh) | 2008-07-09 |
CN101217444B CN101217444B (zh) | 2010-08-25 |
Family
ID=39623807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100594199A Expired - Fee Related CN101217444B (zh) | 2008-01-21 | 2008-01-21 | 一种基于can总线的网络控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101217444B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102215151A (zh) * | 2011-05-25 | 2011-10-12 | 杭州电子科技大学 | 可用于化工安全监控的can总线传感器节点 |
CN101783759B (zh) * | 2010-01-19 | 2012-02-01 | 浙江吉利汽车研究院有限公司 | 一种总线错误恢复处理方法 |
CN109412919A (zh) * | 2018-10-30 | 2019-03-01 | 北京经纬恒润科技有限公司 | 一种通信控制方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2729769Y (zh) * | 2004-03-25 | 2005-09-28 | 天津理工学院 | 多功能can总线智能控制器 |
-
2008
- 2008-01-21 CN CN2008100594199A patent/CN101217444B/zh not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101783759B (zh) * | 2010-01-19 | 2012-02-01 | 浙江吉利汽车研究院有限公司 | 一种总线错误恢复处理方法 |
CN102215151A (zh) * | 2011-05-25 | 2011-10-12 | 杭州电子科技大学 | 可用于化工安全监控的can总线传感器节点 |
CN102215151B (zh) * | 2011-05-25 | 2013-06-26 | 杭州电子科技大学 | 可用于化工安全监控的can总线传感器节点 |
CN109412919A (zh) * | 2018-10-30 | 2019-03-01 | 北京经纬恒润科技有限公司 | 一种通信控制方法、装置及存储介质 |
CN109412919B (zh) * | 2018-10-30 | 2022-03-25 | 北京经纬恒润科技股份有限公司 | 一种通信控制方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101217444B (zh) | 2010-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7852790B2 (en) | Communication master station startup period control method | |
CN108933719A (zh) | 车载can网络管理方法、车载can网络、车辆 | |
US20130201817A1 (en) | Fault detection and mitigation for in-vehicle lan network management | |
CN102231705B (zh) | 动力can网络控制方法 | |
CN103645678A (zh) | 一种实时响应网络控制系统 | |
CN102387573A (zh) | 电子装置及其数据传输方法 | |
CN103268243B (zh) | 一种链式变流器的就地执行单元远程在线升级系统 | |
CN110099402B (zh) | 具有额外主控器的无线io链路通信网络和所述无线io链路通信网络的操作方法 | |
CA2624506A1 (en) | A distributed monitoring method | |
CN101217444B (zh) | 一种基于can总线的网络控制方法 | |
CN116699964A (zh) | 一种工业过程控制器冗余运行方法和系统 | |
CN101770239B (zh) | 基于Profibus DP冗余通信技术的智能电动执行机构 | |
CN102122150A (zh) | 一种地铁安全门控制系统 | |
US20090245151A1 (en) | Process of communication between a first node and a second node of a home automation installation | |
CN112104997B (zh) | 物联网计量表及其控制方法 | |
CN116095622A (zh) | 一种基于时间切片的压板信息传输方法及系统 | |
CN201689410U (zh) | 一种多路开关量总线传输模块 | |
CN105743927A (zh) | 一种CANopen与DP协议数据转换器及转换方法 | |
CN209928270U (zh) | 一种基于opc技术的印制电路板生产设备的智能化装置 | |
CN201312325Y (zh) | 用于总线制联网系统的自适应网络架构 | |
CN112255953A (zh) | 队列式多主设备rs485总线通讯系统和方法 | |
Hao et al. | Development for protocol conversion gateway of industrial field bus | |
CN201733259U (zh) | 电动机重启装置、远程电动机重启控制装置及系统 | |
KR102123941B1 (ko) | Profinet 시스템 및 profinet 시스템에 대해 보조적인 제2 시스템을 특징으로하는 자동화 시스템 및 그 통신 방법 | |
KR101593338B1 (ko) | 차량의 lin 통신 장치 및 그 제어 방법 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100825 Termination date: 20180121 |
|
CF01 | Termination of patent right due to non-payment of annual fee |