摘 要: 在基于现场总线的变电站综合自动化系统中,各个节点之间的通信以及节点与上位机之间的 通信是系统的核心;适配卡把节点的数据上传到上位机,同时又把上位机的命令和数据下传 到节点,是核心中的关键。本文提出一种新的适配卡设计方案,采用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,dualport 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.
全部回复(4 )
只看楼主 我来说两句(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技术,可方便地设计适配卡的逻辑功能,且易于对适配卡进行扩展和升级。
回复 举报
(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协议;
回复 举报