新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于CAN 总线的智能传感器网络

基于CAN 总线的智能传感器网络

作者:时间:2012-03-01来源:网络收藏
前 言

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

图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 的硬件结构和功能
如图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 协议进行错误管理。

图2  SJAl000 逻辑框图

3 CAN 总线在网络中的应用

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

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭