多处理器雷达系统监控程序的设计和实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


序。同时由于 GTK+是 GNU 项目的一部分, 使用 LGPL
许可证, 允许用户使用它开发程序而不收取任何费
ห้องสมุดไป่ตู้

用, 所以我们选择 GTK+作为开发工具。
4.1 Host 端监控程序的框架

多处理器雷达信号处理系统可以用于实现各种
不 同 体 制 雷 达 信 号 处 理 系 统 。这 就 要 求 监 控 程 序 可 以
DS P 开 发 与 应 用
文章编号:1008- 0570(2006)07- 2- 0164- 03
中文核心期刊 《微计算机信息》(嵌入式与 S OC )2006 年第 22 卷第 7-2 期
多处理器雷达系统监控程序的设计和实现
Ra d a r Mo n ito rin g S ys te m Ba s e d o n Mu ltip ro ce s s o r S ys te m
4.3 处理结果的动态显示 为了将雷达信号处理系统的点迹处理和脉压结 果实时更新, 必须提高绘图效率和消除闪烁现象。主 要使用下面两种技术解决这个问题。 ( 1) 双缓冲的实现: 绘制?脉压图和点迹图时, 由 于每次只需更新部分区域, 所以采用双缓冲的办法。 通过声明 static GdkPixmap, 在内存中创建位图对象, 然后调用绘图函数将背景绘制在该位图对象上。最后 调用 gdk_draw_pixmap 函数一次性把位图输出。 ( 2) 关于屏幕刷新的问题: 由于 Sloaris 的图形界 面是基于 X window 系统。X window 系统出于效率考 虑, 不是将绘图命令立即发送到 X server, 而是接收了 一批命令后, 成批发出。在非多线程程序中, 不需要担
术 Key Wor ds: DSP,Multipr ocessor ,Multi- thr ead
创 1 引言

随着数字信号处理技术的发展, 多处理器信号处
理平台成为高速信号处理平台的主流。针对多 DSP 处
理系统的软件设计成为一个研究热点。其中如何实现
对多处理器程序的控制, 并对不同 DSP 处理器返回的
杨阳: 硕士研究生 部委基金项目编号:J 01- 2004105
主控节点和计 算子节点间 通 过 SKYchannel 高 速 互 联 背板连接。8 个计算子节点采取缓存一致非均匀存储 器访问( CC- NUMA) 的结构。CC( Cache Coherent) 缓存 一致是指缓存被某个 PowerPC 改写 后, 系统可以 通过 高速互联总线通知其他 PowerPC。这样使系统具有高 的通信带宽和低的通信延迟, 能够满足雷达信号处理 中各算法模块间的高速通信的需求。SKY 公司提供了 SKYvec 软件开发环境, 通过在平台上每个处理器运行 单独的程序的多计算模式, 可以获取同处理器个数相 同的有效进程数, 实现并行多任务处理。
化实时 Host 监控程序的设计和实现。该程序设计结合
了 SKY Computer 公司提供的 SKYvec 系统软件, 清华
大学高速信号处理实 验室的 DSM2 信号 处理系统, 在
Solaris 上使用 GTK+采用层次化方法设计和实现了 对
雷达信号处理的脉冲压缩模块运算结果、目标点迹 结
果的显示, 为 雷 达 系 统 的 监 控 和 调 试 提 供 了 有 力
起 始 地 址 , 各 PowerPC 可 以 直 接 读 取 该 地 址 上 的 数 监控线程的实现, 由于不同算法模块是运行 在不同的
据, 以实现 PowerPC 间的数据通信。
PowerPC 上的, 通过建立监控线程与 PowerPC 之间的
4 多 处 理 器 雷 达 系 统 的 图 形 化 监 控 对应关系, 分别监视不同 PowerPC, 并调用响应层的函
( 2) 界面层: 该层主要提供主程序层使用的基本 组件。通过利用 GTK+图形库提供的基本窗口组件, 构 造出雷达监控系统需要的基本显示组件, 并提供接口 供主程序层调用, 例如 createRadarScreen()等。同时通
图 3 监控线程与 DSP 的交互的流程图
4.2 Host 上监控线程与 DSP 交互的实现 对需要和 Host 的通 信的 PowerPC, 分别创 建与之 对应的线程。例如需要将脉压处理程序输出的数据和 点迹处理的数据输出到 RadarScreen 和 PCScreen 组件 上, 则通过线程创建函数 pthread_create 创建出与算法 所在 PowerPC 对应的线程。线程函数通过检测共享内
图 1 Host 与 PowerPC 通信及 PowerPC 之间通信
3 Host 与 Power PC 及 Power PC 间 通信的实现
Host 与 PowerPC、PowerPC 间 通 信 方 式 如 图 1 所
- 164 - 360元 / 年 邮局订阅号: 82-946
《现场总线技术应用 200 例》
技 the GTK+ Library to draw the information on the screen. Although the paper is dedicated to multi- processor system for radar, it’s
also useful for multi- processor system for other purposes.
(清华大学)杨 阳 汤 俊 彭应宁 陈 希
Yang ,Yang Tang ,J un P eng ,Yingning Chen ,Xi
摘要: 本 文 介 绍 了 一 种 基 于 多 PowerPC 处 理 器 高 速 信 号 处 理 系 统 的 Host 监 控 程 序 的 设 计 和 实 现 , 该 监 控 程 序 基 于 Solaris, 实 现 了 对 雷 达 信 号 处 理 中 间 结 果 的 实 时 监 控 和 显 示 。该 程 序 利 用 Host 与 PowerPC 处 理 器 间 的 共 享 内 存 实 现 了 数 据 通 信 , 利 用 多 线 程 监 控 来 获 取 多 个 处 理 器 的 运 算 结 果 , 并 使 用 GTK+ 提 供 的 库 函 数 建 立 了 雷 达 监 控 系 统 的 图 形 化 界 面 , 实 现 了 对 多 个 PowerPC处 理 器 处 理 结 果 的 显 示 和 更 新 。 其 方 法 也 可 用 作 设 计 和 实 现 其 他 目 的 的 多 处 理 器 系 统 的 监 控 程 序 的 参 考 。 关键词: DSP; 多处理器系统; 多线程 中图分类号: TP311 文献标识码: A
的支持。
2 多处理器雷达系统的编程模型
开发监控程序 的硬件 平 台 是 SKY Computer 公 司 生产的基于 PowerPC7410 的多 处理器系统 , 是一个具 有 强 大 的 信 号 处 理 能 力 的 多 处 理 器 计 算 平 台 。该 平 台 由 Sparc 主 控 节 点 和 8 个 PowerPC 计 算 子 节 点 构 成 ,
您的论文得到两院院士关注
DS P 开 发 与 应 用
示。
过 GTK+提供的回调( Callbacks) 机制,调用响应层中的
(1) Host 与 PowerPC 间数据通信方式: PowerPC 与 界面更新函数, 实现组件显示信息的更新。
Host 的 通 信 是 通 过 信 号 与 共 享 内 存 的 方 式 实 现 的 。
区, 然后向 Host 发出信号, Host 响应该信号, 调用信号 命令, 达到控制雷达信号处理系统各模块的目的。
处理函数, 读取共享内存区中的数据。
( 4) Host 层: 该层主要提供与 Host 与 PowerPC 间
( 2) PowerPC 间数据通信方式: SKY 系统是分布 的通信功能, 并对 PowerPC 运行的状 态进行监控 , 响
技 心这些细节, 是因为当主函数中的循环重新得到控制 权后, 任何 X 请求都会立即发送到 X server 上。然而,
术 如果发出 GTK+请求 的线程不是 主函数中的 循环, 则 GTK+不知道该何时送出已经打包的命令。因此, 当在
数据进行实时显示是一个重要的任务。近年来, 越来
越 多 的 雷 达 信 号 处 理 系 统 采 用 多 DSP 处 理 器 系 统 来
实现, 各个 DSP 处理器运行不同的雷达信号处理算法
模块, 如何将各个算法模块的运算结果显示输出成为
一个需要解决的问题。本文介绍了在一个基于多
PowerPC 处理器的雷达信号处理系统的实现中, 图形
针对多处理器雷达信号处理系统监控的需要, 监 控程序采用主从式的编程模型, 使 Host 程序通过系统 调 用 把 程 序 加 载 到 PowerPC 上 , 在 程 序 运 行 中 对 PowerPC 上的算法模块进行控制, 由 PowerPC 将处理 后的 目标数据和 脉压结果返 回 给 Host 端 , 再 由 Host 端将结果以图形化的方式动态显示。在程序运行中, Host通过共享内存和进程间通信实现对 PowerPC 上的 进程的控制和协调。
适应各种体制雷达对于监控显示数据的不同需求。因
此在设计上, 就要求雷达系统的监控程序分层设计,
将表示层与逻辑层分开, 使得程序易于修改和剪裁以
适应不同要求。针对这种需求, 我们将监控程序分为
如图 2 所示各层。
图 2 Host 端 GUI 程序框架
( 1) 主程序层: 该层主要是利用界面层提供的各 种基本组件, 构造出雷达系统的控制界面。这里指的 各种基本组件是指雷达系统中的组件模块: 如雷达屏 幕( RadarScreen) , 脉压屏幕( PC Screen) 等。要满足各 种体制雷达的监控需求, 只需要选择不同的组件模块 即可。
式内存统一编址多处 理器系统。PowerPC 间 通过 IPC 应 PowerPC 发出的处理完成信号。按照响应层发出的
( 进程间通信) 实现数据交互。各个雷达信号处理的算 命令, 对 PowerPC 的运行状态进行控制。
法模块通过 IPC( 进程间通信) 在 PowerPC 间传递数据
( 5) 多线程层: 该层主要提供对应各算法模块的
《P LC 技术应用 200 例》
邮局订阅号: 82-946 360 元 / 年 - 165 -
DS P 开 发 与 应 用
中文核心期刊 《微计算机信息》(嵌入式与 S OC )2006 年第 22 卷第 7-2 期
存区中输出数据的标志位, 判断输出数据是脉压数据 还是点迹处理的数据, 然后调用相应的更新函数更新 屏幕。Host 上监控线程与 DSP 上交互的流程图如图 3 所示.
Abstr act:In this paper, we design and implement a monitoring system for multi- processor system based on SKY Computer’s SKYvec
System. In order to track and display multiprocessor’s result, we use the multi- thread to get the result from multiprocessor and use
程序
数, 实现处理结果的显示更新。
由于监控程序的 Host 运行在 Solaris 操作系统上。
所 以 必 须 选 择 可 以 在 Unix 下 的 运 行 图 形 界 面 库 。 GTK+是 跨 平 台 的 用 于 创 建 图 形 用 户 界 面 的 工 具 库 。通

过提供一整套窗口组件, 可以构建完整的 GUI 应用程
( 3) 响应层: 该层主要提供各种雷达系统监控和
PowerPC 与 Host 通 过 共 享 一 段 在 程 序 初 始 化 时 分 配 显示组件的更新函数。通过调用这些函数, 可 以改变
出来的指定大小的内存实现相互间通信。当 PowerPC 雷达系统基本组件的显示, 实现雷达信号处 理系统的
需要将数据传送到 Host 上时, 先把数据写入共享内存 监控。同时通过响应界面的用户输入, 向 Host 层发出
相关文档
最新文档