DSP/BIOS在电能质量监测终端中的应用

发布者:uioo9158最新更新时间:2012-07-17 来源: 21ic 关键字:DSP  BIOS  电能质量  监测终端 手机看文章 扫描二维码
随时随地手机看文章

  DSP(数字信号处理器)在现今的工程应用中使用越来越频繁。其原因主要有三点:第一,它具有强大的运算能力,能够胜任FFT、数字滤波等各种数字信号处理算法;第二,各大DSP厂商都为自己的产品设计了相关的IDE(集成开发环境),使得DSP应用程序的开发如虎添翼;第三,具有高性价比,相对于它强大的性能,不高的价格有着绝对的竞争力。

  TI为本公司的DSP设计了集成可视化开发环境CCS(Code Composer Studio),而DSP/BIOS是CCS的重要组成部分。它实质上是一种基于TMS320系列DSP平台的实时操作系统内核,也是TI公司实时软件技术——eXpress DSP技术的核心部分。DSP/BIOS主要包含三方面的内容:多线程内核、实时分析工具、外设配置库。

  1 系统功能需求

  电能质量监测终端主要功能是对电网(三相电压、电流)的电能质量进行实时监测与分析。其主要监测量有:电压、电流有效值,有功、无功功率,电压频率,三相不平衡,各次谐波电压、电流含有率,功率因素,相移功率因素,电压波动,长时间、短时间闪变。

  系统选用TI公司的高性能DSP芯片TMS320

F2812作为处理核心,其150 MIPS的处理速度足以满足本系统的实时性要求。按照系统需求,将本系统分成以下功能模块:引导自检模块、采集任务执行模块、电能质量数据预处理模块、电能质量分析运算模块、数据存储模块、通信模块、人机交互模块。按照传统的编程方式,这些功能模块将以顺序结构形式组织在一起,各模块之间的调用和切换都由各模块自身的代码来完成,使得应用程序各模块之间处于一种耦合状态。如果要添加新的功能模块或者修改已有的功能模块,不但要修改与之相关模块的调用代码,而且新增模块也会明显影响到原有系统的时间响应特性,使得升级、维护起来相当麻烦。DSP/BIOS的出现提供了另外一种组织应用程序各功能模块的机制。它将各功能模块作为任务线程来看待,通过可配置的内核服务使各任务线程在系统调度器的安排下按照优先级的高低分时复用CPU资源,各个任务线程之间通过同步、通信、数据交换等进行协调。这种机制使得应用程序可维护性提高,并且提供了更方便、更高级的谪试手段。根据以上特点,本系统采用DSP/BIOS作为实时内核,并以此为基础对整个系统进行设计。

系统在DSP

  2 基于DSP/BIOS的软件设计

  2.1 执行线程规划

  系统的实时运行中,一些功能函数由外部控制信号驱动或者按既定周期运行,所以,函数的驱动方式和执行周期对实时系统非常重要。DSP/BIOS支持多线程应用,线程可以定义为不同的优先级。高优先级线程可以中断低优先级的线程,而且不同的线程之间可以实现交互,比如阻塞、通信和同步,线程分为以下4种类型(优先级由高到低):硬件中断(HWI)、软件中断(SWI)、任务(TSK)、后台线程(IDL)。按照电能质量监测终端系统的功能需求,将系统各子功能模块分为以上4种类型线程。

  首先,安排硬件中断线程(HWI)。一般情况下,系统的主要程序代码放在软件中断或任务中;但是,与外部设备密切相关、实时性要求很高的功能模块程序代码必须放置在硬件中断中。本系统按照上述要求,将以下几个子功能模块设置为硬件中断线程:A/D采集任

务模块和通信模块(接收)。A/D采集是本系统的重要基础,并且与系统底层硬件紧密相连,所以将它设置为硬件中断线程(HWI)。其主要流程是:A/D芯片以一定的频率采集电网的实时数据,然后与DSP的McPSP口进行通信。DSP接收A/D芯片采集的数据,并存储在片内RAM的特定区域,为其他线程的运算作好准备。通信模块采用RS485与上位机通信,其与系统的底层硬件密切相关,而且DSP本身的SCI接口只有最大16个字的FIFO,如不及时对接收数据进行处理,将会造成数据丢失。

  下面介绍HWI模块在DSP/BIOS中的参数设置。McBSP串口的接收中断放在HWI模块的HWI_INT6位置上,并且将接收中断的ISR函数ad_rx_isr()填写到HWI_INT6中断的函数调用项中;同时选择使用DSP/RI-OS的HWI调度功能,当响应McBSP串口接收中断时,系统将自动调用ad_rx_isr()函数。McBSP串口接收中断设置如图2所示。与McBSP串口接收中断设置类似,设置SCIA接收中断为通信接收中断,将其ISR函数scia_rx_isr()填写到HWI_INT9中断的函数调用项中。响应接收中断时,系统调用scia_rx_isr()函数进行处理。CLK线程也属于HWI硬件中断线程之一,它为整个系统的运行提供了时间基准,为用户周期性地调用函数提供了方法,同时为一些代码评估工具提供了时间参考。CLK模块完全依赖于DSP的定时器中断,TMS320C2812为DSP/BIOS提供了2个定时器。 [page]

McBSP串口接收中断设置

  其次,安排软件中断线程(SWI)。所有的软件中断都是通过DSP/BIOS内核的API调用来启动的,为了便于控制,系统为每个SWI对象都设置一个16位的邮箱(Mailbox),可以利用这个邮箱的值有条件地启动对应的软件中断。可以将相对于普通任务比较重要的、发生频率比较频繁的子功能模块安排在软件中断线程(SWI)中。其子功能模块包括:电能质量数据预处理模块、通信模块(发送)。电能质量数据预处理模块主要完成对A/D转换结果的后续处理。对A/D转换结果进行预处理是必要的。因为A/D芯片选用固定频率进行采集,但是电网的频率fo是波动的,所以直接对采集数据进行FFT运算会产生频谱泄漏,因此,必须对采集数据进行预处理。例如,对4个周波每个周渡256点一共l024个数据进行1024点的FFT运算。假设4个周波的平均频率为f,则频率分辨率为f/4,FFT运算结果依次为f/4、2f/4、3f/4、f、5f/4……频率上的强度。因此,当电网频率fo发生变化时,进行FFT运算的电网数据频率f也要随之变化,使得进行FFT运算前的电网数据频率f始终与当前电网的频率fo保持一致

。电能质量数据预处理模块具体操作是对A/D转换后的数据进行插值,插值算法采用线性插值。经过验证,额定电压下,线性插值算法造成的FFT运算的误差在O.1‰以内。除此之外,该模块还有一个功能就是计算一个周波内的电压有效值。这是计算电压波动和长时间、短时间闪变的必要数据。通信模块(发送)负责向上位机发送数据,虽然其实时性要求不高,但是与硬件底层密切联系,所以设置为软件中断线程。当串口接收中断发生时,调用scia_rx_isr()函数对接收数据命令进行处理,根据相关的命令发送相应的电能质量数据。DSP/BIOS为软件中断对象提供了O~14的优先级,按照上述线程的重要程度,将采集数据处理线程优先级设为14,主机通信线程设为8,其他优先级预留以便将来软件升级。

  需要注意的是:中断线程(包括硬件中断和软件中断)都运行于相同的堆栈。当高优先级中断发生导致系统进行任务切换时,高优先级中断线程会中断低优先级中断线程;在运行高优先级中断线程前会保存低优先级中断线程相关寄存器内容,在高优先级中断线程运行结束后,寄存器会恢复为原先的内容,继续完成原先低优先级线程。所以,如果设置硬件中断或软件中断线程过多,则堆栈将会溢出,为此必须将大部分任务模块放置在任务线程中。接下来,安排任务线程(TSK)。如同绝大多数实时系统,任务线程是整个系统的主要组成部分。任务线程中的函数可以独立运行,也可以并行运行。DSP/BIOS任务管理模块根据任务线程的优先级安排运行,并通过切换函数完成从一项任务到另一项任务的转换。每个任务有4种执行状态:运行(run)、就绪(ready)、暂停(blocked)和终止(terminated)。一月任务被创建,它总是处在4个状态之一。DSP/BIOS为每个任务对象提供了-l~15的优先级。任务会按照严格的优先级顺序来执行,相同优先级的任务会按照“先来先服务”的原则来安排执行顺序。需要注意的足,当创建一个任务线程时,需要同时建立一个属于该任务的专用堆栈。该堆栈用于存储奉地局部变量或进一步的函数调用嵌套。

  我们将电能质量分析运算模块、数据存储模块、人机交互模块设置在任务线程(TSK)中。电能质量分析运算模块又可以分为谐波计算任务线程、电压波动计算任务线程、闪变计算任务线程3部分。谐波计算任务线程主要负责对电能质量数据预处理后的结果进行FFT运算。FFT运算主要包括位转换运算、加窗运算、以2为基的蝶形运算、分裂基运算、平方和运算5个部分。电压波动计算任务线程负责记录3 min内电网电压的波动情况。前面电能质量数据预处理模块已经得出每个周波的电压有效值,这样,只须记录3min内电压有效值最大值和最小值,两者之差就是电压波动。闪变计算仟务线程包括计算短时间闪变和长时间闪变。现在一般采用IEC闪变仪设计方法,输入适配自检信号通过平方解调器、带通加权滤波、平方一阶低通滤波、在线统计评价4个过程最终得到闪变值;但足此方法复杂、耗时多。通过算法简化,得出一种简单可行的运算方法:对连续256个周波的电压有效值进行FFT运算,结果再经过加权等一系列运算后可以得到12.8s的闪变值,10min内闪变值经过相关运算就可得到短时间闪变,12次连续短时间闪变(2 h内)经过运算可以得到长时间闪变。经过验证,此种算法与IEC闪变仪算法相比,误差在l‰以内。

  数据存储模块也放置在任务线程中,其过程是将电能质量分析结果、电压波动以及闪变值存储在FIash中。人机交互模块包括键盘检测任务和液晶显示任务两部分。键盘检测任务线程可以通过周期函数PRD来完成。PRD可以根据实时时钟来确定函数运行的时间。这里,设置键盘检测任务100ms运行1次,检测按键。根据按键情况,液晶显示任务显示当前最新电能质量数据。

[page]

  最后,就是后台线程(IDL)。后台线程(IDL)的优先级最低,一般,将实时分析模块(TRA)放在其中运行,其可以在应用程序执行期间对DSP应用程序进行实时交互与诊断。CCS巾有CPU负载图、执行图示、主机通道控制、信息记录、统计观察、实时控制板和内核/对象观察等实时分析工具。这一系列功能模块都可以放置在IDL线程中,通过这些工具,整个DSP系统的运行情况将一目了然。

  2.2 线程之间的通信与同步

  在这个多线程系统中,对共享资源的访问需要线程之间的相互协调来解决。

  DSP/BIOS环境下有3种通信方式,即基于管道(PIPE)的通信、基于流(SIO)通道的通信以及基于主机(HST)通道的通信。

4种线程共享数据和实现同步的途径

  本系统中,选用数据管道来管理线程之间的数据交换,因为它适用于高速实时或大批量的数据交换。每个数据管道对象保留一个缓存,并将该缓存分成一定数据的定长帧,所有通过数据管道的I/O操作1次处理l帧。多线程之间的同步主要采用邮箱方式。

  3 系统

实时分析与调试

  DSP/BIOS内核本身的开销对系统程序实时性会有影响,为此需要对DSP/BIOS内核进行优化。可以使用CCS中提供的DSP/BIOS分析工具确定DSP/BIOS的开销以及整个应用系统的运算量。比如,DSP/BIOS提供的实时分析工具中的CPU负载图就是常用工具之一。

  在最后的集成阶段,由于实时交互等原因,会经常出现一些错误或者响应不及时的现象。一般来说,由于这些现象是非周期性的并且出现的频率很低,因此难于发现和跟踪。然而,由于DSP/BIOS中的RTA模块是嵌入到其内核中去的,再结合开发人员所提供的定制检测向量,从而提供了对错误产生根源的独一无二的町视性。该可视化功能极大地帮助了隔离和修正错误,是一般嵌入式开发系统所不具备的。

  可以从下面四个方面提高整个系统中应用程序的执行性能:为不同的程序函数仔细选择线程的类型;把系统堆栈放置在片上内存中;降低时钟中断频率;增加流式输入输出缓冲器的大小。

  4 总 结

  DSP/BIOS作为CCS提供的一套工具,其本身仅占用极少的CPU资源,但却提供相当高的性能,加快了开发进度。采用DSP/BIOS作为电能质量监测终端实时操作系统,编写DSP程序时控制硬件资源容易、协调各个软件模块灵活,大幅加快软件的开发、调试进度。最终实验证明,整个系统实时性好,运行稳定可靠。

关键字:DSP  BIOS  电能质量  监测终端 引用地址:DSP/BIOS在电能质量监测终端中的应用

上一篇:基于隔离和网络技术的高精温湿度测量仪表
下一篇:基于MAX1968的LD自动温度控制系统设计

推荐阅读最新更新时间:2024-03-30 22:27

数字滤波器的MATLAB设计与DSP上的实现
引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1 数字滤波器的设计 1.1 数字滤波器设计的基本步骤 数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的
[嵌入式]
三进三出不间断电源的并联技术
1.前 言   不间断电源(UPS)并机系统以其扩容方便、节约投资、可靠性高而逐渐被广泛采用,并深受用户欢迎。所谓UPS并机系统是指需并联的多台UPS的输出直接并联短接在一起,同时分担负载电流,不需外加任何设备,使整个供电系统的可靠性提高,供电容量也同时得到提高。但是,并联UPS会有如下主要问题:   1) 各台UPS输出的电压、相位、频率很难严格一致,即使有1度的相位误差也可引起50%的功率差别,当空载时,某些UPS可能会运行在整流状态。   2) 由于各台UPS的输出电压、电流均为正弦量,而且有相位误差和频率误差,所以,很难实现负载分配和均流。   3) 并联运行时,若各台UPS的频率和相位相同,而幅度不同,则系统中各台UPS
[电源管理]
三进三出不间断电源的并联技术
基于GIO/FVID的DSP视频驱动程序
引言 随着时代的发展,DSP技术在远程监控、可视电话、工业检测等视频处理领域得到了广泛的应用,对于不同的视频处理系统,会使用不同的视频设备,所以有必要为视频没备设计驱动程序,为高层应用程序提供统一的接口来操作底层硬件。只要是遵循此驱动程序接口标准开发的高层应用程序,都可以在具有相同接口的不同硬件平台上运行,具有很好的通用性和可移植性。同时高层应用程序设计人员只要会使用设备驱动程序提供的API接口,就不必了解底层硬件的具体实现,可以大大提高整个视频系统的开发效率。 对于视频设备,TI公司也提出了对应的视频设备驱动程序模型,但这些模型主要是针对6000系列高端DSP,甚至是DM64X这样的视频处理专用DSP设计的。而TMS320F
[嵌入式]
借助音频DSP平台 超低功耗非触摸手势控制有谱
  为消费电子产品设计与开发混合信号半导体器件与音频解决方案的全球性领先供应商欧胜微电子有限公司(Wolfson Microelectronics plc),与一家为消费电子设备提供超声非触摸手势识别的领先供应商Elliptic Labs日前联合宣布:双方已就在欧胜领先于业界的音频数字信号处理器(ADSP)平台上利用Elliptic Labs的超声手势控制解决方案建立了合作伙伴关系。这项技术合作为诸如智能手机、平板电脑以及汽车信息娱乐设备等消费电子产品实现了“永远工作”的、基于超声波的低功耗非触摸手势控制。   在利用声波解析手部动作的领域内,Elliptic Labs的解决方案是目前唯一被集成到便携式设备中的、可提供3D手势控制
[嵌入式]
借助音频<font color='red'>DSP</font>平台 超低功耗非触摸手势控制有谱
基于DSP的智能电机保护器设计
前言 由于生产自动化及各种自动控制、顺序控制设备的出现,要求电机经常运行在频繁的起动、制动、正反传、间歇以及变负荷等各种方式。电机的运行要求越来越高。同时,由于电机与配套机械连在一起,当电机发生故障时,经常波及生产系统。因此,对电机实行有效的保护是保证生产系统正常工作的一项重要任务。 随着科学技术的发展,电机保护装置中逐渐使用了电子保护装置。在国外,目前电子保护装置已在电力系统和电机保护装置中获得了广泛应用,国内也开始推广 。电子保护装置的优点是:基本上由静止元件组成。它动作速度快,不存在机械位移和磨损,精度和寿命一般均比有触点继电器高,耐冲击和振动,可靠性好。另外,电子电路动作功率小,灵敏度高。 数字信
[应用]
CEVA凭SensPro Sensor Hub DSP协助客户有效实现传感器融合
众所周知,传感器在配合使用时效果最佳。对于同步定位与地图构建 (SLAM) 来说更是如此。SLAM 在 AR/VR 领域扮演着重要的角色,可以根据用户的姿势调整场景,避免无人机或机器人这样的应用在使用过程中的碰撞,用途广泛。SLAM市场预计到2023年将增长至4.65亿美元,年复合增长率为36%,为大多数开发者提供了绝佳机遇。在手机上将 SLAM 应用于室内导航可能会在规模庞大的基础平台市场中占据主导地位。GPS 不能在室内工作,基于信标的导航只能在具有信标基础设施的区域工作。而 SLAM 则可以在任何提供室内地图的地方工作,符合大多数楼宇自控管理系统的低成本期望。将该区域的场景与用户在该区域行走时的姿势和运动融合到了一起,使得在
[手机便携]
CEVA凭SensPro Sensor Hub <font color='red'>DSP</font>协助客户有效实现传感器融合
H.264视频解码器在C6416 DSP上的实现
多媒体通信终端设备具有广泛的应用前景,可以应用于视频会议、可视电话、PDA、数字电视等各个领域,所以高效、实用的多媒体终端设备一直是通信领域研究的主要方向之一。 多媒体通信终端的实现主要有两点:一方面需要快速、稳定的处理器作为多媒体信号处理的平台,另一方面需要适合多媒体通信的协议标准和软件算法,尤其是对音视频信号的压缩处理算法。两者的结合才能产生高效的多媒体通信设备。目前,随着数字信号处理器(DSP)的高速发展,为实现高效的音视频信号处理提供了可能性;另一方面,最新的低码率视频压缩标准H.264的出台,提供了适合通信的视频标准和算法指导。因此,将两者结合,把H.264算法在DSP上实现,对于多媒体通信的研究具有一定的意义
[嵌入式]
H.264视频解码器在C6416 <font color='red'>DSP</font>上的实现
ASIC、DSP、FPGA大比拼
ASIC DSP FPGA 概念 ASIC ( Application Specific Integrated Circuits )即专用集成电路,是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。按用户需求而设计制作的集成电路 (ASIC) 应运而生。 数字信号处理器是在模拟信号变换成数字信号以后进行高速实时处理的专用处理器 FPGA 是英文 Field Programmable Gate Array (现场可编程门阵列)的缩写,它是在 PAL 、 GAL 、 PLD 等可编程器件
[新品]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新测试测量文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved