基于CAN总线技术在车站信号系统中的应用
1、CAN总线的技术规范
CAN总线技术规范的目的是使任意两个CAN总线的执行过程达到兼容,CAN技术规范版本2.0包括两部分内容:
1) CAN技术规范版本2.0A
CAN技术规范版本2.0A描述的是在CAN技术规范1.2中定义的CAN报文格式,其范围是定义传输层和与CAN有关的外层。在CAN技术规范版本2.0A中,CAN节点的分层结构如图1(a)所示。
由于串行通信进入了更多应用领域,因此要求各种应用领域通信功能报文标识符标注实现标准化。如果把原有的11个标识符定义的地址范围加以扩展,CAN总线的功能将更加完
2) CAN技术规范版本2.0B
善。因而,在引入了第二种报文格式(扩展格式)后,它可以提供由29位定义的更大地址范围,这就很好的解决了系统设计者在定义结构名称方面存在的问题,从而CAN技术规范版本2.0B也就相应的出现了。
CAN技术规范版本2.0B描述标准和扩展两种报文格式。在CAN技术规范版本2.0B中,CAN遵从OSI模型,按照OSI基准模型,CAN节点结构可以分为两层:数据链路层和物理层,具体如图1(b)所示。
2、CAN总线通信控制器SJA1000的简介
CAN总线通信控制器主要由实现CAN总线协议的电路和实现与微处理器接口的电路两部分组成,它是完成通信协议的主体。对于不同型号的CAN总线通信控制器,实现CAN总线协议部分电路的结构和功能大多相同,而与微处理器接口部分的电路结构和连接方式存在一些差异。这里主要以SJAl000为代表对CAN总线通信控制器的功能作一简单介绍。
SJAl000是一种独立CAN控制器。它是PHILIPS公司的PCA82C200CAN控制器的替代产品,SJAl000的内部逻辑结构和外部接口如图2所示。
在性能方面,除了SJAl000在软件和引脚上与它的前—款PCA82C200独立CAN控制器兼容之外,其还增加了很多新的功能。在具体应用中,SJAl000采用了两种工作方式:Basic CAN方式(PCA82C200兼容方式)和PeliCAN方式(扩展特性方式),这是SJAl000实现其兼容性的基础。SJAl000的两种工作方式是通过时钟分频寄存器中的CAN方式位来选择的,其中上电复位的默认工作方式是Basic CAN方式。在PeliCAN方式下,SJAl000有一个重新设计的含很多新功能的寄存器组。SJAl000包含PCA82C200中的所有位,同时增加了一些新的功能位。PeliCAN方式支持CAN2.0B协议规定的所有功能(29位的标识符)[2]。
3、SAJ1000与Atmega128单片机接口技术的实现
在SJA1000的主要特性介绍中,提到其支持多种微处理器接口,在具体设计中,我们主要研究了其与Atmega 128单片机的接口,设计了用于CAN通信的最小单片机系统(以下简称CAN通信系统)接口方式如图3所示。系统的通信部分主要有Atmega 128单片机、SJA1000CAN控制器、光电隔离部分和收发芯片组成。
TJA1050是PHILIPS公司生产的、用以替代82C250的高速CAN总线驱动器,是CAN控制器和物理总线之间的接口,可以提供向总线的差动发送能力和对CAN控制器的差动接收能力,其与ISO/DIS 11898标准完全兼容[3]。
光电隔离部分是为了增强CAN总线节点的抗干扰能力,不过,应该特别说明的一点是,光电耦合部分电路所采用的两个电源必须完全隔离,否则采用光电耦合也就失去了意义。电源的完全隔离采用小功率电源隔离模块实现。这部分虽然增加了接口电路的复杂性,但是却提高了节点的稳定性和安全性。
4、CAN结点通信软件的设计
SJA1000是I/O设备基于内存编址的微控制器,双设备独立操作通过像RAM一样的片内寄存器修正来实现。因此CAN总线通信部分编程主要就是对SJAl000的片内寄存器的读写操作。通信部分软件设计总体上可以划分为3大模块:总线初始化、数据帧的接收和发送、总线出错和异常处理。
4.1 CAN通信初始化
其主要是设置CAN的通信参数。需要初始化的寄存器有:总线定时寄存器0、总线定时寄存器1、输出控制寄存器、接收代码寄存器、接收屏蔽寄存器等等。需要注意的是,只有当控制寄存器中的复位要求位置为高时,这些寄存器才可被访问。因此,在对这些寄存器初始化前,必须确保系统进入了复位状态。在访问总线定时寄存器时,由于其内容决定波特率的数值,总线定时寄存器的初始化字必须依据系统中各CAN控制器的晶振
CAN总线技术 车站信号系统 用Atmega128 相关文章:
- CAN总线技术在汽车ECU中的开发(12-16)
- CAN总线技术概况(12-14)
- 关于如何让初学者形象理解CAN总线技术关键点的思考(12-14)
- CAN总线技术的应用与发展(12-12)
- 基于CAN总线技术的汽车仪表软件实现方案(09-26)
- CAN总线技术运用于接口电路设计注意事项(图)(08-17)