首页 / 专利库 / 电脑零配件 / 多核处理器 / 一种基于多核处理器的在线水声通信算法测试装置

一种基于多核处理器的在线声通信算法测试装置

阅读:9发布:2020-05-12

专利汇可以提供一种基于多核处理器的在线声通信算法测试装置专利检索,专利查询,专利分析的服务。并且一种基于 多核处理器 的在线 水 声通信 算法 测试装置,涉及算法验证装置及方法。设有 信号 处理模 块 、 数据采集 模块、串行外设 接口 和电声转换模块; 信号处理 模块的核心是一块多核处理器AM5728,所述多核处理器芯片AM5728设有2个ARM 内核 和2个DSP内核。数据采集模块设有DSP处理器、 数模转换 器、 滤波器 和程控 放大器 。串行外设接口作为信号处理模块和数据采集模块之间的数据连接通道。电声转换模块设有接收换能器、匹配 功率放大器 和发送换能器。基于通用处理器,集成水声数据采集模块,结合应用程序输入窗口,使得水声科研工作者并不需要关注测试平台的内部结构,只专注于算法本身,就能快捷地获得通过真实水声信道后的算法性能。,下面是一种基于多核处理器的在线声通信算法测试装置专利的具体信息内容。

1.一种基于多核处理器的在线声通信算法测试装置,其特征在于设有信号处理模数据采集模块、串行外设接口、电声转换模块和算法模块植入接口;
所述信号处理模块为多核处理器,所述多核处理器芯片8设有2个ARM内核和2个DSP内核;多核处理器外设由ARM内核控制,水声通信系统由DSP内核控制;
所述数据采集模块设有DSP处理器、数模转换器、滤波器和程控放大器;所述DSP处理器的输入端与ARM内核连接,DSP处理器的输出端与数模转换器的输入端连接,数模转换器与滤波器连接,滤波器的输入端与程控放大器的输出端连接;
所述串行外设接口作为信号处理模块和数据采集模块之间的数据连接通道,串行外设接口用于实现信号处理模块和数据采集模块之间的数据交换,其中多核处理器芯片中的ARM内核作为ASPI接口的主机,而数据采集模块中的C6748内核作为ASPI从机;
所述电声转换模块设有接收换能器、匹配功率放大器和发送换能器,接收换能器的输入端将接收到的微弱声信号转换为电信号并输出至程控放大器输入端,匹配功率放大器的输入端接滤波器的输出端,匹配功率放大器的输出端接发送换能器的输入端,发送换能器的输出端将待发送的电信号转换为声信号并发送到水声信道中;
所述ARM内核设有液晶屏、LED灯,按键、异步串行通信口、存储卡和网络接口;
所述ARM内核应用对称多处理器Linux嵌入式操作系统,为测试平台的主控芯片;DSP内核应用TI-RTOS嵌入式操作系统;
所述串行外设接口采用改进型串行外设接口;
所述算法模块植入接口采用模块化的编程架构,设计系统应用接口和算法模块编程规范,为用户提供一个二次开发平台;所述算法模块植入接口的基本功能包含:系统提供一个默认模块化的通信系统,用户植入自己的算法模块用于替换默认的算法模块,或者作为新的处理算法加入通信系统;或者用户从系统中任意增删个人的算法模块;以及用户任意设置用户模块的默认参数;
所述基于多核处理器的在线水声通信算法测试装置用于执行以下步骤:
步骤1)将测试装置设为接收信号模式,数据采集模块控制电声转换模块,从水声信道中周期性的采集声信号并检测唤醒;当数据采集模块检测到唤醒信号时,数据采集模块通过唤醒端口告知信号处理模块并开始持续地对接收的声信号进行模数转换,并缓存转换声信号后的数字信号
步骤2)信号处理模块在收到唤醒信号之后,立即开始向数据采集模块请求数据,待数据采集模块缓存的时域数据量充足时,将时域数据发送到信号处理模块;
步骤3)信号处理模块中的ARM首先获取时域数据,随后将数据发送给DSP内核进行通信系统的接收数据处理;当信号处理模块收到的数据有误时,则重发上一次请求的命令帧;
步骤4)接收数据由DSP内核处理后得到并转发给ARM内核,最后在Linux系统中存储为接收数据文件;
步骤5)进入和离开信道的数据处理分别对应于发送数据处理和接收数据处理,收发数据处理各自包含了多个分支数据处理算法,每个处理算法的发送数据处理和接收数据处理构成一个独立的算法模块;
步骤6)测试平台通信系统采用双向链表的数据结构管理各个通信算法模块,通信系统进行收发数据处理时,依次遍历系统双向链表,进行各个节点的收发数据处理并测算各个算法模块的运行时性能参数;
步骤7)通过改变系统双向链表节点模块指针的值,各个算法模块被用户自己的算法模块所取代,从而将用户的算法应用到测试平台;用户编写一个独立的通信系统,完全屏蔽系统默认的OFDM水声通信系统,建立自己的水声通信系统。
2.如权利要求1所述一种基于多核处理器的在线水声通信算法测试装置,其特征在于所述多核处理器采用德州仪器公司多核处理器芯片AM5728。
3.如权利要求1所述一种基于多核处理器的在线水声通信算法测试装置,其特征在于所述ARM内核为ARM Cortex-A15内核。
4.如权利要求1所述一种基于多核处理器的在线水声通信算法测试装置,其特征在于所述DSP内核为DSP C66x内核。

说明书全文

一种基于多核处理器的在线声通信算法测试装置

技术领域

[0001] 本发明属于水声通信与网络领域,涉及算法验证装置及方法,尤其是涉及一种基于多核处理器的在线水声通信算法测试装置。

背景技术

[0002] 目前,针对水声通信算法研究和水声网络设计主要采取计算机仿真和水声实验两种方式。计算机仿真集中于理论研究以及相关的MATLAB仿真设计,能够提高系统设计的速度,降低水声实验的成本,具有高效低廉、易操作等诸多优点,但由于水声信道所具有的复杂性和随机性,使得此种离线仿真而得出的通信算法或网络协议性能与实际水声实验时的性能有差异,并成为理论研究的桎梏。因此,计算机仿真往往用于研究初期,对通信算法或网络协议进行功能性的验证,而全面、高可信度结论的获得还需要通过实际的水声实验。
[0003] 常见的水声实验分为两种,一种是借助数据采集卡收集通过水声信道后的实测数据,再在电脑中进行离线分析;另一种是直接开发水声通信调制解调器(Modem)。第一种方式与计算机仿真方式相同,仍然采用计算机辅助的方法,但在其基础上增加了实际水声信道,提高了分析数据的可信度,并且此种方式操作简便,成本低廉,具备很强的可操作性。但同时也带来软件移植出现字长效应误差,算法实时性难以验证以及在线组网困难等问题。第二种水声实验方式直接采用已经研制成功的水声MODEM或科研样机,将算法或协议移植于可编程芯片来完成水声数据传输,此种方式不仅操作简单,同时也具有性能展示度高,组网方便等优势,但也存在实际开发难度大、周期长、重复性工作多等问题。
[0004] 可见,无论是计算机仿真,还是基于数据采集卡或水声MODEM的水声实验,都无法同时满足水声科研工作者所期望的测试数据准确、操作简单、验证便捷等要求。

发明内容

[0005] 本发明的目的在于提供使得水声科研工作者并不需关注测试平台的内部结构,只需专注于算法本身,就能快捷地获得通过真实水声信道后算法性能的一种基于多核处理器的在线水声通信算法测试装置。
[0006] 本发明设有信号处理模、数据采集模块、串行外设接口和电声转换模块;
[0007] 所述信号处理模块的核心是一块多核处理器AM5728,所述多核处理器AM5728采用德州仪器公司多核处理器芯片AM5728,是测试平台的主要组件,所述多核处理器芯片AM5728设有2个ARM内核和2个DSP内核;多核处理器AM5728外设由ARM内核控制,包括液晶屏、LED灯,按键、异步串行通信口、存储卡和网络接口;水声通信系统则由DSP内核控制,ARM内核应用对称多处理器(SMP,Symmetric Multi-Processor)Linux嵌入式操作系统,为测试平台的主控芯片;DSP内核应用TI-RTOS嵌入式操作系统。
[0008] 所述数据采集模块设有DSP处理器、数模转换器、滤波器和程控放大器;所述DSP处理器的输入端与ARM内核连接,DSP处理器的输出端与数模转换器的输入端连接,数模转换器与滤波器连接,滤波器的输入端与程控放大器的输出端连接。
[0009] 所述串行外设接口(AdvancedSerial Peripheral Interface,ASPI)作为信号处理模块和数据采集模块之间的数据连接通道,串行外设接口用于实现信号处理模块和数据采集模块之间的数据交换,其中多核处理器芯片AM5728中的ARM内核作为ASPI接口的主机,而数据采集模块中的C6748内核作为ASPI从机。
[0010] 所述电声转换模块设有接收换能器、匹配功率放大器和发送换能器,接收换能器的输入端将接收到的微弱声信号转换为电信号并输出至程控放大器输入端,匹配功率放大器的输入端接滤波器的输出端,匹配功率放大器的输出端接发送换能器的输入端,发送换能器的输出端将待发送的电信号转换为声信号并发送到水声信道中。
[0011] 所述ARM内核可为ARM Cortex-A15内核,所述DSP内核可为DSP C66x内核。
[0012] 所述串行外设接口可采用改进型串行外设接口。
[0013] 所述ASPI接口的驱动开发在Linux操作系统下进行。首先定义了两种格式:数据帧和命令帧,数据帧包含固定长度的信息域及不定长度的有效数据域,主要用于收发有效数据;命令帧数据量固定,包含信息域、参数域等,主要用于请求数据、配置参数、反馈数据收发情况以及参数配置情况等;其次为ASPI接口协议设计了通信流程,通信流程以基本的停等协议为参考,当测试平台整体处于接收模式时,为了减轻数据采集模块采集数据的同时实时发送数据的压,信号处理模块不会反馈数据的接收情况,但当信号处理模块收到的数据帧有误时,则重发上一次请求的命令帧,而不是反馈数据出错,采用这一方式减少了协议交互的次数,进而降低了系统时延,有利于改善数据接收的实时性;最后采用多线程方式开发协议驱动,为了兼顾程序的可靠性与执行效率,采用直接调用底层应用接口的方式来调用底层驱动接口。
[0014] 本发明基于以上测试平台,还提供了算法模块植入接口,采用模块化的编程架构,设计系统应用接口和算法模块编程规范,为用户提供一个良好的二次开发平台。算法模块植入接口的基本功能包含:系统提供一个默认模块化的通信系统,用户可植入自己的算法模块,替换默认的某个算法模块,或者作为新的处理算法加入通信系统;用户可以从系统中任意增删个人的算法模块;用户可以任意设置用户模块的默认参数。首先对算法模块进行封装,算法模块是通信系统的功能部件,通常分别在发送端和接收端成对出现,组成算法模块对,可添加、可删除,而不影响添加和删除之前通信系统数据处理的完整性;其次定义算法模块编程规范,提供算法在通信发送和接收时的处理函数接口,即对于每个算法模块均需要实现以下3个用户编程接口参见表1。
[0015] 表1
[0016] 接口函数名 作用handle_in 算法模块发送数据处理
handle_out 算法模块接收数据处理
query_size_pair 查询单个算法模块在数据处理前后的数据量
[0017] 最后编写系统应用接口,系统应用接口负责算法模块的添加与删除操作,以及系统初始化并依次执行系统内所有有效的算法模块,实现整个通信系统的发送和接收数据处理,采用双向链表。定义的系统应用接口如表2所示。
[0018] 表2
[0019]
[0020] 本发明具有以下有益技术效果:
[0021] 基于通用处理器,集成水声数据采集模块,结合应用程序输入窗口,使得水声科研工作者并不需要关注测试平台的内部结构,只专注于算法本身,就能快捷地获得通过真实水声信道后的算法性能。“在线”即体现于水声数据采集模块的集成,“即时”获得水声数据,亦“即时”获得性能结果。如此算法验证方式不仅解决了计算机仿真水声信道模型抽象困难的问题,同时也缩短了算法研究周期。对于推动水声通信和网络发展进程具有重要的实践意义和参考价值。附图说明
[0022] 图1是本发明提供的测试平台硬件组成框图
[0023] 图2是本发明提供的测试平台整体软件架构框图。
[0024] 图3是本发明提供的ASPI接口硬件连接线示意图。
[0025] 图4是本发明提供的通信系统算法模块化示意图。
[0026] 图5是本发明提供的通信系统算法模块双向链表结构示意图。

具体实施方式

[0027] 以下实施例将结合附图对本发明作进一步的说明。
[0028] 如图1所示,本发明实施例设有信号处理模块A、数据采集模块B、串行外设接口C和电声转换模块D。
[0029] 所述信号处理模块A的核心是一块多核处理器AM5728,所述多核处理器AM5728采用德州仪器公司多核处理器芯片AM5728,是测试平台的主要组件,所述多核处理器芯片AM5728设有2个ARM内核11和2个DSP内核12;多核处理器AM5728外设由ARM内核11控制,包括液晶屏111、LED灯112,按键113、异步串行通信口114、存储卡115和网络接口116;水声通信系统则由DSP内核12控制,ARM内核应用对称多处理器(SMP,Symmetric Multi-Processor)Linux嵌入式操作系统,为测试平台的主控芯片,主要负责系统外设的初始化与应用、文件系统编写、与数据采集模块的数据传输、生成算法测试的主要开发与应用环境等;DSP内核12应用TI-RTOS嵌入式操作系统,为了发挥其在数值运算方面的优势,算法模块放置在DSP内核12中执行,执行结果则借助与ARM内核11之间的核间通信(IPC,Inter Processor Communication)汇总到ARM内核11;用户应用程序需要调用相应接口函数(APIs),实现实时多任务创建、任务调度以及与ARM内核11之间的数据通信。
[0030] 所述数据采集模块B设有DSP处理器21、数模转换器22、滤波器23和程控放大器24;所述DSP处理器21的输入端与ARM内核连接,DSP处理器21的输出端与数模转换器22的输入端连接,数模转换器22与滤波器23连接,滤波器23的输入端与程控放大器24的输出端连接;
所述数据采集模块B是发送和接收信号的预处理板卡,可采用德州仪器公司6000系列数字信号处理芯片C6748为微处理器,数据采集模块B用于完成信号放大滤波、数模/模数转换、同步检测和多普勒粗估计与补偿等功能,程控放大器24能够用程序产生不同的控制信号,产生不同的反馈系数,从而改变程控放大器的闭环增益。
[0031] 所述串行外设接口C(AdvancedSerial Peripheral Interface,ASPI)基于传统SPI接口设计,作为信号处理模块A和数据采集模块B之间的数据连接通道,串行外设接口C用于实现信号处理模块A和数据采集模块B之间的数据交换,其中多核处理器芯片AM5728中的ARM内核11作为ASPI接口的主机,而数据采集模块B中的C6748内核作为ASPI从机;数据采集模块B平常处于唤醒信号检测状态,当检测到唤醒信号到来时,作为ASPI从机的C6748能够主动发起数据传输。与传统SPI接口不同的是:ASPI的主机和从机均能够主动发起通信。
[0032] 所述电声转换模块D设有接收换能器41、匹配功率放大器42和发送换能器43,接收换能器41的输入端将接收到的微弱声信号转换为电信号并输出至程控放大器24输入端,匹配功率放大器42的输入端接滤波器23的输出端,匹配功率放大器42的输出端接发送换能器43的输入端,发送换能器43的输出端将待发送的电信号转换为声信号并发送到水声信道中。
[0033] 所述ARM内核11为ARM Cortex-A15内核,所述DSP内核12为DSP C66x内核。
[0034] 所述串行外设接口C采用改进型串行外设接口。
[0035] 在信号处理模块A核心处理器AM5728中,ARM内核应用Linux嵌入式操作系统,DSP内核应用TI-RTOS(美国德州仪器TI推出的实时操作系统-RTOS)。测试平台中的通信系统,如图2所示,其中ARM内核从Linux系统中读取信源数据(数据流向1),并借助核间通信将信源数据发送至DSP内核(数据流向2)进行发送数据处理,处理后的数据即为待数模转换的数据,该部分数据将通过核间通信返还给ARM内核(数据流向3),此时ARM开始将待数模转换的数据借助ASPI数据接口协议驱动程序发送至数据采集模块(数据流向4和5);随后数据采集模块B会先发送唤醒信号与自动增益调整信号,再发送通信系统的数据信号。电声转换模块受到数据采集模块的控制并负责产生实际声信号。而当测试平台开始接收数据时,先由数据采集模块进行模数转换,并由端口协议驱动程序获取数据采集模块转换后的数据(数据流向6);端口协议驱动程序所缓存的数据进一步送到主控程序(数据流向7);主控程序再次将数据交由DSP内核中的通信系统服务程序进行接收数据处理,还原后的数据返还给主控程序(数据流向2和3);最后由主控程序将接收数据保存到文件系统(数据流向8)。
[0036] 在传统SPI接口中,从机是不能主动发起数据传输的,为了实现此功能,定义AM5728和C6748的六个通用输入输出口(GPIO,General-Purpose InputOuput)为ASPI新增信号线,硬件连接如图3所示。这六条信号线所定义名称、方向和功能如表3所示。
[0037] 表3
[0038]
[0039] 在接收信号时,数据采集模块控制电声转换模块,从水声信道中周期性的采集声信号并检测唤醒。只有当数据采集模块检测到唤醒信号时,数据采集模块通过唤醒端口告知信号处理模块并开始持续地对接收的声信号进行模数转换,并缓存转换声信号后的数字信号。信号处理模块在收到唤醒信号之后,立即开始向数据采集模块请求数据,待数据采集模块缓存的时域数据量充足时,会主动将时域数据发送到信号处理模块。信号处理模块中的ARM首先获取时域数据,其随后将数据发送给DSP内核进行通信系统的接收数据处理。此时处理后的数据即为接收数据,理想情况下与发送数据时一致的。接收数据由DSP内核处理后得到并转发给ARM内核,最后在Linux系统中存储为接收数据文件。
[0040] 通信系统的相关数据处理算法主要是在信号处理模块的DSP内核中实现。如图4所示,进入和离开信道的数据处理分别对应于发送数据处理和接收数据处理。收发数据处理各自包含了多个分支数据处理算法,每个处理算法的发送数据处理和接收数据处理构成一个独立的算法模块。多个算法模块共同组成整个通信系统。如图5所示,测试平台通信系统采用双向链表的数据结构管理各个通信算法模块,表节点均有前后向节点指针,除了首尾节点的前后向指针分别为空指针之外,其余各个节点的前后向指针分别指向与之相邻的两个节点;每个链表节点均具有节点标志组,用于记录各个节点的属性;并且每个节点的算法模块指针,用于定位实际算法模块的存储位置并由主控程序调用;最后为了便于管理,设计系统双向链表包含了双向链表头尾指针。通信系统进行收发数据处理时,将依次遍历该系统双向链表,进行各个节点的收发数据处理并测算各个算法模块的运行时性能参数。测试平台提供了一个内部默认的模块化的通信系统,其由信源加扰码和解扰码、213卷积编码和维特比译码、OFDM调制和解调制等算法模块组成。通过改变系统双向链表节点模块指针的值,这些算法模块可以被用户自己的算法模块所取代,从而将用户的算法应用到测试平台。用户可以编写一个独立的通信系统,完全屏蔽系统默认的OFDM水声通信系统,而不必关注其他模块以及具体的硬件实现,建立自己的水声通信系统。
[0041] 测试平台为用户提供测试算法的平台。实践中需要用户先后:编写用户算法实现C源代码,用户算法在独立源文件中依次提供发送数据处理函数、接收数据处理函数以及输入输出数据量对应关系查询函数;添加该用户算法源文件到系统存储目录,将该源文件名添加到编译脚本文件当中并执行编译指令生成可执行文件;拷贝可执行文件到测试平台SD存储卡;将测试平台信号处理模块的串口连接到个人电脑,用于控制数据收发、查看通信算法运行参数与性能等;接通测试平台电源,串口终端将显示测试平台软件系统的启动信息,此时可以测试经过水声信道的数据通信。通信系统中各个算法模块的性能参数将保存到Linux系统的生成日志文件当中。用户可以在Linux系统的指令窗口中打开日志文件获知各个算法的运行时性能参数。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈