《电子技术应用》
您所在的位置:首页 > 电源技术 > 业界动态 > 基于CAN总线的模块化并联UPS监控系统的设计

基于CAN总线的模块化并联UPS监控系统的设计

2008-12-11
作者:陈旭红1, 单鸿涛1,2,

  摘 要: 介绍了一种实用并联UPS监控系统" title="监控系统">监控系统的设计,对于这种基于SJA1000的PeliCAN模式的智能节点在模块UPS系统中的设计方法" title="设计方法">设计方法,给出了硬件电路及相关软件设计方法,该系统的设计实用,对于研制其他应用CAN总线产品具有借鉴意义。
  关键词: CAN; DSP; 验收滤波器

 

  不间断电源UPS(Uninterruptible Power Supply)的高可靠性为金融、电信、保险、交通、税务、证券、能源、制造、军队、教育等行业提供了重要的电源保障,模块化并联UPS系统以其增强的可靠性和灵活的扩容能力倍受商家、用户的青睐。
  本文介绍一款采用分散逻辑控制技术实现并联冗余控制的模块化并联UPS系统,系统原理图如图1所示。

 


  该并联系统中,每个模块UPS各有一套自己独立的控制系统(包括PFC、锁相、逆变、并联控制单元等)。其中各模块UPS之间通过并联控制线及CAN总线互联。在并联控制单元与CAN总线的共同控制下,处于并联运行状态的各模块UPS电源共同分担负载,实现负载的均分。
  CAN(Controller Area Network)是一种成熟的现场总线,其最大特点是对数据通讯块进行编码,因而可采用多主方式,网络上任意节点均可主动向其他节点发送信息。网络节点可按系统实时性要求分成不同的优先级,一旦发生总线冲突,会减少总线仲裁的时间,可实现在线上网下网、即插即用和多站接收。
  在模块UPS系统中,各UPS模块是CAN总线网络结构中的下位节点,模块UPS系统监控板视为上位节点。作为下位节点的各模块UPS电源的运行参数通过CAN总线网络进行高速传输,实现各UPS电源运行参数的高速共享。通过运行参数的高速共享,嵌入各高频UPS内部的中央处理器DSP对各UPS单机的运行状态进行实时控制。
1 系统的硬件电路设计
  该模块UPS系统采用DSP数字控制技术,以美国TI公司的DSP芯片TMS320F240为各节点主控CPU,选择常见的独立CAN控制器SJA1000以及82C250总线收发器构成各智能节点电路。SJA1000与DSP分别采用独立的20MHz时钟源。SJA1000提供的微处理器的接口信号主要有控制器的数据和地址分时复用线AD0~AD7共8根地址数据线和ALE、、MODE、INT信号,其中MODE为接口方式选择信号,可选用INTEL方式或MODTOROLA方式,这里选用INTEL方式,MODE=1。而DSP内部采用先进的哈佛结构,地址、数据线并行,没有ALE地址有效信号。通过对SJA1000和TMS320F240的时序分析得出:必须在DSP与SJA1000间附加相应的时序逻辑电路以满足SJA1000的接口信号ALE、要求,这里SJA1000选用INTEL方式,MODE=1,按以下逻辑关系设计:
  

2 系统的软件设计
  SJA1000有两种操作模式:BasicCAN模式和PeliCAN模式。BasicCAN模式使得SJA1000向下兼容CAN控制器82C200,对于BasicCAN仅有单一滤波的方式;PeliCAN模式是新增功能操作模式,在错误处理、超载能力以及比较灵活的接收滤波等方面性能都有了很大的提高。这里对PeliCAN模式的验收滤波器" title="验收滤波器">验收滤波器作说明。
2.1 采用PeliCAN模式的滤波器简介
  PeliCAN模式的滤波方式有单滤波和双滤波两种方式。SJA1000的报文验收滤波就是指对接收报文的节点而言,总线控制器对CAN总线上的报文信息如何进行选择接收。此工作由验收滤波器完成,它由验收码寄存器ACR和验收屏蔽寄存器AMR组成。在本系统中,发送节点的主控制器DSP将报文信息的识别码和数据送入发送缓冲区,再启动SJA1000读取发送缓冲区中的数据,按CAN协议封装成一完整的CAN信息帧,通过收发器82C250发往总线。发送报文节点的发送缓冲区存储一个完整的信息帧长度可达13B,标准帧格式在发送缓冲器里配置的列表如图2所示,其中帧信息主要提供关于帧格式、远程请求、数据代码长度(可达8个字节)等信息;识别码(ID)就像报文的名字一样使用在验收滤波过程中,标准帧格式的识别码有11位(ID.28~ID.18),验收滤波器把接收到报文的识别码和验收代码寄存器ACR中的值进行逐位比较;而接收屏蔽寄存器AMR用来定义识别码中哪些位是与比较相关。所有对应AMR为0 的ACR的位,必须和CAN信息帧的对应位相同才算验收通过,报文才会被接收;所有对应AMR 为1的 ACR位,则予以屏蔽,即CAN 信息帧的该位对验收无任何影响,属于不相关位。当信息被正确接收完毕, CAN的状态寄存器SR的接收缓存器状态位被置位;在接收中断使能时,产生接收中断。

 


  PeliCAN模式的单滤波方式只有一个由4个验收码寄存器ACR和4个验收屏蔽寄存器AMR组成的验收滤波器,总线上的信息只有通过了它的验收滤波才予以接收。在双滤波方式下有两个短滤波器(滤波器1、滤波器2)接收信息帧,通过任意一个滤波器即可予以接收。无论是单滤波还是双滤波,验收码寄存器ACR 和验收屏蔽寄存器AMR 都是配合在一起工作。双滤波方式的验收信息的原理如图3所示。

 


2.2 采用PeliCAN模式的双" title="的双">的双滤波器的UPS节点工作原理
  从上节介绍可知,对于仅有一种滤波格式的BasicCAN模式和PeliCAN模式下的单滤波方式,要使系统具有既能点对点、又有点对多点" title="多点">多点通讯的功能,将会增加软件的工作量,系统的实时性也会受影响,而PeliCAN模式下的双滤波方式,可方便地实现CAN网络内的点对点一般报文和点对多点的广播报文通讯功能。
  考虑到本系统要求上位监控节点需能对下位UPS节点群发命令,如上位监控节点要求下位各模块UPS能同时关输出等;同时上位节点对各下位节点具有群接收数据功能,如接收下位各模块UPS上传送的运行参数;此外,上位节点还应能与诸下位节点进行点对点的通讯,如发现下位的某模块UPS参数不正常,要求其退出并联系统,为此,决定采用PeliCAN的双滤波器工作模式设计智能节点。接收报文为标准帧,其双滤波器中滤波器1使用的验收码寄存器和屏蔽寄存器为:ACR0/ACR1 或ACR3 的低四位、AMR0/AMR1 或AMR3的低四位,滤波器2使用的验收码寄存器和屏蔽寄存器:ACR2 或ACR3 的高四位、AMR2 或AMR3 的高四位,如图4所示。设滤波器1与滤波器2使用的验收屏蔽寄存器内容相同,报文识别码的ID28~ID18定义如图4所示。

 


  对验收屏蔽寄存器AMR内为1的位,将其对应的ACR位予以屏蔽。从图4可知,报文中ID25~ID23位对验收属于相关位。以模块UPS总数为四个的系统为例,设置下位节点模块:UPS-1的节点地址为001,UPS-2的节点地址为010,UPS-3的节点地址为011,UPS-4的节点地址为100。按CAN网优势位仲裁的特点,识别码的二进值越低,在仲裁过程中决定总线访问的优先权越高,设置上位监控节点的节点地址为000,以保证上位监控节点具有高优先权。每个节点均有两个滤波器,一个滤波器用于接收点对点发送的一般报文,在此使用滤波器1,在ACR0.4~2存放本节点的地址;另一个滤波器为滤波器2,用于接收上位监控节点向CAN网内各节点的广播报文, 将其ACR2.4~2内存放代码:111。
  当下位模块UPS-1节点所收报文的ID25~ID23为001时,即其他节点将其发送的目标节点地址设为001,则下位模块UPS-1可经滤波器1验收通过,以接收系统中其他节点对模块UPS-1的信息;当报文的ID25~ID23为111时,经滤波器2验收通过,以接收上位监控节点向各下位节点的群发信息,由此设置即可方便地满足模块UPS系统点对点、点对多点通讯时信息过滤的需要。
2.3 程序设计
  PeliCAN模式初始化框图如图5所示。系统程序设计主要包括:初始化、报文接收、报文发送程序。初始化SJA1000必须要在复位状态,主要完成滤波器设置以及时钟分频寄存器CDR、方式寄存器、总线定时寄存器BTR0和BTR1、输出控制寄存器OCR、中断允许寄存器IER等设置。待完成初始化后,令SJA1000回到工作状态,进行正常的通讯任务。SJA1000 的报文缓冲区中发送缓冲区TXB 和接收缓冲区RXB共用同一段CAN 地址为16~28 共13B。发送信息时应往此区域中写入数据,而接收时则从此区域中读出数据。状态寄存器SR提供当前SJA1000 的总线状态、错误状态、发送状态、接收状态等,在编程时可充分利用这些状态信息进行相应的处理。报文发送程序简单,只要将发送的报文传送到发送缓冲器,再将命令寄存器中的“发送请求”标志置位即可。报文接收程序相对于报文发送程序要复杂一些,在处理接收的过程中要处理总线脱离、接收溢出等情况。

 


3 实验结果及结论
  本文设计思想已应用于实际的六并联UPS监控系统中,图6为六台UPS并联时,当上位节点发送数据请求命令,下位六节点回送数据。从CAN总线上的波形可看出CAN正常通讯。

 


  将基于独立的CAN控制器的CAN总线技术应用于基于DSP控制的并联UPS监控系统,实践证明是一种成功的应用,该并联UPS监控系统具有抗干扰性强、运行稳定、成本适中等特点。文中波形来自实际装置实验所测,该设计方法具有一定的实用和推广价值。


参考文献
[1]  邬宽明.CAN总线原理和应用系统设计[M]北京:北京航空航天大学出版社,1996.
[2]  SJA1000独立CAN 控制器[EB/OL]. 广州:http://www.zlgmcu.com.
[3]  SJA1000 独立的CAN 控制器应用指南[EB/OL]. 广州:http://www.zlgmcu.com.
[4]  邹继军,饶运涛.CAN总线系统智能节点设计[J]. 单片机与嵌入式系统应用,2001,(12):26-31.
[5]  廖传书,李崇. CAN总线控制器与DSP的接口 [J].电子技术应用, 2002,28(11):75-77.

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。