首页 > 范文大全 > 正文

Qt中调用DSP库实现双核异构通信

开篇:润墨网以专业的文秘视角,为您筛选了一篇Qt中调用DSP库实现双核异构通信范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在物联网和大数据飞速发展的时代,大部分的数据在采集后都须放到PC机或服务器上处理,这使得工作效率和便捷性都受到影响,同时也制约着技术的发展,如何才能在终端嵌入式设备上也能分析处理复杂的数据,这是我们研究的方向。本文研究基于ARM/DSP双核CPU的通信方法,这使得DSP极快的数据处理能力和ARM天生的终端控制能力完美结合,实验采用TI公司基于DM3730双核CPU的devkit8500评估板和该公司研发的集成开发工具DVSDK做测试,通过ARM控制端的qt程序来调用dsp端封装好的库函数;通过测试表明,这种双核通信方式具有良好的稳定性,处理数据的及时性和准确性,以及实用性。

关键词:ARM/DSP 双核通信 双核异构 DVSDK DSPLINK QT

中图分类号:TN91 文献标识码:A 文章编号:1007-9416(2015)07-0000-00

Abstract: In the Internet of things and the big data era of rapid development, most of thedata are to be placed on the processing of PC machine and the server in a collection, whi-ch makes the work efficiency and convenience be affected, but also restrict the developmentof technology. How to embedded devices in our terminal also can deal with complex dataanalysis, which is our research direction. Study on the method of ARM/DSP communicationbased on dual core CPU, which makes DSP very fast data processing ability of ARM andthecombination of natural terminal control ability and perfect, the experiment uses the devkit-8500 evaluation of DM3730 dual core CPU board and the company sintegrated developmenttool based onDVSDK of TI company to do the test, Qt programs call library functions ofDSP of be encapsulated by the ARM control terminal . The test shows that this dualcore co-mmunication mode has good stability, the ti-meliness and accuracy of processing data, as w-ell as practical.

key words: ARM/DSP; Dual core communication; Dual heterogeneous; DVSDK; DSPLINK; QT

DSP是一种独特的微处理器,是用数字信号来处理大量信息的器件,它采用了改进型的哈佛结构和多总线结构,独特的结构使其具备了很强的数据处理能力和极快的运行速度,常用在加密解密,调制解调等技术领域;AR--M处理器则拥有大量的通用寄存器和丰富的外接电路接口,使其具备较强的事物管理能力,可以用来运行操作系统和图形界面程序,让人和处理器有较好的交互能力。ARM和DSP都作为不同架构的单核处理器,有各自的缺点和不足。为了弥补存在的不足,其研发厂商在各自处理器上保留原来优势的同时,也赋予其另外一种架构处理器的优势。但是,单核处理器始终无法满足市场的需要,目前,在多核时代,市场上出现了很多双核异构处理器,在手机市场上如高通MSM8260(代表机型为小米M1,HTC的G14,G17,G18),MSM8660(代表机型为小米电信定制版、三星GALAXY SII(I929)、酷派9900等),MSM8960(代表机型为华硕PadFone、三星GALAXY SIII (I535)、HTC One XC 和海尔W910等),APQ8060(代表机型为三星GALAXY SII HD LTE)等都是典型的双核异构处理器。双核处理器的出现给我们的芯片市场和电子科技带来了翻天覆地的变化;然而,双核处理器之间的通信就成了研究的难题,在双核异构处理器通信的方法中,都是利用HPI硬件接口作为通信的接口,这把太多的硬件接口暴露给开发人员,使得开发变得繁琐困难,为了解决这个难题,TI公司为了提高双核CPU的软件开效率以及达到降低开发难度的目标,研发出了一套隐藏了底层硬件,只把上层方法暴露给开发人员工具DVSDK,本文就是利用DVSDK完成双核处理器内部的数据通信,我们使用的是TI公司研发生产的devkit8500开发板来完成实验研究。

1 devkit8500硬件架构

DevKit8500 评估套件是深圳市天漠科技有限公司推出的基于德州仪器(TI)DM3730 处理器的评估套件,如图1所示。处理器集成了高达 1GHz的ARM Cortex?-A8内核及高达 800MHz 的具有高级数字信号处理的 DSP核(DM3730 only),由于本文不使用硬件接口做为通信接口,所以该部分只作简略介绍。

2 DVSDK的安装、配置

TI公司开发DVSDK这套软件的初期,它由很多软件模块组成。为了简化人们的安装,该公司又开发出了集成的DVSDK(最新版本4.0.2),使得此软件安装变得更加容易,提高了开发效率。具体步骤如下。

2.1 安装

以上配置请务必正确,再根据自己的交叉编译工具进行小的修改,dvsdk的安装配置工作到此完成。

3 DVSDK软件体系结构分析

3.1 CMEM双核处理器内存管理模块

CMEM是Linux系统内存管理模块,负责管理一片连续内存,该模块还提供了几个内存申请和释放的函数,一般是在APP应用程序端调用CMEM_alloc函数来分配一块连续的物理内存,物理内存会被映射为虚拟内存给用户使用,所以,我们看到变量的内存地址并不是在内存分配脚本中设定的物理地址,这里利用了Linux的虚拟内存管理模式,是一种内核数据的保护机制。当分配到一片连续内存,调用DSP端算法时,将共享内存中定义的指针变量地址传递给DSP,DSP端处理完数据后,将数据处理结果存放在连续共享内存中,返回给ARM端,然后,用户在ARM端读取数据的处理结果。

3.2 DSPLINK模块

DSPLINK模块也是Linux端的驱动模块,该模块专门负责ARM和DSP通信,它虽然隐藏了复杂的硬件接口,但是,TI公司是把该模块隐藏在一层层软件接口下面,让开发者利用DVSDK提供的各种函数接口对硬件进行操作。

3.3 DVSDK的程序调用流程

ARM和DSP之间程序调用流程如图2所示。

4 Qt中调用DSP库函数实现步骤分析

4.1 ARM端QT程序编写

Qt中调用DSP库函数主要用到了DVSDK中的C6RunLib库,该库下面有两个工具c6runlib-cc和c6runlib-ar,用于编译出能够被Qt识别的DSP端算法库。它们有各自的参数,在下文中将详细讲解其用法。图3中函数主要用于分配ARM和DSP之间的共享内存空间。

(4)用tftp服务器将可执行文件test下载到devkit8500开发板上运行,得到运行结果,其中数据10200.000000就是通过ARM端将数组变量地址指针传入DSP端,DSP端进行加法运算后,返回给ARM端的处理结果。虽然我们只进行了简单的加法运算,但是,复杂数据通信原理相同,这里不做讲解(实验结果如下)。

5 结语

论文采用DM3730双核异构CPU做研究,通过DVSDK集成开发工具提供的C6RunLib库来实现双核通信,编写ARM端的Qt程序和DSP端的C、汇编程序,再用c6runlib、c6runlib-ar命令来封装DSP端算法库,可以在cpp运用程序端调用它,这让Server/Client通信方式在双核异构的嵌入式平台得到了很好的运用。研究者通常会使用硬件提供的HPI接口来完成ARM/DSP双核异构的通信,本文采用了一种较新的、容易理解的通信方式,避免了复杂的硬件接口,提高了开发者的开发效率,同时在实验结果中也验证了这种通信方式处理数据的准确性、快速性和便捷性,所以,这种双核异构通信方式一定会有很好的运用价值。

参考文献

[1]张 力,刘正熙.ARM与DSP之间视频数据可靠传输的设计与实现[J].计算机应用,2009,29(S2).

[2]林淦,刘建群,许东伟,李嘉健.OMAPL138的双核通信设计[J].机床与液压,2014,42(22).

[3]吕鸿波,刘云海,刘斌兵.嵌入式双核系统通信接口研究[J].电视技术,2006,(03).

[4]林上升,韩润萍.基于OMAP3530硬件平台的ARM和DSP协同开发方法[J].电子应用技术,2013,39(02).

[5]唐维智,郑浩,李志刚.基于OMAP3530的船用导航雷达终端软件开发设计[J].电子应用技术,2013,39(11).

[6]苑玮琦,黄旭.数字多媒体处理器TMS320DM355启动分析[J].电子应用技术,2012,38(3).

[7]杨建,阳晔,严晓浪,葛海通.片上双核通信机制的设计与应用[J].微电子学,2007,37(1).

[8]杨柳,岳坤,庞和明,姜琳颖.Qt/Embedded及嵌入式Linux在智能监控系统控制中的应用[J].计算机应用,2010,30(1).

收稿日期:2015-07-01

作者简介:郑宪秋(1981―),女(汉),黑龙江哈尔滨人,硕士研究生,主要研究方向:计算机技术;王远(1988―),男(汉),湖北襄阳人,硕士研究生,主要研究方向:嵌入式系统应用开发。