当前位置:文档之家› CAN总线协议转换器

CAN总线协议转换器

GY850X CAN232MB/CAN485MB

CAN总线协议转换器

型号 产品名称 描述

GY8502 CAN232MB CAN总线协议转换器 CAN总线转RS232 GY8503 CAN485MB CAN总线协议转换器 CAN总线转RS485

说明书 时间

V1.0 2006年11月 Beta发布

V2.2 2008年4月 CAN232MB,CAN485MB手册整理

V2.3 2008年5月 说明书整理

V2.4 2008年10月 增加ModbusRTU协议支持

V2.5 2009年3月 增加透明带协议头转换模式

V2.51 2010年6月 文档整理,去掉422接口产品说明

目 录

目 录 (2)

第一章 产品简介 (4)

1.1 概述 (4)

1.2 性能与技术指标 (4)

1.3 典型应用 (5)

1.4 产品销售清单 (5)

1.5 技术支持与服务 (6)

第二章 硬件描述与使用方法 (6)

2.1 产品外观 (6)

2.2 CAN总线接口定义 (7)

2.3 DB9端接口定义 (7)

2.4 指示灯定义 (8)

2.5 CAN总线连接 (8)

第三章 配置说明 (8)

3.1 配置方法 (9)

3.2 软件说明 (9)

3.2.1 配置基本参数 (10)

3.2.2 配置串口参数 (12)

3.2.3 配置CAN接口参数 (12)

3.2.4 举例介绍验收滤波的设置 (13)

3.2.5 软件下方按钮说明 (15)

第四章 应用说明 (16)

4.1 模式1 透明转换模式 (16)

4.1.1 串行帧转CAN 报文 (17)

4.1.2 CAN报文转串行帧 (17)

4.2 模式2 透明带ID标识转换 (18)

4.2.1 串行帧转CAN 报文 (18)

4.2.2 CAN报文转串行帧 (19)

4.3 模式3 Modbus RTU转换 (20)

4.3.1 CAN总线格式 (21)

4.3.2 转换方式 (22)

4.3.3 转换举例 (22)

4.4 模式4 透明带ID标识转换2 (23)

4.5 模式5 透明带协议头转换模式 (23)

4.5 应用注意事项 (24)

4.6 转换器测试 (25)

4.6.1 电源测试 (25)

4.6.2 配置测试 (25)

4.6.3 通讯测试 (25)

第五章 附录 (27)

5.1 CAN2.0B 协议帧格式 (27)

5.1.1 CAN2.0B 标准帧 (27)

5.1.2 CAN2.0B 扩展帧 (27)

5.2 SJA1000 标准波特率 (28)

5.3 CAN 报文滤波器设置 (29)

声明 (33)

第一章 产品简介

1.1 概述

GY8502 CAN232MB CAN总线协议转换器是用于CAN-bus 现场总线和RS232总线之间数据交换的智能型协议转换器。

GY8503 CAN485MB CAN总线协议转换器是用于CAN-bus 现场总线和RS485总线之间数据交换的智能型协议转换器。

GY850X CAN总线协议转换器可以快速将RS232/RS485通讯设备连接到CAN-bus 现场总线。该协议转换器集成有1个RS232/RS485串行通道、1个CAN-bus 通道,可以很方便地嵌入到使用RS232/RS485 接口进行通讯的节点中,在不需改变原有硬件结构的前提下使设备获得CAN-bus 通讯接口,实现RS232/RS485设备和CAN-bus 网络之间的连接、数据通讯。

GY850X CAN总线协议转换器为用户的使用提供了足够的灵活性,用户可以根据实际需要设置CAN总线接口和串口的参数。通讯参数由上位机软件配置,能使用户快速进入高效率的CAN-bus 通讯应用。

GY850X CAN总线协议转换器提供两种数据转换方式:“透明转换”、“透明带ID标识转换”, “Modbus RTU转换”以及“透明带协议头转换”。“透明转换”适用于串行数据流的完全转换,“透明带ID标识转换”适用于用户自定义协议的串行数据转换,用户可根据实际应用的特点选择合适的数据转换方式。

转换器采用贴片安装工艺,CAN总线电路采用独立的DCDC电源模块,进行光电隔离,与控制电路完全电气隔离,使GY850X转换器具有很强的抗干扰能力,大大提高了系统在恶劣环境中使用的可靠性。

GY850X智能协议转换器不仅适用于采用基本CAN总线协议的产品,也满足基于高层协议如DeviceNet、CANopen 等CAN-bus总线产品的开发。。

1.2 性能与技术指标

● 功能兼容ZLG-CAN232MB/CAN485MB协议转换器

● 实现CAN总线 与RS232/RS485 的双向数据通讯,CAN总线发送和接收;

● 支持CAN2.0A 和CAN2.0B 协议,支持标准帧和扩展模式;

● 支持CAN总线自发送自接收工作模式。

● 支持用户软件配置自定义的CAN总线通讯波特率:5K-1000Kbps;

● 3线式RS232,或2线式RS485 通讯接口,通讯速率在2400~115200bps 之间可设定;

● 提供五种常见的数据转换模式:透明转换、透明带ID标识转换,Modbus协议转换,透明

带ID标识转换2,透明带协议头转换等;

● 大容量的环形串行缓冲区,可以接受的一个串口数据帧长度最大可达480个字节。

● CAN总线接口采用光电隔离、DC-DC电源隔离(1000V);

● 最高帧流量:300 帧/秒;

● 工作电源:+7V~+24V DC;可根据要求提供5V接口。

● 工作温度:-40 ℃ ~ +85℃;

● 支持标准DIN 导轨安装;

● 产品尺寸:100mm*70mm*25mm(不计算导轨安装架高度)。

1.3 典型应用

● 设备与设备间采用CAN总线通信

● CAN网络取代RS232/RS485网络

● 扩展标准RS232/RS485网络通讯长度;

● 煤矿远程通讯

● PLC 设备联网

● 现有RS232/RS485 设备连接CAN-bus 网络

● 扩展标准RS232/RS485网络通讯长度

● PLC 设备连接CAN总线网络通讯转换

● CAN总线与串行总线之间的网关网桥

● 工业现场网络数据监控

● CAN 教学应用远程通讯

● CAN 工业自动化控制系统

● 慢速CAN 网络数据采集数据分析

● 智能楼宇控制

● 数据广播系统等CAN总线应用系统

1.4 产品销售清单

1)GY850X CAN总线协议转换器。

2)DB9串口线缆一根。(仅GY8502)

3)光盘1张。(设备配置软件CANConfig,用户手册,CAN总线相关资料等);

1.5 技术支持与服务

货到10日内无条件退货;一年年内免费维修或更换;终身维修服务。

技术支持信息请查阅本公司网站http://biz.doczj.com/doc/da9331788.html,

第二章 硬件描述与使用方法

2.1 产品外观

CAN232MB/CAN485MB 转换器具有两路用户接口。一路是CAN-bus接口,一路是

RS232/RS485串行接口。其接口引脚定义如下。

2.2 CAN总线接口定义

引脚 信号定义 说明

1 Vin 电源正(7-24V)

2 0V 电源地(0V)

3 CFG 配置引脚

4 GND 电源地

5 A+ RS485信号正端 (仅CAN485MB)

6 B- RS485信号负端 (仅CAN485MB)

7 RES+ 内部120电阻正端

8 RES- 内部120电阻负端

9 CANL CANL信号

10 CANH CANH信号

引脚1标示“Vin”接外部+7V~+40V直流电源,引脚2标示“0V”是接外部电源地。

引脚3标示“CFG”是转换器的配置引脚。该脚悬空时上电后转换器进入正常转换模式;若该引脚和引脚4标示“GND”相连后,转换器上电即进入配置模式。

引脚7标示“Res-”和引脚8标示“Res+”如果被用导线短接,则CAN

网络的终端电阻120欧姆被接入(卡内置)。当CAN232MB/CAN485MB转换器

作为CAN-bus网络终端时,两引脚间需要短接(即使用内部的120欧);否

则让其悬空(不使用内部的120欧)。

2.3 DB9端接口定义

引脚 信号定义 说明

1 RS485_A RS485的正端,

2 RS232_RXD RS232数据输入,接收

3 RS232_TXD RS232数据输出,发送

4

5 GND RS232信号地

6 RS485_B RS485的负端,

7 NULL

8

9 NULL

2.4 指示灯定义

转换器表面的红色LED-Power灯指示电源;正常上电后POWER指示灯立即点亮。

当转换器通电自检完成后,COM LED和CAN LED均点亮。

当串口侧有数据传输时,COM LED闪烁,无数据时长亮。

当CAN侧有数据传输时,CAN LED闪烁,无数据时长亮;

当转换器通过CFG=0进入设置模式时,只有COM LED 亮。

2.5 CAN总线连接

图2.5 CAN总线设备连接示意图

转换器作为终端设备时,用户可以在CAN232MB/ CAN485MB 转换器的CAN接口,引脚7 即

“Res+”、引脚8即“Res+”用户可以用导线短接,使内部120?的终端电阻使能。

第三章 配置说明

由于CAN-bus 总线、串口的通讯参数较多,GY850X转换器开放了大部分的参数,让用户可以自行设定,以切合实际应用场合的需要。

可以配置转换器的转换方式,串口参数和CAN-bus 参数等。参数的配置是通过专门的配

置软件完成,无需硬件跳线配置。

在正常使用之前,需要预先配置好转换器的转换参数;如果没有进行配置,那么,GY850X 转换器执行的是上一次配置成功的参数(如果一次都没有配置,那么转换器执行默认的配置参数)。

GY8502 CAN232MB转换器可以直接和PC串口连接,进行参数配置。

GY8503 CAN485MB需要客户自行准备RS232-485的转换器,连接CAN485MB的485接口即可通过PC进行配置。RS232-485转换器需要能支持9600bps的速率。

3.1 配置方法

为了使转换器进入配置模式,用户只需要将CAN 接口侧的引脚3 标示“CFG”和引脚4 标示“GND”用导线短接。“CFG”接地后,转换器上电后进入“配置”模式;“CFG”脚悬空时,转换器上电后会进入“正常工作”模式。

进入配置步骤如下:

1. 将转换器的CFG 和GND 用导线连通,然后上电,检查是否CAN_LED是否闪烁一下然后熄灭。

2. 用串口线连接转换器和计算机。

3. 打开上位机配置软件CANConfig,打开串口,进行参数设定。

3.2 软件说明

图 3.1 配置软件界面

GY850X 转换器的配置软件名称为“CanConfig.exe”。设置软件包含在产品的配套光盘中。软件的界面如图 3.1 所示。

连接设备成功后,用户可读出CAN232MB/CAN485MB的当前的内部参数。

在转换器进入配置模式后,才能以通过该软件进行参数设置,否则软件将认为转换器未连接,将不允许设置参数。在选定一种转换模式之后,软件才开放与该转换模式相关的参数,而将与其不相关的参数设置为不可用,避免错误设置。

下面参照配置软件对主要配置参数含义进行详细的说明。

3.2.1 配置基本参数

转换模式设定:包含4种可以选择的转换模式,透明转换、透明带标识转换,Modbus RTU 转换,透明带标识转换2。(每种方式的具体功能后面的详细说明)。

转换方向分3种:

双向:转换器将串行总线的数据转换到CAN 总线,也将CAN 总线的数据转换到串行总

线。

单向串口转CAN: 只将串行总线的数据转换到CAN 总线,而不将CAN 总线的数据转换

到串行总线。

单向CAN 转串口:只将CAN 总线的数据转换到串行总线,而不将串行总线的数据转换

到CAN 总线。

【注】:通过转换方向的设定,可以排除不需要转换的总线侧的数据干扰。

当工作于通过串口发送数据给转换器,让其转发到CAN总线的时候,需要注意不能太快,需要等之前的串行帧完成转发到CAN以后,转换器才能接收新的串行帧。用户需进行适当的延时即可。

允许CAN 帧信息转发到串行帧中:

该参数仅在“透明转换”模式下使用,当选中该项后,转换器工作时会将CAN 报文的

帧信息添加在串行帧的第一个字节。未选中时不转换CAN 的帧信息。

允许CAN 帧标识转发到串行帧中:

该参数仅在“透明转换”模式下使用,当选中该项后,转换器工作时会将CAN 报文的

帧ID 添加在串行帧的帧数据之前,帧信息之后(如果允许帧信息转换)。未选中时不转换

CAN 的帧ID。标准帧则有2个字节ID,扩展帧则4个字节ID。这些ID都是直接的ID号,ID.0

位于ID字节区的最后一个字节的最低位。

CAN 帧标识在串行帧中的位置:

该参数仅在“透明带标识转换”模式下使用。在串口数据转换成CAN 报文时,CAN 报

文的帧ID 所存放在串行帧中的位置。所以参数包括ID在串行帧中的偏移地址和帧ID 的长

度(参见4.2 透明带标示转换)。

【注】:帧ID 长度在标准帧的时候可填充1-2 个字节,分别对应CAN 报文的ID1, ID2,

在扩展帧的时候可以填充1-4 个字节ID1,ID2,ID3 和ID4。这些ID字节均是直接的ID号,

不需要象SJA1000那样需要左移。当ID长度小于CAN帧中的ID字节数时,则高字节丢弃。

详情请参考后文的描述和举例。

串行帧之间超时时间:时间间隔为传输N个串口数据字节的时间。

用户在向转换器发送串行帧的时候,两串行帧之间的最小时间间隔,该时间间隔以“传

送单个字节的时间”为单位。建议设置为2-10个字节时间。

【注】:用户帧的实际时间间隔必须和设置相一致,需大于所设置的超时时间,否则

可能导致帧的转换不完全。

“传送单个字符的时间”意义是:在相应的波特率下,串口传送一个字符(10 个位)

所需要的时间,即用10 除以相应的波特率。

例如:在9600bps 的波特率下,“串行帧时间间隔字符数”为4,“传送单个字符(每

个字节10 个位)的时间”则为(10/9600)s,得到的串行帧间的实际时间间隔为:(10/9600)

*4 = 4.17(ms),即两串行帧之间的时间间隔至少为4.17ms 。

具体说明如下:当转换器将串行数据转换为CAN格式的帧时,必须取得完整的串行数据帧,转换器以两帧间的时间间隔作为帧的划分。并且该间隔可由用户设定。串行帧最大长度为缓冲区的长度:1000 字节。

转换器在串行总线空闲状态下检测到的首个数据作为接收帧的首个字节。传输中该帧内字符间的时间间隔必须小于或等于传输n 个字节(n 的值由上位机事先配置)的时间(传输一个字符的时间是用该字节包含的位数来除以相应的波特率)。

如果转换器在接收到一个字节后小于等于n 个字符的传输时间内没有字节再被接收到,转换器就认为此帧传输结束,将该字节作为此帧的最后一个字符;n 个字符时间之后的字节不属于该帧,而是下一帧的内容。帧格式如图4.5 所示。

帧1 帧2

图 4.5 串行帧时间格式

3.2.2 配置串口参数

串口设定:1个启动位,一个停止位,8个bit,无奇偶校验,用户不可更改。

只允许用户选择串口波特率:串口波特率在1200bps~115200bps 间可选。

其他参数保留,暂不可用。

3.2.3 配置CAN接口参数

波特率:CAN 总线波特率,除了列表中CIA 推荐的标准波特率之外,还给出了一个“自定义选项”, 选中该选项之后便可以在下面的“BTR0/BTR1” 中填写用户自定波特率的BTR0 和BTR1 寄存器值(和SJA1000 的波特率寄存器填充相同)。

帧类型:转换器所发送和允许接收的CAN 报文的帧类型,有标准帧和扩展帧可选,不支

持远程帧。(具体帧格式见附录A.1)

使能自发自收测试:选中表示转换器允许接收自己发送出去的CAN帧。即转换器发出去的所有CAN帧将都能被转换器自己接收,并可转发到串口。一般用于用户做试验,测试。例如:当用户通过PC发送几个串口数据给转换器,转换器将转发到CAN网络,然后从CAN网络上接收回来,并转发到串口,PC可接收到。

发送帧标识:仅在“透明转换”模式下可用,表示在串口数据转换成CAN 报文时CAN 报文的帧标识域(帧ID)的值(16 进制数据);CAN发送的标识符(帧ID) 由上述的串行帧

中的数据填充。(参见3.2.1 小节CAN 标识符在串行帧中的位置)

【注】:该标识符(帧ID) 是实际的CAN 报文ID 值(字节从右到左顺序为最低位字节到高位字节), 如值为“00 00 00 0A”(HEX) 时, 表示发送的帧ID 号是10(无须像以前版本对数据进行移位)。该项在有效使用时还和“帧类型” 有关,如果选择的是“标准帧”, 那么帧标识符是11 位有效,那么值范围是0~7FF(HEX),超出无效,并且只取低11 位。如果选择的是“扩展帧”,那么帧标识符是29 位有效,那么值范围是0~1F FF FF FF (HEX),超出无效,并且只取低29 位。

自定义屏蔽码: 选中该项,则用户可以自己定义CAN 控制器的滤波器,以提供丰富的滤波方式(参见附录A.3 CAN 报文滤波器设置); 不选中该项,则由配置软件设置滤波器为单滤波方式,并且设置滤波器的屏蔽码为只接收ID为设定的“过滤验收码值”的CAN帧。

【注】:建议:1、若需要接收所有CAN 节点的报文,那么应当选中该项,并且确定“过滤屏蔽码”值为“FF FF FF FF”。

2、若仅需要接收固定标识的信息,那么应不选中该项,只填充实际的验收代码值到“过滤验收码”。如只收帧标识(帧ID)为6 的CAN 报文,那么设置为:不选中该项,“过滤验收码”值为“00 00 00 06”。

接收过滤模式: 转换器接收时,对CAN 总线侧报文的滤波方式。单滤波或双滤波可选。(参见附录A.3 CAN 报文滤波器设置)

过滤验收码(ACR):接收CAN“帧标识”时的比较值,和“过滤屏蔽码”按照位的关系相对应。在“过滤屏蔽码”设定为相关时,只有接收的“帧标识(帧ID)” 和“过滤验收码”相同时才会将该帧数据收到接收缓冲区中,否则不接收。

填充数据格式为16 进制形式,每个8 位的字节间用“空格符”隔开。字节从左到右分别命名为ACR0、ACR1、ACR2 和ACR3,位序列为高位到低位。和接收的CAN帧ID进行对应滤波。最低位位于ACR3的Bit0。

过滤屏蔽码(AMR): 用来管理“ 过滤验收码”,按位相应管理。当“ 过滤屏蔽码” 的位值为0 时(意为相关),相应位的接收“帧标识”只有和相应位的“过滤验收码”相同才会将该帧数据收到接收缓冲区中;当“过滤屏蔽码”的位值为1 时(意为无关), 相应位的接收“帧标识”为任何值都可以将该帧数据收到接收缓冲区中。最低位位于ACR3的Bit0。

填充数据格式为16 进制形式,每个8 位的字节间用“空格符”隔开。字节从左到右分别命名为AMR0、AMR1、AMR2 和AMR3,位序列为高位到最低位。

3.2.4 举例介绍验收滤波的设置

非自定义屏蔽码

图3.3 和图3.4 表示在“非自定义屏蔽码”(“自定义屏蔽码”项不打勾)情况下滤波器的设置。由于是“非自定义屏蔽码”情况,所以用户只需要填充“过滤验收码”的实际值,“过滤屏蔽码”则由配置软件自动设置,全部字节均为0x00 (相关)。

如果要了解整个滤波器原理请参考附录“A3 CAN 报文滤波器的设置”。

图 3.3 非自定义屏蔽码标准帧情况下设置

图 3.3 表示在帧类型为“标准帧”情况下,单滤波和双滤波的设置。

由于是“标准帧”,那么帧ID 只有11 位,所以“过滤验收码”最大值为“0x07 FF”,超过的部分无效,软件只取低11 位。

“单滤波”使用一组滤波器,只能设置一组“过滤验收码”值;“双滤波”则可以设置两个“过滤验收码”,接收的帧ID 如果符合其中任意一个,该帧可以被成功接收。如果帧ID 用来表示地址的话,那么这个节点就有两个地址。

图 3.4 非自定义屏蔽码标准帧情况下设置

图 3.4 表示在帧类型为“扩展帧”情况下,单滤波和双滤波的设置。由于是“扩展帧”, 那么帧ID 有29 位, 所以“过滤验收码”最大值为“0x1F FF FF FF”, 超过的部分无效,软件只取低29 位。

“单滤波”使用一组滤波器,只能设置一组“过滤验收码”值。

“双滤波”(特殊说明:由于CAN 控制器的特性,“双滤波”的两组“过滤验收码”仅针对最高位的两个帧ID 字节,ID.28~ID.13) 可以设置两个“过滤验收码”,接收的帧ID 如果符合其中任意一个,该帧可以被成功接收。如果帧ID 用来表示地址的话,那么这个节点就有两个地址。

自定义屏蔽码

图 3.5 和图 3.6 表示在“自定义屏蔽码”(“自定义屏蔽码”项打勾)情况下滤波器

的设

置。如果要了解整个滤波器原理请参考附录“A3 CAN 报文滤波器的设置”。图 3.5 表示在帧类型为“标准帧”情况下,单滤波和双滤波的设置。

图 3.5 自定义屏蔽码标准帧情况下设置

图 3.6 表示在帧类型为“扩展帧”情况下,单滤波和双滤波的设置。

图 3.6 非自定义屏蔽码标准帧情况下设置

由于是“扩展帧”, 那么帧ID 有29 位, 所以“过滤验收码”最大值为“0x1F FF FF FF”, 超过的部分无效,软件只取低29 位。

“单滤波”使用一组滤波器,只能设置一组“过滤验收码”值。

“双滤波”(特殊说明:由于CAN 控制器的特性,“双滤波”的两组“过滤验收码”仅针对最高位的两个帧ID 字节,ID.28~ID.13) 可以设置两个“过滤验收码”,接收的帧ID 如果符合其中任意一个,该帧可以被成功接收。如果帧ID 用来表示地址的话,那么这个节点就有两个地址。

3.2.5 软件下方按钮说明

默认值:可以将其参数恢复成出厂的默认值。

读配置:将转换器的现有参数读出并显示于面板上。(当前页面)

写配置:在参数设定好之后,点击该按钮即将配置参数写入转换器中。(当前页面)

第四章 应用说明

CAN232MB/CAN485MB 转换器是一款智能协议转换器。转换器给出了两种转换模式供选择,包括:透明转换、透明带标识转换转换。在对转换器进行配置时可以进行参数的选择和设置。

“透明转换”的含义是转换器仅仅是将一种格式的总线数据原样转换成另一种总线

的数据格式,而不附加数据和对数据做修改。这样既实现了数据格式的交换又没有改变数据内容,对于两端的总线来说转换器如同透明的一样。这种方式下不会增加用户通讯负担,而能够实时的将数据原样转换,能承担较大流量的数据的传输。

“透明带标识转换”是透明转换的一种特殊的用法,也不附加协议。这种转换方式

是根据通常的串行帧和CAN 报文的共有特性,使这两种不同的总线类型也能轻松的组建

同一个通信网络。

该方式能将串行帧中的“地址”转换到CAN 报文的标识域中,其中串行帧“地址”

在串行帧中的起始位置和长度均可配置,所以在这种方式下,转换器能最大限度地适应

用户的自定义协议。

以下具体介绍两种转换方式转换格式,并通过实例来讲解通讯过程。

4.1 模式1 透明转换模式

透明转换方式下,转换器接收到一侧总线的数据就立即转换发送至另一总线侧。这

样以数据流的方式来处理,最大限度地提高了转换器的速度,也提高了缓冲区的利用率,因为在接收的同时转换器也在转换并发送,又空出了可以接收的缓冲区。

串行数据的通讯格式:1 起始位,8 数据位,1 停止位。

CAN 报文帧的格式由配置软件事先设置。

下面具体说明转换方法。

4.1.1 串行帧转CAN 报文

串行帧的全部数据依序填充到CAN 报文帧的数据域里。转换器一检测到串行总线上有数据后就立即接收并转换。转换成的CAN 报文帧信息(帧类型部分)和帧ID 来自用户事先的配置,并且在转换过程中帧类型和帧ID 一直保持不变。数据转换对应格式如图4.1 所示。

如果收到串的行帧长度小于等于8 字节,依序将字符1 到n(n 为串行帧长度)填充到CAN 报文的数据域的1 到n 个字节位置。

如果串行帧的字节数大于8, 那么处理器从串行帧首个字符开始,第一次取8 个字符依次填充到CAN 报文的数据域。将数据发至CAN 总线后,再转换余下的串行帧数据填充到CAN 报文的数据域,直到其数据被转换完。

转换举例:假设配置的转换成CAN 报文帧信息为“标准帧”,帧ID1,ID2 分别被设置为00 60。

图 4.3 串行帧转CAN 报文示例(透明方式)

4.1.2 CAN报文转串行帧

对于CAN 总线的报文也是收到一帧就立即转发一帧。转换时将CAN 报文数据域中的数据依序全部转换到串行帧中。如果在配置的时候,“帧信息转换使能”项选择了“转换”,那么转换器会将CAN 报文的“帧信息”字节直接填充至串行帧。如果“帧ID 转换使能”项选择了“转换”,那么也将CAN 报文的“帧ID” 字节全部填充至串行帧。

转换举例:内部参数配置为CAN 报文的“帧信息”转换,“帧ID”不转换。

接收到的CAN 报文以及转换后的串行帧如所示。

图 4.4 CAN 报文转串行帧示例(透明方式)

4.2 模式2 透明带ID标识转换

透明带标识转换是透明转换的特殊用法,有利于用户通过转换器更方便的组建自己的网络,使用自定的应用协议。

该方式把串行帧中的地址信息自动转换成CAN 总线的帧ID。只要在配置中告诉转换器该地址在串行帧的起始位置和长度,转换器在转换时提取出这个帧ID 填充在CAN 报文的帧ID 域里,作为该串行帧的转发时的CAN 报文的ID。在CAN 报文转换成串行帧的时候也把CAN 报文的ID 转换在串行帧的相应位置。

注意在该转换模式下,配置软件的“CAN 参数”项的“发送标识符”无效,因为此时发送的标识符(帧ID)由上述的串行帧中的数据填充。

串行数据的通讯格式:1 起始位,8 数据位,1 停止位。

4.2.1 串行帧转CAN 报文

串行帧中所带有的CAN 的标识在串行帧中的起始地址和长度可由配置设定。起始地址的范围是0~7,长度范围分别是1~2(标准帧)或1~4(扩展帧)。

转换时根据事先的配置将串行帧中的CAN 帧ID 对应全部转换到CAN 报文的帧ID 域中(如果所带帧ID 个数少于CAN 报文的帧ID 个数,那么在CAN 报文的填充顺序是先补充到低位ID字节,并将余下的ID 填为0),其它的数据依序转换,如图 4.6 所示。

如果一帧CAN 报文未将串行帧数据转换完,则仍然用相同的ID 作为CAN 报文的帧ID 继续转换直到将串行帧转换完成。

假定CAN 标识在串行帧中的起始地址IDPOS=2,长度是IDLEN=1,标准帧格式,转换举例

串行帧 07 01 02 03 04 05 06 07

CAN 报文 帧信息 07 帧ID1 00 帧ID2 60 01 02 03 04 05 06

数据域

07

如下:

假定参数设置为起始地址IDPOS=2,长度是IDLEN=2,扩展帧格式,则转换举例如下:

图 4.8 串行帧转CAN 报文示例(透明带标识方式)

4.2.2 CAN报文转串行帧

对于CAN 报文,收到一帧就立即转发一帧,每次转发的时候也根据事先配置的CAN 帧ID 在串行帧中的位置和长度把接收到的CAN 报文中的ID 作相应的转换。其它数据依序转发,如图 4.7 所示。

值得注意的是,无论是串行帧还是CAN 报文在应用的时候其帧格式(标准帧还是扩展帧)应该符合事先配置的帧格式要求,否则可能致使通讯不成功。

串行帧 01 02 50 60 03 04 05 06 07 08 09 10 11

CAN 报文1CAN 报文2

帧信息 88 83 帧ID1 00 00 帧ID2 00 00 帧ID3 50 50 帧ID4 60 60 01 09 02 10 03 11 04 05 06 07

数据域

串行帧 01 02 60 03 04 05 06 07 08 09

10

11 CAN 报文1CAN 报文2

帧信息 08 03 帧ID1 00 00 帧ID2 60 60 01 09 02 10 03 11 04 05 06 07

数据域

08

转换举例:假定配置的CAN 标识在串行帧中的起始地址是2, 长度是3(扩展帧情况下),CAN 报文和转换成串行帧的结果如图 4.9 所示。

CAN 报文的格式不变,只是CAN 相应的帧ID 也会被转换到串行帧中。

假定CAN 标识在串行帧中的起始地址IDPOS=2,长度是IDLEN=1,标准帧格式,转换举例如下:

假定参数设置为起始地址IDPOS=2,长度是IDLEN=2,扩展帧格式,则转换举例如下:

图 4.9 CAN 报文转串行帧示例(透明带标识方式)

4.3 模式3 Modbus RTU转换

Modbus 协议是是一种标准的应用层协议,广泛应用于各种工控场合。该协议开放,实时性强,通讯验证机制好,非常适用于通信可靠性要求较高的场合。

转换器在串口侧使用的是标准的Modbus RTU 协议格式,所以转换器不仅支持用户使用Modbus RTU 协议,转换器也可以直接和其它支持Modbus RTU 协议的设备相接口。在CAN 侧,制定了一个简单易用的分段通讯格式来实现Modbus 的通讯。转换器在其中扮演的角色仍然是作协议验证和转发,支持Modbus 协议的传输,而不是Modbus 的主机或者从机,用户按

串行帧 01 02 60 03 04 05 06 07 CAN 报文

帧信息 07

帧ID1 00 帧ID2 60 01 02 03 04 05 06 07 数据域

CAN 报文 帧信息 87 帧ID1 03 帧ID2 40 帧ID3 50 帧ID4 60 01 02 03 04 05 06

数据域

07

基于STC89C51的CAN总线点对点通信模块设计

基于STC89C51的CAN总线点对点通信模块设计 [导读]随着人们对总线对总线各方面要求的不断提高,总线上的系统数量越来越多,继而出现电路的复杂性提高、可靠性下降、成本增加等问题。为解决上述问题,文中阐述了基于SJAl000的CAN总线通信模块的实现方法,该方法以PCA82C250作为通信模块的总线收发器,以SITA-l000作为网络控制器。并以STCSTC89C5l单片机来完成基于STC89C5l的CAN通信硬件设计。文章还就平台的初始化、模块的发送和接收进行了设计和分析。通过测试分析证明,该系统可以达到CAN的通信要求,整个系统具有较高的实用性。 0 引言 现场总线是应用在生产最底层的一种总线型拓扑网络,是可用做现场控制系统直接与所有受控设备节点串行相连的通信网络。在工业自动化方面,其控制的现场范围可以从一台家电设备到一个车间、一个工厂。一般情况下,受控设备和网络所处的环境可能很特殊,对信号的干扰往往也是多方面的。但要求控制则必须实时性很强,这就决定了现场总线有别于一般的网络特点。此外,由于现场总线的设备通常是标准化和功能模块化,因而还具有设计简单、易于重构等特点。 1 CAN总线概述 CAN (Controller Area Network)即控制器局域网络,最初是由德国Bosch公司为汽车检测和控制系统而设计的。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。其良好的性能及独特的设计,使CAN总线越来越受到人们的重视。由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。目前,CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。它的直线通信距离最大可以达到l Mbps/30m.其它的节点数目取决于总线驱动电路,目前可以达到110个。 2 CAN系统硬件设计 图1所示是基于CAN2.0B协议的CAN系统硬件框图,该系统包括电源模块、MCU部分、CAN控制器、光电耦合器、CAN收发器和RS232接口。硬件系统MCU采用STC89C5l,CAN控制器采用SJAl000,CAN收发器采用PCA82C250,光耦隔离采用6N137。

CAN总线8个特点

CAN总线8个特点 一、CAN总线是什么 CAN总线是与串行总线不同的工业控制通信系统,是德国博世公司为提供汽车电子产品的升级服务,所有它更多的用于汽车控制。 为什么它非常适合汽车行业呢?有以下几个原因: ●CAN总线最远的数据传输距离为10公里,完全可以满足汽车的通讯控制需求。●CAN总线具有很强的抗干扰性,不容易出现问题,可以有效地保证驾驶员的安全。 ●can总线的数据传输速度快,理论峰值达到1Mbps,并且具有很高的数据通信即 时性。 ●一条CAN总线可以同时连接128个节点。对于一辆汽车,一个或两个CAN总线 可以完全完成汽车控制工作,这对于广阔的汽车行业来说是个再合适不过的选择。 二、CAN总线原理 ●需要传输的数据从一个节点通过CAN总线被广播到另一个节点,当一个节点发送 数据时,该节点的CPU将发送的数据和标识符发送到该节点的CAN芯片,并使它们处于就绪状态。

●当CAN芯片接收到总线分配时,消息进入发送状态,并且CAN芯片发送的数据 以预定的消息格式发送。此时,网络中的所有其他节点都处于接收状态,并且所有节点都首先接收该节点,并通过检测消息是否发送给自身来进行判断。 ●CAN总线是一种面向内容的地址方案,可实现控制系统的建立和灵活部署,并允 许在不修改硬件和软件的情况下将新节点添加到CAN总线。 三、CAN总线的8个特点 ●采用两线串行通讯方式,具有较强的错误检测能力,可以在高噪声干扰环境下工作●具有实时性强,传输距离长,电磁干扰强,成本低的优点。 ●可靠的错误处理和错误检测机制 ●节点具有严重错误时自动终止总线的功能 ●具有通过CAN控制器将多个控制模块连接到CAN总线以形成多主机本地网络的 优先级和仲裁功能。 ●消息的身份可以决定接收还是屏蔽消息 ●如果传输的信息已损坏,则可以自动重新传输 ●该消息不包含源地址和目标地址,仅使用标志来指示功能信息和优先级信息。

CAN总线设计

微机应用课程设计报告 ` 题目:基于单片机的16*16点阵系统设计 专业: … 班级: 姓名: 学号: 地点: 时间: 指导老师:

~

摘要 现场总线是自动化领域的计算机网络,是当今自动化领域技术发展的热点之一。它以总线为纽带,将现场设备连接起来成为一个能够相互交换信息的控制网络,是一种双向串行多节点数字通信的系统。CAN总线也是现场总线的一种,它最初被应用于汽车的控制系统中,由于其卓越的性能,CAN总线的应用范围已不再局限于汽车工业中,而被广泛的用到自动控制、楼宇自动化、医疗设备等各个领域。 本文主要介绍一种基于CAN总线的控制系统,通过对这一系统的制作流程来说明CAN总线的简单应用,文章主要是对本控制系统的三个硬件模块进行介绍及模块中相关芯片的应用,同时本文也对软件的编写进行了说明。 关键字:现场总线; CAN总线;单片机;控制系统

目录 1 绪论 (1) CAN总线的简单介绍 (1) CAN总线的优势 (1) 网络各节点之间的数据通信实时性强 (2) 缩短了开发周期 (2) 已形成国际标准的现场总线 (2) 最有前途的现场总线之一 (2) 2 硬件电路设计 (3) 单片机模块 (3) STC89C52主要特性如下: (4) STC89C52RC单片机的工作模式 (5) CAN总线控制器模块 (6) SJA1000简介 (6) PCA82C250简介 (9) 通信模块和外围接口 (11) 通信模块 (11) 外围接口 (12) 3 CAN总线控制系统软件设计 (13) 初始化程序 (13) 数据的接收和发送功能 (15) 发送数据 (15) 接收数据 (17) 4 总结 (19) 参考文献 (20) 附录一 (21)

CAN总线的特点有哪些

CAN总线的特点有哪些 CAN 总线的特点有哪些?(1) 多主控制在总线空闲时,所有的单元都可开始发送消息(多主控制)。最先访问总线的单元可获得发送权(CSMA/CA 方式*1)。多个单元同时开始发送时,发送高优先级ID 消息的单元可获得发送权。 (2) 消息的发送在CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送 消息时,根据标识符(Identifier 以下称为ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始 发送消息时,对各消息ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行 接收工作。(3) 系统的柔软性与总线相连的单元没有类似于地址的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。(4) 通信速度根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它 的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可 以有不同的通信速度。(5) 远程数据请求可通过发送遥控帧请求其他单元发送数据。(6) 错误检测功能-错误通知功能-错误恢复功能所有的单元都可以检测错误(错误检测功能)。检测出错误的单元会立即同时通知其他所有单元(错误 通知功能)。正在发送消息的单元一旦检测出错误,会强制结束当前的发送。 强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢 复功能)。(7) 故障封闭CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总

CAN总线网络设计

1 引言 can(controller area network)即控制器局域网络,最初是由德国bosch公司为解决汽车监控系统中的自动化系统集成而设计的数字信号通信协议,属于总线式串行通信网络。由于can总线自身的特点,其应用领域由汽车行业扩展到过程控制、机械制造、机器人和楼宇自动化等领域,被公认为最有发展前景的现场总线之一。 can总线系统网络拓扑结构采用总线式结构,其结构简单、成本低,并且采用无源抽头连接,系统可靠性高。本设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等持点。 2 系统总体方案设计 整个can网络由上位机(上位机也是网络节点)和各网络节点组成(见图1)。上位机采用工控机或通用计算机,它不仅可以使用普通pc机的丰富软件,而且采用了许多保护措施,保证了安全可靠的运行,工控机特别适合于工业控制环境恶劣条件下的使用。上位机通过can总线适配卡与各网络节点进行信息交换,负责对整个系统进行监控和给下位机发送各种操作控制命令和设定参数。 网络节点由传感器接口、下位机、can控制器和can收发器组成,通过can收发器与总线相连,接收上位机的设置和命令。传感器接口把采集到的现场信号经过网络节点处理后,由can收发器经由can总线与上位机进行数据交换,上位机对传感器检测到的现场信号做进一步分析、处理或存储,完成系统的在线检测,计算机分析与控制。本设计can总线传输介质采用双绞线。 图 1 can总线网络系统结构 3 can总线智能网络节点硬件设计 本文给出以arm7tdmi内核philips公司的lpc2119芯片作为核心构成的智能节点电路设计。该智能节点的电路原理图如图2所示。该智能节点的设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等特点,下面分别对电路的各部分做进一步

CAN总线的性能特点

CAN总线的性能特点 由于采用了许多的新技术和独特的设计,CAN总线与一般的通信总线相比,它的数据通信具有突出的可靠性、实时性和灵活性。其性能特点可以概括如下: (1)CAN是到目前为止唯一具有国际标准的现场总线; (2)CAN为“多主”工作方式,网络上任一节点均可在任意时刻主动的向网络上的节点发送信息,不分主从。 (3)在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据最多可在134us内得到传输。 (4)CAN采用非破坏性总线仲裁技术。当多个节点同时向总线发送信息时,优先级较低的节点会主动退出发送,而最高优先级的节点可不受影响的继续传输数据,从而大大的节省了总线冲突仲裁时间。 (5)CAN节点只需要通过对报文的标识符滤波即可实现点对点,一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”。 (6)CAN上的节点的个数主要取决于总线驱动电路,目前可达110个。在标准“帧”报文标识符(CAN2.0A)可达2032种,而在扩展帧的报文标识符(CAN2.OB)几乎不受限制。 (7)CAN报文采用“短帧”结构,传输时间短,受干扰概率低,具有极好地检错效果。 (8)CAN的每帧信息都有CRC校验以及其他检错措施,具有很

好的检错效果。 (9)CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上的其它节点的操作不受影响。 (10)CAN的最大通信速率为1Mbps(当总线长为40m时),直接通信距离可达10km(而当通信速率为5Kbps时),其通信距离与通信速率之间的关系如下图所示: 图 1 CAN总线位的数值表示 (10)CAN总线具有较高的性能价格比。它结构简单,器件容易购置,每个节点的价格较低,而且开发技术容易掌握,能充分利用现有的单片机开发工具。

课程设计--CAN总线

课程设计 题目 CAN通信 二级学院电子信息与自动化 专业自动化 班级 107070103 学生姓名学号 指导教师熊文 考核项目 设计50分平时 成绩 20分 答辩30分 设计质量 20分 创新设计 15分 报告质量 15分 熟练程度 20分 个人素质 10分 得分 总分考核等级教师签名

摘要: CAN总线是控制器局域网总线(contr01ler AreaNetwork)的简称。属于现场总线的范畴,是一种有效支持分布式控制或实时控制的串行通信网络。由于其高性能、高可靠性及独立的设计而被广泛应用于工业现场控制系统中。SJAl000是一个独立的CAN控制器,PCA82C200的硬件和软件都兼容,具有一系列先进的性能,特别在系统优化、诊断和维护方面,因此,SJAl000将会替代PCA82C200。SJAl000支持直接连接到两个著名的微型控制器系列80C51和68xx。下面以单片机AT89C52和SJAl000为例,介绍CAN总线模块的硬件设计和CAN通信软件的基本设计方法。 关键词:AT89S52 CAN通信 SJA1000

目录: (一) 背景: (二) CAN介绍 (三) SJA1000内部结构和功能简介 (四) 硬件电路图 (五) 初始化程序 (六) 测试 (七) 总结

一背景: CAN(Controller Area Network)数据总线是一种极适于汽车环境的汽车局域网。CAN总线是德国Bosch公司为解决汽车监控系统中的 复杂技术难题而设计的数字信号通信协议,它属于总线式串行通信网 络。由于采用了许多新技术和独特的设计思想,与同类车载网络相比,CAN总线在数据传输方面具有可靠、实时和灵活的优点。 1991年9月Philips半导体公司制定并发布了CAN技术规范(版本 2.0),该技术规范包括A部分和B两部分,其中2.0A给出了CAN报文的标 准格式;2.0B给出了标准和扩展两种格式。此后,1993年11月ISO正 式颁布了道路交通运输工具一数据信息交换一高速通信控制器局域 网(CAN)的国际标准IS011898,为控制器局域网的标准化和规范化铺 平了道路。 二CAN介绍 CAN通信的特点: (1) CAN是到目前为止唯一具有国际标准且成本较低的现场总线; (2) CAN废除了传统总线的站地址编码,对通信数据块进行编码,为 多主方式工作,不分主从,通信方式灵活,通过报文标识符通信,可 使不同的节点同时接收到相同的数据,无需站地址等节点信息。 (3) CAN采用非破坏性总线仲裁技术,当多个节点同时向总线发送信 息时,优先级较低的节点会主动地退出发送,而最高优先级的节点可 不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其 是在网络负载很重的情况下也不会出现网络瘫痪情况(以太网则有可

CAN总线基础(1)— CAN简介及特点

1.CAN是什么? CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。 现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。 下图是车载网络的构想示意图。CAN 等通信协议的开发,使多种LAN 通过网关进行数据交换得以实现。

2.CAN的应用实例 3.总线拓扑图 CAN 控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。 CAN的连接示意图

4.CAN的特点 CAN 协议具有以下特点: (1) 多主控制 在总线空闲时,所有的单元都可开始发送消息(多主控制)。 最先访问总线的单元可获得发送权(CSMA/CA 方式)。 多个单元同时开始发送时,发送高优先级ID 消息的单元可获得发送权。 (2) 消息的发送 在CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。(3) 系统的柔软性 与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。 (4) 通信速度 根据整个网络的规模,可设定适合的通信速度。 在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。 (5) 远程数据请求 可通过发送“遥控帧” 请求其他单元发送数据。 (6) 错误检测功能·错误通知功能·错误恢复功能 所有的单元都可以检测错误(错误检测功能)。 检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。 正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。 (7) 故障封闭 CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。 (8) 连接 CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。 1.CAN的错误状态类型 单元始终处于3 种状态之一。

CAN总线设计(最终版)(1)

CAN-USB适配器设计 ***** 指导老师:*** 学院名称:***** 专业班级:**** 设计提交日期:**年**月 摘要 随着现场总线技术和计算机外设接口技术的发展,现场总线与计算机快速有效的连接又有了更多的方案。USB作为一种新型的接口技术,以其简单易用、速度快等特点而备受青睐。本文介绍了一种基于新型USB接口芯片CH372的CAN总线网络适配器系统的设计,提出了一种使用USB接口实现CAN总线网络与计算机连接

的方案。利用芯片CH372可在不了解任何USB协议或固件程序甚至驱动程序的情况下,轻松地将并口或串口产品升级到USB接口。该系统在工业现场较之以往的系统,可以更加灵活,高速,高效地完成大量数据交换,并可应用于多种控制系统之中,具有很大的应用价值。 关键词:USB;CH372;CAN;SJA100;适配器 目录 1.设计思想 (3) 2.CAN总线与USB的转换概述 (4) 3. 适配器硬件接口设计 (5) 3.1 USB接口电路 (5)

3.2 CAN总线接口电路 (7) 4.USB通用设备接口芯片CH372 (8) 4.1 概述 (8) 4.2 引脚功能说明 (9) 4.3 内部结构 (9) 4.4 命令 (10) 5.软件设计 (10) 5.1 概述 (10) 5.2主监控程序设计 (12) 5.3 CAN和USB接口芯片的初始化 (13) 5.4 CAN报文的发送 (15) 5.5 CAN报文的接收 (17) 5.6.自检过程 (19) 5.7 USB下传子程序设计 (20) 5.8 USB上传子程序设计 (22) 5.9.USB—CAN转换器计算机端软件设计 (23) 6. 抗干扰措施 (25) 7. 估算成本 (26) 8. 应用实例介绍 (27) 9 总结及设计心得 (28) 10 参考文献 (28) 1 设计思想 现场总线网络技术的实现需要与计算机相结合。目前,在微机上扩展CAN总线接口设备一般采用PCI总线或者RS-232总线。PCI虽然仍是高速外设与计算机接口的主要渠道,但其主要缺点是占用有限的系统资源、扩展槽地址;中断资源有限;并且插拔不方便;价格较贵;而且设计复杂、需有高质量的驱动程序保证系统的稳定;且无法用于便携式计算机的扩

CAN总线特点与规范

CAN总线特点与规范 CAN 总线规范: CAN总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络,位速率可高达1MBPS。可以应用在汽车控制系统,自动化电子领域中的各种部件(传感器,灯光,执行机构等)与主机连接组成CAN 网络。本章介绍通过CAN总线与液晶显示器的连接。 CAN 具有下列主要特性: 1 多主站依据优先权进行总线访问。 总线开放时,任何单元均可开始发送报文,具有最高优先权的报文的单元赢得总线访问权。利用这个特点可以用液晶显示器作为多主机的公用监视器,不用每台主机配一个监视器,从而节约系统成本。 2 无破坏性的基于优先权的仲裁。 网络上的每个主机可以同时发送,哪个主机的数据可以发送出去取决于主机所发送报文的标识符决定的优先权的大小,没有发送出去的帧可自动重发。以后将介绍数据怎样仲裁。 3 借助接收滤波的多地址帧传送 收到报文的标识符与本机的接收码寄存器与屏蔽寄存器相比较,符合的报文本机才予以接收。 4.远程数据请求。 网络上的每个接点可以发送一个远程帧给另一个接点,请求该接点的数据帧,该数据帧与对应的远程帧以相同的标识符ID命名。 5.配置灵活性 通过八个寄存器进行接点配置,每个接点可以接收,也可以发送。 6.全系统数据相容性 7.错误检测和出错信令 有五种错误类型,每个接点都设置有一个发送出错计数器和一个接收出错计数器。发送接点和接收接点在检测到错误时,出错计数器根据一定规则进行加减,并根据错误计数器数值发送错误标志(活动错误标志和认可错误标志),当错误计数器数值大于255时,该接点变为“脱离总线”状态,输出输入引脚浮空,既不发送,也不接收。 CAN 中的总线数值为两种互补逻辑数值:“显形”和“隐性”,用差分电压表示。 “显形”表示逻辑“0”,显性状态用大于最小阈值的差分电压表示。 “隐性”表示逻辑“1”,这时输出的差分电压Vdiff 近似为0,Vcanh ,Vcanl固定于平均电压电平,显性位与隐性位同时发送时,最后总线数值为显性。在总线空闲或隐性位期间, 平均电压

CAN总线系统设计中的几个问题

CAN总线系统设计中的几个问题 北京航空航天大学管理学院(100083) 邬宽明 摘 要:论述了CAN总线系统设计中系统时钟和位时间的选定、CAN中断服务程序编制以及较长报文拼接等问题。 关键词:CAN总线设计 系统时钟 位时间 中断服务 报文拼接 CAN总线是德国Bo sch公司在80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信总线,它是一种多主总线系统,通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1M bp s。CAN总线通信控制器中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括零位的插入 删除、数据块编码、循环冗余检验、优先级判别等项工作。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码。采用这种方法的优点是可使网络内的节点个数在理论上不受限制,数据块的标识码可由11位(按CAN技术规范210A)或29位(按CAN 技术规范210B)二进制数组成,因此可以定义211或229个不同的数据块。这种按数据块编码的方式,还可使不同的节点同时接收到相同的数据,这一点在分布式控制系统中非常有用。数据段长度最多为8个字节,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性。CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。CAN的这些卓越特性,极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界重视,并已被公认为最有前途的现场总线之一。1993年11月ISO正式颁布了道路交通运载工具—数字信息交换—高速通信控制器局部网(CAN)国际标准(ISO11898)。为控制器局部网标准化、规范化推广铺平了道路。可以预料,控制器局部网在我国迅速发展和普及是指日可待的。 本文分别论述CAN总线系统设计中经常遇到的系统时钟和位时间如何选定、CAN中断服务程序如何安排以及较长报文如何拼接等几个问题。 1 系统时钟和位时间的选定 在CAN控制器中提供两个总线定时寄存器,其中总线定时寄存器0(BR T0)可决定波特率予分频(BR P)和同步跳转宽度(SJW)的数值,其低六位(D5~D0)用来确定系统时钟,而其高二位(D7,D6)用来确定同步跳转宽度(SJW)。总线定时寄存器1(BR T1)可决定位周期宽度、采样点位置和在每个采样点进行采样的次数,其D3~D0用于T SEG1,而D6~D4用于T SEG2并按下式计算: t TSEG1=t SCL(8T SEG1.3+4T SEG1.2+2T SEG1.1 +T SEG1.0+1) t TSEG2=t SCL(4T SEG2.2+2T SEG2.1+T SEG2.0+1) 图1 每位时间和采样点位置T SEG1和T SEG2可 确定每位的时钟周期数目 和采样点位置,如图1所 示 若P8XC592复位请求 位被置为高,这两个寄存器 均可被访问(读 写)。系统时 钟t SCL可使用下列等式计算: t SCL=2t CL K(32BR P.5+16BR P.4+8BR P.3+4BR P.2 +2BR P.1+BR P.0+1) 其中:t CL K为P8XC592振荡器的时钟周期 实例:设晶体振荡器频率为16M H Z,BTR0=00H, BTR1=14H,计算系统时钟和位时间 由给定BTR0和BR T1值可知: BR P.5,BR P.4,BR P.3,BR P.2,BR P.1和BR P10均为0,另外,除T SEG112和T SEG210为1外,其余系数均为01因此有, t SCL=2t CL K(32×0+16×0+8×0+4×0+2×0 +0+1)=2t CL K t TSEG1=t SCL(8×0+4×0+2×0+1)=5t SCL t TSEG2=t SCL(4×0+2×0+1×0+1)=2t SCL t b=(1+5+2)t SCL=2×8×t CL K=1M bp s 此时同步跳转宽度(SJW)为 t SJW=t SCL(2SJW.1+SJW.01+1)=t SCL即1 8(Λs)实例2:设晶体振荡器频率为16M H z,BTR0= 7FH,BTR1=7FH,计算系统时钟和位时间 由给定BR T0和BR T1值可知: BR P15,BR P14,BR P13,BR P12,BR P11,和BR P10,均为1,另外,T SEG11X和T SEG21X亦均为 81四通电脑应用美国德州工控机6257723062577231 《电子技术应用》1998年第9期

CAN总线简介及其特点

摘要:CAN总线的数据通讯具有突出的可靠性、实时性和灵活性,其总线规范已经成为国际标准,被公认为几种最有前途的总线之一。本文在总结CAN总线特点的基础上,对其通信介质访问方式进行了详细的描述,介绍了它在应用中需要解决的技术问题以及目前应用状况。 关键词:CAN总线;通信介质访问控制;实时;应用技术 1CAN总线简介及其特点 CAN网络(ControllerAreaNetwork)是现场总线技术的一种,它是一种架构开放、广播式的新一代网络通信协议,称为控制器局域网现场总线。CAN网络原本是德国Bosch公司为欧洲汽车市场所开发的。CAN推出之初是用于汽车内部测量和执行部件之间的数据通信。例如汽车刹车防抱死系统、安全气囊等。对机动车辆总线和对现场总线的需求有许多相似之处,即能够以较低的成本、较高的实时处理能力在强电磁干扰环境下可靠地工作。因此CAN总线可广泛应用于离散控制领域中的过程监测和控制,特别是工业自动化的底层监控,以解决控制与测试之间的可靠和实时数据交换。 CAN总线有如下基本特点: * CAN协议最大的特点是废除了传统的站地址编码,代之以对数据通信数据块进行编码,可以多主方式工作; * CAN采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,有效避免了总线冲突; * CAN采用短帧结构,每一帧的有效字节数为8个(CAN技术规范2.0A),数据传输时间短,受干扰的概率低,重新发送的时间短; * CAN的每帧数据都有CRC效验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境中使用; * CAN节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其它操作不受影响; * CAN可以点对点、一点对多点(成组)及全局广播集中方式传送和接受数据; * CAN总线直接通讯距离最远可达10km/5Kbps,通讯速率最高可达1Mbps/40m; * 采用不归零码(NRZ—Non-Return-to-Zero)编码/解码方式,并采用位填充(插入)技术。 详细的CAN协议可参见CAN技术规范2.0a和2.0b以及CAN国际标准ISO11898(参考文献3)。

CAN总线系统智能节点设计

http://biz.doczj.com/doc/da9331788.html, CAN总线系统智能节点设计 作者:邹继军饶运涛 信息工程系 华东地质学院 摘要:CAN总线上的节点是网络上的信息接收和发送站;智能节点能通过编程设置工作方式、ID地址、波特率等参数。它主要由单片机和可编程的CAN通信控制器组成。本文介绍这类节点的硬件设计和软件设计;其中软件设计包括SJA1000的初始化、发送和接收等应用中的最基本的模块子程序。 关键词:总线节点CAN 控制器 引言: CAN (Controller Area Network)总线,又称控制器局域网,是Bosch公司在现代汽车技术中领先推出的一种多主机局部网,由于其卓越的性能、极高的可靠性、独特灵活的设计和低廉的价格,现已广泛应用于工业现场控制、智能大厦、小区安防、交通工具、医疗仪器、环境监控等众多领域。CAN已被公认为几种最有前途的现场总线之一。CAN总线规范已被ISO国际标准组织制订为国际标准,CAN 协议也是建立在国际标准组织的开放系统互连参考模型基础上的,主要工作在数据链路层和物理层。用户可在其基础上开发适合系统实际需要的应用层通信协议,但由于CAN总线极高的可靠性,从而使应用层通信协议得以大大简化。 CAN总线与其他几种现场总线比较而言,是最容易实现、价格最为低廉的一种,但其性能并不比其他现场总线差。这也是目前CAN总线在众多领域被广泛采用的原因。节点是网络上信息的接收和发送站,所谓智能节点是由微处理器和可编程的CAN控制芯片组成,它们有两者合二为一的,如芯片P8XC592,也有如本文介绍的,独立的通信控制芯片与单片机接口,后者的优点是比较灵活。当然,也

基于STM32F407的双CAN总线设计与实现

基于STM32F407的双CAN总线设计与实现 【摘要】本文是基于意法半导体(ST)新推出的一款高性能CortexTM-M4内核的ARM 芯片STM32F407ZGT6,进行的双CAN总线设计。在开发过程中采用了ST提供的可视化图形界面开发工具STM32Cube进行底层驱动的配置,简化了设计工作。但由于该工具链接的固件库函数存在传递参数错误,使得CAN总线无法接收数据,本文对该库函数进行了更正。 【关键词】STM32F407;CAN;STM32Cube Design and Realization of Double CAN Buses on STM32F407 LIU Peng (Chinese Electron Scientific and Technological Company 20th Institute,Xi’an Shaanxi 710068,China) 【Abstract】Based on a high-performance ARM with CortexTM-M4 core which launched by STMicroelectronics (ST)--STM32F407ZGT6,the double CAN bus is designed in this paper. A visual graphical interface-STM32cube which is provided by ST,is used to configure the underlying driver in this development process. It simplifies the design work. However,

CAN总线硬件设计

EDN-CAN总线助学【之八】-CAN总线硬件设计 这一讲我们详细介绍一下CAN总线通讯模块的硬件设计:CAN总线学习板上C AN通讯模块的设计。包括三个部分:(1)与CPU的接口;(2)CAN控制器SJA1000与驱动器82C250接口及其他外围电路;(3)82C250外围电路。 电路如下: 1 SJA1000与CPU接口 我们在学习单片机原理的时候,我相信大家都学习过RAM,ROM,I/O口扩展。大家可以把SJA1000看作一个外部的RAM,扩展电路十分简单。SJA1000支持两种模式单片机的连接,我们选用的是8051系列的单片机,所以选择的是I ntel模式。 (1)SJA1000的数据线和地址线是共用的,STC89C52的数据线和地址线也是共用的,这就更加方便了,直接连接就OK了。 (2)既然数据线和地址线共用,必须区分某一时刻,AD线上传输的是地址还是数据,所以就需要连接地址锁存信号 ALE。 (3)随便使用一个单片机管脚作为SJA1000的片选信号,我们学习板使用的是P20。当然你也可以直接接地。

(4)读写信号直接和单片机连接就行了,就不必多说了! (5)我们采用单片机的IO口线控制SJA1000的RST管脚,是为了软件可以实现硬复位SJA1000芯片。 (6)SJA1000的中断管脚连接单片机的INT1外部中断。当收到一包数据后,通知CPU。 2 SJA1000与82C250的接口及其他外围电路 (1)SJA1000有两路发送和接收管脚,CAN总线学习板使用了第0路。与82 C250的连接比较简单,直接连接就可以了。但应该数据发送和接收管脚不要接反了。而且我们增加了通讯状态指示灯,便于调试。 (2)时钟电路:SJA1000的最高时钟可达24M,我们学习板使用的是16M的晶振。另外增加了一个启动电阻R9(10M欧姆)。 (3) 3 82C250外围电路 (1)CANH和CANL管脚增加阻容电路,滤除总线上的干扰,提高系统稳定性。(2)RS管脚为斜率电阻输入。通过这个管脚来选择82C250的工作模式:高速模式(应用与对数据传输速率高的情况,通讯数据线最好是屏蔽的);斜率模式(速度较低,通讯线可以是普通的双绞线)。准备模式(应用于对功耗要求比较高的场合)。我们的学习板采用的是斜率模式,方便大家学习。 (3)J3是外部总线的连接口。 (4)J4是终端电阻的选择端。 到现在为止,CAN总线学习的硬件部分就介绍完了,请等待下面的软件试验部分!

汽车通信-CAN总线详解

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控制器只能发送和接收标准格式报文而忽略扩展格式的报文,但不会出现错误。每个报文数据段长度为0-8个字节,可满足通常工业领域中控制命令、工作状态及检测数据传送的一般要求。同时,8个字节占用总线时间不长,从而保证了通信的实时性。CAN协议采用CRC检验并提供相应的错误处理功能,保证了数据通信的可靠性。 (3)报文传送和帧结构 CAN总线以报文为单位进行信息传送。报文中包含标识符,它标志了报文的优先权。CAN总线上各个节点都可主动发送。如同时有两个或更多节点开始发送报文,采用标识符ID来进行仲裁,具有最高优先权报文节点赢得总线使用权,而其他节点自动停止发送。在总线再次空闲后,这些节点将自动重发原报文。CAN系统中,一个CAN节点不使用有关系统结构的任何信息。报文中的标识符并不指出报文的目的地址,而是描述数据的含义。网络

几种总线的总结之CAN 总线

CAN总线 CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO118?8)。是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境 基本概念 CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。现在,CAN 的高性能和可靠性已被认同,并被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。它的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持。 编辑本段CAN总线优势 CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之目前许多RS-485基于R线构建的分布式控制系统而言, 基于CAN总线的分布式控制系统在以下方面具有明显的优越性: 网络各节点之间的数据通信实时性强 首先,CAN控制器工作于多主方式,网络中的各节点都可根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,而代之以对通信数据进行编码,这可使不同的节点同时接收到相同的数据,这些特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差; 缩短了开发周期 CAN总线通过CAN收发器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态,CANL端只能是低电平或悬浮状态。这就保证不会在出现在RS-485网络中的现象,即当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在网络中,因个别节点出现问题,使得总线处于“死锁”状态。而且,CAN具有的完善的通信协议可由CAN

基于ARM7处理器的CAN总线网络设计

基于ARM7处理器的CAN总线网络设计 1 引言 can(controller area network)即控制器局域网络,最初是由德国bosch公司为解决汽车监控系统中的自动化系统集成而设计的数字信号通信协议,属于总线式串行通信网络。由于can 总线自身的特点,其应用领域由汽车行业扩展到过程控制、机械制造、机器人和楼宇自动化等领域,被公认为最有发展前景的现场总线之一。 can总线系统网络拓扑结构采用总线式结构,其结构简单、成本低,并且采用无源抽头连接,系统可靠性高。本设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等持点。 2 系统总体方案设计 整个can网络由上位机(上位机也是网络节点)和各网络节点组成(见图1)。上位机采用工控机或通用计算机,它不仅可以使用普通pc机的丰富软件,而且采用了许多保护措施,保证了安全可靠的运行,工控机特别适合于工业控制环境恶劣条件下的使用。上位机通过can总线适配卡与各网络节点进行信息交换,负责对整个系统进行监控和给下位机发送各种操作控制命令和设定参数。 网络节点由传感器接口、下位机、can控制器和can收发器组成,通过can收发器与总线相连,接收上位机的设置和命令。传感器接口把采集到的现场信号经过网络节点处理后,由can收发器经由can总线与上位机进行数据交换,上位机对传感器检测到的现场信号做进一步分析、处理或存储,完成系统的在线检测,计算机分析与控制。本设计can总线传输介质采用双绞线。 图 1 can总线网络系统结构 3 can总线智能网络节点硬件设计 本文给出以arm7tdmi内核philips公司的lpc2119芯片作为核心构成的智能节点电路设计。该智能节点的电路原理图如图2所示。该智能节点的设计在保证系统可靠工作和降低成本的条件下,具有通用性、实时性和可扩展性等特点,下面分别对电路的各部分做进一步的说明。

相关主题