APP下载

DSP/BIOS在数字监测接收机中的应用

2010-03-20杨磊李会勇

单片机与嵌入式系统应用 2010年12期
关键词:外设线程接收机

杨磊,李会勇

(电子科技大学电子工程学院,成都611731)

引 言

随着通信与信息技术的不断发展及数字产品的普及,DSP被越来越多地应用于各种数字系统中。美国德州仪器(TI)公司于20世纪90年代开发了能在其DSP产品上运行的实时操作系统内核DSP/BIOS,并提出一系列DSP软件实施方案来加速应用开发进程[1]。

本文将嵌入式技术应用于数字监测接收机系统设计中,采用TI公司的TMS320DM 6437为核心处理器,以DSP/BIOS操作系统为软件平台,通过芯片支持库和应用程序构建成一个完整的数字监测接收机系统。监测接收机通过周期地扫描给定频段,利用频谱分析测量频谱占用度、频率发射类型、带宽和载干比等参数,并实现自动测量。

1 DSP/BIOS

针对TI公司的TMS320系列数字信号处理器,DSP/BIOS为开发者提供一种实时操作系统解决方案。DSP/BIOS是一个功能丰富、可扩展的内核服务集,开发人员可以用来管理系统级的资源和构建DSP应用的基础架构。在DSP/BIOS的协助下,开发人员可以抛开底层开发的困扰,从而专注于算法实现和系统集成[2]。

DSP/BIOS是一个可剪裁的实时操作系统,主要由3部分组成:多线程实时内核、实时分析工具和芯片支持库[3]。多线程实时内核维护调度多线程的运行,负责任务的调度及时间轮询算法的实现;实时分析工具提供线程算法实时运行的情况,方便用户验证系统设计的正确性和可靠性;芯片支持库负责管理外设资源,利用图形工具便可完成复杂的外设寄存器初始化配置。

1.1 多线程实时内核

DSP/BIOS设计的主要目的是降低存储器需求的空间和CPU响应时间。这种设计有利于缩减程序代码量,提高系统模块化程度,降低指令的执行周期以及实现后台任务间的通信和管理。

1.2 实时分析工具

DSP/BIOS的实时分析工具能实时捕获和显示数据,这对于软件开发阶段诊断系统和查找系统缺陷非常有帮助。实时分析工具主要包含两方面的内容:实时数据交换(RTDX)功能和面板工具插件。实时分析工具是在DSP空闲周期内完成与目标应用程序间的通信,因此不会影响应用程序的实时性。

1.3 芯片支持库

在DSP系统软件设计中,一般会涉及大量对片上外设的操作,往往要消耗过多的时间和精力。TI公司为5000系列和6000系列的DSP提供了各自的芯片支持库CSL(Chip Support Library)。CSL库函数主要用于配置和控制DSP片上外设,使片上外设更容易使用,缩短开发时间,增强可移植性。用CSL来配置和管理DSP的硬件外设模块,可以使固件程序的开发变得更加方便和快捷。

2 数字监测接收机系统

2.1 数字监测接收机系统分析

数字监测接收机工作原理如图1所示。数字监测接收机由标准源、调谐器、中频数字信号处理器和电源等模块组成。接收机通过网络与远程计算机工作站相连,计算机工作站完成信号显示、对接收机输出信号的进一步处理,以及对接收机的配置及控制。

图1 数字监测接收机工作原理

中频数字信号处理器是系统的核心部件,负责对宽带信号进行中频数字化处理。其中包括FPGA实现中频信号高速采样、数字DDC(Direct Digital Control,直接数字控制)和DSP完成中频/视频PSD处理,以及信号解调、ITU测试等工作。

DSP需要利用DSP/BIOS操作系统实现以下功能:接收FPGA数字下变频后的中频数据,配置FPGA数字下变频参数,测量射频参数和信号频谱,解调数字/模拟调制信号,打包处理数据,解析网络命令等。其基本框架如图2所示。

针对以上分析,系统需要创建10个任务。其中,DDC数据接收为硬中断任务,系统状态切换和打包处理数据启用软中断任务,其余皆为可抢占任务。由于DSP/BIOS采用多任务优先级抢占式调度,在RTOS中当前处理的任务设置为优先级最高,处理完成后将其优先级降低使得其他任务能够工作。网络命令接收和解析网络命令享有最高优先级;DDC参数配置优先级次之;测量射频参数、测量信号频谱和解调信号采用相同的优先级,网络数据发送优先级最低。任务之间通过消息机制实现共用数据互斥访问。

2.2 DSP/BIOS设置

根据系统需求,利用DSP/BIOS配置工具配置中断和任务。在系统中对参数的设定直接影响到系统的执行情况,特别是对各个对象的堆栈设置,如果分配不合理,将会造成在程序执行过程中数据丢失,严重时将给系统带来灾难性破坏[4]。

由于系统需要通过时间片轮询的方式满足RTOS多任务调度的需求,需要通过配置工具配置一个周期函数管理(PRD)。其作用是在指定的时间内执行某一个任务,若超出此时间,则将当前任务的执行挂起转而执行同等优先级的其他任务[5]。该任务通过DSP/BIOS提供的TSK_yield来实现。

系统还需配置时间标志管理(Event Log Manager)来将当前调试信息实时打印输出,方便系统调试和维护。每个任务都有自己的缓冲空间,任务间通过信号量和消息邮箱进行互斥访问公共资源,达到系统协同合作的目的[6]。DSP/BIOS配置如图3所示。

图3 DSP/BIOS配置图

需要指出的是,测量射频参数任务、测量信号频谱任务和解调信号任务采用相同的优先级,其任务配置并未在配置工具中设置,而是在代码中通过TaskCreate()函数动态建立的,提高了系统配置的灵活性和实用性。

3 结果分析

3.1 任务调度

在DSP/BIOS中,可以通过线程执行图分析各个线程的执行情况。本系统的线程执行图如图4所示。

图4 线程执行图

从图中可以看出数据处理任务(Other Threads,通过TaskCreate函数建立)和网络处理任务(prdNdk)的执行顺序。系统先启动网络处理任务接收原始数据,完成数据处理任务后,通过任务调度切换至网络任务,从而完成了数据处理任务和网络处理任务的正常切换。

3.2 日志分析

在系统设计时,数据处理任务在代码中动态创建,不能通过线程执行图分析,只能通过日志分析标注当前任务运行状态。日志记录图如图5所示。4个数据处理任务具有相同的优先级,不能抢占其他任务的资源,只能按照一定的顺序轮询执行。从图中可以看出,系统能正常地完成数据处理任务。

结 语

本文利用DSP/BIOS操作系统对数字监测接收机系统进行设计,采用时间片轮询方式在任务间实施调度。该方案已应用在实际的工程中,通过DSP/BIOS分析工具可知该数字监测接收机系统能够在满足实时性的情况下正常稳定地工作,且设计和资源分配得到了正确的应用。

图5 日志记录图

[1]Texas Instruments Incorporated.TMS320C6000 DSP/BIOS 5.31 Application Programming Interface(API)Reference Guide,2006.

[2]Shawn Dirksen.How to Get Started With the DSP/BIOS Kernel[OL].2008[2010-07].www.ti.com/sc/docs/stdterms.htm.

[3]德州仪器(中国)有限公司应用工程师.介绍一种实时操作系统DSP/BIOS[J].电子技术应用,2000,26(12).

[4]Texas Instruments Incorporated.TIDSP/BIOS用户手册与驱动开发[M].王军宁,等译.清华大学出版社,2008.

[5]金春莲,黄迅.实时操作系统DSP/BIOS在DSP开发中的应用[J].电子产品世界,2007(17).

[6]徐博.监测接收机嵌入式实时通信模块设计[D].长沙:国防科学技术大学,2006.

[7]刘国敬.软件无线电数字监测接收机的设计与实现[D].成都:电子科技大学,2007.

[8]陈渝,黄贤英,曹龙汉.嵌入式多任务系统开发方法研究及其应用[J].重庆通信学院学报,2005,24(3):106-108.

[9]薛飞,魏平,蔡权伟.一种快速无线电监测接收机实现[J].无线电通信技术,2006,32(1).

[10]李志军,安建平,孙磊.无线电监测接收机中的DDC研究[J].北京理工大学学报,2008,28(10).

猜你喜欢

外设线程接收机
基于C#线程实验探究
基于国产化环境的线程池模型研究与实现
一种用于调幅接收机AGC的设计与实现
一种面向ADS-B的RNSS/RDSS双模接收机设计
浅谈linux多线程协作
数字接收机故障维修与维护
基于多接收机的圆周SAR欺骗干扰方法
Microchip推出具备双ADC外设的全新器件,扩展其低成本8位PIC®单片机产品线
外设天地行情
外设天地行情