适用于变电站的can现场总线通信适配卡的设计
会飞的海豚
2007年03月23日 16:30:37
来自于继电保护
只看楼主

摘 要: 在基于现场总线的变电站综合自动化系统中,各个节点之间的通信以及节点与上位机之间的 通信是系统的核心;适配卡把节点的数据上传到上位机,同时又把上位机的命令和数据下传 到节点,是核心中的关键。本文提出一种新的适配卡设计方案,采用ISA接口,使用89C52微 处理器,SJA1000作为通信控制器,并利用双口RAM作为PC机与控制器之间的数据交换通道, 使用EPLD器件作为双口RAM的控制和中断信号处理。最后简要阐述了适配卡的软件设计。

摘 要: 在基于现场总线的变电站综合自动化系统中,各个节点之间的通信以及节点与上位机之间的 通信是系统的核心;适配卡把节点的数据上传到上位机,同时又把上位机的命令和数据下传 到节点,是核心中的关键。本文提出一种新的适配卡设计方案,采用ISA接口,使用89C52微 处理器,SJA1000作为通信控制器,并利用双口RAM作为PC机与控制器之间的数据交换通道, 使用EPLD器件作为双口RAM的控制和中断信号处理。最后简要阐述了适配卡的软件设计。
关键词: 现场总线; 局域控制网总线; 局域控制网通信适配卡; 双 口存储器 Design of CAN Fieldbus Communication Adapter for Transf ormer Station ZHU Huawei, WU Ailiang, YANG Rufeng, XIAO Tao (School of Electrical Engineering,Wuhan University, Wuhan 430072, China)

Abstract: Measurement and control system for transformer station based on fieldbus is prev alent recently whose core is communication between nodes and between PC and node .The communication adapter is the key of the core.Data of nodes is transmitted t o PC and command of PC is transmitted to nodes by adapter.In the adaper,ISA inte rface is equipped,89C52 works as microprocessor and SJA1000 works as communicati on controller,dualport RAM is used for the channel of data exchange between PC and CAN controller and EPLD is used to control two port RAM and process interru pt signal.Lastly, the software design of adapter is presented briefly.
免费打赏
会飞的海豚
2007年03月23日 16:31:18
2楼
Keywords: fieldbus; CAN fieldbus; adapter; dualport RAM1前言
随着变电站自动化程度的不断提高,自动化系统变得庞大和复杂。在一个变电站自动 化系统中往往包括微机监控、微机保护、电能质量自动控制等多个子系统,而且在各个子系 统中,又有多个智能模块。因此,在变电站自动化系统中必须进行数据通信,实现各个系统 内部和各子系统之间的信息交换和共享,以提高系统的整体安全性和可靠性[1]。 现场总线技术是20世纪80年代中期在国际上发展起来并应用于生产现场的、在微机化测量控 制设备之间实现双向串行多节点数字通信的系统[2]。现场总线技术将专用的微处 理器置入传统的测量控制仪表中,使它们各自都具有数字计算和数字通信能力,采用可进行 简单连接的双绞线作为总线,把多个测量控制仪表连接成网络系统,并按公开、规范的通信 协议,在现场的多个微机化测量控制设备之间以及现场仪表与远程监控计算机之间,实现数 据传输与信息交换,形成适应各种实际需要的自动控制系统[3]。
根据采用的协议的不同,现场总线技术可分为很多种,常用的有:FF总线,Lonworks 总线,PROFIBUS总线,HART总线,CAN总线。由于CAN总线采用了许多新 技术及独特设计,使得其数据通信具有突出的可靠性、实时性和灵活性。目前,在变电站综 合自动化系统中CAN总线已有少量应用,其中的通信适配卡多为非智 能型的,即在卡上未采用微处理器。本文所介绍的适配卡采用89C52作为微控制器,将 大大减少PC主机的通信负担。且在设计中使用最新的EPLD器件作为双口RAM的 逻辑控制和中断信号控制,使得电路比较简单,而且具有很好的可扩展性。 2CAN现场总线的技术特点及通讯适配 卡的功能
CAN现场总线的技术特点:
(1)CAN总线是到目前为止唯一有国际标准的现场总线;
(2)CAN为多主工作方式,网络上的任一节点均可在任意时刻主动的向网络上其它节点发 送信息,而不分主从;在报文标识符上,CAN上的节点分成不同的优先级,可满足不同 的实时要求,优先级高的数据最多可在134μs内得到传输;
回复
会飞的海豚
2007年03月23日 16:31:50
3楼
3)CAN采用非破坏总线仲裁技术;
(4)CAN节点只需通过对报文的标识符滤波即可实现点对点、一点对多点及全局广播等几 种方式传送接受数据;
(5)CAN的直接通信距离可远达10km(输率5kbs以下),通信速率最高可达1M bps(此时通信距离最长为40m);
(6)CAN上的节点数主要取决于总线驱动电路,目前可达110个;报文采用短帧的结构, 传输时间短,受干扰率低,保证了数据出错率极低;
(7)CAN的每帧信息都有CRC校验及其它检错措施,具有极好的检错效果;
(8)CAN的通信介质可为双绞线,同轴电缆或光缆,选择灵活;CAN节点在错误严重 的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响;CAN总线具有 较高的性能价格比。
在变电站现场采集到的很多数据通过两根电缆(一般采用双绞线)传到上位机(一台PC 微机)上,PC机与CAN总线有两种连接方式[4]:一种是通过转换器与微机 的串口相连;一种是在PC的扩展槽里插一块适配卡,该卡上具有CAN接口和PC 扩展接口,对于交换的数据较多时,一般采用这种方式。CAN适配卡的作用主要有两个 :
回复
会飞的海豚
2007年03月23日 16:32:25
4楼
1)数据的转发,适配卡把总线上各个节点的信息转发给PC机,并将PC机的命令和 数据转发给各个节点;
(2)用于完成CAN总线上用户的部分监控和管理任务。 3CAN通讯适配卡的结构
这里研制的CAN适配卡由ISA接口、双口RAM、微控制器89C52、CAN通 信控制器SJA1000、CAN收发器82C250、数据缓存器、地址译码与控制逻辑和中 断信号控制逻辑等部分组成。其硬件结构框图如图1所示。3.1双口RAM及控制电路
PC机与CAN控制器之间要进行数据的传送,必须在PC机和适配卡上的微处理器 之间建立双向的数据通道[5]。这里采用共用外部数据存储器的方法。集成双口R AM是一种性能优良的快速通信器件,适用于多CPU分布式系统及高速数字系统中,它 有两路完全独立的端口,每个端口都有完整的地址和数据控制线,这里采用IDT7006双 口RAM。对于双口RAM的应用,一个很重要的问题就是必须避免两个端口的争用,两 边同时读/写同一地址单元。但只要遵循一定的通信规则,使用合理的控制逻辑电路是可以 避免争用现象的。这里采用可编程逻辑器件EPM7128S来实现。EPN171285是一种典 型的EPLD器件,采用了先进的CMOS EEPROM技术,内含2 500个逻辑门和128个宏单 元,可以在PCB板上直接对芯片进行编程。在该适配卡中,EPM7128S主要完成数据 总线的驱动、中断信号处理以及共享存储器和数据缓冲器的地址译码。
适配卡上的双口RAM使用内存映像的方式直接映射到主机内存空间,实现适配卡与主机 的数据交换[6]。内存映象法是将适配卡的数据存储地址配置于PC机的主存储 器的高端,PC机可以采用写主存储器的方式将数据直接写在适配卡的数据存储器中, PC机不访问适配卡的微控制器时就可以读写数据存储器的数据。
3.2微控制器电路
微控制器采用ATMEL公司的89C52,它与MCS51系列完全兼容,带有8k字 节的系统可编程Flash和256B的片内RAM。它主要承担节点与PC机之间的数 据通信和协调管理工作。
当89C52与CAN总线通信时,通常由于总线上所挂的节点有多个,所以需要在适配卡 上设计一个数据缓冲器,用于暂存由节点上发来的数据。考虑到变电站需要测控的节点较多 ,所以选用容量较大的缓冲器,这里选用DS1245。它是DALLAS公司生产的全静态非 易失性保护RAM,容量为128kbit,在芯片内部有锂电池和掉电保护电路,可防止因 适配卡掉电引起的测量数据丢失。
由于适配卡的工作环境干扰很严重,使得电路调试比较复杂且故障率也较高,本卡设计了三 种复位方式[7]。一种为上电复位方式,即在PC机通电时,同时对适配卡也进 行复位;第二种为在调试时出现故障,使用手动复位键进行复位;第三种方式为软件复位, 这种方法是使用初始化模块中的软件指令对适配卡进行复位。
3.3通信控制器
CAN通信控制器采用PHILIPS公司的SJA1000,它是一种独立的CAN控制器, 主要应用于移动目标和一般的工业环境中的区域控制。在本适配卡中SJA1000主要完成 具体的报文发送和报文接收。SJA1000的基本特点有:
(1)具有扩展的64字节接受缓冲器,先进先出(FIFO);
(2)支持CAN2.0A和CAN2.0B协议;
回复
会飞的海豚
2007年03月23日 16:33:08
5楼
3)支持11位和29位的标识码;
(4)通信速率可达1Mbps;
(5)24MHz时钟频率;
(6)可与不同的微处理器接口;
(7)可编程的CAN输出驱动器配置;可工作于BasicCAN和PeliCAN两种状态。
CAN控制器的内部采用模块结构,由七个部分组成:接口管理逻辑(IML)用于解释 来自CPU的命令,控制CAN寄存器的寻址,向主控制器提供中断信息和状态信息;发 送缓冲器(TXB)是CPU与BSP之间的接口,缓冲器可以存储有13个字节的一条 完整的报文;接收缓冲器(RXB)是接收滤波器和CPU之间的接口,用于存储从CAN总线上接收并被确认的信息;验收滤波器(ACF),用于对接收到的标识码进行验收 ,以决定是否接收下这条报文;位流处理器(BSP)是一个在发送缓冲器、RXFIFO和CAN总线之间控制数据流的队列发生器,它还执行总线上的错误检测、仲裁、填充和 错误处理;位时序逻辑(BTL),用于监视串行的CAN总线和位时序;错误管理逻辑 (EML),用于限制传输层模块的错误。
3.4辅助电路
CAN控制器SJA1000并不能直接与总线相连,还要通过总线驱动器才能接于总线上。 本适配卡采用82C250总线驱动器,为了增强CAN总线节点的抗干扰能力,SJA1000 的TX0和TX1通过高速光耦6N137后与82C250相连,使得总线上的各节点 具有很好的电气隔离。 4CAN通讯适配卡的软件设计

适配卡主要承担上位机和节点之间的报文转发任务[8]。图2给出了适配卡程序流程 。软件设计包含两部分:一部分是上位机的应用程序设计,该程序采用VB6.0开发,用 于完成上位机和双口RAM之间的通信,主要包括上位机向适配卡上的双口RAM发送控 制命令、数据命令、请求数据命令、请求状态命令和接收数据等。另一部分是适配卡上的微 处理器的程序设计,使用KeilC编写,下位机上的程序负责微处理器与双口RAM以及 微处理器与SJA1000之间的通信。
其软件设计的主要任务是向CAN控制器转发来自PC机的命令,并由SJA1000进一 步转发到CAN节点,并将由控制器接受的来自节点的数据和状态信息送到双口RAM[9]。
同时在程序开发中还包含对89C52的初始化,双口RAM的初始化以及SJA1000的 初始化。SJA1000初始化主要是指设置模式、总线时序、中断使能、屏蔽码和ID信 号,这些设置是通过对芯片的内部寄存器赋值来实现的,如表中SJA1000寄存器初始化 参考值。 5结语
本文中的CAN总线通讯适配卡,不仅可用于变电站测控系统,而且适用于其它分布式现 场总线控制系统。它可以适应不同的传输速率和距离,易于编写接口程序。由于采用了EP LD技术,可方便地设计适配卡的逻辑功能,且易于对适配卡进行扩展和升级。
回复

相关推荐

APP内打开