can总线的通信协议Word格式文档下载.docx
《can总线的通信协议Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《can总线的通信协议Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。
4.从机应答命令:
在分机接收到主机的命令后,返回一个应答帧。
通知主机是否接正
确收到命令和返回执行命令的结果。
此时,如果接收命令和执行命令正确,data2为主机发送的命令字节数据,如果接收的命令不正确或执行失败,则data2为将主机发送的命令字节数据的最高位置1后的字节数据。
5.从机请求命令:
(1).command:
5bh功能:
上传开闸设置length:
3
data:
开闸设置数据
(2).command:
5ah
功能:
分机主动上传卡号length:
3data:
卡号2)主机从机协议:
说明:
1.如果有效数据长度超过5个字节,则必须多帧发送。
2.数据长度为data4至data8有效数据字节数。
3.主机的应答命令:
在主机接收到从机的请求命令后,主机返回一个应答帧。
通知从
机是否接正确收到命令和返回执行命令的结果。
此时,如果接收命令和执行命令正确,data2为从机发送的命令字节数据,如果接收的命令不正确或执行失败,则data2为将从机发送的命令字节数据的最高位置1后的字节数据。
4.主机命令:
详细说明如下。
三)协议命令说明1.command:
02h
月卡进场语音提示与显示屏显示及开闸命令length:
5bytes
月卡可用天数(4bytesascii码)+卡类
2.command:
03h
月卡出场语音提示与显示屏显示及开闸命令length:
月卡可用天数+卡类
3.command:
09h
快到期的月卡入场
length:
4.command:
2bh
快到期的月卡出场length:
4bytes
5.command:
04h功能:
储值卡入场length:
卡内的余额(3bytes十六进制)+卡类
6.command:
05h功能:
储值卡出场length:
15bytesdata:
收费金额(3bytes),余额(3bytes),停车时间(天--4bytes,时--2bytes,
分—2bytes)+卡类
7.command:
0ch
余额不足的储值卡入场length:
卡内的余额+卡类8.command:
0dh
余额不足的储值卡出场length:
1data:
卡类9.command:
06h功能:
临时卡入场length:
卡类
10.command:
07h功能:
临时卡出场length:
12
收费金额(3bytes)停车时间(天--4bytes,时--2bytes,分—2bytes)+卡类
11.command:
0Fh功能:
此卡无效
1
12.command:
0eh
卡类13.command:
10h功能:
此卡已挂失length:
卡类14.command:
11h功能:
此卡已入场length:
卡类15.command:
12h功能:
此卡已出场length:
16.command:
13h
请到指定的入口入场length:
17.command:
14h
请到指定的入口出场length:
18.command:
15h
此卡本时段不可用length:
19.command:
16h(该命令由分机自行处理)功能:
有卡请读卡,无卡请取卡length:
0data:
无
20.command:
17h(该命令由分机自行处理)功能:
请读卡,时租卡请吞卡或交卡交费length:
请交卡交费length:
22.command:
1ah
请到收费处交费length:
23.command:
1bh
停留超时,请到收费处补交费用length:
无24.command:
1ch功能:
请取卡length:
无25.command:
1dh功能:
车位已满length:
无26.command:
1eh功能:
请稍候。
。
length:
无27.command:
24h功能:
此卡未授权length:
28.command:
2dh(该命令由分机自行处理)功能:
系统禁止读卡length:
29.command:
30h功能:
读出卡机状态length:
篇二:
can通信协议
总述:
所有通信地址,由can控制器的11位标准标识符指定,这里只规定有效数据的格式。
主机主动发送指令,请求探测器数据。
一、地址分配协议:
1、探测器
接收地址:
mkaddr1-99用于接收读漏电指令和设置漏电限值
广播地址:
0x7f4用于复位
2、上位机接收数据
返回信息:
0x400+探测器地址
0x600+探测器地址
二、数据通信协议
1、主机取漏电值
发送:
‘R’程序如下:
canbuf[0]=0x00;
canbuf[1]=canptr/8;
canbuf[2]=canptr%8;
canbuf[2] canbuf[3]=0x00;
canbuf[4]=0x00;
canbuf[5]=0x01;
canbuf[6]=R;
tx_dat(0);
2、主机复位探测器
‘c’程序如下:
vv=0x7f4;
canbuf[1]=vv/8;
canbuf[2]=vv%8;
canbuf[6]=c;
3、主机设置探测器
‘s’+内容程序如下:
vv=txaddr;
缓冲区0前8字节缓冲区1后8字节//探测器地址:
1-99//1字节数据//发送指令//探测器复位地址:
0x07f4//1字节数据//探测器设置地址:
1-99
canbuf[5]=0x05;
//5字节数据
canbuf[6]=s;
canbuf[7]=rx2buf[4];
canbuf[8]=rx2buf[5];
canbuf[9]=rx2buf[6];
canbuf[10]=rx2buf[7];
4、探测器返回漏电值
返回:
16字节采样信息,分两帧传送。
格式如下:
支路1[2]、支路2[2]、支路3[2]、支路4[2]、支路5[2]、支路6[2]、支路7[2]、支路8[2]。
每支路两个字节:
5bit设定值+11bit漏电值
设定值定义:
漏电和温度报警值
uintcodebj[]={0,500,550,600,650,700,750,800,900,//0-8温度0,0,0,0,0,0,0,0,//9-16
50,100,200,300,400,500,700,900};
//17-24漏电上位机要跟据传来的值,自行判定是否报警
5、报警值设定
探测器总有12个支路,1-8为漏电支路,9-12为温度支路。
设定参数4个字节,设定两个支路,如果有更多支路,由上位机控制多次发送。
4个字节定义为:
支路、报警值、支路、报警值。
这里‘支路’可取1-12。
三、can波特率
#definebRp23//11.0592m晶振
#definephseg13//相位缓冲段13位a
#definephseg23//相位缓冲段23位b
#definepRseg1//传播段3位c
#definesjw1//同步跳转位2位d
//c+a>
=b
//b>
d
//19.2k
篇三:
can总线简介及其特点
《计算机控制技术》期末考查论文
题目:
摘要:
CAN总线的数据通讯具有突出的可靠性、实时性和灵活性,其总线规范已经成为国际标准,被公认为几种最有前途的总线之一。
本文在总结CAN总线特点的基础上,对其通信介质访问方式进行了详细的描述,介绍了它在应用中需要解决的技术问题以及目前应用状况。
关键词:
CAN总线;
通信介质访问控制;
实时;
应用技术
1.CAN总线简介及其特点
控制器局域网总线(can,controllerareanetwork)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。
can协议由德国的Robertbosch公司开发,用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。
该协议的健壮性使其用途延伸到其他自动化和工业应用。
can协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1mb/s、同时具有11位的寻址以及检错能力。
can总线是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电子干扰性,并且能够检测出产生的任何错误。
can总线可以应用于汽车电控制系统、电梯控制系统、安全监测系统、医疗仪器、纺织机械、船舶运输等领域。
can总线的特点
具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;
采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;
具有优先权和仲裁功能,多个控制模块通过can控制器挂到can-bus上,形成多主机局部网络;
可根据报文的id决定接收或屏蔽该报文;
可靠的错误处理和检错机制;
发送的信息遭到破坏后,可自动重发;
节点在错误严重的情况下具有自动退出总线的功能;
报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
2.CAN总线通信介质访问控制方式
CAN采用了的3层模型:
物理层、数据链路层和应用层。
CAN支
持的拓扑结构为总线型。
传输介质为双绞线、同轴电缆和光纤等。
采用双绞线通信时,速率为1Mbps/40m,50Kbps/10km,结点数可达110个。
CAN的通信介质访问为带有优先级的CS-MA/CA。
采用多主竞争方式结构:
网络上(can总线的通信协议)任意节点均可以在任意时刻主动地向网络上其它节点发送信息,而不分主从,即当发现总线空闲时,各个节点都有权使用网络。
在发生冲突时,采用非破坏性总线优先仲裁技术:
当几个节点同时向网络发送消息时,运用逐位仲裁原则,借助帧中开始部分的表示符,优先级低的节点主动停止发送数据,而优先级高的节点可不受影响的继续发送信息,从而有效地避免了总线冲突,使信息和时间均无损失。
CAN的传输信号采用短帧结构(有效数据最多为8个字节),和带优先级的CS-MA/CA通信介质访问控制方式,对高优先级的通信请求来说,在1Mbps通信速率时,最长的等待时间为0.15ms,完全可以满足现场控制的实时性要求。
CAN突出的差错检验机理,如5种错误检测、出错标定和故障界定;
CAN传输信号为短帧结构,因而传输时间短,受干扰概率低。
这些保证了出错率极低,剩余错误概率为报文出错率的4。
7×
10-11。
另外,CAN节点在严重错误的情况下,具有自动关闭输出的功能,以使总线上其它节点的操作不受其影响。
因此,CAN具有高可靠性。
.
CAN的通信协议主要有CAN总线控制器完成。
CAN控制器主要由实现CAN总线协议部分和微控制器接口部分电路组成。
通过简单的连接即可完成CAN协议的物理层和数据链路层的所有功能,应用层功能由微控制器完成。
CAN总线上的节点即可以是基于微控制器的智能节点,也可以是具有CAN接口的I/O器件。
3应用技术
1、系统组成
CAN总线用户接口简单,编程方便。
CAN总线属于现场总线的范畴,CAN总线系统的一般组成模式如图1所示:
网络拓扑结构采用总线式结构。
这种网络结构结构简单、成本低,并且采用无源抽头连接,系统可靠性高。
通过CAN总线连接各个网络节点,形成多主机控制器局域网(CAN)。
信息的传输采用CAN通信协议,通过CAN控制器来完成。
各网络节点一般为带有微控制器的智能节点完成现场的数据采集和基于CAN协议的数据传输,节点可以使用带有在片CAN控制器的微控制器,或选用一般的微控制器加上独立的CAN控制器来完成节点功能。
传输介质可采用双绞线、同轴电缆或光纤。
2、CAN总线的物理层设计
CAN总线协议对物理层没有严格定义,给使用者较大的灵活性,同时也给设计者带来了困难。
CAN总线物理层的设计原则是:
针对CTX0、CTX1的两种输出状态(显性(Daminant)、隐性(Recessive)),总线应具有两种不同电平,接收端呈现(显性、隐性)两种状态,如图2所示。
这样不要求总线必须是数字逻辑电平,只要是能够呈现两种电平(显性和隐性)的模拟量,满足上述设计原则就可以。
总线连接实例(图3):
(以Philips的CAN芯片为例)CAN控制器芯片的片内输出驱动器和输入比较器可编程,它可方便地提供多种发送类型,诸如:
单线总线、双线总线(差分)和光缆总线。
它可以直接驱动总线,若网络的规模比较大,节点数比较多,需要外加总线驱动元件,以增大输出电流。
如图3采用了CAN收发器作为CAN控制器和物理总线之间的接口,提供向总线的差动发送能力和对CAN控制器的差动接收能力。
3.应用软件设计
CAN控制器其内部硬件实现了CAN总线物理层和数据链路层的所有协议内容,有关CAN总线的通信功能均由CAN控制器自动管理执行。
CAN控制器对于CPU来说,是以确保双方独立工作的存储影像外围设备出现的。
CAN控制器的地址域由控制段和报文缓存器组成,在初始化向下加载期间,控制段可被编程以配置通信参数。
CAN总线上的通信也通过此段由CPU控制,被发送的报文必须写入发送缓存器,成功接收后,CPU可以从接收缓存器读取报文,然后释放它,以备下次使用。
对于在片的CAN控制器,它与CPU之间的接口一般借助于4个特殊寄存器:
CAN地址寄存器、数据寄存器、控制寄存器、状态寄存器。
对于单独的CAN控制器,MCU可以通过其地址/数据总线对其寄存器直接寻址,就像MCU对一般外部RAM寻址一样。
通过对这些寄存器编程操作,可很方便控制CAN控制器完成通讯功能。
CAN控制器的收发功能均可借助其中断服务执行。
图4给出一个CAN中断服务程序框图(图4)。
注意在系统软件设计时无论何时CAN总线不应该被永久性的100﹪加载。
4.目前应用状况及其前景
由于CAN总线的高速通信速率、高可靠性、连接方便、多主站、通讯协议简单和高性能价格比等突出优点,深得许多工业应用部门的青睐,其应用由最初的汽车工业迅速发展至数控机床、农业机械、铁路运输、粮情检测、过程测控等各个方面。
CAN在国外的发展迅速,奔驰S型轿车采用的就是CAN总线系统;
美国商用车辆制造商们也将注意力转向CAN总线;
美国一些企业已将CAN作为内部总线应用在生产线和机床上。
由于CAN总线可以提供较高的安全性,因此在医疗领域、纺织机械和电梯控制中也得到了广泛应用。
5.结束语
总之,基于CAN总线的数据通信具有突出的可靠性、实时性和灵活性。
CAN作为现场设备级的通信总线,和其他总线相比,具有很高的可靠性和性能价格比,其总线规范已经成为国际标准,被公认为几种最有前途的总线之一。
目前,CAN接口芯片的生产厂家众多,协议开放,价格低廉,且使用简单,CAN总线可广泛应用于工业测量和控制领域。