STC15F2K60S2单片机与单片机与CAN总线接口的实现总线接口的实现
分析了CAN总线通信的性能和技术特点,介绍了CAN总线结构的模式及应用趋势。针对采用单片机实现与CAN
总线接口的问题,详细探讨了用STC15F2K60S2单片机结合总线控制器SIA1000和总线收发器PCA82C250芯片
构成CAN总线接口电路的实现,并介绍了接口驱动软件的编制流程。
摘摘 要要: 分析了
关键词关键词: CAN总线; 控制器;收发器;单片机; 通信; 接口;
控制器局域网络CAN(Controller Area Network)是由研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为
国际标准(ISO11898),是国际上应用最广泛的现场总线之一。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和
嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,由
于该总线所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强
和振动大的工业环境。
1 CAN总线通讯原理总线通讯原理
CAN总线目前采用2.0规范。CAN 2.0规范分为CAN 2.0A与CAN 2.0B。CAN 2.0A 支持标准的11 位标识符,CAN 2.0B同
时支持标准的11位标识符和扩展的29位标识符。
CAN总线的物理层包括物理层信号(PLS)、媒体访问单元(PMA)和介质相关接口(MDI)3部分,主要完成电气连接、驱动器/
接收节点特性、位定时、同步、位编码/解码的描述。
在国际标准ISO11898中,对基于双绞线的CAN系统建议了电气连接。为了抑制信号在端点的反射,CAN总线要求在两个
端点上安装两个120 Ω的终端电阻。CAN总线的驱动可采用单线上拉、单线下拉和双线驱动,如果所有节点的晶体管均处于关
断状态,则CAN总线上呈现隐性状态,如果CAN总线上至少有一个节点发送端的那对晶体管导通,产生的电流流过终端电
阻,在CAN_H和CAN_L两条线之间产生差分电压,总线上就呈现出显性状态。CAN总线上的信号接收采用差分比较器,读取
差分电压值。
理想发送节点在没有重同步的情况下每秒发送的位数量定义为标称位速率(Nominal Bit Rate)。标称位时间(Nominal Bit
Time)定义为标称位速率的倒数,即标称位时间 = 1/标称位速率。位时间指的是CAN总线通信时1 bit数据持续的时间,CAN总
线工作时标称位速率是不变的,那么标称位时间也保持不变,即要求每个位在总线上的时间要保持一致。CAN总线的标称位
时间可划分为4个同步段(SYNC_SEG)、传播段(PROP_SEG)、相位缓冲段1(PSEG1)和相位缓冲段2 (PSEG2)不重叠的时间
段。
CAN总线标称位时间中各个时间段都可以根据具体网络情况而重新设置,均由CAN控制器的可编程位定时参数来实现。
位时间内时间段的设定能实现CAN总线节点同步、网络发送延迟补偿和采样点定位等功能。
CAN总线的同步使CAN总线系统的收发两端在时间上保持步调一致。从位定时的同步方式考虑,CAN总线实质上属于异
步通信协议,每传输一帧,以帧起始位开始,而以帧结束及随后的间歇场结束。这就要求收/发双方从帧起始位开始必须保持
帧内报文代码中的每一位严格的同步。CAN 总线的位同步只有在节点检测到“隐性位”到“显性位”的跳变时才会产生,当跳变沿
不位于位周期的同步段之内时将会产生相位误差。该相位误差就是跳变沿与同步段结束位置之间的距离。相位误差源于节点的
振荡器漂移、网络节点之间的传播延迟以及噪声干扰等。CAN 协议规定了硬同步和重同步两种类型的同步。
硬同步只在总线空闲时通过一个从“隐性位”到“显性位”的跳变(帧起始)来完成,此时不管有没有相位误差,所有节点的
位时间重新开始。强迫引起硬同步的跳变沿位于重新开始的位时间的同步段(SYNC_SEG)之内。
重同步在报文的随后位中,每当有从“隐性位”到“显性位”的跳变,并且该跳变落在了同步段之外,就会引起一次重同步。
重同步机制可以根据跳变沿加长或者缩短位时间以调整采样点的位置,保证正确采样。
2 CAN总线的接口总线的接口
CAN总线的接口主要包括电源电路、复位电路、时钟电路和STC15F2K60S2单片机与SJA1000接口电路、CAN总线收发
器电路几部分。
2.1 CAN总线控制器总线控制器SJA1000
SJA1000是NXP公司研制的一款独立CAN控制器,可以完成CAN总线标准中物理层和数据链路层的所有功能,在汽车制
造和其他的工业领域得到了十分广泛的应用。SJA1000有BasicCAN 模式和PeliCAN模式两种不同的协议模式。BasicCAN模
式是复位时默认模式,这种模式与早期产品PCA82C200兼容,只支持CAN 2.0A协议;PeliCAN模式是新增加的工作模式,支
持CAN 2.0B协议的一些新特性。
评论0
最新资源