资料介绍
CAN总线与一般的串行通信总线相比,它的数据通信具有可靠性高,实时性高,灵活性强等优点,不仅广泛应用于汽车行业,而且扩展到了机械工业、机器人、数控机床等诸多领域。尤其在大量数据通信处理中,高可靠性及实时响应的场合,单通道CAN总线不能满足实际通信的要求。为此,介绍一种基于多通道实时CAN模拟器的设计方案。
1 CAN总线技术介绍
1.1 CAN总线特性
CAN(Controller Area Network)总线是一种串行多主站控制器局域网总线。它具有很高的网络安全性、通信可靠性和实时性,并且简单实用,网络成本低。它主要用于各种过程监测及控制的一种网络。CAN最初是由德国BOSCH公司为汽车的监测、控制系统而设计的。由于CAN总线具有卓越的特性和极高的可靠性,特别适合于工业过程中监控设备的互连,具体来说,CAN具有如下特性:
(1)CAN可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活;
(2)CAN可以点对点、点对多点(成组)及全局广播方式传送接收数据;
(3)CAN网络上的节点信息可分成不同的优先级,可以满足不同的实时要求;
(4)CAN采用非破坏性总线仲载技术。当两个节点是向网络上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可以不受影响地继续传输数据,大大节省了总线仲载冲突时间,在网络负载很重的情况下也不会出现网络瘫痪;
(5)CAN的直接通信距离最大可达10 km(速率小于5 Kb/s),最高通信速率可达1 Mb/s。
1.2 CAN通信协议
在CAN 2.0B的版本协议中有两种不同的帧格式,不同之处为标识符域的长度不同,含有11位标识符的帧称为标准帧,而含有29位标识符的帧称为扩展帧。扩展格式是CAN 2.0B协议新增加的特性。在报文传输时,不同的帧具有不同的传输结构,只有严格按照该结构进行帧的传输,才能被节点正确接收和发送。下面将分别介绍四种传输帧的结构:
(1)数据帧(Data):数据帧将数据从发送器传输到接收器。CAN协议有两种数据帧类型标准2.0A和标准2.0B。两者本质的不同在于ID的长度不同。在2.0A类型中,ID的长度为11位;在2.0B类型中,ID的长度为29位。它由7个域组成:帧起始、仲裁域、控制域、数据域、CRC校验码域、应答域、帧结束。
(2)远程帧(Remote):总线单元发出远程帧,请求发送具有同一标识符的数据帧。接收数据的节点可通过发远程帧请求源节点发送数据。它由6个域组成:帧起始、仲裁域、控制域、校验域、应答域、帧结束。
(3)错误帧(Error):任何单元检测到总线错误就发出错误帧。由错误标志和错误分界两个域组成。接收节点发现总线上的报文有误时,将自动发出“活动错误标志”,其他节点检测到活动错误标志后发送“错误认可标志”。
(4)过载帧(Overload):过载帧用在相邻数据帧或远程帧之间提供附加的延时。由超载标志和超载分隔符组成。超载帧只能在一个帧结束后开始。当接收方在接收下一帧之前,需要过多的时间处理当前的数据,或在帧间空隙域检测到显性电平时,则导致发送超载帧。
1.3 CAN协议控制器
目前主流的CAN协议控制器一般采用I/O总线(SJA1000等)或SPI接口(M(2P2515等)与处理器进行通信。该设计采用SJA1000控制器。
SJA1000是一款独立CAN控制器,应用于移动目标和工业局域网控制领域。SJA1000具有两种工作模式:BasicCAN和PeliCAN。该设计采用PeliCAN工作模式。SJA1000用来完成CAN协议所规定的物理层和数据链路层的所有功能,它可以支持多种处理器的时序特性,如Intel模式或Motorola模式,与微处理器的接口非常简单,微处理器以访问外部存储器的方式来访问SJA1000。
SJA1000通过CAN控制器接口即PCA82C250芯片接到CAN总线上。CAN收发器使用飞利浦公司的PCA82C250,它是连接CAN控制器和物理总线之间的接口,提供了对总线的差动发动和接收能力,与ISO11898标准完全兼容,有三种不同的工作方式即高速、斜率控制和待机,可根据实际情况选择。硬件电路中使用PCA82C250是为了增加通信距离,提高系统的瞬间抗干扰能力,保护总线,降低干扰等。
2 系统设计
2.1 系统方案设计
根据通用计算机的总线分类,可采用基于ISA总线对多通道实时CAN总线模拟器进行研制,根据CAN总线通信原理可以提出以下两种设计方案:
(1)ISA总线+CAN通信控制器;
(2)ISA总线+微处理器+CAN通信控制器。这两种设计方案的不同点在于是否采用处理器来加强控制。
由于CAN总线通信要求实时性高,再加上多通道的设计满足实际的需要,故采用单片机来负责CAN总线的通信功能。在这里主要介绍单片机与CAN控制器之间的设计部分,其系统设计框图如图1所示。
单片机选用DALLAS公司的DS89C430,它是当前8051兼容微控制器中性能最高的。具有重新设计的处理器内核,在相同的晶振频率下,执行指令的速度是最初8051微处理器的12倍。特性:高速8051架构,每个机器周期一个时钟;片内存储器16 KB/32 KB/64 KB闪存,在应用可编程,通过串口实现在系统可编程;与8051引脚和指令集兼容;四路双向、8位I/O端口;三个16位定时器/计数器;256 B暂存RAM等特点。可根据实际应用的需要选择其部分功能。随着可编程逻辑器件的飞速发展,其应用领域不断扩大,可用于译码、解码等方面,使用CPLD可以提高系统集成度,降低噪声,增强系统可靠性。因此,单片机与CAN控制器之间的锁存、译码采用Xilinx公司XC95144CPLD芯片,优化了系统资源,降低了其功耗。
1 CAN总线技术介绍
1.1 CAN总线特性
CAN(Controller Area Network)总线是一种串行多主站控制器局域网总线。它具有很高的网络安全性、通信可靠性和实时性,并且简单实用,网络成本低。它主要用于各种过程监测及控制的一种网络。CAN最初是由德国BOSCH公司为汽车的监测、控制系统而设计的。由于CAN总线具有卓越的特性和极高的可靠性,特别适合于工业过程中监控设备的互连,具体来说,CAN具有如下特性:
(1)CAN可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活;
(2)CAN可以点对点、点对多点(成组)及全局广播方式传送接收数据;
(3)CAN网络上的节点信息可分成不同的优先级,可以满足不同的实时要求;
(4)CAN采用非破坏性总线仲载技术。当两个节点是向网络上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可以不受影响地继续传输数据,大大节省了总线仲载冲突时间,在网络负载很重的情况下也不会出现网络瘫痪;
(5)CAN的直接通信距离最大可达10 km(速率小于5 Kb/s),最高通信速率可达1 Mb/s。
1.2 CAN通信协议
在CAN 2.0B的版本协议中有两种不同的帧格式,不同之处为标识符域的长度不同,含有11位标识符的帧称为标准帧,而含有29位标识符的帧称为扩展帧。扩展格式是CAN 2.0B协议新增加的特性。在报文传输时,不同的帧具有不同的传输结构,只有严格按照该结构进行帧的传输,才能被节点正确接收和发送。下面将分别介绍四种传输帧的结构:
(1)数据帧(Data):数据帧将数据从发送器传输到接收器。CAN协议有两种数据帧类型标准2.0A和标准2.0B。两者本质的不同在于ID的长度不同。在2.0A类型中,ID的长度为11位;在2.0B类型中,ID的长度为29位。它由7个域组成:帧起始、仲裁域、控制域、数据域、CRC校验码域、应答域、帧结束。
(2)远程帧(Remote):总线单元发出远程帧,请求发送具有同一标识符的数据帧。接收数据的节点可通过发远程帧请求源节点发送数据。它由6个域组成:帧起始、仲裁域、控制域、校验域、应答域、帧结束。
(3)错误帧(Error):任何单元检测到总线错误就发出错误帧。由错误标志和错误分界两个域组成。接收节点发现总线上的报文有误时,将自动发出“活动错误标志”,其他节点检测到活动错误标志后发送“错误认可标志”。
(4)过载帧(Overload):过载帧用在相邻数据帧或远程帧之间提供附加的延时。由超载标志和超载分隔符组成。超载帧只能在一个帧结束后开始。当接收方在接收下一帧之前,需要过多的时间处理当前的数据,或在帧间空隙域检测到显性电平时,则导致发送超载帧。
1.3 CAN协议控制器
目前主流的CAN协议控制器一般采用I/O总线(SJA1000等)或SPI接口(M(2P2515等)与处理器进行通信。该设计采用SJA1000控制器。
SJA1000是一款独立CAN控制器,应用于移动目标和工业局域网控制领域。SJA1000具有两种工作模式:BasicCAN和PeliCAN。该设计采用PeliCAN工作模式。SJA1000用来完成CAN协议所规定的物理层和数据链路层的所有功能,它可以支持多种处理器的时序特性,如Intel模式或Motorola模式,与微处理器的接口非常简单,微处理器以访问外部存储器的方式来访问SJA1000。
SJA1000通过CAN控制器接口即PCA82C250芯片接到CAN总线上。CAN收发器使用飞利浦公司的PCA82C250,它是连接CAN控制器和物理总线之间的接口,提供了对总线的差动发动和接收能力,与ISO11898标准完全兼容,有三种不同的工作方式即高速、斜率控制和待机,可根据实际情况选择。硬件电路中使用PCA82C250是为了增加通信距离,提高系统的瞬间抗干扰能力,保护总线,降低干扰等。
2 系统设计
2.1 系统方案设计
根据通用计算机的总线分类,可采用基于ISA总线对多通道实时CAN总线模拟器进行研制,根据CAN总线通信原理可以提出以下两种设计方案:
(1)ISA总线+CAN通信控制器;
(2)ISA总线+微处理器+CAN通信控制器。这两种设计方案的不同点在于是否采用处理器来加强控制。
由于CAN总线通信要求实时性高,再加上多通道的设计满足实际的需要,故采用单片机来负责CAN总线的通信功能。在这里主要介绍单片机与CAN控制器之间的设计部分,其系统设计框图如图1所示。
单片机选用DALLAS公司的DS89C430,它是当前8051兼容微控制器中性能最高的。具有重新设计的处理器内核,在相同的晶振频率下,执行指令的速度是最初8051微处理器的12倍。特性:高速8051架构,每个机器周期一个时钟;片内存储器16 KB/32 KB/64 KB闪存,在应用可编程,通过串口实现在系统可编程;与8051引脚和指令集兼容;四路双向、8位I/O端口;三个16位定时器/计数器;256 B暂存RAM等特点。可根据实际应用的需要选择其部分功能。随着可编程逻辑器件的飞速发展,其应用领域不断扩大,可用于译码、解码等方面,使用CPLD可以提高系统集成度,降低噪声,增强系统可靠性。因此,单片机与CAN控制器之间的锁存、译码采用Xilinx公司XC95144CPLD芯片,优化了系统资源,降低了其功耗。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于X86平台的ARM指令集模拟器的设计方案
- CAN总线接口EMC标准电路设计方案 206次下载
- 基于MAX10的多通道小型记录仪设计方案 18次下载
- 基于DSP的电磁脉冲模拟器控制系统设计方案 13次下载
- CAN总线的双绞线及光纤传输 33次下载
- 如何使用MATLAB RTW和Vxworks实现飞行模拟器的实时仿真 6次下载
- 基于FPGA的CAN总线控制器SJA1000软核的设计方案解析 30次下载
- 基于CAN总线的分布式飞机客舱模拟器控制系统_郭洁 1次下载
- 基于FPGA的多协议隔离总线信号模拟器设计 0次下载
- 基于PC104总线的车载深度模拟器设计 30次下载
- 基于ARM9的USB与多通道CAN转换器的设计
- 多星模拟器电路系统的设计 0次下载
- 新型雷达信号模拟器设计方案
- 基于PC 机的多通道实时数据采集系统的设计
- 汽车驾驶模拟器新一代实时场景系统的开发
- 基于FPGA的CAN总线控制器的设计 1140次阅读
- CAN总线协议和ICSim模拟器的使用 5498次阅读
- 基于DS89C430单片机和XC95144CPLD芯片实现多通道CAN模拟器的设计 2516次阅读
- 基于CAN总线技术实现多视觉传感器控制方法和系统设计 1722次阅读
- 基于FPGA的车电总线通信设计方案 1162次阅读
- 基于FPGA的VME总线和CAN总线之间的传输转换方案设计 3596次阅读
- CAN总线概述及应用_CAN总线的应用案例(汽车CAN总线应用) 3.4w次阅读
- 什么是can总线?can总线是数字信号还是模拟信号 7.8w次阅读
- 一种基于FPGA嵌入式系统的雷达信号模拟器的实现 2601次阅读
- 基于FPGA的飞行模拟器通信接口设计 2599次阅读
- 一种CAN总线与以太网互连系统的设计方案 4219次阅读
- 基于协议的提高RS 485总线实时性的设计方案 2188次阅读
- 基于ISA总线多通道控制电路的设计 5664次阅读
- 基于LPC2294的CAN总线智能节点设计 3783次阅读
- 基于CAN总线的多ECU通信平台设计 1731次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1491次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 95次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 11次下载 | 免费
- 6100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 4次下载 | 免费
- 8基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537793次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多