EDN China > 设计实例 > 测试与测量 > 系统测试 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

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

来源:单片机及嵌入式系统应用/作者:东南大学 许康平 陈建元 韦海锋?? 2007年10月11日 ?? 收藏0

  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个定时器。


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

TMS320F2812? DSP? BIOS? 电能质量?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈