智能仪表的CAN接口设计
发布时间:2008/5/26 0:00:00 访问次数:685
    
    
    作者:辽宁机电职业技术学院 王文华
    
    摘要:目前现场总线有以下十几种,各总线之间规范不一样,都有自己的适用范围,其中can (controller area network)总线以其高性能、高可靠性及更独特的设计越来越受到人们的重视,并已被公认为几种最有前途的现场总线之一。本文给出了智能仪表中通用的can通信接口的硬件设计与软件实现框图。
    
    关键词:单片机;智能仪表;can
    
    1 前言
    
    在计算机数据传输领域内,长期以来使用rs-232通信标准,尽管它们被广泛的使用,但却是一种低数据速率和点对点的数据传输标准,无能力支持更高层次的计算机之间的功能操作。同时,在复杂或大规模应用中(如工业现场控制或生产自动化领域),需要使用大量的传感器、执行器和控制器等,它们通常分布在非常广的范围内,所以,在最底层上的确需要设计出一种造价低廉而又能经受工业现场环境的通信系统,现场总线(field bus)在这种背景下产生了。
    
    现场总线是连接智能现场设备和自动化系统的数字式、双向传输、多分支结构的通信网络。其拓扑结构如图一。现场总线技术自70年代诞生至今,由于它在减少系统线缆,简化系统安装、维护和管理,降低系统的投资和运行成本,增强系统性能等方面的优越性,引起人们的广泛注意,得到大范围的推。
    can是一种有效支持分布式控制或实时控制的串行通信网络,最初是由德国bosch公司为汽车监测、控制系统而设计的。由于can总线本身的特点,其应用范围目前己不再局限于汽车行业,而向过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、传感器及智能仪表等领域发展。
    
    智能仪表是自动化学科的重要组成部分。随着科学技术的迅速发展,尤其是微电子、计算机和通信技术日新月异的变化,智能仪表向着数字化、网络化和智能化方向发展,智能仪表一方面可以进行人机对话及与外部仪器设备对话,通过现场总线接连入自动测试系统。另一方面,使用者借助面板上的键盘和显示屏,可用对话方式选择测量功能、设置参数。当然,通过总线中的工业计算机也可获得测量节点的数据。
    
    2 can的接口设计
    
    can总线是一种串行数据通信协议,在can总线通信接口中集成了can协议的物理层和数据链路层功能,可以完成对通信数据成帧处理。can总线接口的具体的电路设计如图1所示。
    
    
    笔者用sja1000作为流量计的can控制器,与cpu(单片机)的i/o口直接相连,再通过pca82c250组成can总线。这种结构很容易实现can网络节点中的信息收发,从而实现对现场的控制。
    
    sja1000的ad0~ad7连接到msp420f149的p0口,int接到p1.0,/cs接到p1.1,/rd连接到p1.2,/wr连到p1.3,ale连到p1.4,sja1000的rx0与tx0分别通过两个高速光耦cnw137与pca82c250相连后,连到can总线上。
    
    pca82c250为can总线收发器,是can控制器与can总线的接口器件,对can总线差分方式发送,其rs引脚用于选择pca82c250的工作方式:高速方式、斜率方式。rs接地为高速,rs引脚串接一个电阻后再接地,用于控制上升和下降斜率,从而减小射频干扰。rs引脚接高电平,pca82c250处于等待状态。此时,发送器关闭,接收器处于低电流工作,可以对can总线上的显性位做出反应,通知cpu。实验数据表明15~200k为较理想的取值范围,在这种情况下,可以使用平行线或双绞线作总线,本文中pca82c250的斜率电阻为取30k。
    
    cnw137为高速光耦,最高速度为10mbps,用于保护can总控制器sja1000。can总线的终端匹配电阻起相当重要的作用,不合适的电阻会使数据通信的抗干扰性及可靠性大大降低,甚至无法通信,范围为108~132ω,本文使用的电阻为124ω。
    
    2.1 sja1000的功能
    
    can通信协议主要由can控制器完成。sja1000是适用于汽车和一般工业环境控制器局域网(can)的高集成度独立控制器,
    
    
    作者:辽宁机电职业技术学院 王文华
    
    摘要:目前现场总线有以下十几种,各总线之间规范不一样,都有自己的适用范围,其中can (controller area network)总线以其高性能、高可靠性及更独特的设计越来越受到人们的重视,并已被公认为几种最有前途的现场总线之一。本文给出了智能仪表中通用的can通信接口的硬件设计与软件实现框图。
    
    关键词:单片机;智能仪表;can
    
    1 前言
    
    在计算机数据传输领域内,长期以来使用rs-232通信标准,尽管它们被广泛的使用,但却是一种低数据速率和点对点的数据传输标准,无能力支持更高层次的计算机之间的功能操作。同时,在复杂或大规模应用中(如工业现场控制或生产自动化领域),需要使用大量的传感器、执行器和控制器等,它们通常分布在非常广的范围内,所以,在最底层上的确需要设计出一种造价低廉而又能经受工业现场环境的通信系统,现场总线(field bus)在这种背景下产生了。
    
    现场总线是连接智能现场设备和自动化系统的数字式、双向传输、多分支结构的通信网络。其拓扑结构如图一。现场总线技术自70年代诞生至今,由于它在减少系统线缆,简化系统安装、维护和管理,降低系统的投资和运行成本,增强系统性能等方面的优越性,引起人们的广泛注意,得到大范围的推。
    can是一种有效支持分布式控制或实时控制的串行通信网络,最初是由德国bosch公司为汽车监测、控制系统而设计的。由于can总线本身的特点,其应用范围目前己不再局限于汽车行业,而向过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、传感器及智能仪表等领域发展。
    
    智能仪表是自动化学科的重要组成部分。随着科学技术的迅速发展,尤其是微电子、计算机和通信技术日新月异的变化,智能仪表向着数字化、网络化和智能化方向发展,智能仪表一方面可以进行人机对话及与外部仪器设备对话,通过现场总线接连入自动测试系统。另一方面,使用者借助面板上的键盘和显示屏,可用对话方式选择测量功能、设置参数。当然,通过总线中的工业计算机也可获得测量节点的数据。
    
    2 can的接口设计
    
    can总线是一种串行数据通信协议,在can总线通信接口中集成了can协议的物理层和数据链路层功能,可以完成对通信数据成帧处理。can总线接口的具体的电路设计如图1所示。
    
    
    笔者用sja1000作为流量计的can控制器,与cpu(单片机)的i/o口直接相连,再通过pca82c250组成can总线。这种结构很容易实现can网络节点中的信息收发,从而实现对现场的控制。
    
    sja1000的ad0~ad7连接到msp420f149的p0口,int接到p1.0,/cs接到p1.1,/rd连接到p1.2,/wr连到p1.3,ale连到p1.4,sja1000的rx0与tx0分别通过两个高速光耦cnw137与pca82c250相连后,连到can总线上。
    
    pca82c250为can总线收发器,是can控制器与can总线的接口器件,对can总线差分方式发送,其rs引脚用于选择pca82c250的工作方式:高速方式、斜率方式。rs接地为高速,rs引脚串接一个电阻后再接地,用于控制上升和下降斜率,从而减小射频干扰。rs引脚接高电平,pca82c250处于等待状态。此时,发送器关闭,接收器处于低电流工作,可以对can总线上的显性位做出反应,通知cpu。实验数据表明15~200k为较理想的取值范围,在这种情况下,可以使用平行线或双绞线作总线,本文中pca82c250的斜率电阻为取30k。
    
    cnw137为高速光耦,最高速度为10mbps,用于保护can总控制器sja1000。can总线的终端匹配电阻起相当重要的作用,不合适的电阻会使数据通信的抗干扰性及可靠性大大降低,甚至无法通信,范围为108~132ω,本文使用的电阻为124ω。
    
    2.1 sja1000的功能
    
    can通信协议主要由can控制器完成。sja1000是适用于汽车和一般工业环境控制器局域网(can)的高集成度独立控制器,