接口/总线/驱动
引言
随着人们对啤酒品质的要求越来越高,传统的生产操作或控制方式已不再适应当今的生产规模和生产要求,发酵过程作为啤酒生产过程中至关重要的一环,其控制系统则尤其重要。CAN总线具有结构简单、通信方式灵活、错误检验处理等特点尤其基于优先权的无破坏性总线仲裁技术,特别适合工业过程监控设备的互联。因此,针对当前啤酒企业的设备现状和生产需要,本文将介绍一种采用CAN总线技术进行通信的啤酒发酵分布式控制系统。
控制系统总体结构
基于CAN总线的啤酒发酵分布式控制系统由现场智能节点、监控计算机和CAN控制网络3部分构成。
现场智能节点是直接面向生产过程的,主要功能是采集现场发酵罐的各处温度和压力值,按照一定的控制算法对温度和压力控制回路中的执行器进行控制操作,将现场发酵罐的运行状态信息通过CAN总线通信网络送至监控机,并实时处理监控机下传的各种命令等。
监控计算机由一台PC机构成,另外还有一台PC机作为热备份机,一旦某台发生故障,另一台能立即启动,保证控制系统的可靠性。监控计算机的主要功能是:对各现场智能节点的运行参数进行设置;通过现场总线网络实时获取现场智能节点的数据;监测系统异常,并根据故障信息立即发出相应的声光报警信号;以友好的图形界面直观指示当前各发酵罐的运行状况及参数信息;实现数据库管理,分类管理保存各发酵罐的运行数据,为优化工艺提供数据资料等。
CAN控制网络部分主要由智能CAN-PC总线适配器、通信介质、接口电路及相应的通信软件组成。该系统的CAN-PC总线适配器为智能通信适配器USB-CAN,它能方便的实现监控计算机与CAN总线之间的连接,高速地完成用户复杂的通信任务。通信介质为双绞线,负载连接在CAN-H和CAN-L之间,为了抑制信号反射,终端接有阻抗值约120?的匹配阻抗。
现场智能节点设计
本系统中CAN总线接口电路主要在现场智能节点部分实现,为了深入说明CAN总线在啤酒发酵过程控制中的应用,下面介绍现场智能节点的总体设计,并给出实现CAN通信的硬件电路和软件流程图。
现场智能节点总体结构
如前所述,啤酒发酵过程控制系统中现场智能节点完成现场数据采集和处理、罐体上各执行器的控制、智能节点与监控计算机之间的通信等主要工作,监控计算机只是完成状态监测、报警、智能节点运行参数修改等工作,因此现场智能节点的设计是整个系统的关键部分。每个现场智能节点控制一圆柱锥底形发酵罐,其结构框图如图1所示。
考虑到可靠性、性价比等因素,现场智能节点CPU采用MCS-51系列单片机AT89C52。智能节点设计采用结构化设计方法,包括三大部分:CAN总线接口部分,CPU、看门狗电路、电源管理及总线地址译码部分,I/O接口部分。其中,I/O接口部分主要完成现场数据显示与键盘输入、现场信号的A/D采集和执行器的控制输出等工作。
现场智能节点CAN接口电路设计
现场智能节点的设计中,CAN总线网络接口部分使用了Philips公司的CAN控制器芯片SJA1000和CAN总线收发器PCA82C250芯片。为了增强现场智能节点的抗干扰能力,总线收发器与控制器之间用高速光耦6N137隔离,接口电路如图2所示。
为了保证SJA1000与AT89C52之间时钟同步,本设计采用CLKOUT时钟信号作为AT89C52的时钟输入;SJA1000的接AT89C52的端,通过中断方式与CPU通信;PCA82C250的RS脚上接有一斜率电阻,电阻大小(16~140K?)可根据总线通信速率适当调整,本设计中取值47K?;PC82C250的两输出引脚与CAN总线之间各接一个5?的电阻,起一定的限流作用,从而保护PCA82C250免受过流的冲击;为了滤除总线上的高频干扰并具有一定的防电磁辐射的能力,CAN-H和CAN-L与地之间并联了两个30pF的电容。
现场智能节点CAN通信软件设计
现场智能节点的CAN通信软件设计由三大部分组成:SJA1000初始化、数据接收和发送。节点的主程序完成对SJA1000的初始化,开放SJA1000的中断,控制整个发酵过程,并主动向监控计算机传送发酵罐的状态信息。
对SJA1000的初始化主要是设置CAN的通信参数,如设置模式寄存储器等。本设计中数据发送是主动的,因而对发送的处理比较简单,主程序采用查询SJA1000的状态标识符的方法,只须把被发送的信息帧送到CAN的发送缓冲区,并启动发送命令即可。为了保证系统的实时性,数据接收是通过SJA1000的中断控制来实现的,在ISR中从接收缓冲区读取要接收的信息,同时还要对出错和数据溢出中断作相应判断处理。发送接收流程图如图3所示。
系统中为了实现上位监控PC机与下位现场智能节点间通信,必须要有一通信适配器来实现CAN总线与PC总线之间的通信协议转换功能。传统的网络适配器设计中与PC机的通信接口多为ISA总线、RS-232等,虽然它们实现较简单,可由于带宽的限制,不能满足高速传输的需要;而对于流行的PCI总线虽功能强大,可协议复杂,开发周期较长,不支持热插拔且价格昂贵。USB总线具有安装方便、高带宽、可靠性高等特点,因此本系统采用了自主开发的智能通信适配器USB-CAN来实现本系统CAN网络与PC机间的通信。
智能适配器USB-CAN硬件电路设计
适配器硬件电路由三部分组成:CAN总线接口部分、USB总线接口部分、CPU及电源管理部分。CAN总线接口部分的设计与智能节点CAN接口几乎相同。CPU采用Philips公司的增强型MCS-51兼容单片机P89C51RD2,内置看门狗,时钟输出可编程,在6时钟模式下工作速度为标准C51单片机的两倍。USB总线接口部分采用Philips公司的PDIUSBD12芯片,其符合USB1.1版本规范,可与任何外部微控制器/微处理器实现高速并行接口。硬件电路如图4所示。
为了保证P89C51RD2、PDIUSBD12和SJA1000三者间时钟同步,外接12MHz晶振的CPU运行于6时钟模式下,P1.0引脚通过编程输出6MHz方波作为PDIUSBD12的输入时钟,再通过PDIUSBD12的设置模式寄存器编程使CLKOUT引脚产生24MHz的输出时钟来提供给SJA1000。PDIUSBD12的INT-N接CPU的端,通过中断方式与CPU通信; SUSPEND引脚接CPU的P1.4端,用以向CPU指示器件是否挂起;D+引脚信号通过软连接接1.5K?的内部上拉电阻,向主机表示为高速设备;为确定USB电缆是否与主机连接,采用EOT-N引脚检测USB接口的VBUS电压来实现;由于采用多路地址/数据总线配置,故A0接高平;此外,D+和D-两引脚各接18?电阻,起到一定的限流作用,以保护PDIUSBD12免受过流的冲击。
智能适配器USB-CAN软件设计
智能通信适配器USB-CAN的软件即USB固件主要完成两方面任务:响应来自主机的配置请求,完成对USB外设的列举操作;负责接收主机的命令并发送给CAN总线上的节点,以及接收各节点的数据并经USB总线传送给PC。
USB固件包括主程序、外部中断0子程序和外部中断1子程序。在主程序中主要完成SJA1000和PDIUSBD12的初始化操作并开放中断;外部中断0子程序处理CAN总线上事件,与智能节点对CAN总线的处理情况类似;外部中断1子程序处理USB总线上的事件。
从整个监控系统角度来看,软件设计还包括USB设备的驱动程序和应用程序等,限于篇幅,在此不作阐述。
结语
具有独特的设计思想、卓越的性能和极高的可靠性的CAN总线被公认为是最有前途的现场总线之一。基于CAN总线的啤酒发酵监控系统具有可维护性好、易于扩充、可靠性高和成本低等特点,非常适合当今啤酒企业生产发展现况。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !