微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > CAN适配卡发电机状态监测仪中的设计方案

CAN适配卡发电机状态监测仪中的设计方案

时间:05-15 来源:3721RD 点击:

CAN(Controller Area Network)控制局域网络是一种串行通信网络。它采用了许多新技术和独特的设计,因而使其在可靠性、实时性和灵活性方面具有突出的优点。这些卓越的性能使CAN总线得以在全球范围内一直保持高速发展。考虑到CAN总线的成长性及许多单片机中集成有CAN总线控制器,且CAN总线专用控制器IC术易从市场上得到,因此,在笔者设计的发电机状态监测仪中采用CAN总线技术。

  1 CAN总线系统的组成模式

  基于现场总线的发电机状态监测仪由智能数据采集模块、工控机(IPC)、CAN总线三部分组成。其系统结构如图1所示。每个模块通过CAN总线与一台工控机系统。工控机的主要功能是对智能数据采集模块的参数进行设置,并通过现场总线网络实时获取智能数据采集模块的数据,如发电机事件记录、故障录波;监测数据的实时显示、趋势分析、异常报警和完成报表输出等功能。CAN总线部分主要是由CAN总线适配卡、通讯介质以及相应的通讯软件构成

  2 CAN智能适配卡的硬件结构

  CAN总线的卓越性能为发电机状态监测系统的高速数据通讯提供了保障,但很多工业PC机并不带有CAN总线接口,为了在IPC上扩展CAN总线的监控和管理功能,笔者设计了一块适配卡插队IPC的扩展插槽内,以完成CAN接口与IPC的扩展功能。

  CAN总线PC适配卡的硬件电路如图2所示,它主要包括89C52单片机(内含8K E2PROM、256字节RAM)、地址译码与中断信号控制逻辑电路EPM7128S、共享存储器双口RAM(IDT7132)、CAN控制器SJA1000芯片和光电隔离电路(6N137)以及CAN驱动器82C520等部分组成。

  要实现PC机和CAN控制器之间的数据传送,必须在PC机和适与卡上的MPC之间建立起双向的数据交换通道。通过ISA总线实现单片机系统与主机之间交换数据有以下两种实现方法:一是静态数据传送,这种方法采用并行接口器件(如8255)或锁存器(如74LS373)等构成一字节深度的FIFO。该方法较为简单,但一次传输的数据量小,因而只适应数据量小、速度要求不高的场合;二是共用单片机系统外部数据存储器。此时可直接采用集成双端口RAM或在通用RAM加上一些控制逻辑组成双口RAM电路。集成双口RAM是一种性能优良的快速快通器件,适用于多CPU分布式系统及高速数字系统中。它提供了两路完全独立的端口,每个端口都有完整的地址、数据和控制线。对器件的使用者而言,它与一般RAM并无大的区别,只有在两边同时读写同一地址单元时,才发生争用现象。利用双口RAM提供指示信号,采用适当的通信规则就可避免争用,以实现快速数据的交换。集成双口RAM不仅易于实现,而且价格也不高。CAN信号传输采用短帧结构(8个字节),适配卡对双口RAM的容量要求并不大,故可选用IDT7130、IDT7132、IDT71231等。本文选用2k×8位的带忙信号BUSY的IDT7132。CAN通信控制器选用Philips公司生产的能支持CAN2.0B协议并与82C200完全兼容的SJA1000,如把它视为存储器映射的寄存器,则易于与89C52接口。为增强CAN总线的差动发送和接收能力,本设计采用了CAN总线收发接口电路82C250。在SJA1000与从机的82C250之间接入光电耦合器可增强系统的抗干扰能力。光耦可采用高速光耦6N137。光耦两侧应用采用DC-DC隔离电源,可选用力源公司生产的PS250DC5D5S。

3 伸裁方式

  双口RAM通信方式的关键是处理好争用现象,避免因此而产生的读写错误。IDT7132能够提供硬件判优方式,并可利用BUSY引脚的信号来提高系统的灵活性。在图2的硬件电路中,由于IDT7132内含硬件判优电路且两边端口都有BUSY引脚。因此为两端口争用同一地址单元时,其片内硬件电路可根据两边的地址、片选以及读写信号到达选后顺序来裁决哪个端口有使用权。

由此可知,BUSY信号可直接至支持插入等待时序的CPU如80C196的READY引脚,而无需软件支持。在本卡中,由于89C52没有READY信号,因而在89C52发出读写IDT7132命令时将锁存BUSYR信号,而只需读P1.6口的值就可判断刚才对IDT7132读写时是否存在冲突。当P1.6的值为1时,刚才询门不存在冲突;当1.6的值为0时,刚才询问存在冲公安厅。此时要重发读写IDT7132的命令。由于ISA总线没有READY信号,也没有通用的I/O引脚,因而可将来自IDT7132的BUSYL信号接至数据线的最低位D0。但因为除了查询BUSYL引脚电平时外,BUSYL不应接到D0,因而应采用三态门74L125。BUSYL接三态门的输入端,三态门输出端接ISA总线数据线D0位,其门控信号由A9~A5产生,故将占用ISA总线一个I/O端口。设计时应该选用一个空闲的端口号,这里选用330H(双口RAM侧,PC机则需换码),即将A9~A5译码为11001.具

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top