位置:51电子网 » 技术资料 » 通信网络

CAN与以太网数据交换的研究与分析

发布时间:2008/5/29 0:00:00 访问次数:410

摘要:主要介绍将can现场总线以协议中的标准模式接入以太网的方法,实现can网络中的数据和以太网中的数据进行简单交换;给出相应的硬件和软件原理以及重点难点说明。

关键词:can总线 以太网 数据交换 tcp/ip协议 basiccan模式

1 技术背景

can(controller area network——控制器局域网)是一种由带can控制器组成高性能串行数据局域通信网络,是国际上应用最广泛的现场总线之一。它最早由德国bosch公司推出,用于汽车内部测量与执行部件之间的数据通信。其总线规范已被iso估计标准组织制定为国际标准。由于其具有多主机、传输距离远(最远为10km)、传输速度快(最快为1mbps)、抗干扰能力强等诸多优点,所以被认为是最有发展前途的现场总线之一。

can协议是建立在国际标准组织的开放系统互连模型基础上的。1991年9月,philips semiconductors制定并发布的can技术规范version2.0为现行最高版本。其中规定了两种模式:标准模式和扩展模式。本文主要对标准模式进行介绍。

tcp/ip(transmission control protocol/internet protocol——传输控制协议/网络协议)是一个工业标准的协议集,包括ip、tcp、udp等子协议,保证数据在网络上的正确传输。tcp/ip协议是现代因特网的基础。

tcp/ip协议为四层模型:应用层、传输层、网络层和数据链路层。每层都有不同的功能,而且层和层之间在逻辑上是相互独立的。每层都对应一些子协议,如图1所示。本文用到的协议包括arp、ip和tcp等。

2 应用背景

can总线在很多行业被广泛应用。由其组成的局域网可以将很多底层测控设备连接起来,最远距离可达10km(在不接中继器的条件下)。相对其它现场总线,该距离已经是很远了。但随着以太网的发展,人们希望对底层设备也能进行真正意义上的远程控制。工控机加接口卡已经被用来实现这一目的,但价格和接口卡带来的瓶颈等问题也随之暴露出来。本文是以单片机、can器件和网络芯片为核心的模块来完成该功能进行叙述的。这种方案降低了成本,避免了瓶颈。

3 硬件部分

硬件的实现方案有多种,可以采用集成tcp/ip协议的单片机外加can收发器和控制器;也可采用集成can控制器的单片机外加can收发器和网络芯片。本文的实例采用不带任何集成的单片机philips p89c668,外加can控制器sja1000、can收发器tja1050以及网络芯片rtl8019as,组成一个转换模块,功能模块如图2所示。

p89c668:微控制器,主要的控制部分,实现对网络芯片以及can器件的控制,并进行两者之间的协议转换。

sja1000:can控制器,两种工作模式(basiccan和pelican)。basiccan仅支持标准模式,pelican支持can2.0b的标准模式和扩展模式(本文仅介绍basiccan模式)。支持错误分析功能,对can收发器进行控制,为微控制器提供了控制can总线的简单接口。

tja1050:can收发器,微控制器对can控制器进行相应配置后,收发器自动过完成相应的can总线动作。

rtl8019:网络芯片,提供给微控制器控制以太网的简单接口,使微控制器只需要对其进行相应读写即可完成对以太网的操作。

实验中另外用到一个can模块作为一个can节点,和转换模块一起组成一个简单的can网。

4 软件部分

4.1 can编程

basiccan模式中的can编程相对简单,只需要对sja1000相应的寄存器进行读写操作即可。在该模式下,报文识别码为11位,在经过验收滤波器的筛选后,符合条件的报文才能被接收,并存入sja1000接收缓冲区。识别码值越小,优先级越高。如果总线上出现报文冲突,优先级高的报文选占据总线。can节点间每次最多传送的数据为10个字节。发送缓冲区寄存器的描述如表1所列,它与接收缓冲区寄存器结构大体相同,只是地址不同。

摘要:主要介绍将can现场总线以协议中的标准模式接入以太网的方法,实现can网络中的数据和以太网中的数据进行简单交换;给出相应的硬件和软件原理以及重点难点说明。

关键词:can总线 以太网 数据交换 tcp/ip协议 basiccan模式

1 技术背景

can(controller area network——控制器局域网)是一种由带can控制器组成高性能串行数据局域通信网络,是国际上应用最广泛的现场总线之一。它最早由德国bosch公司推出,用于汽车内部测量与执行部件之间的数据通信。其总线规范已被iso估计标准组织制定为国际标准。由于其具有多主机、传输距离远(最远为10km)、传输速度快(最快为1mbps)、抗干扰能力强等诸多优点,所以被认为是最有发展前途的现场总线之一。

can协议是建立在国际标准组织的开放系统互连模型基础上的。1991年9月,philips semiconductors制定并发布的can技术规范version2.0为现行最高版本。其中规定了两种模式:标准模式和扩展模式。本文主要对标准模式进行介绍。

tcp/ip(transmission control protocol/internet protocol——传输控制协议/网络协议)是一个工业标准的协议集,包括ip、tcp、udp等子协议,保证数据在网络上的正确传输。tcp/ip协议是现代因特网的基础。

tcp/ip协议为四层模型:应用层、传输层、网络层和数据链路层。每层都有不同的功能,而且层和层之间在逻辑上是相互独立的。每层都对应一些子协议,如图1所示。本文用到的协议包括arp、ip和tcp等。

2 应用背景

can总线在很多行业被广泛应用。由其组成的局域网可以将很多底层测控设备连接起来,最远距离可达10km(在不接中继器的条件下)。相对其它现场总线,该距离已经是很远了。但随着以太网的发展,人们希望对底层设备也能进行真正意义上的远程控制。工控机加接口卡已经被用来实现这一目的,但价格和接口卡带来的瓶颈等问题也随之暴露出来。本文是以单片机、can器件和网络芯片为核心的模块来完成该功能进行叙述的。这种方案降低了成本,避免了瓶颈。

3 硬件部分

硬件的实现方案有多种,可以采用集成tcp/ip协议的单片机外加can收发器和控制器;也可采用集成can控制器的单片机外加can收发器和网络芯片。本文的实例采用不带任何集成的单片机philips p89c668,外加can控制器sja1000、can收发器tja1050以及网络芯片rtl8019as,组成一个转换模块,功能模块如图2所示。

p89c668:微控制器,主要的控制部分,实现对网络芯片以及can器件的控制,并进行两者之间的协议转换。

sja1000:can控制器,两种工作模式(basiccan和pelican)。basiccan仅支持标准模式,pelican支持can2.0b的标准模式和扩展模式(本文仅介绍basiccan模式)。支持错误分析功能,对can收发器进行控制,为微控制器提供了控制can总线的简单接口。

tja1050:can收发器,微控制器对can控制器进行相应配置后,收发器自动过完成相应的can总线动作。

rtl8019:网络芯片,提供给微控制器控制以太网的简单接口,使微控制器只需要对其进行相应读写即可完成对以太网的操作。

实验中另外用到一个can模块作为一个can节点,和转换模块一起组成一个简单的can网。

4 软件部分

4.1 can编程

basiccan模式中的can编程相对简单,只需要对sja1000相应的寄存器进行读写操作即可。在该模式下,报文识别码为11位,在经过验收滤波器的筛选后,符合条件的报文才能被接收,并存入sja1000接收缓冲区。识别码值越小,优先级越高。如果总线上出现报文冲突,优先级高的报文选占据总线。can节点间每次最多传送的数据为10个字节。发送缓冲区寄存器的描述如表1所列,它与接收缓冲区寄存器结构大体相同,只是地址不同。

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!