




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Promonitor2000 主处理模块软件设计方案主处理模块软件设计方案 文档编号 P2000 06 01 001 设计人员 卢进 2001 年 2 月 5 日 隶属 主处理模块设计 1 总则总则 主处理模块是一个实时语音视频数据传输服务器 系统应该能够适应数据 图像 语音的多种多样 接入方式的千差万别 系统本身应该具有自诊断能力 能够适应和识别各种板设备的热插拔 故障 由于它是基于嵌入式操作系统 系统维护调试不是很方便 因此在注意加强系统 远程维护能力的同时 应该在设计上尽量避免因为功能复杂 频繁进行调试和修 改 系统采取结构化 层次化 模块化设计方式 基于对代码的可移植性 方便调试 的要求 减少程序员因为对 OSE 操作系统不熟悉而带来的问题 设计时应将与操 作系统和硬件平台相关的部分隔离开来 系统的体系结构是灵活 可伸缩 易扩展 易移植的 2 系统描述系统描述 主处理模块的硬件平台是一块以 Motorola 68860 CPU 为核心 周边有若干通讯和总 线设备的微控板 软件平台是 OSE 嵌入式实时操作系统 主处理模块负责将各采控设备采 集的实时数据 图像 语音上报到上位机 同时上位机也可以通过它向采控设备发送实时 控制命令 主处理模块的数据通讯都采用异步方式 同时又强调通讯的实时性 2 1 硬件平台硬件平台 现行版本包括 Motorola 68860 CPU 1 485 总线 2 采控板通讯接口 232 串行口 1 系统维护接口 高速同步串口 2 图像语音板 2M 中继接口板 Flash Memory 8Mbyte SDRAM 32Mbyte Boot ROM 512Kbyte 2 2 软件平台软件平台 现有版本为 Version4 2 包括 Realtime Kernel 在板运行操作系统内核 Soft Kernel WIN32 仿真运行操作系统内核 BSP 硬件驱动程序开发包 INET 网络协议开发包 INETUTIL 网络工具包 Program Handler 远程程序加载接口 Web Server WEB 服务器 Illuminator Browser Illuminator EvactHandler Illuminator Application Loader 2 3 主处理模块主处理模块 硬件层硬件层 硬件接口驱动层硬件接口驱动层 设备通讯层设备通讯层 实时数据层实时数据层 应用处理层应用处理层 网络通讯层网络通讯层 硬件接口驱动层硬件接口驱动层 硬件层硬件层 实时数据库实时数据库 采控板通讯管理器 485 通讯驱动 采控板采控板采控板 采控板轮询 控制队列 虚拟节点表 客户机访问表逻辑节点表 数据发送事件处理 虚拟节点驱动器 以太或同步串口 2M 通讯驱动 客户访问服务器 以太设备或 2M 设备 图像语音板 图像语音采通讯管理器 图像语音 临时存储 图像单帧 捕获存储 图像语音数据 发送缓冲队列 远程传输协议驱动器 系统维护 232 通讯驱动 232 串行口 同步串口通讯驱动 采控通讯协议图像语音通讯 协议 远程数据 发送管理器 逻辑节点处理器 说明 代表硬件设备或接口 代表处理模块 代表数据存储 代表数据关联 代表测层次划分 系统流程图 根据系统的数据流不同特性 从横向上 主处理模块可以分为采控板数据通讯 图像 语音板数据通讯两部分 2 3 1 采控板数据通讯采控板数据通讯 采控板数据通讯是以采控节点为基本对象的 它的特性是 对实时性的要求相对较低 数据的类型多种多样 数据的逻辑处理不一而同 在上位机的表现形式组合灵活多变 采控节点的数量巨大 但单位节点的数据通讯量很小 因此 设计的重点是 使节点数据对上与硬件无关 使节点数据的逻辑处理方便灵活 2 3 2 图像语音板数据通讯图像语音板数据通讯 图像语音板数据通讯是以图像语音为基本对象的 它的特性是 实时性要求非常高 数据量巨大 逻辑处理相对简单 数据完整性要求高 因此 设计的重点是 数据流量控制 传输优先级控制 数据完整性控制 网络传输服务质量控制 根据系统的数据流流程 从纵向上 主处理模块可以分为硬件接口驱动层 设备通讯 层 实时数据层 逻辑处理层 网络通讯层 硬件接口驱动层负责硬件设备读写操作 要求在结构上针对不同的硬件设备接口 易于扩展 设备通讯层负责在硬件设备驱动层的基础上运行指定的向下数据通讯协议 要求 在结构上针对不同的通讯协议 易于扩展 实时数据层负责将来自不同采控板的节点映射到内存 所有虚拟节点通过虚拟节 点驱动模块处理后 对上通讯时与采控设备无关 逻辑处理层负责系统的运行管理 逻辑处理 数据管理 设备管理 网络通讯层负责在硬件设备驱动层的基础上运行指定的向上数据通讯协议 要求 在结构上针对不同的通讯协议 易于扩展 根据结构化的要求 层次内的调用应该对外屏蔽 层次间的调用接口具有统一性 以免在层内做的修改和扩展影响调用者 破坏系统结构 2 3 3 硬件接口驱动层硬件接口驱动层 由于 OSE 操作系统本身对硬件平台的驱动支持比较单薄 需要编写硬件接口驱动程序 驱动程序的设计基于 OSE 的 BSP Board Support Package 上提供的模板程序 现行硬 件接口需要的驱动模块包括 Flash 驱动模块 485 串口驱动模块 232 串口驱动模块 同步串口驱动模块 Ethernet 驱动模块等 如果添加新的硬件接口 可以再扩充新的 子驱动模块 硬件接口驱动层应该能够将上层调用和硬件隔离开来 以实现通讯层的 硬件无关性 2 3 4 设备通讯层设备通讯层 数据流向下通过它在硬件接口驱动层基础上加上协议包和采控模块通讯 向上通过它 剥离协议包和实时数据层通讯 同时根据不同的硬件接口特性 它还要对数据流进行 必要的传输时序控制 流量控制 数据缓冲等等 根据数据类型不同可分为采控板通讯 图像语音板通讯两部分 1 采控板通讯 负责与采控板的通讯 目前采用 485 总线通讯方式 由于 485 总线是半双工通讯 模式 模块采用定时轮巡法接收采集数据和发送控制命令 这部分可以分成采控板轮 询及控制模块和通讯协议模块 如果将来有其它的通讯方式 可有相应的控制模块 同样如果需要使用其它的通讯协议 也可有相应的协议模块 但要求不论是控制模块 还是协议模块都应该是方便替换或扩展的 2 图像语音通讯 是与音视频板的通讯接口 目前采用同步串口通讯方式 图像语音数据单向上传 输 而数据流控制根据具体的物理实现做不同的 I O 读写操作 这部分可以分成图像 语音采集控制模块和通讯协议模块 它也应具备和采控板通讯部分一样 模块方便替 换或扩展 3 层接口 为上层提供统一的调用接口 屏蔽传输方式和协议的多样性 2 3 5 实时数据层实时数据层 虚拟节点是实时数据层的核心对象 也是整个主处理模块的核心对象 虚拟节点是采控板上各物理采控节点在系统内存中的映射 每个虚拟节点是一个 物理采控节点类型 实时数据 客户访问绑定和其它特性的集合 向下调用设备 通讯层接口和物理节点通讯 虚拟节点具有自处理能力 能够自动创建 自动销 毁 自动触发事件处理过程 自动上报功能 客户访问绑定是指虚拟节点在数值发生变化时 对它正在进行访问的客户机能够 通过实现绑定的方式触发通讯事件 从而及时上报到客户机 虚拟节点自动触发 事件处理过程 自动上报功能就是指在数值发生变化 绑定的事件能够自动被触 发 虚拟节点的自动创建 自动销毁是指设备通讯层通过一个即插即用式的自动监测 协议 使采控板在插入到总线时能够自动被发现 并将自身板上的物理节点特性 上报到虚拟节点层 虚拟节点层通过一定的方式将物理节点编号标识为唯一 并 根据上报的特性数据创建虚拟节点 而在采控板从总线被拔下时 虚拟节点能够 自动被销毁删除 虚拟节点驱动模块的任务就是管理虚拟节点 提供上层访问接口 虚拟节点表是虚拟节点的集合 通过虚拟节点驱动模块它能够被动态刷新 采控板轮询控制队列是指上位机向采控板发送的控制命令缓冲队列 以及对采控 板物理节点的定时轮询队列 客户访问表是指正在访问主处理模块的客户机连接属性的队列 逻辑节点包括物理量转换成逻辑量 模拟量转换成数字量以及其它更复杂的数据 转换 逻辑控制 数据量的临时存贮 图像语音数据的压缩等等的过程描述 逻辑节点处理模块负责对虚拟节点进行逻辑处理 形成一个逻辑节点 是一个可 迁移的模块 它也可以在上位机模块中实现 它应该在源代码级上尽量实现可移 植性 采控数据包 过程描述 客户机连接信息 虚拟节点数据 过程描述 虚拟节点 逻辑节点数据 虚拟节点数据 客户机连接信息 逻辑节点数据 采控节点数据 说明 数据流 变换数据的处理 数据存储 实时数据层数据流图 虚拟节点表 虚拟节点驱动模块 逻辑节点处理器 逻辑节点表 数据区 逻辑节点表 过程描述区 系统配置接口设备通讯接口 数据发送事件处理 发送缓冲区 客户机访问表 客户访问服务器 2 3 6 应用处理层应用处理层 客户访问服务器模块是跟客户机通讯的服务器 负责接收和处理客户机的控制命 令 系统维护模块负责对整个主处理模块远程的维护 配置 系统加载 系统维护可 以通过 RS232 接口 以太口 也可以通过其它远程物理接口进行 系统维护模块不仅是一个维护系统的接口 同时也是系统测试的工具 甚至在编 码调试阶段也可以用作测试程序的调用接口 因此各个模块都应有接口供本模块 调用 2 3 7 网络通讯层网络通讯层 通讯协议参考 ITU H 323 建议 考虑到系统的开放性 可以在上位机使用代理模 块接口进行数据控制协议的转换 数据发送管理模块负责向上位机发送数据 远程传输协议驱动模块是一个 H 323 建议子集的实现 它的代码应该是方便移植 的 3 开发计划开发计划 根据各模块间的数据流相关性 模块开发可能的技术难度 将具体的开发划分为以下 几个部分 主处理模块数据通讯 2 人 图像语音通讯 2 人 1 采控板通讯模块 2 虚拟节点驱动模块 3 逻辑节点处理模块 4 图像语音板通讯模 块 5 远程传输协议模块 硬件接口驱动 1 2 人 6 RS485 接口驱动模 块 9 同步串口驱动模块 8 以太网口驱动模块 7 RS232 接口驱动模 块 系 统 测 试 1 人 12 远程维护模块 11 系统配置模块 10 远程加载模块系统维护 1 2 人 模块划分示意图 如图所示 主处理模块被分为数据通讯 图像语音通讯 硬件接口驱动 系统维护四 部分 再加上系统测试 共需要 7 9 人 4 开发规格说明开发规格说明 参考 2 系统描述系统描述 所述主处理模块的软硬件运行环境 我们购买的 OSE 操作系 统的开发语言是 C 语言 我们购买的编译器是 GreenHill 公司的产品 它支持 ANSIC 标准 不支持 C 同时 OSE 支持 POSIX 接口标准 系统的在板调试是通过仿真器或 Win32 环境下的 Illuminator 两种方式来完成的 特别是在板源码单步调试 根据我们所购买 License 的情况 必须通过仿真器进 行 同时 OSE 还提供另外一种开发环境 它叫 SoftKernel 它是一个在 Win32 环境下的 OSE 操作系统的仿真环境 能够运行于 OSE 的在板程序的代码 除了 和硬件相关的部分以外 都可以通过重新编译运行在 Win32 环境下 而且它可以 通过 VC 进行编译和源码级调试 考虑到大部分程序员对 VC 的熟悉和 OSE 的陌生 以及硬件平台的开发进度等原 因 主模块的开发工作应该先在 SoftKernel 环境下进行 先写与硬件无关的代码 由于设计方案充分考虑到了这一点 实际上除了硬件接口驱动层以外 其它部分 的代码都可以在 SoftKernel 环境下编写 由于 OSE 代码的编译非常复杂 OSE 操作系统内核的原理和 Win32 有很多不同 之处 因此所有程序员需要先阅读 OSE 的开发文档 熟悉 OSE 操作系统 考虑到代码的可移植性 编写代码时应尽量注意利用条件编译 函数封装等方法 将与操作系统和硬件平台相关的代码独立出来 便于替换 同时尽量采用运行时 刻库的函数 而较少使用操作系统提供的功能相同的函数 有些代码甚至可以直接先在 Win32 上实现 然后再移植到 OSE 操作系统上 当 然这样也需要保证代码的可移植性 主处理模块的技术难点可能是 OSE 操作系统代码编写和编译 远程传输协议模块 逻辑节点处理模块 4 1 基础知识 C 语言 VC6 0 开发环境的程序开发 编译 调试 Win32 系统的多线程处理 OSE 操作系统 OSE 应用程序的开发 编译 调试 4 2 代码规范 参考 demo c demo h demo sig 4 3 代码管理 13 客户访问服务模 块 开发人员应保证每日存档的习惯 4 4 开发进度 知识准备 2 5 2 19 模块详细设计 2 19 2 28 测试方案 3 1 3 11 SoftKernel 编码 3 1 3 31 RealtimeKernel 在板调试 编码 4 1 4 8 联调 4 9 4 22 测试 3 12 4 30 5 模块详细说明模块详细说明 5 1 采控板通讯模块 该模块位于设备通讯层 实现采控板通讯管理器 采控板通讯协议等功能 详细描述 见 2 3 1 采控板数据通讯采控板数据通讯 模块的外部接口原语包括 打开 OpenStream 关闭 CloseaStream 读操作 ReadStream 写操作 WriteStream 参数设置 SeStreamState 参数读取 GetStreamState 后台数据读取进程 GetStreamDataProcess 数据准备好通知事件 StreamDataReadyEvent 模块向上层提供统一的外部接口 向下根据不同的协议 不同的通讯方式提供不同的 子模块接口由公用接口调用 向下调用硬件接口驱动层 向上为虚拟节点提供调用接口 根据目前采用的 485 总线通讯方式 内部包括对采控板队列的定时轮询 以半双工的 形式接收数据 同时也向下发送控制队列里的控制命令 接收到数据后 通过发送事件的 方式通知上层数据准备好 注 通讯协议应包括一个物理节点即插即用的发现和查询协议 5 2 虚拟节点驱动模块 该模块位于实时数据层 实现一个虚拟节点驱动器 向下根据通讯事件的发生向虚拟 节点表提供实时动态数据 模块的接口原语包括 创建节点 CreateNode 销毁节点 DestroyNode 读节点数据 ReadNode 写节点数据 WriteNode 5 3 逻辑节点处理模块 该模块位于实时数据层 实现对虚拟节点进行一定的逻辑处理衍生出一个新的逻辑
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年消费者行为学全民必知知识考试题与答案
- 2025年监理工程师继续教育考试题及答案
- 2025年上海市“安全生产月”知识考试试题及参考答案
- 摄影电影基础知识培训课件
- 辽宁省沈阳市沈北新区2024-2025学年八年级下学期期末语文试题(解析版)
- 摄影挂拍基础知识培训课件
- 林业生物技术试题及答案
- 2025饮品连锁加盟经营合同
- 2025夫妻自愿同居合同书
- 2025年高一数学(人教A版)复数的乘除运算-1教案
- 高考物理规范答题指导
- 2025护理十大安全目标
- 叉车维修管理制度
- 国企保密管理制度
- 2025年军队文职人员(司机岗)历年考试真题库及答案(重点300题)
- 2024年淮安市清江浦区人民陪审员选任笔试真题
- 工艺用气验证方案及报告
- 汽轮机揭缸施工方案
- 中国移动2024年智能硬件质量报告
- 2025年山东威海城投集团子公司招聘工作人员19人自考难、易点模拟试卷(共500题附带答案详解)
- 全国卫生健康系统职业技能竞赛(传染病防治监督)参考试题库(含答案)
评论
0/150
提交评论