微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > TTCAN在风力发电控制系统中的应用

TTCAN在风力发电控制系统中的应用

时间:03-10 来源:互联网 点击:

1 引言

  近几年,风力发电产业开始进入一个高速增长期[1],而随着风电的火热,风力发电控制技术也得到了快速的发展。本文所设计的风力发电控制系统采用模块化设计,应用于1兆瓦风力发电控制。设计包括了主控制器模块、i/o模块、电网测量模块和变桨驱动模块,各模块间通过can总线连接进行通讯。

  由于传统的can网络没有统一的全局时钟,本质上是以事件触发为基础的总线系统,会经常存在总线时序混乱、报文发送冲突导致发送延迟等弊端,影响系统的实时性[2]。尽管事件触发can在报文发送失败后提供自动重发功能,但是发送的延时会导致报文帧发送的确切时间难以预料,从而导致can网络报文发送周期的抖动。所以报文发送时倘若发生传输错误,报文的重传会加重can总线的负担,很可能造成某报文帧因重传的延时而错过其有效时间[3],实时性大打折扣。而采用时间触发的ttcan协议,保证任何时候总线上只有一条信息传输,能有效地避免冲突造成的总线仲裁,避免报文重传,在具有较多节点且通讯量较大的can总线通讯中,能更好地控制通讯周期,提高系统的实时性。本论文设计采用基于ttcan的can总线通信方式来实现分布式风力发电控制系统各模块间的数据通信。同时结合冗余措施,旨在提高控制系统的实时性和可靠性。

2 系统结构

  图1为本控制系统总体结构图,系统包括cpu模块、变桨伺服卡模块、3个i/o模块和电网测量模块一共6个模块节点。系统选用infineon公司xc164cs单片机来完成总线架构。xc164cs所具有的twincan模块包括两个全功能can节点,与外扩can芯片相比在保证速度和稳定性的同时也为软件编程提供了方便。两个全can节点中的每一个都能接收和发送带11位标识符的标准帧和带29位标识符的扩展帧。两个can节点共享twincan模块的资源,目的是优化can总线通信处理以及使cpu负荷最小[4]。全can功能与fifo结构的灵活组合可满足复杂嵌入式系统的实时要求。同时它具备禁止重发功能,所以利用各个模块xc164cs单片机的twincan模块可以很方便地组建控制系统各模块间双冗余的ttcan通信网络。

图1 风力发电控制器系统总体框图


3 ttcan原理与实现

  ttcan是在传统can的基础上融入时间触发机制,任何动作都是由一个时间(全局同步)系列决定的[5],它将通讯周期分割成若干时间片,同时分配给各个节点,形成一个调度时刻表,总线上各个节点严格遵照该时刻表在各自的时间片中进行can数据收发[6],如图2所示,当系统时钟到达3ms和6ms时,发送报文a;到达5ms和9ms时,分别接收报文b和发送报文c。网络内所有的报文活动都安排在一个这样的周期性的时刻表内,得到了系统信息阵,来控制所有节点正常有序的进行通讯。从而保证任何时刻总线上只有一条数据传输,避免总线仲裁,确保了系统实时性,所以ttcan的设计实际上是制定能满足系统控制周期的can节点调度时刻表[7]。

图2 ttcan时刻调度表

在ttcan网络中,节点的同步是靠所谓的参照报文维持的,如图3,它由一个特殊的节点定期发送,这就是时间主机(主节点)。参照报文也是一个can数据帧,其特征在于它的标识符。有效的参照报文同时被所有节点识别。两个参照报文之间的时间构成了can传输的基本周期,基本周期又由很多时间窗组成,在每个时间窗中可进行特定的报文操作[8]。每一个有效参照报文启动了一个新的基本循环,并且引起了每一个节点的循环时间复位,于是另一个基本循环重新开始,也就是说,ttcan的时间触发通信是基于参照报文的周期通信[9]。

图3 ttcan基本循环

  针对1mw风力发电控制系统,系统包括包含cpu模块在内的6个节点,对每个节点进行编号,在一个通讯周期中,每个节点报文收发都有其具体执行的时刻,各节点严格按照该时刻表进行调度执行相关操作,从而确保cpu模块与系统其他各节点之间快速顺畅地进行can通讯。

  而在1mw风力发电控制系统can通讯中,系统各节点报文在一个基本周期内收发所用时刻表参照图4。

图4 1mw can通讯调度时刻

每次通讯周期控制在20ms,也就是说每个基本循环的周期为20ms,其中节点0对应cpu模块,节点1对应变桨伺服卡,节点2对应i/o模块1,节点3对应i/o模块2,节点4对应i/o模块3,节点5对应电网测量模块,在一个通讯周期中,每个节点报文收发都有其具体执行的时刻,各节点严格按照该时刻表进行调度执行相关操作。如图6,cpu模块在每个查询周期最后会向总线上各节点广播一个时钟同步数据帧,通知各从节点复位计数,为下一个周期做时钟同步。总线上的每个从节点只有当收到这个时钟同步帧时,才会重新将它的时间计

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top