原创 智能仪表的CAN接口设计

2006-8-29 09:38 7324 16 10 分类: 工业电子

智能仪表的CAN接口设计

王文华
(辽宁机电职业技术学院 机械系,辽宁 丹东 118002)

1 前沿

在计算机数据传输领域内,长期以来使用RS-232通信标准,尽管被广泛的使用,但却是一种低数据率和点对点的数据传输标准,无能力支持更高层次的计算机之间的功能操作。同时,在复杂或大规模应用中(如工业现场控制或生产自动化领域),需要使用大量的传感器、执行器和控制器等,它们通常分布在非常广的范围内,所以,在最底层的确需要一种造价低廉而又能适应工业现场环境的通信系统,现场总线(Field Bus)就是在这种背景下应运而生的。

现场总线是连接智能现场设备和自动化系统的数字式、双向传输、多分支结构的通信网络,现场总线技术自上世纪70年代诞生至今,由于它在减少系统线缆,简化系统安装、维护和管理,降低系统的投资和运行成本,增强系统性能等方面的优越性,引起人们的广泛注意,得到大范围的推广。

CAN是一种有效支持分布式控制或实时控制的串行通信网络,最初是由德国BOSCH公司为汽车监控、控制系统设计的。由于CAN总线本身的特点,其应用范围目前已不再局限于汽车行业,而向过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械、传感器及智能仪表等领域发展。

智能仪表是自动化学科的重要组成部分。随着科学技术的迅速发展,尤其是微电子、计算机和通信技术日新月异的变化,智能仪表逐渐向数字化、网络化和智能化方向发展。智能仪表一方面可以进行人机对话及与外部仪器设备对话,通过现场总线接入自动测试系统;另一方面,使用者借助面板上的键盘和显示屏,可用对话方式选择测量功能,设置参数。当然,通过总线中的工业计算机也可获得测量节点的数据。

2 CAN的接口设计

CAN总线是一种串行数据通信协议,在CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可以完成对通信数据的成帧处理。CAN总线接口的具体电路如图1所示。



xsj061551_1.jpg

笔者用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分别通过2个CNW137型高速光耦与PCA82C250相连后,再连到CAN总线上。

PCA82C250为CAN总线收发器,是CAN控制器与CAN总线的接口器件,对CAN总线以差分方式发送,其RS引脚用于选择PCA82C250的工作方式:高速方式和斜率方式。RS接地为高速,RS引脚串接1只电阻器后再接地,用于控制上升和下降斜率,从而减小射频干扰。RS引脚接高电平,PCA82C250处于等待状态。此时发送器关闭,接收器处于低电流工作,可以对CAN总线上的显性位做出反应来通知CPU。实验数据表明15kΩ-200kΩ为串联电阻器较理想的取值范围,在这种情况下,可以用平行线或双绞线作为总线,本设计中PCA82C250的斜率电阻为30kΩ。

CNW137为高速光耦,最高速度为10Mb/s,用于保护SJA1000型CAN总线控制器。CAN总线的终端匹配电阻器起相当重要的作用,不合适的电阻器会使数据通信的抗干扰性及可靠性大大降低甚至无法通信,理想的阻值范围为108Ω-132Ω,该设计使用的阻值为124Ω。

2.1 SJA1000的功能

CAN通信协议主要由CAN控制器完成。SJA1000是适用于汽车和一般工业环境控制器局域网(CAN)的高集成度控制器,具有完成高性能通信协议所要求的全部特性,具有简单总线连接的SJA1000可完成物理层和数据链路层的所有功能,应用层功能可由微控制器完成,SJA1000为其提供了多用途的接口。

SJA1000是Philips公司PCA82C200型CAN控制器的后续产品,在软件和引脚上均与PCA82C200兼容,并增加了许多新的功能,性能更佳。尤其适用于对系统优化、诊断和维护要求比较高的场合。

SJA1000的功能框图如图2所示,由以下几部分构成:接口管理逻辑;发送缓冲器,能够存储1个完整的报文(扩展的或标准的);验收滤波器;接收FIFO;CAN核心模块。



xsj061551_2.jpg

2.2 82C250
SJA1000的一端与单片机相连,另一端与CAN总线相连。但是,为了提高单片机对CAN总线的驱动能力,可以把82C250作为CAN控制器和物理总线间的接口,以提供对总线的差动发送能力和对CAN控制器的差动接收能力。82C250的主要特性如下:
与ISO/DIS11898标准兼容;
高速(最高可达1Mb/s);
具有抗汽车环境下的瞬间干扰和保护总线的能力;
降低射频干扰的斜率控制;
热保护功能;
防止电池与地之间发生短路;
低电流待机方式;
某个节点掉电不会影响总线;
可有110个节点相连接。
3 CAN通信程序
SJA1000操作期间,在上电之前必须配置控制线路(中断、复位、片选等)建立与CAN控制器之间通信的硬件连接。初始化、CAN通信采用中断方式数据发送和接收子程序,其流程如图3、图4和图5所示。



xsj061551_3.jpg
xsj061551_4.jpg
xsj061551_5.jpg

如果在上电后独立CAN控制器在引脚17得到1个复位脉冲(低电平),它就能够进入复位模式。在对SJA1000寄存器设计前,CAN控制器通过读复位模式/请求标志来检查是否已进入复位模式,因为要配置信息的寄存器只有在复位模式才能写入,并涉及到对控制寄存器(CR)、验收码寄存器(ACR)、验收屏蔽寄存器(AMR)、总线定时寄存器(BTRO和BTR1)和输出控制寄存器(OCR)的初始化编程。

时钟分频寄存器可以选择BasicCAN或PeliCAN工作模式,设置CLKOUT因该使能用来选择频率,设置是否使用旁路CAN输入比较器和是否使用TX1输出用为专门的接收中断输出。

验收代码和验收屏蔽寄存器的设置可以过滤信息,为收到的信息定义验收代码;为与验收代码相关位比较定义验收屏蔽代码。

总线定时寄存器定义总线上的位速率。输出控制寄存器定义CAN总线输出引脚TX0和TX1的输出模式,定义TX0和TX1输出引脚配置是悬空、下拉、上拉或推挽以及极性。中断寄存器设置允许识别的中断源。

4 结束语

多个智能仪表通过CAN接口与PC连成总线网,其系统运行良好。这种基于现场总线的智能仪表系统抗干扰性强,性能可靠,无论是测量速度、精确度和自动化程序还是性价比都是传统仪表不能比拟的,是今后仪器仪表发展的方向。

 

本文摘自《国外电子元器件》

文章评论0条评论)

登录后参与讨论
我要评论
0
16
关闭 站长推荐上一条 /2 下一条