GCAN305 嵌入式CanOpen从站转Uart 用户手册.docx
- 文档编号:11733857
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:65
- 大小:676.82KB
GCAN305 嵌入式CanOpen从站转Uart 用户手册.docx
《GCAN305 嵌入式CanOpen从站转Uart 用户手册.docx》由会员分享,可在线阅读,更多相关《GCAN305 嵌入式CanOpen从站转Uart 用户手册.docx(65页珍藏版)》请在冰豆网上搜索。
GCAN305嵌入式CanOpen从站转Uart用户手册
GCAN-305
嵌入式CANopen(从站)转UART
用户手册
文档版本:
V3.02(2015/8/11)
修订历史
版本
日期
原因
V1.00
2013/6/16
创建文档
V2.01
2013/12/20
修正设备工作参数
V3.01
2014/10/22
添加部分参数
V3.02
2015/8/11
修正部分参数
目录
1.功能简介4
1.1功能概述4
1.2性能特点4
1.3静态参数5
1.4典型应用5
2.设备安装6
2.1系统连接结构6
2.2模块接口定义6
3.设备使用8
3.1GCAN-305配套评估板8
3.2模块状态转换8
3.3系统状态指示灯9
3.4GCAN-305节点ID与CAN总线波特率10
4.GCAN-305中使用CANopen协议(DS301)12
4.1GCAN-305预定义连接12
4.2GCAN-305操作12
5.GCAN-305串口操作23
5.1串口通信协议23
5.2GCAN-305操作命令24
5.3GCAN-305串口操作错误响应33
附录A:
CANopen协议简介35
附录B:
串口可操作对象字典列表39
附录C:
GCAN-305对象字典40
销售与服务43
1.功能简介
1.1功能概述
GCAN-305是广成科技有限公司开发的嵌入式CANopen从站通信转换模块。
该模块内部已经集成了CANopen从站协议栈代码,不需要用户进行二次开发。
协议栈遵循CANopen协议描述文档DS301、DS302、DS303以及DS305标准。
在默认情况下,CANopen从站启用预定义连接,并支持参数存储。
GCAN-305模块提供一路CAN接口,通过该接口可以与CANopen网络进行连接。
另外GCAN-305提供两个UART接口——一个通信UART接口(通信波特率为1200~115200bps),一个调试UART接口(固定波特率为115200bps)。
GCAN-305模块适用于任何具有串口通信能力的系统,通过搭载该模块,用户现有的串口通信设备可以以最快的速度拥有CANopen通信能力,抢占市场先机。
用户仅需使用简单的串口通信协议即可实现与GCAN-305的通信,完成模块的配置和与CANopen总线的数据交换。
模块可以支持多达12个RPDO和TPDO过程数据传输,适用于各种干扰强、实时性要求高的场合,极其小巧的体积、高速实时的处理能力和灵活多样的应用,使GCAN-305模块非常易于嵌入到用户设备中,让用户的设备即刻拥有强大的CANopen通信功能。
我公司还可为用户提供个性化定制服务,可以单独为用户进行EDS文件和程序固件定制。
我公司GCAN-305模块可远程升级内核程序,我公司长期帮助用户维护产品的CANopen功能,时刻满足客户的需求。
1.2性能特点
●网络管理服务对象(NMT:
Bootup,NodeGuarding/Lifeguarding,HeartbeatProducer);
●过程数据对象(12个TPDO与12个RPDO);
●支持服务数据对象(SDO服务器);
●支持紧急报文对象(Emergency);
●支持同步报文对象(Sync);
●支持网络配置对象(LSS从站);
●支持支持网络时间消费;
●串口波特率1200~115200bps,可定制230400bps;
●串口通信能力(Uart,TTL电平);
●各96字节的输入输出数据缓冲(I/O);
●支持拨码开关设置从站号(1~127)及CAN波特率(20kbps、50kbps、100kbps、125kbps、250kbps、500kbps、800kbps、1000kbps);
●CAN->UART转换最大时间1ms;
●UART->CAN转换最大时间2ms;
●体积32mm×20.4mm×11mm(DIP24封装);
●工作电压/电流:
+5V/80mA;
●IO口电压:
3.3V;
●工作温度和存储温度:
-40℃~85℃。
1.3静态参数
GCAN-305模块的静态参数如表1.1所示,各项参数均在室温下测得。
符号
定义
测试条件
最小
最大
单位
电源
VDD
供电电压
4.5
6
V
IDD
供电电流
所有I/O悬空,输入电压5V
65
85
mA
I/O端口
VIL
低电平输入电压
VDD=5V
-
0.8
V
VIH
高电平输入电压
VDD=5V
2.0
5.5
V
VOL
低电平输出电压
IOL=-4mA
-
0.4
V
VOH
高电平输出电压
IOH=-4mA
2.6
3.3
V
IOL
低电平输出电流
VOL=0.4V
-
4
mA
IOH
高电平输出电流
2.6V≤VOH≤VDD
-
-4
mA
IOL
低电平短路电流
2.6V≤VOL≤3.3V
-
50
mA
IOH
高电平短路电流
VOH=0V
-
-45
mA
表1.1GCAN-305模块静态参数
1.4典型应用
●现有RS-232设备连接CANopen网络;
●PLC设备总线改造连接CANopen网络通讯;
●CAN-bus与串行总线之间的网关网桥;
●CANopen从站开发、学习;
●CANopen工业自动化控制系统;
●大量设备使用CANopen统一控制。
2.设备安装
本章介绍了当用户使用GCAN-305模块嵌入到自己的设备时的连接方法及注意事项。
2.1系统连接结构
GCAN-305系统结构图如图2.1所示,用户仅需将CPU的串口(TTL电平)与模块串口连接,将模块的CAN总线接口通过CAN收发器接入CANopen网络,即可建立用户CPU与CANopen网络的桥接。
用户CPU串口发送过来的数据将最终以PDO报文方式发送到CAN总线,以及读取来自CAN总线的RPDO数据。
当然用户也可以通过串口配置模块相关参数。
图2.1GCAN-305系统连接结构
GCAN-305模块可使用DIP开关来设置设备的节点号(NodeID)和CAN通信波特率,在特殊情况下也可以不使用DIP开关来设置,可通过用户UART接口或CANopen层设置功能(LSS)来设置该模块的节点号和CAN通信波特率。
2.2模块接口定义
GCAN-305的外形尺寸如图2.2所示,为32*20.4*11(长*宽*高,单位:
mm)。
其各引脚定义如表2.1所示。
图2.2GCAN-305模块顶视图
引脚号
名称
详细功能
引脚号
名称
详细功能
1
GND
电源地
24
VCC
电源输入(5V)
2
/Rst
复位
23
CAN-R
CAN接收
3
UART1-T
串口通信发送
22
CAN-T
CAN发送
4
UART1-R
串口通信接收
21
ID0
节点号输入0
5
UART0-T
调试/升级串口发送
20
ID1
节点号输入1
6
UART0-R
调试/升级串口接收
19
ID2
节点号输入2
7
/INT
中断引脚
18
ID3
节点号输入3
8
Brt0
波特率设置0
17
ID4
节点号输入4
9
Brt0
波特率设置1
16
ID5
节点号输入5
10
Brt0
波特率设置2
15
ID6
节点号输入6
11
Brt0
波特率设置3
14
E-Led
错误指示灯(红)
12
/ISP-EN
升级使能
13
R-Led
运行指示灯(绿)
表2.1模块引脚定义
由于GCAN-305模块中未集成有CAN收发器,因此需要外接CAN收发器。
UART0串口为GCAN-305模块的调试输出和程序升级接口,在产品调试阶段建议引出该串口,方便用户调试自己的程序;在产品稳定性得到保证的情况下可以不用引出该串口。
典型原理图与PCB设计,详细请查看GCAN-305技术文档。
3.设备使用
3.1GCAN-305配套评估板
我公司可为用户提供GCAN-305配套的评估、开发、调试、测试底板,如图3.1所示。
底板已涵盖了所有GCAN-305功能且使用简单方便,便于用户对模块进行开发和调试。
图3.1GCAN-305模块评估板
3.2模块状态转换
GCAN-305各状态转换图如图3.2所示,图中各字母所表示的各种状态下可进行的操作,字母表达的操作为:
a.NMT
b.NodeGuard
c.SDO
d.Emergency
e.PDO
f.Boot-up。
图中箭头所表示各个状态之间的转换关系,数字表示这种转换所需要进行的操作,数字表达的操作为:
1:
Start_Remote_Node(0x01)
2:
Stop_Remote_Node(0x02)
3:
Enter_Pre-Operational_State(0x80)
4:
Reset_Node(0x81)
5:
Reset_Communication(0x82)
6:
设备初始化结束,自动进入Pre_Operational状态,发送Boot-up消息
图3.2GCAN-305各状态转换图
3.3系统状态指示灯
按照CANopen协议规范文档DS303-3的定义,在GCAN-305模块中使用两个LED指示灯来指示当前模块所处的状态,如表3.1所示。
指示灯名称
颜色
管脚
运行指示灯(RUN)
绿色
13
错误指示灯(ERR)
红色
14
表3.1系统状态指示灯
其状态指示灯所指的各种状态含义如表3.2、表3.3所示。
编号
ERRLED
状态
描述
1
暗
没有错误
器件处于工作状态
2
闪一下
到达警戒值
CAN控制器的至少一个错误计数器到达或超出了警戒值(错误帧太多)
3
亮
总线关闭
CAN控制器总线关闭
表3.2错误状态指示灯(ERR)状态意义
编号
RUNLED
状态
描述
1
暗
故障
请检查模块复位引脚及电源是否连接正确
2
闪
预操作
模块处于预操作状态
3
亮
工作
模块处于工作状态
表3.3运行状态指示灯(RUN)状态意义
3.4GCAN-305节点ID与CAN总线波特率
GCAN-305模块提供三种方式设置节点ID和节点波特率,其设置顺序如图3.3和图3.4所示。
如果用户所使用的拨码开关值有效,则上电时启用该值,即使在存储器中存储有合法的ID值都不会使用。
如果模块在运行期间,主站对模块进行了LSS设置,则使用LSS设置后的值,但是模块重新上电或重启之后,依然使用拨码开关的值。
图3.3节点ID设置顺序图3.4波特率设置顺序
其中设置节点ID的拨码开关使用7位,当其值为0时,表示拨码开关无效,取值范围为1~127之间。
波特率索引值使用4位拨码,向上拨动为0,向下拨动为1。
当波特率拨码开关4为1(即拨码开关4向下),此时波特率由软件决定。
当波特率拨码开关4为0(即拨码开关4向上),波特率值由拨码开关决定,详情参见表3.4。
图示
波特率
1000k
800k
500k
250k
125k
100k
50k
20k
表3.4波特率索引值与实际对照关系
4.GCAN-305中使用CANopen协议(DS301)
4.1GCAN-305预定义连接
在GCAN-305模块中使用了对象字典的0x1000~0x1FFF和厂商自定义区0x2000~0x5FFF的区域。
这些对象字典负责着CANopen与CAN网络上的其它应用数据的通信和数据交换,对象字典使用了索引与子索引来定义,每个对象字典项都有自己的数据长度(UINT8,UINT16,UINT32等)和属性(RO、WO、RW、CONST、MAPPALE)。
这些对象字典的数据可以通过SDO服务来修改,当然也只有这些项的属性必须是WO或RW才能修改。
预定义连接是指与通信相关的COB-ID与节点ID相关联。
具体的预定义连接集如表4.1所示。
对象
功能码
节点地址
COB-ID
对象字典索引
广播报文
NMT
0000
-
0
-
SYNC
0001
-
0x80
0x1005,0x1006,0x1007
TIMESTAMP
0010
-
0x100
0x1012,0x1013
点对点报文
紧急报文
0001
1-127
0x81-0xFF
0x1014,0x1015
TPDO1
0011
1-127
0x181-0x1FF
0x1800
RPDO1
0100
1-127
0x201-0x27F
0x1400
TPDO2
0101
1-127
0x281-0x2FF
0x1801
RPDO2
0110
1-127
0x301-0x37F
0x1401
TPDO3
0111
1-127
0x381-0x3FF
0x1802
RPDO3
1000
1-127
0x401-0x47F
0x1402
TPDO4
1001
1-127
0x481-0x4FF
0x1803
RPDO4
1010
1-127
0x501-0x57F
0x1403
默认SDO(tx)
1011
1-127
0x581-0x5FF
0x1200
默认SDO(rx)
1100
1-127
0x601-0x67F
0x1200
NMT错误控制
1110
1-127
0x701-0x77F
0x1016,0x1017
表4.1CANopen预定义连接集
4.2GCAN-305操作
4.2.1网络管理服务(NMT)
1.网络控制(NMTModuleControl)
GCAN-305支持DS301所定义的网络管理命令,这些网络管理命令可以是CANopen主站发出也可以是其它的从节点发出。
其操作命令如表4.2所示,其中当Node_ID=0时,则所有的从站设备被控制(广播方式),CS为命令字对应着不同的控制动作如表4.3所示。
COB-ID(CAN-ID)
DLC
BYTE0
BYTE1
0x000
2
CS(命令字)
NodeID(节点号)
表4.2NMT操作指令
CS(命令字)
NMT服务(控制动作)
0x01
启动从站设备
0x02
停止从节点设备
0x80
使从站进入预操作
0x81
复位从节点
0x82
复位节点通信
表4.3NMT命令字及相应功能服务
例:
需要启动CANopen网络中所有的节点,可使用如下表4.4所示的命令。
COB-ID(CAN-ID)
DLC
BYTE0
BYTE1
0x000
2
0x01
0x00
表4.4NMT启动从节点
如果需要控制网络中某个具体设备,使其进入到预操作状态,假设节点地址为0x03,则命令如表4.5所示。
COB-ID(CAN-ID)
DLC
BYTE0
BYTE1
0x000
2
0x80
0x03
表4.5NMT启动指定从节点
2.节点保护(NMTNodeGuarding)
通过节点保护服务,NMT主节点可以检查每个节点的当前状态,当这些节点没有数据传送时这种服务尤其有意义。
主节点通过发送远程帧来触发相应从节点的节点保护,其命令格式如表4.6所示,从节点应答相应格式如图4.7所示。
主节点→从节点(命令):
COB-ID(CAN-ID)
DLC
0x700+NodeID
1
表4.6NMT主节点保护命令帧(远程帧)
从节点→主节点(响应):
COB-ID(CAN-ID)
DLC
BYTE0
0x700+NodeID
1
Bit7:
触发位,Bit0~Bit6状态
表4.7NMT从节点应答帧
其中Byte0中的最高位(bit7)为触发位,即从站每发一帧应答就会交替变化(0、1),以示帧与帧之间的区别,其中Bit0~Bit6为从节点的状态,该值所表达从站所处的状态如表4.8所示。
值(Value)
所处状态
0x00
初始化(Initialising)
0x04
停止状态(Stopped)
0x05
操作状态(Operational)
0x7F
预操作状态(Pre-operational)
表4.8节点保护状态值
例:
假设主节点需要对节点号为0x03从节点进行节点保护,其命令如表4.9所示,从节点应答帧如表4.10所示。
主节点→从节点:
COB-ID(CAN-ID)
DLC
0x703
1
表4.9保护节点(远程帧)
从节点→主节点:
COB-ID(CAN-ID)
DLC
BYTE0
0x703
1
0x85
表4.10从节点(0x03)应答帧
其中BYTE0的Bit7=1,状态=0x05,表示节点号为0x03的从站正处于操作状态。
3.寿命保护(NMTLifeGuarding)
节点保护主要针对的是NMT主节点获取从节点的状态,而寿命保护主要是节点对另一节点的监控。
寿命保护包括两个参数,即保护时间和生命因子,启用寿命保护的节点接收来自另一节点的远程帧(远程帧格式与节点保护帧格式相同如表4.6),启用寿命保护的节点接收到该远程帧则应答该节点的状态(应答帧格式如表4.7所示)。
寿命保护的两个参数:
保护时间和生命因子(分别位于对象字典的0x100C和0x100D)构成了节点的寿命时间(即寿命时间=保护时间x生命因子),保护时间的单位为毫秒,如果两个参数中有一个为0则表示寿命保护未启用。
如果在保护时间内未接收到远程帧则会出现“MessageLost”的提示信息,在寿命时间内未接收到远程帧则会出现“ConnectionLost”信息,这些信息圴在调试串口中打印出来,同时错误指示灯出现“闪烁两下”以示当前的寿命保护丢失。
4.启动报文(NMTBoot-up)
当GCAN-305初始化完成(Boot-up),就会发送一个标识报文,其报文格式如表4.11所示。
COB-ID(CAN-ID)
DLC
BYTE0
0x700+NodeID
1
0x00
表4.11初始化完成标识报文格式
例:
假设GCAN-305的节点号为0x03,则发送的启动报文如表4.12所示。
COB-ID(CAN-ID)
DLC
BYTE0
0x703
1
0x00
表4.120x703节点初始化完成标识报文格式
5.心跳报文(HeartbeatProducer)
心跳报文分为生产者和消费者,在GCAN-305模块中只支持心跳报文生产,即GCAN-305可以生产心跳报文。
该参数在对象字典0x1017中定义(数据长度16位,单位:
毫秒),其心跳报文如表4.7所示,与节点保护和寿命保护的应答帧相同。
例:
假设节点地址为0x03,处于操作状态,0x1017中的参数设置为100,则该从节点每隔100毫秒发送一帧如表4.13所示的报文。
COB-ID(CAN-ID)
DLC
BYTE0
0x703
1
0x05
表4.13从节点(0x03)心跳报文
请注意:
在同一个GCAN-305模块中同一时间寿命保护和心跳报文不能同时使用。
4.2.2同步报文对象(SYNC)
同步报文分为消费和生产,在GCAN-305中只支持同步报文的消费,即接收来自主节点或其它节点的同步报文,同步报文的帧结构如表4.14所示。
对象字典的0x1005定义了接收同步报文的COB-ID,在CANopen预定义连接集里定义其值为0x80,对象字典的0x1007定义了同步的时间窗口(在接收到同步报文后要求更新相应数据的最长时间间隔)。
同步报文主要应用在PDO接收和发送的过程中,其使用方法在以下PDO数据发送和接收过程中详细介绍。
COB-ID(CAN-ID)
DLC
0x80
0
表4.14同步报文帧格式(远程帧)
4.2.3紧急报文对象(EMCY)
在GCAN-305中支持紧急报文,即在GCAN-305内部出现错误时发送该报文,其报文格式如表4.15所示。
其中紧急错误码指定当前出现的错误的具体类型。
错误寄存器存放当前错误类型,根据该值可以判断出当前紧急报文所代表的错误类型,其值定义如表4.16所示。
COB-ID(CAN-ID)
DLC
BYTE0
BYTE1
BYTE2
BYTE3-BYTE7
0x80+NodeID
8
紧急错误码
错误寄存器
生产厂商指定的信息
索引0x1003
索引0x1001
表4.15紧急报文帧格式
位(Bit)
错误类型
0
普通错误(Generic)
1
电流错误(Current)
2
电压错误(Voltage)
3
温度错误(Temperature)
4
通信错误(Communication)
5
设备描述错误(Deviceprofilespecific)
6
Reserved(=0)
7
生产厂商定义的错误(Manufacturerspecific)
表4.16错误寄存器
紧急错误代码含义如表4.17所示。
应急错误代码
代码功能描述
00xx
ErrorReset或NoError
10xx
GenericError
20xx
Current
21xx
Current,deviceinputside
22xx
Current,insidethedevice
23xx
Current,deviceoutputside
30xx
Voltage
31xx
Mainsvoltage
32xx
Voltageinsidethedevice
33xx
Outputvoltage
40xx
Temperature
41xx
Ambienttemperature
42xx
Device16emperature
50xx
Devicehardware
60xx
Devicesoftware
61xx
Internalsoftwar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GCAN305 嵌入式CanOpen从站转Uart 用户手册 嵌入式 CanOpen Uart