利用CAN总线实现PC机的远程通信
- 格式:doc
- 大小:23.50 KB
- 文档页数:2
can总线的传输原理
CAN总线是一种高效、可靠的通信协议,广泛应用于汽车、工业控制等领域。
它的传输原理是基于一种双线串行通信方式,即CAN总线采用两根线进行数据传输,分别称为CAN_H和CAN_L线。
CAN总线的传输原理主要包括以下几个方面:
1.差分传输
CAN总线采用差分传输方式,即在CAN_H和CAN_L两根线上同时传送相反的电压信号。
这种方式可以有效地抵消外界干扰和噪声,提高数据传输的可靠性。
2.帧结构
CAN总线的数据传输是以帧为单位进行的。
每个帧由一个起始位、一个标识符、一个控制位、若干个数据位和一些附加信息组成。
其中标识符用于区分不同类型的消息,控制位则用于指示该帧是数据帧还是远程帧。
3.仲裁机制
当多个节点同时发送消息时,会产生冲突。
为了解决这个问题,CAN
总线采用了仲裁机制。
在数据帧中,标识符越低的节点具有更高的优
先级。
当多个节点同时发送消息时,会根据标识符进行比较,并自动
选择优先级最高的节点发送消息。
4.错误检测
CAN总线还具有强大的错误检测和纠正能力。
每个节点都会监测总线上的信号,并在发现错误时自动进行纠正。
如果一个节点发现了错误,它会向其他节点发送错误信息,并尝试重新发送数据。
总之,CAN总线是一种高效、可靠的通信协议,其传输原理包括差分传输、帧结构、仲裁机制和错误检测等方面。
这些特点使得CAN总线在汽车、工业控制等领域得到广泛应用。
1can总线CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。
是国际上应用最广泛的现场总线之一。
在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。
近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境2基本概念CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。
在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。
由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。
为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。
此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。
CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。
现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。
它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。
3优势介绍CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。
较之许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:网络各节点之间的数据通信实时性强首先,CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。
竭诚为您提供优质文档/双击可除can总线常用通信协议篇一:史上最全can总线协议规则一、can总线简介can是控制器局域网络(controllerareanetwork,can)的简称,是由研发和生产汽车电子产品著称的德国bosch公司开发了的,并最终成为国际标准(iso11898)。
是国际上应用最广泛的现场总线之一。
在建立之初,can总线就定位于汽车内部的现场总线,具有传输速度快、可靠性高、灵活性强等优点。
上世纪90年代can总线开始在汽车电子行业内逐步推广,目前已成为汽车电子行业首选的通信协议,并且在医疗设备、工业生产、楼宇设施、交通运输等领域中取得了广泛的应用。
二、can总线技术及其规范2.1性能特点(1)数据通信没有主从之分,任意一个节点可以向任何其他(一个或多个)节点发起数据通信,通信方式灵活,且无需站地址等节点信息;(2)can网络上的节点信息分成不停的优先级,可满足不同的实时要求,高优先级节点信息最快可在134μs内得到传输;(3)采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而高优先级的节点可不受影响的继续发送数据,从而大大节省了总线冲突仲裁时间。
尤其是在网络负载很重的情况下也不会出现网络瘫痪的情况;(3)通信距离最远可达10km(速率低于5kbps)速率可达到1mbps(通信距离小于40m);(4)通信的硬件接口简单,通信线少,传输介质可以是双绞线,同轴电缆或光缆。
can总线适用于大数据量短距离通信或者长距离小数据量,实时性要求比较高,多主多从或者各个节点平等的现场中使用。
(5)采用短帧结构,传输时间短,受干扰概率低,每帧信息都有cRc校验及其他检验措施,数据出错率极低;(6)节点在严重错误的情况下具有自动关闭输出的功能,以使总线上其他节点的操作不受影响。
(7)can总线使用两根信号线上的差分电压传递信号,显性电平可以覆盖隐形电平。
2.2技术规范2.2.1can的分层结构图1can的分层结构逻辑链路控制子层(llc)的功能:为数据传送和远程数据请求提供服务,确认由llc子层接收的报文实际上已被接收,为恢复管理和通知超载提供信息。
CAN总线及应用实例(1)CAN特点●CAN为多主方式工作,网络上任意智能节点均可在任意时刻主动向网络上其他节点发送信息,而不分主从,且无需站地址等节点信息,通信方式灵活。
利用这特点可方便地构成多机备份系统。
●CAN网络上の节点信息分成不同の优先级(报文有2032种优先权),可满足不同の实时要求,高优先级の数据最多可在134,us内得到传输。
●CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信息时,优先级较低の节点会主动地退出发送,大大节省了总线冲突仲裁时间.●CAN只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式收发数据,无需专门“调度”.●CANの直接通信距离最远可达l 0km(速率5kbp以下):通信速率最高可达Mbps(此时通信距离最长为40m)。
●CAN上の节点数主要取决于总线驱动电路,目前可达110个;报文标识符可达2032种(CAN2.0A),而扩展(CAN2.0B)の报文标识符几乎不受限制.(2)CAN总线协议CAN协议以国际标准化组织の开放性互连模型为参照,规定了物理层、传输层和对象层,实际上相当于ISO网络层次模型中の物理层和数据链路层。
图3.9 为CAN总线网络层次结构,发送过程中,数据、数据标识符及数据长度,加上必要の总线控制信号形成串行の数据流,发送到串行总线上,接收方再对数据流进行分析,从中提取有效の数据。
CAN协议の一个最大特点是废除了传统の站地址编码,而代之以对通信数据块进行编码,数据在网络上通过广播方式发送。
其优点是可使网络内の节点个数在理论上不受限制(实际中受网络硬件の电气特性限制),还可使同一个通信数据块同时被不同の节点接收,这在分布式控制系统中非常有用。
CAN 2。
0A版本规定标准CANの标识符长度为11位,同时在2.0 B版本中又补充规定了标识符长度为29位の扩展格式,因此理论上可以定义2の11次方或2の19次方种不同の数据块。
遵循CAN 2.0 B协议のCAN控制器可以发送和接收标准格式报文(11位标识符)或扩展格式报文(29位标识符),如果禁止CAN 2.0B 则CAN控制器只能发送和接收标准格式报文而忽略扩展格式の报文,但不会出现错误。
can通讯标准Can通讯标准是一种广泛使用的通信协议,用于在计算机和其他设备之间进行数据传输。
在当今数字化时代的背景下,Can通讯标准已经成为多个行业中实现高效、可靠和安全通信的关键工具。
本文将一步一步回答关于Can通讯标准的问题,探讨其作用、优势和应用场景等方面。
第一步:Can通讯标准的基本概念和作用Can通讯标准(Controller Area Network)是一种串行通信协议,最初由Bosch公司于1983年开发,用于汽车领域中的电子控制单元(ECU)之间的通信。
Can通讯标准的主要目标是实现高速、可靠和实时的数据传输,以满足汽车系统中的各种控制和监测需求。
Can通讯标准的设计理念是基于总线结构,可以连接多个ECU,并通过共享数据线来交换信息。
第二步:Can通讯标准的优势和特点Can通讯标准相比其他通信协议具有诸多优势和特点。
首先,它具备较高的数据传输速度和可靠性,能够支持诸如实时控制和监测等对通信时延要求较高的应用。
其次,Can通讯标准具有较好的抗干扰能力,能够有效应对噪声和电磁干扰对通信信号的影响。
此外,Can通讯标准还具备简单易用、扩展性强以及成本低廉等特点,使其在汽车以及其他行业的应用中得到广泛采用。
第三步:Can通讯标准的应用场景Can通讯标准在汽车行业是最为常见和典型的应用场景,几乎所有现代汽车都采用Can总线来连接各种ECU,包括发动机控制单元、刹车系统、变速器和仪表盘等。
Can通讯标准可实现车内各系统之间的即时通信,支持诸如车速、发动机转速、温度等数据的传输和共享,以及车辆各系统之间的控制和协同工作。
除了汽车行业,Can通讯标准在其他领域也有广泛应用。
例如,工业自动化中的控制系统可以使用Can通讯标准来实现设备之间的数据交互和控制指令的传递。
能源领域中的智能电网系统可以利用Can通讯标准进行电力设备的远程监测和控制。
同时,Can通讯标准也在航空航天、铁路交通、医疗设备和安防系统等领域中得到应用。
CAN总线协议CAN总线协议是指控制器局域网(Controller Area Network)的通信协议。
CAN总线协议最初是由德国的博世公司和美国的英特尔公司在20世纪80年代开发出来的。
其主要目的是用于汽车中各种电子系统的通信,例如电子控制单元(ECU)。
但是,现在这种协议已经被广泛应用于其他领域,如航空航天、医疗设备、机器人和工业自动化等。
总线结构:一个CAN总线可以被分为总线主控器(Bus Master)和多个从设备(Slave Device)。
总线主控器通常是一个集成了处理器和CAN总线通信控制器的电子控制器。
每个从设备包含一个CAN总线通信控制器、一些传感器和执行器。
CAN总线协议定义了一个基于广播方式的分布式通信系统,可以使总线上的所有设备相互交流。
CAN总线的特性:1. 抗干扰能力高。
CAN总线协议使用差分信号的方式进行通信,具有较强的抗干扰能力。
2. 速度快。
CAN总线协议的通信速度高达1Mbps,使得其适用于高速通信系统。
3. 数据可靠。
CAN总线协议采用了CRC(循环冗余校验)和ACK(确认)机制,保证数据的可靠性。
4. 支持多设备接入。
CAN总线协议支持多个设备接入总线,这使得它非常适合于大型控制系统的应用。
5. 简单易用。
CAN总线协议的编程接口简单明了,易于使用。
CAN总线协议的数据格式:CAN总线协议定义了两种数据帧:数据帧(Data Frame)和远程帧(Remote Frame)。
1. 数据帧:数据帧是一种常见的CAN总线数据格式,用于发送数据。
数据帧由以下组成部分:a) 比特时间:用于标志一个数据帧的开始。
b) 报文ID标识符:用于标识一个CAN总线上的数据帧。
c) 控制域:包含两个控制比特,分别用于控制CAN总线数据帧的传输。
d) 数据域:用于传输数据。
e) CRC(循环冗余校验):用于检测数据传输中的位错误。
f) 结束位:标志一个数据帧的结束。
2. 远程帧:远程帧用于在总线上请求数据,而不是实际传输数据。
can 通讯程序案例Can 通讯程序案例一、简介Can 通讯程序是指基于CAN(Controller Area Network)总线的通信协议,用于在各种设备之间进行数据传输和通信。
CAN总线是一种常用的实时通信总线,广泛应用于汽车电子、工业控制、航空航天等领域。
Can 通讯程序可以实现设备之间的数据交换、命令传递和状态监测等功能,提高通信效率和可靠性。
二、Can 通讯程序案例1. 汽车电子控制单元(ECU)通信Can 通讯程序可用于汽车电子控制单元之间的通信,如发动机控制单元、车身电控单元、仪表盘控制单元等之间的数据交换和命令传递,实现车辆的各项功能和状态监测。
2. 工业自动化系统通信Can 通讯程序可用于工业自动化系统中各个设备之间的通信,如PLC(可编程逻辑控制器)、传感器、执行器等之间的数据传输和命令控制,实现工业生产过程的自动化和监控。
3. 航空航天领域通信Can 通讯程序在航空航天领域中广泛应用,用于各个航空电子设备之间的通信,如飞行控制系统、导航系统、通信系统等之间的数据传输和状态监测,确保航空器的安全和可靠性。
4. 医疗设备通信Can 通讯程序可用于医疗设备之间的通信,如医疗监护仪、手术机器人、药物输送系统等之间的数据交换和命令传递,实现医疗过程的智能化和实时监测。
5. 物联网设备通信Can 通讯程序可以支持物联网设备之间的通信,如智能家居设备、智能城市设备、智能交通设备等之间的数据传输和远程控制,实现物联网系统的互联互通。
6. 军事装备通信Can 通讯程序在军事装备中有重要应用,如军用车辆、战斗机、导弹系统等之间的数据交换和命令传递,实现军事装备的智能化和协同作战。
7. 电力系统通信Can 通讯程序可用于电力系统中各个设备之间的通信,如电力传感器、电力负荷管理系统、电力监控系统等之间的数据传输和命令控制,实现电力系统的智能化和远程监测。
8. 铁路信号系统通信Can 通讯程序在铁路信号系统中起到重要作用,如列车控制系统、信号传输系统、轨道检测系统等之间的数据交换和状态监测,确保铁路运输的安全和效率。
CAN通信1. CAN总线的产生与发展控制器局部网(CAN-CONTROLLER AREA NETWORK)是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。
控制器局部网将在我国迅速普及推广。
随着计算机硬件、软件技术及集成电路技术的迅速发展,工业控制系统已成为计算机技术应用领域中最具活力的一个分支,并取得了巨大进步。
由于对系统可靠性和灵活性的高要求,工业控制系统的发展主要表现为:控制面向多元化,系统面向分散化,即负载分散、功能分散、危险分散和地域分散。
分散式工业控制系统就是为适应这种需要而发展起来的。
这类系统是以微型机为核心,将5C技术--COMPUTER(计算机技术)、CONTROL(自动控制技术)、COMMUNICATION(通信技术)、CRT(显示技术)和CHANGE(转换技术)紧密结合的产物。
它在适应范围、可扩展性、可维护性以及抗故障能力等方面,较之分散型仪表控制系统和集中型计算机控制系统都具有明明的优越性。
典型的分散式控制系统由现场设备、接口与计算设备以及通信设备组成。
现场总线(FIELDBUS)能同时满足过程控制和制造业自动化的需要,因而现场总线已成为工业数据总线领域中最为活跃的一个领域。
现场总线的研究与应用已成为工业数据总线领域的热点。
尽管目前对现场总线的研究尚未能提出一个完善的标准,但现场总线的高性能价格比将吸引众多工业控制系统采用。
同时,正由于现场总线的标准尚未统一,也使得现场总线的应用得以不拘一格地发挥,并将为现场总线的完善提供更加丰盛的依据。
控制器局部网CAN(CONTROLLER AERANETWORK)正是在这种背景下应运而生的。
由于CAN为愈来愈多例外领域采用和推广,导致要求各种应用领域通信报文的标准化。
为此,1991年9月PHILIPSSEMICONDUCTORS制订并发布了CAN技术规范(VERSION2.0)。
CAN总线介绍CAN全名为控制器局域网(Controller Area Network),为一种现场总线,主要用于工业环境监视控制系统通信。
其特性介绍如下串行总线,仅有两根通信线。
短报文。
数据以称为报文的数据帧为单位收发,报文有效数据可为0至8字节。
短报文减少了错误后重发的时间,可提高通信的实时性。
多主通信。
不必专设主机轮询,可提高通信效率。
非破坏的基于优先级的仲裁。
当发生总线争用时,高优先级报文正常发送;低优先级报文自动退出争用,等待总线空闲后重发。
仲裁退出和通信错误报文可由硬件控制自动重发,可提高工作效率。
多种检错纠错方式,很高的数据可靠性。
暂时错误、故障状态自动判别,故障节点有硬件控制自动脱离总线。
可提高系统工作的可靠性。
X 通信速度与传输距离对应表125Kbps 530m100Kbps 620m50Kbps 1300m20Kbps 3300m10Kbps 6700m5Kbps 10kmX CAN总线数据位传输特性CAN总线通信线有两根,通常分别称之为CANH、CANL。
当CANH与CANL电平差高于一定幅值,称总线状态为显性(Daminant),表示为逻辑“0”;否则称为隐性(Recessive),表示为逻辑“1”。
当总线上多个节点分别同时发送显性数据位与隐性数据位时,总线总是呈现显性状态。
可理解为多个节点的发送数据位通过总线进行逻辑与运算,只要有任一节点发送逻辑0,则总线状态为逻辑0。
X 报文格式介绍1 CAN总线数据帧1) 介绍CAN数据报文中含有标识符,标识符用于标识报文,并在多个节点同时发送而争用总线时、发送节点依据标识符进行仲裁。
系统设计应保证系统中任一报文的标识符是唯一的。
CAN技术规范标2.0包括两个版本:CAN2.0A和CAN2.0B。
版本2.0A中标识符长度为11位。
版本2.0B中标识符长度可为11位或29位。
标志符为11位的数据帧称为标准格式,标志符为29位的数据帧称为扩展格式。
利用CAN总线实现PC机的远程通信
【摘要】介绍了一种在工业测控系统中具有通用性的,基于cAN总线控制
器SIAl000的,CAN总线与PC机通过RS-232互连的串口网络通信接口适配器
的设计。本文详细说明了该适配器的硬件配置,电路结构和软件设计。并且利用
该适配器可实现两个计算机之间的通信,充分体现CAN总线的灵活性和可扩展
性,其实际应用结果表明:该适配器可靠性高,运行稳定,具有很强的实用推广
价值。
【关键词】CAN总线;RS-232;SJAl000;适配器
引言
CAN是控制器局域网Controller Area Network的简称,最早由德国BOSCH
公司提出,用于汽车内部测量与执行部件之间的数据通信。其总线规范现已被IS0
国际标准组织制订为国际标准,其应用已经遍及高速网络和低成本的多线路网
络。
本文将对Rs 232转CAN适配器的硬件和软件设计及其应用做详细介绍。
1 总体应用设计
在实际应用中可以利用此适配器把处于远距离的两台或多台带有RS-232接
口的系统连接起来,进行通讯或组成分布式系统。2硬件设计
计算机利用适配器进行通信的详细结构框图如图2所示。(两个适配器之间
采用CAN方式连接)
RS-232电平转换采用美国MAXIM公司生产的内部具有双充电泵电压变换
器的MAX232,把+5V变换成±10V,作为驱动器的电源,具有两路发送器及两
路接收器。
单片机采用ATMEL公司的AT89S52,利用AT89S52单片机内含的可编程
串行通用异步收发器通道(RXD、TXD管脚),加上RS-232驱动芯片(MAX232),
就可以构成半双工RS-232串行通信接口,可以实现和MAX232的通信。
CAN控制器采用SJAl000,SJAlOOO是一种符合CAN2.0协议的独立总线
控制器,可完成CAN,总线物理层和数据链路层的所有功能,而且,它增加了
一种新的工作模式(PeliCAN),这种模式支持具有很多新特点的CAN2.0B协议。
CAN收发器选用PCA82C250。PCA82C250收发器是协议控制器和物理传输
线路之间的接口。此器件对总线提供差动发送能力,对CAN控制器提供差动接
收能力。
作为主动发送数据的计算机(1)通过串行接口发送数据,产生RS-232电平
信号,由电平转换电路将该Rs 232电平信号转换成单片机能够接受的
TTL/CMOS电平信号,并传到协议转换单元的单片机,单片机将收到的数据打
包,转换后,通过CAN控制器、CAN收发器发送至CAN总线上,挂在CAN
总线上的CAN收发器收到数据后,传到另一个转换适配器的单片机,从而把数
据送到计算机(2)。
CAN总线数据的接收、发送通过CAN控制器和CAN收发器完成,Rs 232
数据的接收、发送由单片机完成。同时,单片机还负责根据转换协议实现对数据
的打包,转换和控制。
复位电路采用的芯片IMP708,具有两个复位输出RESET和RESET,分别
接至AT89S52单片机和SJA1000 CAN通信控制器。当按下按键S时,为手动复
位。
3 软件设计
本设计的程序由初始化程序、串行中断接收程序、串行发送子程序、CAN
中断接收程序和CAN发送子程序5部分组成。
初始化程序包括单片机串行接口初始化和CAN控制器SJAl000初始化两部
分。串行接口初始化主要是设定串行接口的通信方式、传输速率;对SJAl000的
初始化主要通过单片机对其内部寄存器的工作方式进行设定。其SJAl000的初始
化流程图如图4所示。
串口中断就是完成串行通信数据的接收,其流程图如图5所示。由于串行接
口每次通信只能传送一个字节数据,因此要经过多次串行中断才能把上位机的数
据帧完整地接收下来。接收完数据后要进行校验,如果接收地数据不能通过校验,
则舍弃已经接收的数据。返回等待状态。
CAN中断接收程序是另一个转换适配器的接收程序,对接收的数据进行打
包,然后通过串口向PC机发送数据。在进入中断程序后,要马上把向CAN发
送数据的标志清0,避免接收和发送发生冲突。并且在要关闭所有中断,避免数
据传输的时候发生错误。
4 结束语
按这种设计完成的计算机远程通信体现了CAN总线的优点,具有高抗电磁
干扰性,高的位速率,实际应用效果很好。作为一种技术先进,可靠性高、功能
完善、成本合理的远程通信控制方式,CAN总线网络能很好的替代现行的
RS-232、RS-485网络,被广泛应用到各个自动化控制系统中,从高速的网络到
低价位的多路接线都可以使用CAN总线。例如在自动控制、智能大厦、电力系
统、安防监控等各领域,CAN总线都具有不可比拟的优越性。