论文部分内容阅读
高速率的数据传输,是软件无线电硬件平台的核心功能之一,决定着上层无线通信协议的正常运作。如何提高底层数据的传输速率是软件无线电平台设计时需要重点考虑的内容,同时也是设计的难点。然而,在以往的数据传输设计过程中,上层软件开发人员往往需要对GPP与DSP端的底层数据传输驱动以及FPGA端的数据传输接口逻辑进行设计,这样就有如下弊端:(1)加大了开发难度,降低了开发效率。当采用不同类型或架构的芯片时,就需要重新设计驱动或逻辑接口,才能满足新的应用需求。(2)降低了软件的通用性,不利于软件在不同平台间的移植。为特定硬件平台设计的软件,难以移植到其它平台。(3)增加了各软件模块间的耦合度,不利于软件调试。由于缺乏模块化的设计思想,整个软件设计为一体,在调试时不利于问题的排查。为此,本文引入处理器间通信(IPC)这一概念,以解决数据传输的易用性与通用性问题。IPC数据传输协议的应用,简化了软件无线电平台中GPP与DSP、GPP与FPGA之间的数据传输设计。本文具体研究内容包括以下几方面:第一,完成了Linux环境下的平台底层链路驱动。通过该驱动,可以实现DSP与FPGA程序的加载,时钟CLK、ADC、DAC的配置,以及简单的数据传输等基础控制功能。第二,研究了DMA高速数据传输关键技术。主要针对PLX公司的PCIe交换芯片集成DMA的驱动进行移植、改写和易用性封装。这样,在PCIe总线和DMA的协助下,使平台具有了高速数据传输能力。第三,设计了IPC数据传输协议。该协议实质是一个软件抽象层,抽象了GPP与DSP、GPP与FPGA之间的数据传输通道,并提供给应用程序统一的调用接口。如此就简化了上层软件的开发,提高了程序的通用性。第四,测试了平台链路驱动与IPC协议的关键功能。经测试,GPP与DSP间的数据读、写速率分别可达65MB/s、205MB/s,GPP与FPGA间的数据读、写速率分别可达358MB/s、386MB/s,基本达到了高速数据传输的需求。且IPC数据传输协议具有很高的执行效率,最高可达95%。本文着眼于软件无线电硬件平台中的高速数据传输,设计与实现了平台内部各主要芯片间的IPC高速数据传输协议。本文的研究成果为软件无线电平台的上层开发提供基础,使得开发人员可以不用过多关注底层数据传输接口的实现,而专注于通信应用的设计,具有较强的实用性与通用性。