CAN总线在排水控制系统中的应用
时间:12-04
来源:互联网
点击:
1 引言
我国大多数城市较早建立了排污系统,但每个污水池旁边必须投入大量资金建立值班室和安排3个员工值班,管理也比较落后原始,每个泵站还由人工管理,人员的工作比较辛苦,一刻不能离开。随着城市的不断扩大,污水池、人员编制也相应增加。由于污水池零星分布在整个市区,若按原先管理模式,管理和控制非常麻烦,效率低下,不能适应现代城市发展的需要。
为了提高自动化水平,提高企业效益,有必要把人工管理改造为自动化管理。为此,设计了基于 CAN总线的排水控制系统。
2 CAN总线简介
CAN即控制器局域网络,属于现场总线范畴。它是由德国Bosch公司于20世纪80年代开发的一种串行数据通信协议,有效支持分布式控制或实时控制。它的应用范围遍及高速网络和低成本的多线路网络。CAN具有以下特点:
(1)多主站点依据优先级进行总线访问
(2)无破坏的依据优先权的仲裁
(3)借助接收滤波的多地址帧传送
(4)远程数据请求
(5)严格的错误检测和界定
(6)通信介质多样,组合方式灵活
(7)最远传输距离为10Km,最大传输速率为1M bps。
3 硬件设计
3.1 总体结构
排水控制系统硬件的总体结构如图1所示。
![](../img/eep/emb/emb-33863lcjdiijrb2m.jpg)
3. 2 CAN总线通信接口设计
![](../img/eep/emb/emb-33864cz5lwfxv212.jpg)
CAN总线通信接口如图2所示,电路由单片机AT89C52、CAN控制器SJAl000、CAN收发器82C250、高速光电耦合器6N137组成。单片机 AT89C52主要完成SJAl000的初始化,及CAN总线和RS-232总线之间的数据通信任务。 SJAl000是CAN控制器82C200的替代产品。它主要由下列功能模块构成:接口管理逻辑、发送缓冲器、接收缓冲器、接收过滤器、位流处理器、位时序逻辑和错误管理逻辑。除了与82C200兼容之外,它增加了许多新功能:Peli CAN工作模式、读/写访问的错误计数器、标准和扩展结构信息的接收和发送、可编程的错误限制报警、只听模式和仲裁丢失中断。单片机对SJAl000内部寄存器的控制是以访问外部寄存器的方式进行的。CAN收发器82C250是CAN总线控制器和物理总线之间的接口,主要负责提供对总线的差分发送能力和对 CAN控制器的差分接收能力。它的引脚8(RS)控制三种不同的工作方式的选择:待机、斜率控制和高速。其中,给RS接上高电平,则82C250以低电流待机方式工作;若RS通过连接电阻接地,则进入斜率控制方式,该方式可以通过改变电阻的阻值来调节斜率,适用于低速和较短的总线长度的应用场合;如果RS接地,就选择了高速工作方式。高速光电耦合器6N137实现了CAN控制器和收发器之间的电气隔离,增强了系统的稳定性和抗干扰能力。
4 软件设计
软件设计主要包括监控主程序、报文发送和接收程序、中断服务程序和错误处理程序等。其中,SJAl000的初始化程序是软件设计中的难点,需要完成各种工作参数的设置。其中,控制寄存器用来改变CAN控制器的行为。验收代码寄存器和验收屏蔽寄存器共同作用定义了能被节点所接收报文的条件。验收屏蔽寄存器的作用是确定验收码的哪些位对于验收滤波是相关的或不相关的。总线时序寄存器O定义了波特率的预设值及同步跳转宽度;总线时序寄存器1则定义了位周期的长度、采样点的位置和采样数目。输出控制寄存器可以设置不同的输出模式。时钟分频寄存器不仅可以控制SJAl000的输出频率及屏蔽CLKOU7引脚,而且还能够对Basic CAN和Peli CAN模式进行选择。
监控主程序流程如图3所示。具体的 SJAl000初始化程序流程如图4所示。CAN总线发送子程序如图5所示。
![](../img/eep/emb/emb-33865tuazfixd2bv.jpg)
![](../img/eep/emb/emb-33866buwsarckkxu.jpg)
![](../img/eep/emb/emb-33867ydpb2j3tmu3.jpg)
5 结束语
CAN总线是当前应用最为广泛的现场总线之一。本文设计的排水控制系统,并已成功应用于某地区的排污系统。将原来的人工管理改造成为计算机远程自动化管理,改善了企业的信息化和自动化管理水平,提高了企业的经济效益。
参考文献
[1] 邬宽明.CAN总线原理和应用系统设计[M][.北京:北京航空航天大学出版社,1995.
[2] Philips SJA1000 Stand - alone CAN controller[M]. Philips Semiconductors, 2000.
我国大多数城市较早建立了排污系统,但每个污水池旁边必须投入大量资金建立值班室和安排3个员工值班,管理也比较落后原始,每个泵站还由人工管理,人员的工作比较辛苦,一刻不能离开。随着城市的不断扩大,污水池、人员编制也相应增加。由于污水池零星分布在整个市区,若按原先管理模式,管理和控制非常麻烦,效率低下,不能适应现代城市发展的需要。
为了提高自动化水平,提高企业效益,有必要把人工管理改造为自动化管理。为此,设计了基于 CAN总线的排水控制系统。
2 CAN总线简介
CAN即控制器局域网络,属于现场总线范畴。它是由德国Bosch公司于20世纪80年代开发的一种串行数据通信协议,有效支持分布式控制或实时控制。它的应用范围遍及高速网络和低成本的多线路网络。CAN具有以下特点:
(1)多主站点依据优先级进行总线访问
(2)无破坏的依据优先权的仲裁
(3)借助接收滤波的多地址帧传送
(4)远程数据请求
(5)严格的错误检测和界定
(6)通信介质多样,组合方式灵活
(7)最远传输距离为10Km,最大传输速率为1M bps。
3 硬件设计
3.1 总体结构
排水控制系统硬件的总体结构如图1所示。
![](../img/eep/emb/emb-33863lcjdiijrb2m.jpg)
3. 2 CAN总线通信接口设计
![](../img/eep/emb/emb-33864cz5lwfxv212.jpg)
CAN总线通信接口如图2所示,电路由单片机AT89C52、CAN控制器SJAl000、CAN收发器82C250、高速光电耦合器6N137组成。单片机 AT89C52主要完成SJAl000的初始化,及CAN总线和RS-232总线之间的数据通信任务。 SJAl000是CAN控制器82C200的替代产品。它主要由下列功能模块构成:接口管理逻辑、发送缓冲器、接收缓冲器、接收过滤器、位流处理器、位时序逻辑和错误管理逻辑。除了与82C200兼容之外,它增加了许多新功能:Peli CAN工作模式、读/写访问的错误计数器、标准和扩展结构信息的接收和发送、可编程的错误限制报警、只听模式和仲裁丢失中断。单片机对SJAl000内部寄存器的控制是以访问外部寄存器的方式进行的。CAN收发器82C250是CAN总线控制器和物理总线之间的接口,主要负责提供对总线的差分发送能力和对 CAN控制器的差分接收能力。它的引脚8(RS)控制三种不同的工作方式的选择:待机、斜率控制和高速。其中,给RS接上高电平,则82C250以低电流待机方式工作;若RS通过连接电阻接地,则进入斜率控制方式,该方式可以通过改变电阻的阻值来调节斜率,适用于低速和较短的总线长度的应用场合;如果RS接地,就选择了高速工作方式。高速光电耦合器6N137实现了CAN控制器和收发器之间的电气隔离,增强了系统的稳定性和抗干扰能力。
4 软件设计
软件设计主要包括监控主程序、报文发送和接收程序、中断服务程序和错误处理程序等。其中,SJAl000的初始化程序是软件设计中的难点,需要完成各种工作参数的设置。其中,控制寄存器用来改变CAN控制器的行为。验收代码寄存器和验收屏蔽寄存器共同作用定义了能被节点所接收报文的条件。验收屏蔽寄存器的作用是确定验收码的哪些位对于验收滤波是相关的或不相关的。总线时序寄存器O定义了波特率的预设值及同步跳转宽度;总线时序寄存器1则定义了位周期的长度、采样点的位置和采样数目。输出控制寄存器可以设置不同的输出模式。时钟分频寄存器不仅可以控制SJAl000的输出频率及屏蔽CLKOU7引脚,而且还能够对Basic CAN和Peli CAN模式进行选择。
监控主程序流程如图3所示。具体的 SJAl000初始化程序流程如图4所示。CAN总线发送子程序如图5所示。
![](../img/eep/emb/emb-33865tuazfixd2bv.jpg)
![](../img/eep/emb/emb-33866buwsarckkxu.jpg)
![](../img/eep/emb/emb-33867ydpb2j3tmu3.jpg)
5 结束语
CAN总线是当前应用最为广泛的现场总线之一。本文设计的排水控制系统,并已成功应用于某地区的排污系统。将原来的人工管理改造成为计算机远程自动化管理,改善了企业的信息化和自动化管理水平,提高了企业的经济效益。
参考文献
[1] 邬宽明.CAN总线原理和应用系统设计[M][.北京:北京航空航天大学出版社,1995.
[2] Philips SJA1000 Stand - alone CAN controller[M]. Philips Semiconductors, 2000.
- 对TTCAN的分析(05-26)
- 嵌入式Win CE中CAN总线控制器的驱动设计与实现(05-01)
- μC/OS-II的多任务信息流与CAN总线驱动(07-11)
- 采用CAN总线实现DSP芯片程序的受控加载(11-08)
- 基于DSP的电动汽车CAN总线通讯技术设计(10-08)
- 基于DSP的CANopen通讯协议的实现(01-18)