前 言
跟着主动化程度的进步和信息的网络化进程, 所需求的测控点和测控参量越来越多, 使得一个主动操控体系日益巨大而杂乱。关于一个体系来说, 需求的传感器数目成倍增加。为了使各智能外表与上位机能实时、高速、精确地通讯, 挑选较抱负的现场总线则是很要害的。现场总线是敞开型操控体系, 是用于现场总线外表与操控室之间的一种全数字化、串行、双向、多站的通讯网络 。CAN 是其间很有发展前景的一种现场总线。在网络化的体系中, 每只传感器作为一个智能节点挂接在CAN 总线上, 整个体系如图1所示。
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 协议进行过错办理。
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单元对待。
4 、软件规划
智能传感器作为一个节点的软件规划首要包含两部分: 一部分为初始化单片机和SJAl000 , 另一部分为节点实践要完结的数据收集和对执行机构的操控功用。对CAN 操控器的初始化, 对各个存放器别离写入不同的内容, 其间CAN 操控器与单片机之间选用中止方法通讯。其流程如图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 总线使用于智能传感器中, 使传感器取得的信号能经过总线实时地、牢靠地、高速而精确地进行传输。一起, 因为整个智能传感器网络选用全数字化的通讯, 因而总线也具有很好的抗搅扰才能, 即便在重负荷下也不会呈现网络瘫痪的状况, 这些优胜功能是其它现场总线所不及的。
责任编辑:gt