现场智能节点设计
本系统中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所示。