基于VC++的BPDU封装设计与仿真

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

信息化工业
科技创新导报 Science and Technology Innovation Herald
2
①作者简介:徐丽红(1977,11—),女,汉族,辽宁人,硕士研究生,讲师,研究方向:电气控制与自动化。

DOI:10.16660/ki.1674-098X.2018.14.002
基于VC++的BPDU封装设计与仿真

徐丽红1 孟祥福2
(1.上海电子信息职业技术学院 上海 201411;2.沈阳理工大学 辽宁沈阳 110159)
摘 要:为了满足空间任务的发展需求,使航天器上的数据源封装的空间包可以在同一条虚拟信道中高效传输,高级在轨系统(Advanced Orbiting Systems, AOS)中按照位流协议对这些数据进行复合封装,称为位流协议数据单元(Bitstream Protocol Data Unit, BPDU),AOS系统通过创建统一的信息数据流在一个信道中传输不同的信息,如图像、语音等。

本文中应用Visual C++6.0软件进行编程设计,依据AOS中的BPDU格式,对图像信源数据封装成BPDU的过程进行了仿真设计和实现。

关键词:AOS BPDU 图像信源
中图分类号:TP391.9 文献标识码:A 文章编号:1674-098X(2018)05(b)-0002-02
随着空间技术的不断发展,卫星与卫星之间、地面与卫星之间数据信息的交互传输有了更加复杂的需求,高级在轨系统通过包信道复用和虚拟信道复用能够传输星上多种信源的数据,为了使这些数据能够可靠的传送,就需要对这些数据按照统一的格式进行封装,图片信源,声音信源属于位流业务,封装之后的格式统一称为BPDU。

1 BPDU概述
本文采用的是图像信源空间包[1]数据是通过C++编程封装的,BPDU的格式如图1所示,然后按照图1中BPDU的数据单元格式进行封装,在本仿真中BPDU导头未被AOS [2]定义,因此被设置全“0”,而BPDU [3]据域的大小是可变的,被设置为32,表示每个BPDU数据域包含32字节,最后再把封装好的BPDU存放于文件之中。

2 BPDU封装的设计实现
在本仿真中,采用的是图像信源这种位流业务信源,以文件的格式存储在本地计算机之中,最后按照AOS的BPDU格式进行封装设计。

整体的设计如下。

(1)定义队列容器“deque<int>SP”“deque<int>deq Picture”“deque <int> deqBPDUHead”和“deque <int> deqBPDUWhole”以及关联容器“map<unsignedlong,deque <int>>BPDU_Pool”,其中,队列容器SP是用来存储图像信源仿真文件提取出来的数据;队列容器deqPicture用来存储图像信源数据;队列容器deqBPDUHead用来存储BPDU 数据单元的导头信息;队列容器deqBWhole用来存储已经封装好的单个完整BPDU数据单元;关联容器BPDU_Pool 用来存储所有的BPDU数据单元。

(2)定义输入流类ifstream的对象in,之后调用in.open()函数以二进制的方式打开图像信源文件,其次,调用i n.ge t ()获取图像信源文件中的数据,然后,调用函SP.push_back()将所有的数据存放于队列容器SP之中。

(3)定义变量W设定BPDU数据单元中封装的用户信息字节个数,调用队列容器插入函数deqPicture.insert()从队列容器SP中提取32字节的图像信源数据,并将提取的数
据插入到队列容器deqPicture中;然后,调用编写的BPDU.SetHead()函数在队列容器deqBPDUHead中设置BPDU的导头信息。

(4)调用编写的BPDU.SetWholePkg()函数将队列容器deqPicture和deqBPDUHead中的数据顺序组合在队列容器deqBPDUWhole之中,此时队列容器deqBWhole中的数据就构成了一个完整的BPDU数据单元。

(5)调用关联容器的插入函数BPDU_Pool.insert()将队列容器deqWhole中BPDU数据存放在map关联容器BPDU_
BPDU 导头
备用2
比特
BPDU 位流数据域
位流数据指
针14比特
图1 BPDU数据单元格式
图2 二进制比特流形式图像信源
图3 图像信源BPDU仿真结果
Copyright©博看网 . All Rights Reserved.
信息化工业
科技创新导报 Science and Technology Innovation Herald
3
Pool中。

(6)对上述步骤(3)~(5)设置循环,直到SP队列容器中的数据被全部提取完毕,然后,将关联容器BPDU_Pool中的数据内容写入到图像信源的BPDU数据单元仿真文件中。

至此,就完成了图像信源数据的BPDU数据单元封装过程。

本方法的优势在于BPDU封装的复用效率达到100%,复用效率非常高,并且提高了信道利用率。

3 VC++中BPDU封装的仿真实现
基于上述方法,借助VC++[4-5],进行了本次实验,二进制比特流形式图像信源如图2所示,经过BPDU封装得到的仿真结果如图3所示。

图2是二进制比特流形式的图像信源,它以二进制的形式显示在文本文件之中。

图3是图2中的图像信源经过位流封装之后生成的BPDU仿真结果,由图3可以看出一个完整BPDU包括BPDU主导头和BPDU数据域两大部分,其中BPDU主导头包括14比特的位流数据指针,BPDU数据域包括256比特的数据。

经过验证之后,BPDU的仿真结果符合格式要求且完全正确。

率。

而且当整机故障时,灯组驱动板也能自行降级。

相比传统信号机而言,新型信号机多增加一道降级保障机制,提供更好的安全性,用户在使用时可以更加放心。

灯组驱动板采用过零检测的驱动光耦,一方面可以减少过零检测电路的设计和对软件控制时序的要求;另一方面采用光耦形式可以实现高低压隔离的功能,使得整个系统更为的简洁、可靠。

4 检测模块设计
检测模块主要指流量采集系统,如车检模块、输入输出模块。

流量采集系统实现的功能是向信号控制系统提供道路车流量检测数据。

使信号系统可以根据实时车流进行运行方案的优化;也可以根据统计流量信息进行车流分析和后台数据挖掘。

而3U插箱也支持单独作为流量监测系统运行,也即是说没有信号控制系统时,3U插箱对道路流量进行检测统计,并将统计后的信息直接发送给中心进行数据挖掘。

这要求流量监测系统的功能更加强大,更加智能化。

从功能架构分析,流量检测系统中各个功能模块如车检模块、输入输出模块乃至以后可能会出现的地磁模块等的功能非常明显也非常专注,即专注于检测道路交通流量。

为实现3U插箱的电源转换功能以及交通信息采集系统的整体控制和通信功能,将控制模块于电源模块相互结合比单独制作一块控制板而言要合理一些,因此,3U插箱的硬件设计较6U插箱要紧凑也灵活的多。

5 机箱结构与电气布局设计
在电气布局设计上新型信号机仍然沿用现有的插箱结构,主要是因为在工业应用中,插箱结构的设备有更好的扩展性、替换性和总线互联结构等优点。

同时板卡的竖立安装能够有效地防止灰尘堆积,避免产生不必要的故障。

插箱设计为两部分:6U插箱配置信号控制单元与3U插箱
(上接1页)
配置流量采集单元。

整个系统之中通过两个总线实现互联。

信号控制单元即6U插箱结构,采用485总线进行互联。

由于485总线结构已经非常成熟,同时成本较低,可以很好地契合信号机产品的需求;而流量采集单元即3U插箱结构,采用CAN总线进行互联。

这是因为CAN总线的实时性和纠错性更强,在要求实时数据流量的系统中应用效果要优于485总线和网络总线。

两个单元之间采用485总线进行数据互联,这是考虑到国标的要求,也是为了保证信号控制单元的标准性和开放性。

6 结语
本文以传统信号机为研究对象,为新型智能交通信号控制机硬件子系统的总体架构,主要的技术方案、技术难点以及解决手段、软硬件分工、协同工作方式与接口等,提供详细设计的总指导方向。

参考文献
[1] 王世隆.基于FPGA的嵌入式交通信号控制机设计[D].哈尔滨工业大学,2013.
[2] 于淼.基于嵌入式系统的智能交通信号控制机研究[D].东北石油大学,2015.
[3] 王华伟.基于ZigBee的无线分布式道路交通信号控制机的设计[D].山东大学,2016.
4 结语
本文中通过VC++软件平台对二进制比特流形式的图像信源,按照BPDU统一格式的封装设计与仿真之后,AOS 的BPDU仿真结果完全符合格式要求,证明设计与仿真是完全正确的,这样的结果达到了提高了信道利用率和复用效率。

参考文献
[1] Tian Ye,Wang Ruonan,Jiang Yueqiu,et al.A novel mu lt iple -cha n nels sche du l ing a lgor it h m ba se d on timeslot optimization in the advanced orbiting s y s t e m s [J ].M u l t i m e d i a To o l s a n d A p p l ic a t i o -ns,2017,76(3):4523-4551.
[2] 孙辉先,陈小敏,白云飞,等.CCSDS高级在轨系统及在我国航天器中的应用[J].航天器工程,2003,12(1):12-18.[3] 李宁宁,汪路元.AOS标准在海洋动力环境探测卫星中的应用[J].飞行器测控学报,2012,31(S1):65-70.[4] 肖俊宇,吴为胜.由浅入深学C++[M].北京:电子工业出版社,2011.
[5] 孙鑫.VC++深入讲解[M].北京:电子工业出版社,2012.Copyright©博看网 . All Rights Reserved.。

相关文档
最新文档