论文部分内容阅读
嵌入式实时通信设备在当今社会中的应用已经非常普遍,尤其在军用领域或其他特殊场合,具有多媒体传输功能、可在一定范围内进行点对点通信的设备越来越受欢迎。数据传输应用层软件是实时通信系统的重要组成部分,负责数据在设备内部的双向传输,它是否能够实时、可靠地进行数据传输对设备的通信质量有着至关重要的影响。嵌入式实时通信系统中的数据传输软件在设计和实现时往往面临以下挑战:(1)多任务管理:设计适用于复杂的并发通信环境的多任务程序结构,并解决共享资源访问控制、调度、同步等难题;(2)数据传输性能:实现大量数据在系统中可靠、实时地传输,而不影响系统性能;(3)软件性能优化:对有限的嵌入式资源作精细管理,保证程序的稳定运行,并最大限度地提高软件的通用性,便于移植和裁剪。本文在广泛研究多种实时通信系统中数据传输软件的实现后,在自主研发的嵌入式手持式通信平台上,设计并实现了基于多线程、多媒体编解码、高速数据传输等技术的应用层数据传输软件,并通过大量测试验证了其功能和性能。本文首先结合应用场景和硬件平台条件,详细分析了手持式通信平台中数据传输软件的功能需求和性能需求。根据需求,采用自顶向下的方法设计了软件实现方案:首先根据软件总体框架规划了多线程程序结构,将软件划分为主控、上行、下行三个主要线程;其次依照模块化的软件设计原则设计了主线程与子线程间的交互模式和管理方式;最后根据通信功能需求分别设计了音频、文件、视频传输等功能模块的实现方案。接下来,本文在设计的基础上对数据传输软件进行了实现:运用嵌入式多线程机制、互斥锁、条件变量、线程数组等方法,实现了主控线程、上下并行线程和各子功能线程,以及线程之间的调度、协作和同步;采用音视频编解码技术、DMA(Direct Memory Access)直接存储器访问技术、双数据缓存区机制、互斥锁队列等方法,在实现了大量数据实时、高速传输的同时,保证了系统其它进程的运行不受影响;另外,本文还针对该软件设计了专门的内存分配和释放模块,实现了对内存资源的统一管理。本文最后对数据传输软件做了功能测试和性能分析:首先,用黑盒测试的方式在单端重点对DMA数据传输模块、上下层数据接口,以及音频、文件、视频等子功能模块分别进行了大量测试,验证了软件内部的数据读写功能正常;其次,在实际的通信场景中,分别对音频、文件、视频通信进行了测试,证明了数据传输软件能够满足实时通信的要求;最后对软件进行性能测试和分析,重点测试了传输过程中各阶段的速率,通过分析速率匹配情况验证了数据传输的实时性。本文设计并实现的实时数据传输软件经验证,能够完成各类数据在系统中的可靠、实时传输,并具有通用性好、高内聚、模块化程度高等优势,便于复用和修改。