微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > DSP/BIOS在数字监测接收机中的应用

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

时间:01-18 来源:单片机与嵌入式系统 作者:杨 磊,李会勇 电子科技大学 点击:

引言

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

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

1 DSP/BIOS

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

DSP/BIOS是一个可剪裁的实时操作系统,主要由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所示。数字监测接收机由标准源、调谐器、中频数字信号处理器和电源等模块组成。接收机通过网络与远程计算机工作站相连,计算机工作站完成信号显示、对接收机输出信号的进一步处理,以及对接收机的配置及控制。

中频数字信号处理器是系统的核心部件,负责对宽带信号进行中频数字化处理。其中包括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配置工具配置中断和任务。在系统中对参数的设定直接影响到系统的执行情况,特别是对各个对象的堆栈设置,如果分配不合理,将会造成在程序执行过程中数据丢失,严重时将给系统带来灾难性破坏。

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top