DIY编程器网

标题: 基于CAN的电源控制系统设计 [打印本页]

作者: liyf    时间: 2014-10-5 12:25
标题: 基于CAN的电源控制系统设计
基于CAN的电源控制系统设计

摘 要:介绍了基于CAN的集散式电源控制系统中通信的实现,对其软硬件的设计,调试关键处及其实现的具体功能进行了说明。
关键词:CAN总线;TMS320LF2407;集散式电源控制系统;通信
  CAN总线是一种能有效支持分布式控制系统的串行通信网络,一方面,其通信方式灵活,可实现多主方式工作,还可实现点对点、点对多点等多种数据收发方式;另一方面,他能在相对较大的距离间进行较高位速率的数据通信,例如在3.3 km的距离内其传输速率可达20 kb/s。我们的系统是由上位机对多台并列的单电源控制系统进行控制管理,单电源的间距在100 m左右,且其必须置于较高的位置,系统之间要进行快速的数据传输,CAN总线能很好的满足该系统的要求。
1 系统总体结构
   图1是该集散电源控制系统的结构示意图。  

其中:CAN0节点是上位机。

  本系统用的是C51单片机,外接CAN控制器SJA1000,他对下面多台下位机传送控制定值,并且在收集下位机送来数据后对其进行分析计算以改变定值。节点CAN1~CAN31(最多可有31台)为各单电源的控制部分,我们采用的是TI公司的TMS320LF2407芯片做主控,其上集成有CAN控制器模块。
2 LF2407及其集成CAN控制模块介绍
  LF2407是TI公司推出的定点DSP处理器,他采用高性能静态CMOS技术,供电电压为3.3 V,指令周期可达25 ns,其上集成了包括CAN控制器在内的多个外围模块及存储器,适用于电机及逆变电路的控制。
  CAN控制器模块是集成于LF2407中的一个16位外设模块。该模块具有以下特性:
  (1)支持CAN2.0B协议,支持标准标识符(11位)及扩展标识符(29位),支持数据帧与远程帧。
  (2)配置有6个邮箱,2个接收(0,1号),2个发送(4,5号),2个可配置(3,4号);每个邮箱数据长度为8 B。接收邮箱可进行标识符屏蔽。当标识符位被屏蔽时,在接收数据帧时无须对该位标识符进行校验。
  (3)具有可编程的位定时器、中断服务和CAN总线唤醒功能。
  (4)能自动回复远程请求,当发送错误或数据丢失时,有自动重发功能。  每个邮箱寄存器包含7个字的信息,与各功能模块控制寄存器相类似,LF2407为其分配了固定的数据存储器地址,例如邮箱0,其寄存器分配如下:
  
  MBX0A~D(4个字的存储空间)地址:7204~7207其中:标识符(按29位设置)在MSGIDnH的后13位和MSGIDnL中。
3 硬件电路设计及调试
  在设计LF2407的CAN通信电路时应注意一个问题,即2407的供电电压为3.3 V,其CAN控制模块输出的高电平也只有3.3 V,与CAN驱动器PCA80C250电平(5 V)不兼容,在设计电路时加隔离光耦时要加以注意。图2所示为下位机侧的CAN通信原理图。  


  由于TX的输出光耦采用的是射极输出方式,我们的输出光耦应采用6N136(137由于其结构原因不能满足要求),图3是我们进行数据发送时测试得到的R42两端的电压波形(输出10101010…)  


  由我们对CAN通信控制器的位配置寄存器BCR1的设置可知,每一位数据所占的时间段中,我们的采样点在70%的时间点,在这一点的输出电压必须在额定高低电平的设定值范围内。我们选定R42=5 kΩ,得到以上波形,满足采样点处高电平≥3.5 V,低电平≤1.5 V。

4 通信协议及软件实现
   在系统中,上位机给下位机发送运行定值以及起停信号,并且会定时查询各单机的运行状况以对其状态进行相应的调整。
具体通信过程分为2类:
  (1)上位机向下位机传送操作命令及定值,上位机发送的是数据帧。
  上位机发送完数据帧后,若下位机收到该数据帧则向上位机发送确认帧,该数据帧发送结束。若发送失败,上位机在等待一段时间后未接收到确认帧,则自动重发该数据帧。
  (2)上位机对下位机的运行状态及各种记录定值进行查询,上位机发送的是远程帧。
  远程帧中只包含有数据类型而没有数据内容,下位机接到远程帧后,根据上位机要求的数据类型向上位机传送数据。同时等待上位机的确认帧。若未接收到确认帧则定时重发。
  在该系统中,以标准帧进行通信,即采用11位的标识符。其各位的定义如下:
  ID0~ID4:节点标识,5位的节点标识可使网络能容纳32个节点。
  ID5~ID7:数据类型,需要传送的数据种类比较多,上传的数据帧规定了7种类型(包括确认帧),与此对应下传的远程帧有6种类型,而下传的数据帧则有6种类型。需要至少3位标识符来确定数据类型。

  ID8~ID10:帧计数,数据量最大的数据类型包含有17字的数据,而每帧最多能传4字,故该类型数据至少需要5帧才能传完。需对数据帧进行计数以对传送数据具体类型进行确定,故至少需要3位标识符来进行确定帧计数。
  由于LF2407有专门的CAN模块中断,且在CAN控制模块中设计了专门的CAN中断标志及屏蔽寄存器,可以十分方便地采用中断的方式来启动CAN控制器进行数据的接收与发送。
  在进行CAN控制器的设置时,需要先对改变数据请求位CCR进行使能,并在改变后进行复原。值得注意的是,TMS320LF2407中有很多寄存器位是需要通过写“1”来实现清“0”的,还有些位是只能读不能用程序直接改写的,例如:对邮箱中断(包括接收和发送)的标志位MIFn(0~5),在进入中断响应后应将其清除,但该位是只读位,用户程序只有写1到TCR寄存器的TAn位(对发送邮箱)和写1到RCR寄存器的RMPn位(对接受邮箱)才可达到清位目的。
5 实现的功能
    通过该通信系统实现的功能包括:定值传送(从上位机传到下位机的数据帧):
    (1)对时:具体到时分秒的数据。
  (2)运行定值的传输:包括闪络参数(闪络系数KSP,给定火花率SPARK_NUM)、充电参数(给定峰值Up,上升率RISE-NUM,充电时限Ton-max)、放电参数(平均电压Vg,平均电流Ig,放电时间极限Toff-max)。
  (3)保护定值:包括开路参数(电压,电流,延时)、短路参数(电压,电流,延时)、欠压电压、延时、过载电流、偏励磁、IGBT温度、油温等。
  (4)通道参数:包括一次电流、输出电压电流、IGBT温度、油温、输入电流(三相)、直流电压。
  运行定值查询(上位机发出远程帧):包括系统状态、故障记录、运行定值、保护定值、通道系数等。
6 结 语
  本系统已经过调试,在我们初制成的单对单系统(上位机带1台控制系统)中,能抗除强干扰,在较大传输数据量的情况下正常工作。  

参考文献
[1] 刘和平.TMS320LF240xDSP结构原理及应用[M].北京:航空航天大学出版社,2002.
[2] 邬宽明.CAN总线原理和应用系统设计[M].北京:航空航天大学出版社,1996. 2001.
作者: 李小路    时间: 2021-6-30 15:57
谢谢分享!




欢迎光临 DIY编程器网 (http://diybcq.com./) Powered by Discuz! X3.2