1、前言
随着变电站自动化程度的不断提高,自动化系统变得庞大和复杂。在一个变电站自动 化系统中往往包括微机监控、微机保护、电能质量自动控制等多个子系统,而且在各个子系 统中,又有多个智能模块。因此,在变电站自动化系统中必须进行数据通信,实现各个系统 内部和各子系统之间的信息交换和共享,以提高系统的整体安全性和可靠性[1]。 现场总线技术是20世纪80年代中期在国际上发展起来并应用于生产现场的、在微机化测量控 制设备之间实现双向串行多节点数字通信的系统[2]。现场总线技术将专用的微处 理器置入传统的测量控制仪表中,使它们各自都具有数字计算和数字通信能力,采用可进行 简单连接的双绞线作为总线,把多个测量控制仪表连接成网络系统,并按公开、规范的通信 协议,在现场的多个微机化测量控制设备之间以及现场仪表与远程监控计算机之间,实现数 据传输与信息交换,形成适应各种实际需要的自动控制系统[3]。
根据采用的协议的不同,现场总线技术可分为很多种,常用的有:FF总线,Lonworks 总线
2、CAN现场总线的技术特点及通讯适配 卡的功能
CAN现场总线的技术特点:
(1)CAN总线是到目前为止唯一有国际标准的现场总线;
(2)CAN为多主工作方式,网络上的任一节点均可在任意时刻主动的向网络上其它节点发 送信息,而不分主从;在报文标识符上,CAN上的节点分成不同的优先级,可满足不同 的实时要求,优先级高的数据最多可在134μs内得到传输;
(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适配卡的作用主要有两个 :
(1)数据的转发,适配卡把总线上各个节点的信息转发给PC机,并将PC机的命令和 数据转发给各个节点;
(2)用于完成CAN总线上用户的部分监控和管理任务。
3、CAN通讯适配卡的结构 3.1双口RAM及控制电路
这里研制的CAN适配卡由ISA接口、双口RAM、微控制器89C52、CAN通 信控制器SJA1000、CAN收发器82C250、数据缓存器、地址译码与控制逻辑和中 断信号控制逻辑等部分组成。其硬件结构框图如图1所示。
PC机与CAN控制器之间要进行数据的传送,必须在PC机和适配卡上的微处理器 之间建立双向的数据通道[5]。这里采用共用外部数据存储器的方法。集
适配卡上的双口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协议;
(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相连,使得总线上的各节点 具有很好的电气隔离。
4、CAN通讯适配卡的软件设计
适配卡主要承担上位机和节点之间的报文转发任务[8]。图2给出了适配卡程序流程 。软件设计包含两部分:一部分是上位机的应用程序设计,该程序采用VB6.0开发,用 于完成上位机和双口RAM之间的通信,主要包括上位机向适配卡上的双口RAM发送控 制命令、数据命令、请求数据命令、请求状态命令和接收数据等。另一部分是适配卡上的微 处理器的程序设计,使用KeilC编写,下位机上的程序负责微处理器与双口RAM以及 微处理器与SJA1000之间的通信。
其软件设计的主要任务是向CAN控制器转发来自PC机的命令,并由SJA1000进一 步转发到CAN节点,并将由控制器接受的来自节点的数据和状态信息送到双口RAM[9]。
同时在程序开发中还包含对89C52的初始化,双口RAM的初始化以及SJA1000的 初始化。SJA1000初始化主要是指设置模式、总线时序、中断使能、屏蔽码和ID信 号,这些设置是通过对芯片的内部寄存器
5、结语
本文中的CAN总线通讯适配卡,不仅可用于变电站测控系统,而且适用于其它分布式现 场总线控制系统。它可以适应不同的传输速率和距离,易于编写接口程序。由于采用了EP LD技术,可方便地设计适配卡的逻辑功能,且易于对适配卡进行扩展和升级。
参考文献
[1]黄益庄(Huang Yizhuang).变电站综合自动化技术(Technology of Substati on Automation)[M].北京:中国电力出版社(Beijing:China Electric Power Press),200 0.
[2]饶运涛,周继军,郑勇芸(Rao Yuntao,Zhou Jijun,Zheng Yongyun).现场总 线CAN原理与应用技术(Principle of CAN Fieldbus and Application Technology)[M]. 北京:北京航空航天大学出版社(Beijing:BUAA Press),2003.
[3]阳宪惠(Yang Xianhui).现场总线技术及其应用(Fieldbus Technology and Its Application)[M].北京:清华大学出版社(Beijing:Tsinghua University Press),200 2.
[4]邬宽明(Wu Kuanming).CAN总线原理和应用系统设计(Principle of CAN Fie ldbus and Design of Application System)[M].北京:北京航空航天大学出版社(Beijin g:BUAA Press),1999.
[5]胡国鹏,武自芳,张春燕(Hu Guopeng,Wu Zifang,Zhang Chunyan).CAN总线 及其PC适配卡设计(CAN bus and the design of PC adapter)[J].工业控制计算机(Indus trial Control Computer),2001,14(1):19-21.
[6]高胜法,王金富,刘 平(Gao Shengfa,Wang Jinfu,Liu Ping).CAN总线通信 适配卡的设计与实现(The design and implementation of CAN bus adapter)[J].国外电 子元器件(International Electronic Elements),2003,11(1):68-70.
[7]廖海涛,程昌银(Liao Haitao,Cheng Changyin).CAN总线PCCAN适配卡的 设计(The design of CAN bus PC-CAN adapter)[J].武汉理工大学学报(Journal of Wuha n University of Technology),2003,25(2):28-31.
[8]曹海欧,郑建勇,蔡月明(Cao Haiou,Zheng Jianyong,Cai Yueming).基于
C AN总线变电站综合自动化通信系统的研究(Study of substation automation communicatio n system based on CAN bus)[J].电力系统自动化学报(Proceedings of the CSUEPSA) ,2002,14(6):24-26.[9]翟永昌,李永丽(Zhai Yongchang,Li Yongli).变电站自动化系统中基于CAN 总线的数据通信(Communication based on CAN bus in electric substation automation )[J].电力系统自动化学报(Proceedings of the CSUEPSA),2003,15(6):43-46.
信息来源:电力系统及其自动化学报