新闻  |   论坛  |   博客  |   在线研讨会
基于μC/OS-II嵌入式操作系统的TCSC实验控制器前置单元设计
tongxin | 2009-05-17 15:37:39    阅读:745   发布文章

         在复杂的实时系统中,多任务处理是比较关键的环节,采用前后台的单任务控制方式已经不能满足要求,在高速数据采集系统中RS232明显是个瓶颈。

         本文采用ARM处理器技术、嵌入式实时操作系统技术和通用串行总线(USB)技术来完成TCSC实验系统控制器前置单元的实际开发。 实验表明,实际系统数据采集速度与设计时预期的结果基本一致,印证了在实时性较强,多任务,需快速传输数据的复杂系统中,引入嵌入式操作系统μC/OS-II及USB传输方式的优势和必要性。

  可控串联补偿( TCSC) 是柔性交流输电系统( FACTS)概念提出后的第一个FACTS装置。 由于TCSC直接串入输电线路,可以连续、快速、大范围地调节线路阻抗(本身的阻抗从容性到感性变化) ,和其自身的数据采集与监控( SCADA)系统相配合,可以实现远方阻抗和功率潮流调节,平息地区性功率振荡,提高系统暂态稳定性,抑制次同步谐振。 本文通过一个在研项目――福建-华东电网互联的可控串补研究,详细介绍了可控串联补偿( TCSC)实验控制器的前置单元部分设计,以便于为实际决策提供完整、准确的实验数据。

  TCSC的稳态特性分析电路模型

  TCSC的基本结构是固定的串补电容C并联一个由双向晶闸管(实际也可把两个单向晶闸管并联反接在一起)控制的电抗L ,图1所示为稳态分析用的TCSC模型:

  它的运行模式有:

  1) 晶闸管截止。 TCSC等同于固定串联补偿。
  2) 晶闸管旁路。 在电流正或反方向流过VT时,双向晶闸管VT分别在180°范围内全导通,线路电流大部分通过L ,整个TCSC呈现小电抗特性。
  3) 容性微调模式。 VT导通角较小,整个TCSC的阻抗呈现大于C本身的容抗特性。
  4) 感性微调模式。 VT的导通角较大,整个TCSC的阻抗呈现感性电抗特性。

         通过其运行模式可以看出,控制双向晶闸管VT的导通角可以改变LC环路导通电流,从而可以连续快速调整TCSC阻抗值而达到其控制目的。

  实验控制系统由上位主机和前置控制单元组成,上位机主要负责系统分析,控制算法的确定。 前置单元实现高速数据采集,AD转换,与上位机快速传递数据及触发可控硅等多项功能。

  前置单元的需求分析

  前置单元的在整个TCSC实验控制系统中主要完成以下3项工作。

  和上位机的通讯

  前置单元通过USB接口和上位机通讯。 这个功能是其它两个功能的基础,要实现这一功能,需要设计设备端(前置单元)和主机端(上位机)的USB 软件,并定义上位机和前置单元间通讯的数据格式。

  数据采集

  前置单元要采集从电流(电压)传感器输入的三相电流和三相电压,共六路数据。当上位机需要三相电流电压数据时,就发送命令给前置单元要求其开始采集数据,并设定所需采样的周期数。前置单元收到命令后立即开始数据采集,并通过USB把采集的数据按约定的格式送给主机。要实现六路采样功能,前置单元必须具备采样保持器、多路选择器和AD转换器。

  数据采集的速度分析:因为上位机需要对电压电流信号进行高次谐波分析,所以数据采集的速度必须尽量快。S3C44B0X自带的AD最高采样频率为100 kSPS(10μs一次) ,加上其多路选择器的切换时间为15μs,实际的最快采样速度为25 μs一次。这里选择每0.2 ms对三相电压和三相电流各采样一次,即每33μs采样一个数据。这样每个周波可以采样100 次,可以分析到5~7次谐波。

  三相晶闸管的触发控制

  上位机计算出合适的晶闸管导通角并通过USB传给前置单元,前置单元使用此导通角发出晶闸管触发信号。要实现此功能,前置单元必须具有3路电压过零监测器和晶闸管触发电路,如图2所示。

 

  硬件设计

  前置单元硬件电路的核心部分采用51EDA和勤研公司联合研制的44B0X开发板。 该开发板使用SAMSUMG S3C44B0X处理器,并集成了其它外部设备,主要包括2 MB16 位数据宽度的线性Flash( SST39VF160) , 10M TCP / IP 接口(RTL8019 ) , USBDevice接口( Philip s PD IUSBD12) ,LCD接口, 7路ADC输入,两路标准RS232接口等等。此外,根据课题需要在设计中还自行扩展了过零检测电路,采样保持电路和可控硅触发电路。

  微处理器SAMSUNG S3C44B0X介绍

  这是一款基于ARM7TDM I内核的32位的高性能R ISC处理器。 支持16位Thumb和32位ARM双指令集,尤其是在使用16位Thumb指令集时仍然享受ARM处理器的32位的特性,如32位长的寄存器, 32位的寻址空间等,并且得到更高密度代码。 此外还集成很多外设,包括8通道ADC,外部存储器控制器, LCD控制器, 4通道DMA, 71个通用IO口,具有日历功能的RTC时钟, 5个PWM定时器,一个内部定时器和一个看门狗定时器,片内锁相环( PLL)时钟发生器(最高时钟频率66 MHz) , 2 通道异步串口,带有16 字节F IFO, IIC、IIS总线控制器等等。

  USB接口器件PD IUSBD12介绍

  这是Philip s公司推出的一款应用广泛的USB 接口器件,符合USB1.1规范,集成SIE, F IFO存储器,收发器以及电压调整器,可与任何外部微控制器或微处理器实现高速并行接口(2 MB / s) ,完全DMA操作,主端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输。

  电压过零检测电路

  电压过零检测电路由一个电桥,光电隔离及其它器件组成,共3组,两个74HC14反向门用来将电压整形为TTL电平,输入到微处理器S3C44B0X外部中断端,当电力线电压变为零时,光电隔离器中发光二极管截止,此时向中断端输出高电平脉冲引发中断。

  采样保持电路

  采样保持器共6 路,其中3 路测电压, 3 路测电流。采用LF398芯片,它有8个引脚, 1和4脚接电源,范围为( ±5 ~ ±18) V之间, 3脚为输入端,接电力线经变压后的电压或经电流互感器转化的电压, 2脚接1 kΩ电阻,用于调节漂移电压。7脚接参考电压, 8 脚接控制信号,控制芯片的采样保持状态。在这里通过S3C44B0X的通用I/O 引脚GPF0-5 分别控制6 路采样保持器的8脚。6脚外接保持电容,这里考虑到实时性的要求,因此选择较小的电容值,取C1 = 0.001μF,此时采样时间不超过10μs,同时可以满足8位的采样精度。

  晶闸管触发电路

  触发电路共3 组分别接A, B, C三相,如图3 所示,两个74LS04反向门用来增加驱动能力,输入端接44B0X的通用IO 口GPE4-6引脚。脉冲变压器N1 和N2一方面传递触发脉冲,另一方面对强弱电之间起到很好的隔离作用。CPU 发出触发脉冲信号之后,两个反向可控硅的触发端会同时有触发信号,但由于某一时刻加在两个可控硅上的电压只有一个满足导通条件,故只有一个可控硅会导通。

         软件设计

  前置单元的软件要完成和上位机通讯、AD 采样和晶闸管触发3项功能。 其中AD采样速率很高、晶闸管触发实时性很强,所以这两项功能必须采用硬件定时器来保证其实时性,因此设计使用中断服务程序( Interrup t Service Routine, ISR ) 来完成这两项功能。USB驱动程序由开发板附带,通讯的功能主要通过μC /OS-Ⅱ中的任务来完成(当然, USB 中断处理也是必不可少的)。USB 任务和各ISR 之间的通讯通过μC /OS-Ⅱ的同步机制(信号量、消息队列)和全局变量来完成。 所有软件均是在ARM公司自己的开发环境ADS下实现的,ADS1。2有自己的C, C + +语言编译器及库文件,有GU I界面的调试器AXD和命令行界面的调试器armsd以及GU I界面的编辑器Code WarriorIDE,这为开发人员提供了极大的便利。 调试工具用的是JTAG仿真器, JTAG仿真器通过JTAG边界扫描口与ARM CPU核通信,属于完全非插入式(即不使用片上资源)调试,它无需目标存储器,不占用目标系统的任何端口,是目前采用最多的一种调试方式。

  嵌入式实时操作系统μC /OS-II介绍

  对于复杂的应用,直接在裸机上开发运行的前后台系统开发、维护和扩展都很困难,嵌入式操作系统应运而生,其最大的特点就是处理多任务,而且在工控领域大多实时性要求较强,而μC /OS-II迎合了这些特点。μC /OS-II支持64个任务,每个任务的优先级必须是不同的,调度算法总是让处于就绪状态的最高优先级任务先执行, 并提供了信号量( Semaphore) 、邮箱(Mailbox)和消息队列(Message Queue)等多种通讯同步原语。每个任务都处在以下5种状态之一的状态下,这5种状态是休眠态(Dormant) ,就绪态(Ready) 、运行态(Running) 、挂起态(Waiting)和被中断态( Interrup ted)。μC /OS-II中全部系统调用的执行时间是可确定,其系统调用的执行时间不依赖于应用任务的多少,这也是其实时性的表现。

  中断服务程序( ISR)的设计

  AD采样和晶闸管触发这两项功能由中断服务程序( ISR)来完成。根据μC /OS-Ⅱ要求, ISR开始时需调用OSIntEnter ( )函数通知μC /OS-Ⅱ系统进入了ISR,ISR结束时需调用OSIntExit ( )函数通知μC /OS-Ⅱ进行进程调度。

  AD采样模块有3 个ISR,分别是: 定时器4 ISR(产生周期性的采样保持信号) ,定时器5 ISR (产生16μs的延迟,以符合S3C44B0X的多路选择器对切换时间的要求) ,AD ISR (读取AD采样结果,并进行相应的操作)。系统必须在两次Timer4中断之间完成6次AD采样工作。晶闸管触发模块有3组、每组2个ISR。每组的2个ISR分别为一个过零检测ISR和一个定时器ISR,共同控制一相的晶闸管触发。

  μC /OS-II任务设计

  前置单元通过PD IUSBD12 的Endpoint1 ( PacketSize = 16 B )接受上位机的命令,返回命令的执行状态,通过PD IUSBD12的Endpoint2 ( Packet Size = 64 B)返回AD 采样的结果。 这通过两个函数TaskUsbEp1RxDone和TaskUsbEp2SendData 可以实现, 同时通过TaskUsbSetupPacket函数来处理主机发来的请求。我们设置PD IUSBD12 的Endpoint1 ( Generic Endpoint) 工作在Interrup t 模式, Endpoint2 (Main Endpoint)工作在Bulk模式,则:

  1) TaskUsbEp1RxDone

  TaskUsbEp1RxDone为前置机接受上位机采样或置触发角的任务,其工作流程下所示。

  先用OSSemPend ( )等待上位机发送命令,若上位机发来的COMM_START_AD命令,则:

  若TOTAL _ SAMPLE _ TIMES! = 0, 则通过Endpoint1返回错误信息给上位机,否则置AD_BUFF_P =0, TOTAL _ SAMPLE _ TIMES =所需采样的周期数×100,开启Timer4 (采样保持定时器) ,通过Endpoint1返回成功信息给上位机。

 

  若上位机发来的是COMM _SET_ANGLE命令则设置相应的X_ANGLE变量,能过Endpoint1返回成功信息给上位机。

  2) TaskUsbEp2SendData

  TaskUsbEp2SendData任务的工作次序为先等待AD ISR发送要求传送数据的消息,消息发出后,在等待上次USB传送结束,再通过Endpoint2发送缓冲区中的数据。

  3) TaskUsbSetupPacket

  TaskUsbSetupPacket任务工作次序为先等待SetupPacket事件,事件发生后再调用UsbControlHandler( )函数处理主机的请求。

  软件整体结构

  整体软件结构框图如图4所示(图中矩形框代表中断服务程序ISR,椭圆代表μC /OS-Ⅱ任务虚线框代表μC /OS-Ⅱ信号量或消息队列)。

  结 论

  实验结果表明,实际系统数据采集速度与设计时预期的结果基本一致,印证了现阶段结合数据采集、AD转换、数据传输及其它功能模块如过零检测、触发可控硅等诸多任务于一体的复杂系统,必须有功能强大的硬件资源平台做支撑;在多任务、实时性较强的场合,嵌入式实时操作系统是必不可少的;在数据传输方面,USB在速度方面的优势比传统的RS232更能满足TCSC实时控制的要求。

 

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
最近文章
寂寞如雪
2009-05-19 19:01:18
夜色花
2009-05-19 18:56:22
没有爱可以重来
2009-05-19 18:54:59
推荐文章
最近访客