当前位置:首页 > 通信技术 > 通信技术
[导读]CAN总线是当前应用最为广泛的现场总线之一,而RS-485总线则是常用的串行总线,两者之间的相互转换具有很高的实用价值。本文设计的CAN-RS485通信接口电路能够很好地解决这两种串行数据总线之间的相互转换问题,并已成功应用于某地区的智能交通控制系统。

1  CAN总线RS-485总线简介
  CAN总线(Controller Area Network)是由德国Bosch公司于20世纪80年代专门为汽车电子控制系统开发的一种串行数据通信协议,特别适合应用于分布式控制或实时控制领域。它的应用范围遍及高速网络和低成本的分布式控制系统。CAN具有以下特点:
  (1) 无破坏的依据优先权的仲裁;
  (2) 多主站点依据优先级进行总线访问;
  (3) 严格的错误检测和界定;
  (4) 支持远程数据请求;
  (5) 借助接收滤波的多地址帧传送;
  (6) 通信介质多样,组合方式灵活;
  (7) 全系统数据兼容,系统灵活;
  (8) 最远传输距离为10Km(总线传输速率为5kbps), 最大传输速率为1Mbps(总线传输距离为40m)。
  RS-485标准是美国EIA(电子工业联合会)公布的串行通信协议。它比RS-232C标准信号传输距离长、速度快、抗干扰性能好,广泛应用于各种工业、楼宇、能源等领域。在实际应用中,许多工业控制设备(如PLC)都带有RS-485接口。因此,有必要设计CAN总线与 RS-485总线的通信接口电路。
  2  硬件设计
  整个通信接口电路由单片机AT89C52、CAN控制器SJA1000、CAN收发器82C250、高速光电耦合器6N137和RS-485收发器MAX485组成。如图1所示。单片机AT89C52主要完成SJA1000的初始化,及CAN总线 和RS-485总线之间的数据通信任务。SJA1000是CAN控制器82C200的替代产品。它主要由下列功能模块构成:接口管理逻辑、发送缓冲器、接收缓冲器、接收过滤器、位流处理器、位时序逻辑和错误管理逻辑。除了与82C200兼容之外,它增加了许多新功能:PeliCAN工作模式、读/写访问的错误计数器、标准和扩展结构信息的接收和发送、可编程的错误限制报警、只听模式和仲裁丢失中断。单片机对SJA1000内部寄存器的控制是以访问外部寄存器的方式进行的。CAN收发器82C250是CAN总线控制器和物理总线之间的接口,主要负责提供对总线的差分发送能力和对CAN控制器的差分接收能力。它的引脚8(RS)控制3种不同的工作方式的选择:待机、斜率控制和高速。
  (1) 给RS接上高电平,则82C250以低电流待机方式工作;
  (2) 若RS通过连接电阻接地,则进入斜率控制方式,该方式可以通过改变电阻的阻值来调节斜率,适用于低速和较短的总线长度的应用场合;
  (3) 如果RS接地,就选择了高速工作方式。高速光电耦合器6N137实现了CAN控制器和收发器之间的电气隔离,增强了系统的稳定性和抗干扰能力。RS-485收发器MAX485是一种差分平衡型的小功率收发器,包含一个驱动器和一个接收器,使用单+5V电源供电,专门用于TTL协议(即通用于各型CPU的通信协议)和485标准之间的相互转换,使微控制器可以利用RS-485串行通信协议直接进行串行通信。
  整个转换过程可分为:CAN总线转换到RS-485总线和RS-485总线转换到CAN总线。CAN总线转换到RS-485总线的流程如下:微控制器接收到CAN总线节点发送的报文,根据CAN总线规定的数据格式取出报文的有用信息,然后由微控制器通过MAX485将信息发送到RS-485总线。而RS-485总线转换到CAN总线则是上述流程的逆过程。

 

 

3  软件设计
  软件设计的主要任务是实现数据和控制命令在CAN总线网络和RS-485总线之间的传输。它主要包括RS-485和CAN接口的初始化程序、报文发送和接收程序、中断服务程序和错误处理程序等。其中,SJA1000的初始化程序是软件设计中的难点,需要完成各种工作参数的设置。其中,控制寄存器用来改变CAN控制器的行为,包括进入复位状态,激活不同类型的中断源,如接收中断、发送中断和数据溢出中断等。验收代码寄存器和验收屏蔽寄存器共同作用定义了能被节点所接收报文的条件:所收信息的标识符的相应位与验收代码寄存器验收码的相应位相等。 验收屏蔽寄存器的作用是确定验收码的哪些位对于验收滤波是相关的或不相关的。总线时序寄存器0定义了波特率的预设值及同步跳转宽度;总线时序寄存器1则定义了位周期的长度、采样点的位置和采样数目。输出控制寄存器可以设置不同的输出模式(如正常输出模式、双相输出模式和时钟输出模式等)。时钟分频寄存器不仅可以控制SJA1000的输出频率及屏蔽CLKOUT引脚,而且还能够对Basic CAN和Peli CAN模式进行选择。具体的SJA1000初始化程序流程如图2所示。
  CAN总线转换到RS-485总线的程序如下:

CAN-RS485_TR

ANSITION: 
  MOV DPTR, #SR; 状态寄存器
  MOVX A, @DPTR;
  JNB ACC.0, CAN_QUIT; 
  是否接收到信息,无数据则退出转换程序
  CAN-RS485_HANDLE:
  MOV DPTR, #CANR ;接收缓冲区首地址 
  MOVX A , @DPTR   ;接收帧的格式
  JNB ACC.6 , RECEIVE _ FRAME
  ;RTR=1则报文是远程请求帧 
  LCALL TRANSMIT_ DATA  
  ;发送对方请求的数据
  LJMP  CAN_QUIT  ;退出转换程序
  RECEIVE_ FRAME: MOVX A, @DPTR; 
  ANL A, #0FH;
  ADD A, #05H
  ;获得接收数据的长度
  MOV R7, A
  MOV R0,#43H
  ;设定MCU接收数据缓冲区
  DATAFRAME:  MOVX A, @DPTR
  
 ;接收数据
  MOV @R0, A   
  LCALL  RS485_SEND ;将有效信息通过MAX485转发到RS-485总线     
  INC DPTR
  INC R0
  DJNZ R7, DATAFRAME ;判断接收是否结束
  RECOUT:      MOV DPTR, #CMR
  MOV A, #04H
  ;释放接收缓冲区
  MOVX @DPTR, A
  CAN_QUIT:  RET ;退出转换程序


 

4  结束语
  CAN总线是当前应用最为广泛的现场总线之一,而RS-485总线则是常用的串行总线,两者之间的相互转换具有很高的实用价值。本文设计的CAN-RS485通信接口电路能够很好地解决这两种串行数据总线之间的相互转换问题,并已成功应用于某地区的智能交通控制系统。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

汽车电子系统架构发生了颠覆性变化。它已经持续了近十年,现在正在加快速度。这主要发生在 BEV 初创公司中,因为它们没有历史限制或根深蒂固的喜爱设计,并且可以从电子架构的零基础开始。

关键字: CAN总线 电动汽车

在电子产品的设计中,电磁兼容EMC性能对系统的影响非常大,关系到其能正常稳定运转。世界上已经开始对电子产品的电磁兼容性做强制性限制,电磁兼容性能已经成为产品性能的一个重要指标。 电磁兼容主要有两方面的内容,一个是产...

关键字: CAN总线 电磁兼容EMC

CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低功耗、低成本的要求,各种各样的电子控制系统被开发了出来。...

关键字: CAN总线 CAN 抗噪

CAN总线首先在汽车上得到了广泛应用,之后又在工业生产领域有了很大发展,那么面对不同的应用场景和工况,如何选择合适的网络拓扑结构慢慢成为一个让人头疼的问题。在这篇文章中,我将重点介绍用于驱动这些总线电压的 CAN 驱动器...

关键字: CAN总线 CAN总线拓扑

今天,小编将在这篇文章中为大家带来智能传感器的有关报道,通过阅读这篇文章,大家可以对智能传感器具备清晰的认识,主要内容如下。

关键字: 智能传感器 物联网 通信接口

智能传感器将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 智能传感器 通信接口 传感器

在进行CAN总线通信前,应保证正确的总线配置,比如终端电阻。它是影响总线通信的重要组件,下面我们不考虑信号的完整性,只从信号幅度和时间常数方面分析不加终端电阻时的影响。  终端电阻添加要求根据ISO11898-2对终端电...

关键字: 电阻 终端 CAN总线 电平

大家好,我是小麦。最近在调试一个CAN总线的设备遇到一些问题,简单总结一下。本文会对CAN总线进行简单介绍,CAN的硬件链路层,协议层,以及调试的一些心得。目录什么是CAN总线?物理层差分信号连接方式CAN节点CAN协议...

关键字: CAN总线

大家好,我是小麦。最近在调试一个CAN总线的设备时遇到了一些问题,在此简单总结一下。本文将对CAN总线进行简单介绍,包括CAN的硬件链路层、协议层,以及调试的一些心得。目录什么是CAN总线?物理层差分信号连接方式CAN节...

关键字: CAN总线

摘 要 :视频监控系统是计算机应用中的重要领域之一。数字化摄像头网络化之后,监控系统正在不断引入新的功能,为使现有监控系统能更好地应对复杂环境,满足不同监控要求,就需要追加新功能,在系统架构与设计上进行调整。因此,如何将...

关键字: 智能监控 系统架构 模块化设计 接口设计 数据传输 深度相机

通信技术

120595 篇文章

关注

发布文章

编辑精选

技术子站

关闭