CAN-MixNet CAN总线优势 点击:948 | 回复:7



sfmb

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 16回
  • 年度积分:0
  • 历史总积分:239
  • 注册:2007年4月23日
发表于:2007-06-01 13:46:00
楼主
多个CAN节点可以同时发送数据(多主发送)。
最高速度可达1Mbps,在传输速率50Kbps时,传输距离可以达到1公里。在
10Kbps速率时,传输距离可以达到5公里。
支持网段划分,多个网段之间数据传输完全隔离,相当于虚拟出若干独立的
虚电路。
差分电平传输及全自动硬件级CRC校验机制,确保可靠数据传输。
每条CAN总线最多可以连接110节点。



sfmb

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 16回
  • 年度积分:0
  • 历史总积分:239
  • 注册:2007年4月23日
发表于:2007-06-01 13:48:00
1楼
优势:可以利用以太网优异的扩展性、高速传输能力来提 CANMixNet
网关产品还提供了额外的RS232或RS485端口,可以
用CAN转虚拟串口技术,可以在软件接口方面兼容现有的组
等,也可以通过Socket方式直接与网关进行数据通讯。

sfmb

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 16回
  • 年度积分:0
  • 历史总积分:239
  • 注册:2007年4月23日
发表于:2007-06-01 13:49:00
2楼
CAN编程接口说明

1、 与上位机通讯方式
MixNet设备支持CAN数据包传输模式。此模式下MixNet设备使用特定的数据结构与上位机软件进行通讯。
MixNet设备使用了一个通用的数据结构来进行数据传输,只需要改动很少的代码,就可以将使用CAN通讯卡的上位机软件直接升级为以使用太网&TCP/IP通讯。

上位机可以通过2种方式与MixNet设备通讯:
1) Socket TCP/IP通讯方式
上位机软件通过Socket规范与MixNet设备建立TCP/IP连接,在成功建立TCP/IP连接后,上位机与MixNet就可以进行双向数据通讯。
MixNet设备支持TCP/IP Server、Client两种工作模式,默认工作在Server模式,设备监听TCP/IP端口,等待连接。

2) 串口通讯方式
使用此方式必须要先使用VSPM虚拟串口软件将MixNet的CAN端口映射为虚拟COM口。
上位机软件可以直接使用传统的串口操作代码通过此虚拟串口与设备进行通讯。而不必编写复杂的网络处理代码。


2、 数据结构及代码编写要点
1) MixNet的NETWORK_CANFRAME通讯数据结构
typedef struct __attribute__ ((packed)) _NETWORK_CANFRAME

  u_char candevindex;  // CAN端口,0-3对应A-D四CAN端口,
// 上位机接收有效,发送忽略。
  u_long id;           // CAN包ID
  u_char len;          // 数据长度,1-8字节
  u_char byte[8];      // CAN包数据
  u_char ext;          // 1-为扩展消息格式,0-标准消息格式
  u_char rtr;          // 远程传输位
  u_long param1;       // 备用参数
} NETWORK_CANFRAME;
上述结构为GCC定义,sizeof(NETWORK_CANFRAME)为20个字节。


TNetwork_CANFrame=packed record
candevindex:byte;    // CAN端口,0-3对应A-D四CAN端口
// 上位机接收有效,发送忽略。
id:LongWord;         // CAN包ID
  len:byte;            // 数据长度,1-8字节
  candata:array[1..8] of Byte;   // CAN包数据
  ext:byte;            // 1-为扩展消息格式,0-标准消息格式
  rtr:byte;            // 远程传输位
  param1:LongWord;     // 备用参数
 end;                 
上述结构为Delphi定义,Delphi中sizeof为20个字节。

MixNet以上述数据结构为数据帧与上位机进行数据通讯。
CAN总线参数(如速率等)可以通过MixNet本身的参数配置功能,透明的进行设置,无须编写任何代码。


2) 代码实例
(1) 接收代码:
//接收缓冲
NETWORK_CANFRAME recbuf;
//Socket接收,串口的接收操作与此类似,只不过调用的API不同
len=recv(sock, &recbuf, sizeof(recbuf), 0);
if(len!=sizeof(recbuf)) {
//接收错误
};
//recbuf中为接收到的CAN数据。


(2) 发送代码:
//发送缓冲
NETWORK_CANFRAME sendbuf;
// CAN端口,上位机发送时可以忽略此参数,要设置为0。
sendbuf.candevindex=0;  
sendbuf.id=0x123;  //CAN ID
sendbuf.len=8;     //CAN数据包长度
sendbuf.byte[0]=0; //8个CAN数据

sendbuf.byte[7]=7;
 sendbuf.ext=1;// ext=1使用CAN 2.0B格式,ext=0使用CAN 2.0A格式。
 sendbuf.rtr=0;// rtr=1为远程传输帧。
sendbuf.param1=0;//4字节备用参数,此参数仅用于未来扩展或二次开发。

//Socket发送,串口的接收操作与此类似,只不过调用的API不同
if(send(sock,&sendbuf,sizeof(sendbuf) ,0)==-1) {
//发送错误
}

sfmb

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 16回
  • 年度积分:0
  • 历史总积分:239
  • 注册:2007年4月23日
发表于:2007-06-01 13:50:00
3楼
一、 CAN网络介绍
CAN(Controller Area Network) 网络是德国Bosch公司在20世纪80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换问题而开发的一种串行数据通信总线,是最早在我国得到应用的现场总线之一。它实现了ISO/OSI七层模型中的物理层和数据链路层,总线上任何节点均可主动向其它节点发送信息,数据采用短帧结构,最长8个字节,不易受干扰,故障节点可自动脱离总线。
CAN属于现场总线的范畴。CAN总线与RS485总线是完全不同的两种网络类型,CAN与以太网类似,不分主机,从机,都具备完善的无损仲裁机制,但CAN的实时性、抗干扰性能、铜缆传输距离等方面都优于以太网,非常适合支持分布式控制或实时控制的串行通讯。
较之目前许多使用RS485构建的分布式控制系统而言,基于CAN网络的系统在以下方面具有明显的优越性:
 CAN控制器工作于多主方式
CAN网络中的各节点都可以随时向网络发送数据,CAN总线根据总线访问优先权(取决于报文标识符)采用无损结构的逐位仲裁的方式竞争向总线发送数据。所以CAN网络中,不分主机,从机,这点与以太网相似。而RS485只能工作在主站轮询模式下。
 CAN总线废除了地址码,并支持网段划分
CAN采用先进的包过滤机制来取得所需要的包文,此机制由硬件支持,这个特点使得CAN总线构成的网络各节点之间的数据通信实时性强,并且容易构成冗余结构,提高系统的可靠性和系统的灵活性。
包过滤机制也可以用来划分不同的CAN网段,用于支持不同的应用。
 优秀的实时性能及强大的数据容错功能
数据链路层采用短帧结构,硬件自动完成数据编码、成帧、冲突检测、循环冗余校验、出错重传等工作。所以CAN总线实时性高,纠错效果好,每帧信息都有CRC校验及其它校验措施,数据出错率低,可靠性高。发送期间若丢失仲裁或因出错而遭破坏的帧可自动重发,暂时错误和永久性故障节点判别及故障节点自动脱离CAN总线。
 CAN总线电气安全性更高
CAN总线通过CAN控制器接口芯片82C250的两个输出端CANH和CANL与物理总线相连,而CANH端的状态只能是高电平或悬浮状态, CANL端只能是低电平或悬浮状态。这就保证不会出现象在RS-485网络中,当系统有错误,出现多节点同时向总线发送数据时,导致总线呈现短路,从而损坏某些节点的现象。
而且CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,从而保证不会出现象在RS485网络中,因个别节点出现问题,使得总线处于“死锁”状态。
 CAN系统成本低,容易实现,经过大量实际应用考验。
CAN完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是只仅仅有电气协议的RS-485所无法比拟的。
与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。目前CAN总线应用于众多领域,具有强劲的市场竞争力。
二、 MixNet方案介绍
1、 MixNet方案
随着硬件成本不断降低,以及应用项目对网络性能要求越来越高,CAN网络必将以其先进的性能替代目前大量使用RS485总线。并成为新建网络的首选标准。MixNet方案正是为了适应这种趋势而设计。
MixNet方案支持包括CAN2.0A/B在内的所有的CAN的先进特性。并且全面支持炙手可热的以太网&TCP/IP协议,使CAN总线可以通过以太网&TCP/IP协议扩展到更广泛的应用领域。
为了实现以最小的代价部署CAN总线的目标,MixNet方案提供了CAN<->虚拟串口透明数据传输,CAN<->RS232/RS485透明数据传输,流模式数据传输等技术。这些技术使传统的RS232/RS485设备和配套的上位机软件不需要做任何修改,就可以直接升级到先进的CAN网络。ENode嵌入式CAN<->RS232透明数据传输模块也可以极大的降低CAN总线单结点成本。

概括起来,MixNet可以实现如下功能:
&#61692; CAN<->以太网&TCP/IP透明数据传输。
&#61692; 交换式CAN<->以太网&TCP/IP透明数据传输。
&#61692; CAN<->RS232/RS485透明数据传输,在流模式下可完全支持传统的RS232/RS485通讯模式。
&#61692; RS232/RS485<-CAN->RS232/RS485透

sfmb

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 16回
  • 年度积分:0
  • 历史总积分:239
  • 注册:2007年4月23日
发表于:2007-06-01 13:50:00
4楼
有需要请Q:365030329我或是致电 13520132195   01086643858

sfmb

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 16回
  • 年度积分:0
  • 历史总积分:239
  • 注册:2007年4月23日
发表于:2007-06-01 13:51:00
5楼
5、 MixNet方案的优势
&#61692; 开放式结构。
CAN、RS232/RS485、以太网之间都是以透明方式的传输数据。用户可以自己定义、优化自己的通讯控制协议,不再受制于某个厂家或标准。
&#61692; MixNet集成了各类主流通讯标准。
MixNet支持高级CAN总线标准、RS232标准、RS485总线标准和以太网&TCP/IP标准。各个标准之间透明的通过MixNet设备交换数据。
不但极大的提高了系统的灵活性,并且在软件上使用统一接口来支持不同标准,大大简化了应用软件的编写。
&#61692; 以很低的代价升级到CAN总线。
MixNet设备支持RS232/RS485流数据传输,RS232/RS485数据将自动按照CAN标准打包,连续传输。
无需改动原有的RS232/RS485设备和上位机软件,就可以使用CAN总线的各种高级功能。
TNode设备提供廉价的RS232/RS485<->CAN透明传输支持。
ENode为嵌入式RS232<->CAN透明传输模块,价格更低。只需对原有设备进行很小改动,就可以直接支持先进的CAN总线通讯技术。
&#61692; 可以充分利用现有线路资源。
CAN总线同RS485总线一样使用3根线(H-,H+,GND)进行传输,但是传输距离大大增加了,在5Kbp速度下,CAN传输距离可以达到10公里,结点数量也增加到最大110个,可靠性及传输速度远非简单的RS485总线可比。
&#61692; 完善的开发环境
MixNet软件部分以嵌入式操作系统为基础,方面扩展及升级维护。并且可以向专业用户提供相应的开发环境及技术支持。

6、 MixNet方案应用方式
&#61618; 直接替代RS485或类似网络。
MixNet设备在流传输模式下,支持RS232/RS485通讯模式,RS232/RS485数据将自动按照CAN标准打包传输。无需改动原有的RS232/RS485设备和上位机软件,就可以使用CAN总线的各种高级特性。

&#61618; 通过高层CAN协议与DeviceNet、OpenCAN或其他网络互联。
正在开发用于MixNet的DeviceNet协议支持。但目前还无法支持。

&#61618; 基于MixNet方案,用户开自定义自己的通讯协议。
CAN、RS232/RS485、以太网之间都是以透明方式的传输数据,用户可以根据需要定义通讯控制协议,无需申请任何ID,在最短时间内完成系统开发。

&#61618; 基于MixNet方案,用户开发自己的专有系统。
我们提供用户所需要的开发环境及技术支持,用户可以根据需要,定制所需要的嵌入式软件。

sfmb

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 16回
  • 年度积分:0
  • 历史总积分:239
  • 注册:2007年4月23日
发表于:2007-06-01 13:51:00
6楼
2. MixNet设备功能描述
&#61656; ICAN-1/2/4
ICAN设备作为中央通讯设备,同时支持1-4路CAN、1路RS485、1路以太网接口。提供CAN<->以太网&TCP/IP协议、RS485<->以太网&TCP/IP协议透明数据转发。每个CAN端口都提供兼容RS232/RS485通讯的流工作模式,以及支持完整CAN标准的CAN包传输模式。
ICAN设备通过以太网&TCP/IP协议与主控设备(如上位机等)或主控网络通讯。可以为各类规模的CAN、RS485网络提供集中通讯服务。可靠的硬件设计可以适应恶劣的工业环境。

&#61656; TNode-N
TNode-N/TNode为MixNet的终端结点设备,同时支持以太网、CAN、RS485或RS232接口,TNode-N具备以太网&TCP/IP支持,提供以太网&TCP/IP<->CAN、RS232或RS485透明数据传输功能,完全支持传统的RS232/RS485通讯模式,无须对原有设备做任何修改,就可以使系统立即具备先进的CAN联网能力。
TNode-N提供1路以太网&TCP/IP<->CAN、RS232或RS485透明数据传输功能。TNode-N为直流宽电压(7-40/60V)设计,适应性极强。

&#61656; TNode结点设备
TNode为不带以太网&TCP/IP支持的MixNet终端结点设备。
TNode提供CAN<->RS232或RS485的透明数据传输功能,完全支持传统的RS232/RS485通讯模式,无须对原有设备做任何修改,就可以使系统立即具备先进的CAN联网能力。
利用CAN网络,TNode可以提供RS232/RS485<-CAN->RS232/RS485之间的透明数据传输。
TNode提供1路CAN<->RS232或RS485的透明数据传输功能。TNode为直流宽电压(7-40/60V)设计,适应性极强。

&#61656; SNode结点设备
SNode为CAN<->以太网&TCP/IP交换机。
可将CAN网络中的任意CAN结点映射到交换机上的TCP/IP端口,可以使用Socket或虚拟串口进行数据处理。
交换机通过CAN包中的CAN ID来区分此CAN包是属于那个TCP/IP端口的。而发往TCP/IP端口的数据,也将使用指定的CAN ID发送到CAN网络。SNode为直流宽电压(7-40/60V)设计,适应性极强。

&#61656; ENode嵌入式结点模块
ENode为嵌入式MixNet结点模块,提供CAN<->RS232透明数据传输。用户可以直接将ENode安装到现有设备中,也可以做到PCB板上。ENode模块以非常低的成本使传统设备具备先进的CAN联网能力。
ENode除了不能选配以太网&TCP/IP支持外,所有通讯功能与TNode完全相同。

3. MixNet对高层CAN协议的支持
针对MixNet的DeviceNet支持正在开发中,但目前MixNet还不支持任何高层CAN协议(如DeviceNet,OpenCAN等)。
用户可以定义自己的CAN通讯协议,或者通过流传输模式直接使用现有的通讯协议。


4、 应用软件编程支持
&#61656; 使用虚拟串口
VSPM虚拟串口软件可以通过TCP/IP协议,将远程设备的CAN、RS485端口映射为本地的虚拟COM口。应用软件可以简单的按照操作串口的方法传输CAN、RS485数据。在流传输模式下,现有的RS232/RS485的上位机软件无须更改,就可以通过CAN总线与下位机进行通讯。

&#61656; 使用Socket,通过TCP/IP协议进行通讯
只要能支持Socket编程的开发语言,都可以为MixNet编写应用程序,相对虚拟串口方式,Socket方式难度较大,但通讯更直接,效率更高。

sfmb

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 16回
  • 年度积分:0
  • 历史总积分:239
  • 注册:2007年4月23日
发表于:2007-06-01 13:52:00
7楼
7、 CAN、R485、RS232、以太网的对比
性能比较表
类型
项目 CAN总线 RS485总线 RS232 以太网
网络结构 总线型 总线型 点对点 星型
所需电缆数 3条(1根地线) 3条(1根地线) 3条(三线制) 4条
最大结点数 最大110个 实际应用不会超过32个 1个 理论上可无限扩展
传输距离 速率5Kbps时
最长10公里 速率1.2Kbps时
最长1公里左右 速率115Kbps时
最长15米 速率100Mpbs时
最长100米
工作方式 无损数据总线仲裁 半双工无仲裁机制 半/全双工 星型网络,结点间为交换模式通讯。 
总线功能 多主机发送,无主从之分,广播方式工作。硬件实现基于ID的包优先级划分。硬件过滤器。 单主机发送,广播轮询工作方式,无优先级划分。 点对点传输 结点间无主从之分,使用物理地址作为数据交换ID,依靠交换设备划分数据优先级。
容错性能 硬件支持错误包、丢失包、冲突包重传,CRC校验。结点错误隔离等。 仅支持奇、偶校验。  仅支持奇、偶校验。 硬件支持错误包、丢失包、冲突包重传,CRC校验。
数据包长度 8字节短包传输 自定义包长度 自定义包长度 最小64字节,最大1500字节。 
实时性能 优秀 差 好 好

由上述对比可以看出,CAN总线所具备的可靠性、实时性、支持结点数、传输距离等各方面都具有很大优势。 
CAN总线虽然比RS485稍贵了一点,但使用CAN总线可以将整个系统综合性能提高到一个全新的水平,极大的降低了系统扩展,后期维护成本。

热门招聘
相关主题

官方公众号

智造工程师