网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
搜索关键字: 所有资讯 行业动态 市场趋势 政策法规 新品发布 技术资讯 价格快报 展会资讯
  • 达普IC芯片交易网 > 新闻中心 > 传感控制 > 正文
  • RSS
  • 基于CAN 总线的智能传感器网络
    http://www.ic72.com 发布时间:2007/8/24 9:40:00

          摘要:本文 介绍了CAN 总线的技术特点、CAN 总线控制器SJA1000 和82C250 的硬件结构和功能, SJA1000和82C250 在智能传感器中的硬件电路和软件设计。

          关键词: CAN 总线; 总线控制器SJA1000 ; 总线收发器82C250 ; 智能传感器

        前言

        随着自动化程度的提高和信息的网络化进程, 所需要的测控点和测控参量越来越多, 使得一个自动控制系统日益庞大而复杂。对于一个系统来说, 需要的传感器数目成倍增加。为了使各智能仪表与上位机能实时、高速、准确地通信, 选择较理想的现场总线则是很关键的。现场总线是开放型控制系统, 是用于现场总线仪表与控制室之间的一种全数字化、串行、双向、多站的通讯网络 。CAN 是其中很有发展前景的一种现场总线。在网络化的系统中, 每只传感器作为一个智能节点挂接在CAN 总线上, 整个系统如图1所示。

    IC72新闻中心

    图1 CAN 总线系统框图

          1 CAN 总线的技术特点

        a) CAN 通信速率为(5kB/s)/10km、(1MB/s)/40m ,其节点数可达110 个, 传输介质采用双绞线、同轴电缆和光纤等;

        b) 采用点对点, 一点对多点及全局广播等几种方式发送接收数据;

        c) 采用非破坏性总线优先级仲裁技术。当两个节点同时向网络上发送信息时优先级低的节点主动停止发送数据, 而优先级高的节点可不受影响地继续发送信息。因此。按节点类型分成不同的优先级, 可以满足不同的实时要求;

        d) 可实现全分布式多机系统, 且无主、从机之分, 每个节点均主动发送报文, 用此特点可以方便地构成多机备份系统; e) 支持四类报文帧: 数据帧、远程帧、出错帧、超载帧。它采用短帧结构, 每帧有效字节数为8 个。 这样, 传输时间短, 受干扰的概率低, 且具有较好的检错结果。

        此外, CAN 采用循环冗余校验; 其节点具有自动关闭的功能。由于带有CAN 总线接口的传感器种类还不多, 价格也较贵, 为了使总线能与上位机更好的实时的通信, 可以自行设计一种由8051 单片机和SJAl000 独立CAN 总线控制为核心构成的智能节点。在普通传感器基础上形成可接收8 路模拟量输入的智能传感器网络。

          2 SJAl000 的硬件结构和功能

    IC72新闻中心

    图2 SJAl000 逻辑框图

        如图2 所示, SJAl000从逻辑上可分为7 个部分:

        a) IML (接口管理逻辑) IML 用于解释来自CPU 的命令, 分配信息缓冲区并向CPU 提供中断及状态信息;

        b) 发送缓冲区TXB 13 字节长存储器, 外部CPU 将要发送的信息写入此缓冲区;

        c) 接收缓冲区RXB 接收缓冲区为64 字节的CPU 接收信息的FIFO 寄存器;

        d) 接收过滤器ACF 对接收到的信息ID 与ACF 内容相比较以决定是否接收信息;

        e) 位流处理器BSP 用来控制发送、接收缓冲区及CAN 总线的数据流;

        f) 定时逻辑BTL 用于控制CAN 总线上数据的传输速率与同步;

        g) 错误管理逻辑EML 按CAN 协议进行错误管理。

        3 CAN 总线在智能传感器网络中的应用

        以一路信号采集为例。图3 是CAN 控制器和收发器与单片机及ADC0809 的接口电路图。CAN 控制器采用PHILIPS SJA1000 , 单片机采用89C51 , 主要完成信号的采集和对信号的预处理, 并把经过处理的数据传给上位机。82C250 是CAN 控制器SJA1000 与CAN 物理总线的接口器件, 它驱动总线差动接收或发送。考虑到现场有各种各样的干扰, 在CAN 控制器和驱动器之间加了高速光耦隔离器件(6N137) 。由于CAN 控制器和反馈控制器内部都有自己的时钟产生电路, 为了使两者协调, 外加的晶振在CAN 控制器上作为整个系统的时钟, 且将CAN 控制器的时钟输出作为微控制器的时钟输入; SJAl000 的中断输出接至CPU 的INT1 端; 通过中断方式实现单片机与CAN 控制器的通信; 同时为了使CAN 控制器和微控制器能同时可靠复位, 外加了手动复位电路。另外, 由于ADC0809 转换器具有三态输出锁存功能, 可以直接与89C51 的总线相连, 在系统中把ADC0809 转换器当作外部RAM单元对待。

    IC72新闻中心

    图3 硬件电路图

        4 软件设计

        智能传感器作为一个节点的软件设计主要包括两部分: 一部分为初始化单片机和SJAl000 , 另一部分为节点实际要完成的数据采集和对执行机构的控制功能。对CAN 控制器的初始化, 对各个寄存器分别写入不同的内容, 其中CAN 控制器与单片机之间采用中断方式通信。其流程如图4 所示。

    IC72新闻中心

    图4 中断流程图

        SJAl000 的初始化程序为:

        MOVA , # 0BH        04H 为ACR 寄存器地址00H 为CR 寄存器的地址

        MOVDPTR , # 8000H

        MOVX@DPTR , A       开放错误和接收中断, SJA1000 进入复位模式

        MOVDPTR , # 8004H

        MOVA , # 02H

        MOVX@DPTR , A

        INC DPTR            05H 为AMR 寄存器地址。设为全部收

        MOVA , # FFH

        MOVX@DPTR , A

        INC DPTR

        MOVA , # 01H        06H 为BTR0 的寄存器地址

        MOVX@DPTR , A

        INC DPTR

        MOVA , # FFH        07H 为BTRl 的寄存器地址, 写BTR0 和BTRl , 波特率设为160K

        MOVX@DPTR , A

        INC DPTR

        MOVA , # 0AH        08H 为OCR 寄存器地址, SJAl000 采用正常模式输出

        MOVX@DPTR , A

        MOVA , # OFH

        MOVDPTR , # 801FH     1FH 为CDR 寄存器地址, 使微控制器与SJAl000 的时钟相同

        MOVX@DPTR , A

        MOVA , # 0AH

        MOVDPTR , # 8000H

        MOVX@DPTR , A       写CR 寄存器使SJAl000 进入工作模式

        RET

        5 结语

        将CAN 总线应用于智能传感器中, 使传感器获得的信号能通过总线实时地、可靠地、高速而准确地进行传输。同时, 由于整个智能传感器网络采用全数字化的通信, 因此总线也具有很好的抗干扰能力, 即使在重负荷下也不会出现网络瘫痪的情况, 这些优越性能是其它现场总线所不及的。


    www.ic72.com 达普IC芯片交易网
  • 行业动态
  • 市场趋势
  • 政策法规
  • 新品发布
  • Baidu

    IC快速检索:abcdefghijklmnopqrstuvwxyz0123456789
    COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
    客户服务:service@IC72.com 库存上载:IC72@IC72.com
    (北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
    京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质