基于CPLD与μC/OS -Ⅱ的断路器智能控制单元设计

发布者:平和心态最新更新时间:2011-03-31 来源: elecfans关键字:CPLD  μCOS-Ⅱ  断路器智能控制 手机看文章 扫描二维码
随时随地手机看文章
    本文介绍的智能控制单元采用数字信号处理器(DSP)及嵌入式实时操作系统完成各种数据的处理、通信和算法的设计,而状态量的采集和执行信号输出将由复杂可编程逻辑器(CPLD)完成,主要是基于CPLD内部硬件电路结构的可靠性和对状态采集的实时性,该系统可以满足系统控制实时性及可靠性的要求。

  硬件设计

  TMS320F2812DSP介绍

  TMS320F2812DSP是德州仪器公司(TI)推出的32位高性能数字信号处理器,它具有峰值运行每秒150万条指令(MIPS)的处理速度和单周期完成32×32位MAC运算功能,同时它还具有128k×16的片上Flash,18k×16的片上RAM以及大量的片上外设,包括A/D转换模块、2个事件管理器(EVA和EVB),CAN总线控制器、2个串行通信接口模块(SCIA和SCIB)、串行外设接口模块(SPI)、多功能串行接口(McBSP)及56个通用I/O口。该DSP以高效的32位定点CPUTMS320C28xTM为核心处理器,其开发既可使用C28x汇编也可使用ANSIC/C++语言。此外TI公司还提供有虚拟浮点数学函数库(IQ数学函数库)、快速傅里叶变换(FFT)算法函数库、滤波器库等,这些函数库可显著简化应用系统开发。

  TMS320F2812强大的功能使其能满足嵌入式智能控制单元的设计要求。

  系统硬件设计

  智能控制单元主要完成的任务包括:处理主控模块控制命令、监测母线电力参数、温度采集、保护控制算法的实现、检测开关量的状态、开关量的输出控制及与监控中心的通信等。为了实现上述功能,并充分利用DSP TMS320F2812强大的外设功能及嵌入式操作系统的优点,DSP主要完成模拟量采集、数据处理、算法实现、温度采集、通信及命令处理。同时为了状态的快速检测和输出执行信号的可靠性,将由CPLD完成状态量的监测、与DSP的通信、状态信号的输出及外部高电压电路的控制。系统结构如图1所示。系统硬件的设计包括各调理电路、CAN总线通信驱动、RS-232总线驱动和RS-485总线驱动及CPLD内部电路的设计。

   

 

  图1 智能控制单元系统结构图

  调理电路设计

  调理电路包括交流电压采集调理电路、开关量采集调理电路、开关量控制驱动电路。交流电压信号的采集使用F2812 内置12位A/D转换模块,该模块本身具有采样保持电路且要求输入电压的范围为0~3V,因此设计了由电压互感器、电流电压转换电路和RC滤波构成隔离电路和由放大、电压抬升、电压跟随器及限幅组成的调理电路,可将220V/50Hz的电压信号转换成0~3V的电压信号。

  开关量的采集采用CPLD实现。由于开关量经常出现抖动问题,因此其调理电路需采取措施去除开关抖动。在其调理电路中,采用电容C滤除输入信号中的尖峰电压(主要针对高频干扰),12V的稳压二极管滤除干扰信号(主要针对低频干扰),光电耦合器是为了防止外部信号影响内部电路的工作;二极管VD用于保护光耦中的发光二级管以免发光二极管被反向击穿开关量控制信号经CPLD的I/O管脚输出。输出信号经过光耦器件TLP127驱动外部的高电压器件动作。

  由于该智能控制单元主要是控制断路器的关合,而断路器的关合过程中会产生强的电磁效应,如果直接由DSP的GPIO管脚驱动,外部电磁干扰有可能使DSP的程序跑飞或使DSP复位,严重影响执行后果,所以系统中开关量的输入/输出均由CPLD完成,其可靠程度将加强。

  通信模块

  F2812具有增强型CAN控制器eCAN模块,其完全支持CAN2.0B协议,性能较之已有的DSP内嵌CAN控制器有较大的提高,在CAN总线通信时,数据传输更加灵活方便,数据量更大、可靠性更高、功能更加完备,因此本设计采用CAN总线实现智能终端的通信。通信模块的硬件设计主要是CAN总线驱动电路的设计,选用飞利浦公司的CAN通信收发器PCA82C250作为F2812的CAN控制器和物理总线间接口,以实现对总线的差动发送和接收功能。为防止干扰信号的引入,设计中采用高速光耦6N137对F2812及物理总线隔离。RS-232的驱动芯片直接选用MAX232驱动芯片,而RS-485的驱动芯片采用SNLBC184,同时为了防止干扰信号进入,设计中采用光耦TLP521对F2812和RS-232及RS-485总线驱动芯片隔离。

  CPLD模块设计

  在该智能控制单元中,CPLD是一个重要的组成部分,由CPLD组成的状态采集及输出执行系统可以独立工作,主要是控制断路器的异步关合,接受各种输入的按键操作和状态的输入/输出。同步控制时,CPLD接收DSP传送的动作命令,即可以执行同步关合操作,同时,当状态发生变化时,CPLD将发出中断信号,由DSP读取状态并且作出相应的处理或传送给监控中心。CPLD的输入信号主要有异步的关、合、复位输入,断路器的位置信号、开关小车的位置信号、失压跳闸、过流跳闸、系统电压信号等。其信息输出模块的功能主要是显示断路器是否具备可以操动的条件、断路器的合/分闸状态、断路器的动作执行情况、输出控制断路器动作命令等。CPLD的控制框图如图2所示。CPLD作为一个单独的控制执行机构,通过编写相应的VHDL代码,即可以生成相应的操作电路,包括对各种输入信号的锁存、判断和处理,以及对各种命令信号的执行,对输出信号的控制。

  软件设计

  软件设计包括系统软件设计和应用软件设计。

  

  图2 CPLD的控制框图

  系统软件设计的主要任务是实现μC/OS-Ⅱ在F2812上的移植;应用软件设计的主要任务是系统功能的实现。

  系统软件设计

  μC/OS -Ⅱ简介

  本设计系统软件采用源代码公开实时操作系统μC/OS-Ⅱ,它是一个基于优先级的、可移植、可固化、可裁剪、占先式实时操作系统,其绝大部分源码是用ANSIC写的。

  μC/OS-Ⅱ在F2812上的移植要使用μC/OS-Ⅱ,首先要把内核成功移植到所使用的CPU上。μC/OS-Ⅱ在F2812上的移植工作包括4个内容。

  a.在OS_CPU.H中定义与处理器相关的常量、宏及数据类型。例如关中断和开中断的定义分别为#defineOS_ENTER_CRITICAL()asm“DINT”及#defineOS_EXIT_CRITICAL()asm“EINT”。

  b.调整和修改头文件OS_CFG.H,以裁减或修改μC/OS-Ⅱ的系统服务,减少资源损耗。例如,

  #defineOS_MBOX_EN0即禁止使用邮箱相关的代码。

  c.编写C语言文件OS_CPU.C。由于本设计中未用到其他几个函数,因此这里主要完成函数OSTaskStkInit()的编写。OSTaskStkInit()用来初始化任务的堆栈结构,使其看起来象刚发生过中断并将所有的寄存器保存到堆栈的情形一样。

  d.编写汇编语言文件OS_CPU.ASM。本文件包括4个子函数程序:OSStartHighRdy()(运行最高优先级任务),OSCtxSw()(任务级的任务切换),OSIntCtxSw()(中断级的任务切换)和OSTickISR()(μC/OS-Ⅱ时间节拍中断函数),这是μC/OS-Ⅱ移植中的重点和难点,这几个函数的合理实现,是保证μC/OS-Ⅱ运行的基础。

  上述工作完成后,μC/OS-Ⅱ就可以运行了。

  应用软件设计

  根据智能控制单元的功能要求,将系统分为交流电压采集模块、数据处理模块、断路器动作时间预测模块、通信模块、以及与CPLD的接口模块共11个任务和3个中断来实现,每个任务根据其实时性的要求并参照单调执行率调度法RMS分配一定的优先级、任务及中断的定义,如表1所示。

  

  优先级最高的是开始任务(TaskStart),这是系统启动后运行的第1个任务。在该任务中要完成系统及相关外设的初始化,并进行必要的自检测,然后创建其余的各个任务。在完成其余各个任务创建之后,该任务要删除自己,把系统资源让给其他任务,整个系统开始正常运行。该任务的示意代码如下:

  /*系统及外设初始化*/

  /*系统自检测*/

  /*创建各个任务*/

  StartCpuTimer2();/*启动时间片*/

  OSStatInit();/*统计任务初始化*/

  创建智能控制单元的各个应用任务;

  KickDog();/*WatchDog复位*/

  OSTaskdel(OS_PRIO_SELF);/*删除开始任务*/

  除了TaskStart()之外,其余各任务模块的结构都是无限循环体,图3给出了一般任务流程图。

  

  图3 任务流程图

  任务通信与同步

  μC/OS-Ⅱ提供了5种用于数据共享和任务通信的方法:信号量、邮箱、消息队列、事件标志及互斥型信号量。信号量可以控制共享资源的使用权,也可以协调外部事件与任务的执行,提供了任务间通信、同步和互斥的最快通信,μC/OS-Ⅱ提供了3种类型的信号量,即二进制型、计数型和互斥型。事件标志可使任务与多个事件同步,若与多个事件的任何一个同步,称为独立型同步;若与多个事件都同步,称之为关联型同步。邮箱是一种通信机制,它可以发送一个指针型的变量,该指针指向一个包含了特定消息的数据结构。消息队列是另一种通信机制,它可以使一个任务或中断服务子程序向另一个任务发送以指针定义的变量,具体应用不同,每个指针指向的数据结构也不同。互斥型信号量是一种特殊的二进制型信号量,主要用于解决内在的互斥问题,减少实际应用中所必需的优先级翻转。在设计智能控制单元软件时,充分利用了μC/OS-Ⅱ提供的这些通信机制,以协调各独立任务的运行。

  通信协议的实现

  F2812提供了标准的CAN2.0B总线协议,而此协议是一种物理层协议,因为该智能控制单元用于电力系统控制中,电力系统通用的应用层协议主要有CDT,MODBUS,DNP3.0等,在本设计的过程中应用层的协议将采用MODBUS协议,通信协议的实现比较复杂,但是由于采用了实时操作系统,通信协议的实现可以由操作系统统一管理,主要由数据的接收、发送、打包、解包任务完成。

  总结

  a.设计中使用具有多外设的新型高性能DSPTMS320F2812芯片,大大减少了系统硬件设计的工作量,缩短了开发周期。设计中采用了DSP最小系统与调理电路分开设计的方法,并且在DSP最小系统设计中采用多层板结构,并大量使用了贴片元件,以提高系统的稳定性及电磁兼容性。

  b.作为基于优先级调度的嵌入式操作系统, 任务优先级的合理分配对系统的正常运行至关重要。在本设计中,对任务优先级的分配首先考虑是满足系统实时性,其次在同等条件下再考虑任务的执行频度,通过反复调整,最终确定优先级的分配表1。

  c.本课题利用了基于CPLD的执行电路设计,由于CPLD的内部硬件结构的可靠性及快速的反应,非常适合电力系统控制,因此采用全CPLD(或ACTELFPGA)应是一个研究方向。

  d.F2812作为TI公司推出的2000系列的新成员,目前在国内的开发和设计还处于摸索阶段,本文中所提出的基于TMS320F2812+μC/OS-Ⅱ的系统设计思想会对F2812的学习和使用起到一定的促进作用。

关键字:CPLD  μCOS-Ⅱ  断路器智能控制 引用地址:基于CPLD与μC/OS -Ⅱ的断路器智能控制单元设计

上一篇:DSP芯片(TMS320C6711D)的Flash存储器(AM29LV400B)的在线编程方式
下一篇:基于DSP 的无位置传感器的直流无刷电机控制系统

推荐阅读最新更新时间:2024-05-02 21:20

基于单片机的 复杂可编程逻辑器件快速配置方法
摘要:介绍基于SRAM的可重配置CPLD的原理,通过对多种串行配置的比较,提出了由单片机和FLASH存储器组成的串行配置方式,并从系统复杂度、可靠性和经济性等方面进行了比较和分析。 关键词:复杂可编程逻辑器件 静态随机存储器 被动串行 基于SRAM(静态随机存储器)的可重配置PLD(可编程逻辑器件)的出现,为系统设计者动态改变运行电路中PLD的逻辑功能创造了条件。PLD使用SRAM单元来保存配置数据。这些配置数据决定了PLD内部的互连关系和逻辑功能,改变这些数据,也就改变了器件的逻辑功能。由于SRAM的数据是易失的,因此这些数据必须保存在PLD器件以外的EPROM、EEPROM或FLASH ROM等非易失存储器内,以便使系统在适当的
[半导体设计/制造]
采用CPLD与μC/OS -Ⅱ的断路器智能控制单元设计
   本文介绍的智能控制单元采用数字信号处理器(DSP)及嵌入式实时操作系统完成各种数据的处理、通信和算法的设计,而状态量的采集和执行信号输出将由复杂可编程逻辑器(CPLD)完成,主要是基于CPLD内部硬件电路结构的可靠性和对状态采集的实时性,该系统可以满足系统控制实时性及可靠性的要求。   硬件设计    TMS320F2812 DSP介绍   TMS320F2812DSP是 德州仪器 公司(TI)推出的32位高性能数字信号处理器,它具有峰值运行每秒150万条指令(MIPS)的处理速度和单周期完成32×32位MAC运算功能,同时它还具有128k×16的片上Flash,18k×16的片上RAM以及大量的片上外设,包括
[单片机]
采用<font color='red'>CPLD</font>与μC/OS -Ⅱ的<font color='red'>断路器</font><font color='red'>智能控制</font>单元设计
FPGA与CPLD的辨别和分类
    FPGA与CPLD的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:     将以乘积项结构方式构成逻辑行为的器件称为CPLD,如Lattice的ispLSI系列、Xilinx的XC9500系列、Altera的MAX7000S系列和Lattice(原Vantis)的Mach系列等。      将以查表法结构方式构成逻辑行为的器件称为FPGA,如Xilinx的SPARTAN系列、Altera的FLEX10K或ACEX1K系列等。     尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点: ①CPLD更适合完成各种算法和组合逻辑,FP GA更适
[嵌入式]
基于μC/OS-Ⅱ的数据采集系统设计与应用
1引言 随着科学技术的不断发展,人们对数据采集的性能指标要求越来越高,传统的数据采集方式已经不能满足需要。通用串行总线因 (USB)具有传输速度快、即插即用、易于扩展、占用系统资源少等优点;嵌入式实时操作系统 (RTOS)中的 ?C/OS-Ⅱ则具有代码效率高、占用空间小、良好的实时性和可靠性等特点。本文将二者与传统的数据采集技术相结合,设计实现了一种基于 USB通信和 ?C/OS-Ⅱ的集数据采集、分析、显示为一体的数据采集系统。 2 系统体系结构 基于 USB通信的数据采集系统的体系结构如图 1所示。系统的工作过程就是一个数据采集的过程,其中的每一步都需要不同组的支持。首先,温度和压力参数经传感器转换成模拟信号,模拟
[测试测量]
基于CPLD的双口模块设计
    摘要:文章介绍了设计Multibus双口模块的方法。通过采用CPLD技术来实现模块内部逻辑,简化了模块的逻辑电路设计,提高了整个模块的稳定性和可靠性。达到了优化传统Multibus总线模块采用逻辑门电路和触发器来实现内部逻辑的目的。 关键词:Multibus总线;复杂可编程逻辑器件;双口RAM 0 引言     Multibus总线自1974年INTEL公司推出以来,以其自身支持集中式并行多处理、可靠性、抗干扰能力强等特点被广泛应用于工业控制领域和国防建设领域。但随着电子计算机技术的飞速发展,电子器件自身工艺、信号完整性等各方面不断提高,早期设计的Multibus总线模块通过逻辑门电路和触发器来实现内部逻辑的方法显然已经不
[嵌入式]
利用可编程逻辑器件实现灵活的电源管理
  电源管理一般是指涉及 电路板 供电方面的相关问题。该相关问题包含:   •选择各种DC-DC转换器为电路板供电   •电源供应排序/追踪   •电压监测   •上述全部   在本文中,电源管理被简单定义为:对电路板上的所有电源进行管理(包括DC-DC转换器及LDO等)。电源管理功能包含:   •管理电路板上DC-DC控制器——例如热插拔、缓启动、排序、追踪、裕度和微调。   •产生所有电源供应相关状态和控制逻辑讯号——例如重置讯号产生、电源错误指示(监测)和电压管理。图1展示了一个采用CPU或微处理器电路板的典型电源管理功能。    图1:电路板上的典型电源管理功能。   热插拔/缓启动控制功能可用来限制突波电流以减少供应
[电源管理]
利用<font color='red'>可编程逻辑器件</font>实现灵活的电源管理
基于ARM和CPLD的嵌入式视觉系统设计
目前,关于视觉系统的研究已经成为热点,也有开发出的系统可供参考。但这些系统大多是基于PC机的,由于算法和硬件结构的复杂性而使其在小型嵌入式系统中的应用受到了限制。上述系统将图像数据采集后,视觉处理算法是在PC机上实现的。随着嵌入式微处理器技术的进步,32位ARM处理器系统拥有很高的运算速度和很强的信号处理能力,可以作为视觉系统的处理器,代替PC机来实现简单的视觉处理算法。下面介绍一种基于ARM和CPLD的嵌入式视觉系统,希望能分享嵌入式视觉开发过程中的一些经验。 1 系统方案与原理 在嵌入式视觉的设计中,目前主流的有以下2种方案: 方案1图像传感器+微处理器(ARM或DSP)+SRAM 方案2图像传感器+CPLD/
[单片机]
基于ARM和<font color='red'>CPLD</font>的嵌入式视觉系统设计
CPLD实现FIR数字滤波器的设计
    摘 要: 介绍了一种利用ALTERA公司的复杂可编程逻辑器件(CPLD)快速卷积法实现数字滤波器的设计。     关键词: CPLD 数字滤波器 信号处理     当前,无论在军事还是民用方面,对于数字信号处理的实时性、快速性的要求越来越高。可编程逻辑器件(PLD)由于在速度和集成度的飞速提高,越来越多的电子系统采用可编程逻辑器件来实现数字滤波。     Altera公司的FLEX10K是工业界第一个嵌入式的PLD,具有高密度、低成本、低功率等优点。器件的主要结构特点是除主要的逻辑阵列块(LAB)之外,首次采用了嵌入阵列块(EAB)。每个阵列块包含8个逻辑单元(LE)和一个局部互连。一
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved