引言
随着计算机网络上的高速发展,使得信息的交流与共享变得空前广泛和自如,而这项技术也渗入到自动化领域的变革当中,现场总线(fieldbus)由此应运而生,开创了工业控制的新篇章。现场总线是一种应用于生产现场,在现场设备之间、现场设备和控制装置之间实行双向、串形、多结点的数字通信技术,在当今自动化领域中具有广阔的发展前景。本文给出了一种基于can总线的数据采集与控制系统设计方案,实现对开关量的数据采集和对外部设备的控制功能。
控制器局域网(controller area network,can)总线是现场总线的一种,是一种有效支持分布式控制或实时控制的串行网络通信,已经被广泛地应用于工业自动化、船舶、医疗设备、工业设备等方面,并被公认为最有前途的现场总线之一,其主要特点如下:
(1)can是有国际标准的现场总线。
(2)can为多主工作方式,网络上的任意一节点都可在任意时刻向网络上的其他节点发送信息,且不分主从。
(3)can采用非破坏总线仲裁技术。当多个节点同时向总线发送信息出现冲突时,优先级低的节点将主动退出发送,而优先级高的节点不受影响继续发送。
(4)can节点在错误严重的情况下具有自动关闭输出功能,使总线上其他节点的操作不受影响。
(5)报文采用短帧结构,传输时间短,受干扰概率低,而且每帧都有crc校验及其他校验措施,具有极好的检错效果。
(6)can的直接最远通信距离可达10 km,最高通信速率可达1 mb/s。
1 、系统总体结构设计
系统主要由上位机(pc机)和数据采集和控制模块组成。系统总体结构设计如图1所示。
上位机是整个系统的核心,实现系统的监控和管理功能。can总线智能适配卡的作用是收集各个can节点上的数据,然后转发到上位机,同时把上位机的命令转发到各个节点。由于can总线特有的多主传输方式,各个节点根据需要自主地向总线发送数据,而且在上位机监听各个节点的同时,节点也实时监听总线并接收自己需要的数据。数据采集和控制模块采用微处理器和可编程的can控制芯片,主要用于完成现场数据的采集、数据的传送以及各个现场设备运行的控制。
2、 数据采集和控制模块硬件设计
基于can总线的数据采集与控制系统将功能尽可能地分散到各个控制模块中,各个模块以微处理器为核心,完成数据采集和控制功能。为了使信息能在can协议的标准下进行通信,各个模块都设有can总线接口电路。该模块的微处理器(mcu)选用宏晶科技的stc89c52rc单片机。stc89c52rc是新一代超强抗干扰、高速、低功耗的8位单片机,指令代码完全兼容传统的8051单片机,36个通用i/o口,3个16位定时器/计数器,4路外部中断。根据实际需求分析,stc89c52rc单片机完全满足本设计的需求。数据采集和控制模块的结构如图2所示。
2.1 can总线接口硬件设计
can总线接口硬件结构如图3所示。
在本系统中can总线控制器选用sja1000。sja1000是philips公司生产的独立的can总线控制器,可以应用于一般的工业环境中和移动目标的can总线网络控制。sja1000是philips半导体pca82c200 can总线控制器basiccan的替代产品,而且增加了一种新的工作模式pelican,这种模式能支持具有很多新特性的can 2.0b协议。基本特性如下:兼容basiccan模式;扩展地接收缓冲器(64 b,先进先出fifo);同时支持11位和29位识别码;位速率可达1 mb/s;24 mhz时钟频率;对不同微处理器的接口兼容;可编程的can输出驱动器配置。pelican模式扩展功能包括;可读/可访问的错误计数器;可编程的错误报警器;对每一个can总线错误进行中断;单次发送无重发;验收滤波器控制4 b代码、4 b屏蔽等。
can总线收发器选用philips公司生产的专用can总线收发器pca82c250,提供can总线协议控制器和物理总线接口,而且对can总线控制器提供差动接收能力。基本特性如下:高速率(最高达1 mb/s);具有抗瞬间干扰和保护总线的能力;利用斜率控制,可降低射频干扰;使用差分接收器,可抗宽范围的共模干扰,以及抗电磁干扰;热保护;低电流待机模式;未上电的节点对总线无影响;可以支持多达110个节点。 [page]
为了增强can总线节点的抗干扰能力,并不是在sja1000与pca82c250之间直接相连,而是加入了高速光耦隔离器。这样能很好地实现总线上各个can总线节点之间的电气隔离。在该系统中高速光耦采用6n137。6n137兼容ttl和coms电平,可通过信号的宽度为10 mhz,完全可满足can总线信号1 mb/s通信速率的要求。
2.2 开关量数据采集单元硬件设计
该单元用于采集现场的开关量数据的采集。硬件电路图如图4所示。
该单元将采集到的开关量数据传送到微处理器,并传送到can总线上,然后通过can总线智能适配卡转发给上位机进行处理。外界环境以及电路、器件本身对系统引入了干扰和噪声,为了提高单片机系统的性能,保证其稳定性,采用光耦器件进行隔离,抑制干扰。光耦器件将电信号转变为光信号,光信号传送到接受侧再转换为电信号。由于光信号的传送不需要共地。可以将光耦器件两侧的地加以隔离。因此在加入光耦器件后,在传输信的同时能有效地抑制尖脉冲和各种噪声干扰,大大提高通道上的信噪比。需要注意的是光耦器件两端的电源不能共用,否则起不到隔离的作用。
2.3 控制单元硬件设计
该单元用于控制现场外部设备的运行。该单元硬件电路如图5所示。
该单元是上位机按照预先设定好的程序自动控制输出,上位机通过can总线智能适配卡传送开关量到can总线,然后数据采集和控制模块根据需要接受can总线上的开关量,以控制现场设备。在该单元中,开关量通过单片机的i/o端口输出,但i/o端口的驱动能力有限,一般不足以驱动继电器,此时需要添加驱动电路。同时,为了避免单片机受到干扰,在驱动电路设计时,必须采取隔离措施。
3、 软件设计
该系统软件设计主要分为两个部分:数据采集与控制模块程序设计和can总线通信程序设计。
3.1 数据采集与控制模块程序设计
数据采集与控制模块程序设计流程图如图6所示。
3.2 can总线通信程序设计
can总线通信程序设计分为三个部分:can总线初始化、数据发送和数据接收。
(1)can总线初始化。can总线初始化主要是设置一些通信参数,保证通信的正常进行。初始化主要包括工作方式的设置、验收滤波方式的设置、验收屏蔽寄存器和验收代码寄存器的设置、波特率参数设置、中断允许寄存器的设置等。特别需要注意的是,初始化只有在复位模式下才可以进行,因为sja1000配置信息的寄存器只有在复位模式下才可以进行写操作。
(2)数据发送。数据发送前,微处理器周期查询状态寄存器,查看发送缓冲器是否被锁定。若没有锁定,则把从现场取得的开关量数据发向can总线控制器的发送缓冲区,然后启动can总线控制器发送命令,此时can总线控制器自动向总线发送数据。数据发送的流程图如图7所示。
(3)数据接收。数据接收采用中断方式。系统中的can控制器检测到总线上有数据时会自动接收总线上的数据,存入其接收缓冲区,并向微控制器发送接收中断,启动中断接收服务程序,通过执行中断接收服务程序,从can控制器的接收缓冲区读取数据,并对其进行进一步处理工作。数据接收流程图如图8所示。
4、 结语
通过对系统的软硬件的反复调试表明,该数据采集和控制系统的设计方案是成功的。该系统能高速有效地采集、传递和处理现场数据,并且能在恶劣环境下保证通信速率和极低的出错率,运行效果很好,体现了can总线高性能和高可靠性的优点。
华为P10配置没有很逆天 你会弃iPhone7买它吗?
关于太阳能供电的分析和介绍
一文知道EMC设计的费效比
五个用于构建连接设备的提示
OLED微显示器领先厂商MICROOLED完成2100万欧元融资
基于STC89C52RC单片机和SJA1000总线控制器实现采集与控制模块的设计
2011CCEF:神舟承运F300T笔记本
湖南省人大常委会党组副书记一行到访国科微调研
基于PID控制算法的智能小车设计方案
智能卡口监控补光灯主要作用是什么?有哪些特点?
关于MP2660助力可穿戴智能产品的分析和介绍
锐龙9 3950X 3DMark跑分曝光 领先酷睿i9-10980XE多达24%
DS2715 NiMH电池组充电控制器
欧科瑞螺钉矩形连接器安装方法指导
实施自己成功的机器人过程自动化策略
碳排放问题怎样利用区块链来解决
印度学生打造竹制汽车续航续航可达77km/l
你知道吗?数据显示英特尔Core M处理器“完爆”苹果A8
3C绿色能源:甲醇燃料电池
容联云发布赤兔大模型,一次由内而外的自我重塑