位置:51电子网 » 技术资料 » 通信网络

基于独立双CAN控制器的中继器设计与实现

发布时间:2008/5/29 0:00:00 访问次数:876

1 引言

  can(controller area network,控制器局域网)总线是一种有效支持分布式控制或实时控制的串行通信网络,是现场总线的一种。can总线具有通信速率高、开放性好、纠错能力强和系统成本低等优点,现已在机械工业、机器人、医疗器械等各种领域中得到了广泛的应用。

  然而由于受到can收发器的限制,在一个can总线网络中最多只能有110个can节点,最大只能达到10 km的通信距离,所以当所需can总线网络规模超出以上限制时就必须进行can总线网络的扩展。目前一般的扩展方式是加入can总线中继器。can中继器的主要任务是在两个can网段之间实现数据的转发,他具有过滤通信量,扩大通信距离,增加节点的最大数目,允许各个网段使用不同的通信速率,提高可靠性,改善网络性能等优点,是can组网的关键设备之一。在稍大型的can总线网络中经常会用到中继器。

  通常can中继器都是基于两片独立的can控制器实现的。这样的can中继器虽然可以扩大通信距离、增加节点的最大数目,但是由于他的数据存储转发要通过cpu的内部缓存中转,使得cpu与can控制器之间的数据交互过多,从而造成通信系统的时延增加,实时性能变差,cpu的负担变重。同时当网络负担较重时,还会因为cpu的内部缓存容量有限,造成帧丢失现象,使系统可靠性变差。然而,实时性和可靠性对通信系统而言是非常重要的。

  针对上述中继器在实时性和可靠性上的缺点,我们采用独立双can控制器作为两路can接口的控制器来设计can中继器。利用独立双can控制器的内置fifo和网关的特性,使两个can节点共享双can模块的资源,允许在两个单独的can节点之间直接通过fifo进行数据交换,而不使用cpu内部缓存中转,这样减少了cpu与控制器之间的数据交互,优化了can总线的传输,大幅度减少了cpu的负荷,改善了整个系统的实时性和可靠性。

2 独立双can控制器简介

  独立双can控制器包括两个全can功能节点。但他并不是这两个can节点简单的组合,而是这两者既可以独立使用,又可以通过双can控制器的网关功能,设计出可以大幅度减轻cpu负担的中继器的设备。除此之外,双can控制器还具有节电功能、更多的中断功能和增强的滤波功能等,他与微控制器的信息交换通道也有串行和并行两种选择。

  独立双can控制器的结构框图。他由can节点a/b、报文对象缓冲器、双can控制模块、端口控制、总线接口、中断控制等模块构成。

  端口控制模块实现can节点a/b收发数据;总线接口模块用于接收来自cpu的片选、时钟、地址、读写信号等信息,实现与cpu的信息交互;中断控制模块负责整理中断源信息,向cpu发出中断信号;双can控制模块是一个全局控制接口,他包括初始化逻辑、全局控制和状态逻辑以及中断请求接收器;报文缓冲单元包含报文缓冲区、fifo缓冲区管理、网关控制逻辑以及一个基于中断请求发生单元的报文。can节点a/b分别又包括位流处理器、位定时控制单元、错误处理逻辑、中断请求产生单元和节点控制逻辑。其中can节点a/b、报文对象缓冲器、双can控制模块等模块构成了独立双can控制器的核心。

3 基于独立双can控制器的中继器设计

  独立的双can控制器支持在两个单独can总线之间的信息自动传输,他的网关功能是通过两个单独的can节点共享的can报文对象存储器来实现的,使报文转发不用cpu的干预。通过对报文配置寄存器中的报文对象can节点选择位的设置,使每一个存储在报文存储器中的报文对象关系到节点a或节点b。两个节点之间的信息交换可以通过联结两个报文对象(正常网关模式)或通过共享一个共同的报文对象(共享网关模式)来实现。本文中以共享网关模式来设计一个can中继器。

  所设计的中继器可以实现can节点a将与他相连的数据源所连续发送的数据帧通过can节点b自动发送到目标方的can总线上,反之亦然。

3.1 can中继器的硬件设计

  can中继器主要由微控制器和两路can控制器接口组成。现在这个中继器的微控制器(cpu)由89c52来充当,他负责整个中继器的监控任务。两路can控制器接口使用独立双can控制器82c900、光电耦合电路和can总线驱动器82c250组成。两路can接口的can总线驱动器都采用带隔离的dc/dc模块单独供电。这样不仅实现了两路can接口之间的电器隔离,也实现了can中继器与总线之间的隔离。采取隔离措施,可以使故障局限在某一网段内,而不至于影响其他网段,既便于维护又保证了系统的安全。

  除了上述的器件,该can中继器的硬件还包括:led指示灯、e2prom、watch dog等部分。在这里共使用了7个led灯:1个用于上电指示,4个用于两路can接口的接收和发送指示灯,另外2个用于两路can接口的通信故障指示。通过这些led指示灯就可以基本了解整个系统的当前运行状态。在复位电路设计中,采用了3种复位方式,即上电复位、手动复位和软件复位。上电后,89c52、82c900 等即可复位;另外还可以通过手动开关强制复位;软件复位主要是

1 引言

  can(controller area network,控制器局域网)总线是一种有效支持分布式控制或实时控制的串行通信网络,是现场总线的一种。can总线具有通信速率高、开放性好、纠错能力强和系统成本低等优点,现已在机械工业、机器人、医疗器械等各种领域中得到了广泛的应用。

  然而由于受到can收发器的限制,在一个can总线网络中最多只能有110个can节点,最大只能达到10 km的通信距离,所以当所需can总线网络规模超出以上限制时就必须进行can总线网络的扩展。目前一般的扩展方式是加入can总线中继器。can中继器的主要任务是在两个can网段之间实现数据的转发,他具有过滤通信量,扩大通信距离,增加节点的最大数目,允许各个网段使用不同的通信速率,提高可靠性,改善网络性能等优点,是can组网的关键设备之一。在稍大型的can总线网络中经常会用到中继器。

  通常can中继器都是基于两片独立的can控制器实现的。这样的can中继器虽然可以扩大通信距离、增加节点的最大数目,但是由于他的数据存储转发要通过cpu的内部缓存中转,使得cpu与can控制器之间的数据交互过多,从而造成通信系统的时延增加,实时性能变差,cpu的负担变重。同时当网络负担较重时,还会因为cpu的内部缓存容量有限,造成帧丢失现象,使系统可靠性变差。然而,实时性和可靠性对通信系统而言是非常重要的。

  针对上述中继器在实时性和可靠性上的缺点,我们采用独立双can控制器作为两路can接口的控制器来设计can中继器。利用独立双can控制器的内置fifo和网关的特性,使两个can节点共享双can模块的资源,允许在两个单独的can节点之间直接通过fifo进行数据交换,而不使用cpu内部缓存中转,这样减少了cpu与控制器之间的数据交互,优化了can总线的传输,大幅度减少了cpu的负荷,改善了整个系统的实时性和可靠性。

2 独立双can控制器简介

  独立双can控制器包括两个全can功能节点。但他并不是这两个can节点简单的组合,而是这两者既可以独立使用,又可以通过双can控制器的网关功能,设计出可以大幅度减轻cpu负担的中继器的设备。除此之外,双can控制器还具有节电功能、更多的中断功能和增强的滤波功能等,他与微控制器的信息交换通道也有串行和并行两种选择。

  独立双can控制器的结构框图。他由can节点a/b、报文对象缓冲器、双can控制模块、端口控制、总线接口、中断控制等模块构成。

  端口控制模块实现can节点a/b收发数据;总线接口模块用于接收来自cpu的片选、时钟、地址、读写信号等信息,实现与cpu的信息交互;中断控制模块负责整理中断源信息,向cpu发出中断信号;双can控制模块是一个全局控制接口,他包括初始化逻辑、全局控制和状态逻辑以及中断请求接收器;报文缓冲单元包含报文缓冲区、fifo缓冲区管理、网关控制逻辑以及一个基于中断请求发生单元的报文。can节点a/b分别又包括位流处理器、位定时控制单元、错误处理逻辑、中断请求产生单元和节点控制逻辑。其中can节点a/b、报文对象缓冲器、双can控制模块等模块构成了独立双can控制器的核心。

3 基于独立双can控制器的中继器设计

  独立的双can控制器支持在两个单独can总线之间的信息自动传输,他的网关功能是通过两个单独的can节点共享的can报文对象存储器来实现的,使报文转发不用cpu的干预。通过对报文配置寄存器中的报文对象can节点选择位的设置,使每一个存储在报文存储器中的报文对象关系到节点a或节点b。两个节点之间的信息交换可以通过联结两个报文对象(正常网关模式)或通过共享一个共同的报文对象(共享网关模式)来实现。本文中以共享网关模式来设计一个can中继器。

  所设计的中继器可以实现can节点a将与他相连的数据源所连续发送的数据帧通过can节点b自动发送到目标方的can总线上,反之亦然。

3.1 can中继器的硬件设计

  can中继器主要由微控制器和两路can控制器接口组成。现在这个中继器的微控制器(cpu)由89c52来充当,他负责整个中继器的监控任务。两路can控制器接口使用独立双can控制器82c900、光电耦合电路和can总线驱动器82c250组成。两路can接口的can总线驱动器都采用带隔离的dc/dc模块单独供电。这样不仅实现了两路can接口之间的电器隔离,也实现了can中继器与总线之间的隔离。采取隔离措施,可以使故障局限在某一网段内,而不至于影响其他网段,既便于维护又保证了系统的安全。

  除了上述的器件,该can中继器的硬件还包括:led指示灯、e2prom、watch dog等部分。在这里共使用了7个led灯:1个用于上电指示,4个用于两路can接口的接收和发送指示灯,另外2个用于两路can接口的通信故障指示。通过这些led指示灯就可以基本了解整个系统的当前运行状态。在复位电路设计中,采用了3种复位方式,即上电复位、手动复位和软件复位。上电后,89c52、82c900 等即可复位;另外还可以通过手动开关强制复位;软件复位主要是

相关IC型号

热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!