电子发烧友网 > 处理器/DSP > 正文

TI DSP+ARM处理器典型用法-AD采集处理综合案例

2020年10月15日 17:19 次阅读

1.案例功能

TIAM5708的DSP端使用EDMA通过GPMC接口采集AD7606或ADS8568模块8通道的AD信号,同时由DSP端对其中6通道的AD信号进行FFT处理,最后将8通道时域数据和经FFT处理的6通道频域数据保存到DSP端L2SRAM中,可通过仿真器与CCS软件查看对应通道的时域波形和频域波形。

程序保存通道0的时域数据和经FFT处理的频域数据至CMEM(共享内存)空间,通过IPC组件通知ARM端读取该通道的时域数据和频域数据,使用Qt在LCD显示屏上进行波形绘制,最后将数据保存到文件中。

2.案例框图

3.案例演示

3.1硬件连接

案例基于创龙科技的TL570x-EVM(AM5708)评估板、TL7606I(AD7606)模块、TL8568I(ADS8568)模块进行测试

TI DSP+ARM处理器典型用法-AD采集处理综合案例

TL570x-EVM评估板简介

(AM5708,C66xDSP+Cortex-A15ARM)

TI DSP+ARM处理器典型用法-AD采集处理综合案例

TL7606I模块硬件连接示意图

TL8568I模块硬件连接示意图

3.2案例测试

按照用户手册操作步骤进行程序的加载,程序运行后,即可在LCD显示屏上看到通道0的时域波形和频域波形。

TI DSP+ARM处理器典型用法-AD采集处理综合案例

亦可使用CCS软件查看存储在DSP端L2SRAM中的时域和频域波形。

TI DSP+ARM处理器典型用法-AD采集处理综合案例

点击菜单栏放大按钮进行放大查看,点击打开游标工具,再点击X-Axis可查看到信号存在,如下图所示。

程序已将6通道的频域数据保存到DSP端L2SRAM,如需查看其他通道波形,请按照上述方法打开对应通道地址查看即可。

4.关键代码

4.1ARM(Host)端关键代码

Qt程序框架

(1)解析命令行参数,并显示Qt主窗口。

host/main.cpp

(2)申请CMEM共享内存空间,并转换为实际物理地址。在共享内存空间中申请两个Buffer空间,分别用于存放AD信号时域数据和经FFT处理的频域数据。申请的两个Buffer空间的内存地址将会发送至DSP端,DSP端将一个通道的AD信号时域数据和经FFT处理的频域数据存放在Buffer空间。

host/app.c

(3)发送App_CMD_SETUP消息类型至DSP端,该消息携带申请好的Buffer空间物理地址等信息,并等待DSP端返回消息。

(4)发送App_CMD_TEST消息类型至DSP端,该消息主要通知DSP端进行AD信号采集。DSP端每次采集512个点,并保存AD信号时域数据和经FFT处理的频域数据。该消息还携带loop_TImes参数,已设置为8。DSP端每循环8次,即采集并处理8x512=4096个点后返回消息至ARM端。

当运行“。/app_host0x01000000610000/home/root7606”命令时,程序循环次数设置为10000,则总采样点个数为:4096*10000=40960000。

host/app.c

(5)发送App_CMD_SHUTDOWN信息类型至DSP端,通知DSP端结束程序的运行,并等待DSP端返回消息。

host/app.c

(6)QtApp线程接收到DSP端的通知后,通过信号槽通知主线程绘制波形。

host/app_thread.cpp

(7)分别绘制时域波形和频域波形。

host/plot.cpp

(8)将时域和频域数据写入文件。

host/file.cpp

4.2DSP(Slave)端关键代码

(1)监听slaveQue消息队列,等待ARM端发送消息。

根据消息携带的“msg-》cmd”参数来判断不同的消息类型,从而进入相应的处理函数。处理结束后,返回消息至ARM端。

dsp1/Server.c

(2)响应ARM端发送的App_CMD_SETUP消息类型,调用ad_init和ad_test_init初始化函数。

dsp1/Server.c

ad_init()主要实现TImer、GPIO、GPMC等和AD芯片硬件相关的程序初始化。

ad_test_init()主要用于程序运行环境的准备,如信号量、内存申请、EDMA3初始化、FFT初始化等。

dsp1/ad_test.c

(3)程序通过EDMAGPIOevent方式采集AD信号。

定时器创建后,将以固定的时间间隔进入定时器中断服务函数。在中断服务函数中通过CONVST引脚触发AD信号采集来控制采样频率。每次采集转换完成后,AD芯片的Busy引脚将触发GPIO2的下降沿中断,从而触发EDMA传输。

dsp1/ad_test.c

(4)EDMA传输完成后,将进入EDMA中断服务函数。

在中断服务函数中统计采样点个数,当采样点个数达到ADC_SAMPLING_FFT_NUM(512)个后,将置位信号量,通知任务进行数据处理。

dsp1/ad_test.c

(5)DSP端响应ARM端发送的App_CMD_SETUP消息类型,调用ad_test()进行数据处理。

①使能定时器,使定时器按固定周期触发AD信号采集。

②阻塞等待信号量置位,信号量置位后,对数据进行保存、FFT运算等操作。

5.应用场合

6.源码、资料下载

案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可点击下方链接获取。

http://site.tronlong.com/pfdownload

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

TMS5701227与仿真器连接失败

共烧写了3个1227,只有一个在烧写时显示目标未连接或不支持当前flash操作,而且一点连接键就会跳到0xffff000c这个地址...
发表于 2020-10-15 07:46 0次阅读
TMS5701227与仿真器连接失败

基于新思科技IP的DSP增强型DesignWar...

新思科技(Synopsys, Inc. , 纳斯达克股票代码:SNPS)近日宣布,全球领先的无线通信....
发表于 2020-10-14 15:10 170次阅读
基于新思科技IP的DSP增强型DesignWar...

基于MCU的差分升级实现方案解析

差分升级又叫增量升级,顾名思义就是通过差分算法将源版本与目标版本之间差异的部分提取出来制作成差分包,....
发表于 2020-10-13 11:59 554次阅读
基于MCU的差分升级实现方案解析

ADI SHARC DSP独特的ASRC(异步采...

本文介绍ADI SHARC DSP独特的ASRC(异步采样率转换)功能。ASRC使用起来也是非常的简....
发表于 2020-10-12 16:04 93次阅读
ADI SHARC DSP独特的ASRC(异步采...

浅谈FPGA中Pblock使用

Pblock是对一些逻辑实行物理上的约束,即把一些逻辑绑定到FPGA上固定的资源区域内。它是优化走线....
发表于 2020-10-10 16:03 384次阅读
浅谈FPGA中Pblock使用

Linux支持微型ARM+DSP+FPGA

发表于 2020-10-10 15:09 269次阅读
Linux支持微型ARM+DSP+FPGA

首个带有“综合”DSP的RISC-V内核支持Li...

发表于 2020-10-10 14:57 440次阅读
首个带有“综合”DSP的RISC-V内核支持Li...

使用PSpice® for TI仿真复杂的模拟电...

重要注意事项:正确的仿真结果是基于器件模型是精确且迅速收敛的假设的(这种情况意味着达成结果)。
发表于 2020-10-09 10:36 364次阅读
使用PSpice® for TI仿真复杂的模拟电...

电源设计中电容到底有多重要

在电源电路设计中我们往往忽略了电容的存在,其实,作为一款优秀的设计,电源设计应当是很重要的,它很大程....
发表于 2020-10-06 18:11 55次阅读
电源设计中电容到底有多重要

基于TMS320VC5402 DSP的特殊结构和...

由于现在常用的一些音频、图像处理算法都是结构很复杂的程序,所以建议使用第二种优化方法。
发表于 2020-10-04 13:24 420次阅读
基于TMS320VC5402 DSP的特殊结构和...

FPGA中如何充分利用DSP资源,DSP48E1...

FPGA中DSP资源是宝贵的且有限,我们在计算大位宽的指数、复数乘法、累加、累乘等运算时都会用到DS....
发表于 2020-09-30 11:48 1581次阅读
FPGA中如何充分利用DSP资源,DSP48E1...

基于应用嵌入式操作系统实现备用电源自动投入装置的...

μC/OS-II中,每个任务都处于休眠态、就绪态、运行态、挂起态和中断态5种状态之一。如图5所示,当....
发表于 2020-09-29 09:45 1060次阅读
基于应用嵌入式操作系统实现备用电源自动投入装置的...

DSP与GPRS的连接问题 如何将DSP与GPRS进行通信

如何将DSP与GPRS进行通信,实现手机APP上能读取DSP发送的数据 ...
发表于 2020-09-29 09:30 66次阅读
DSP与GPRS的连接问题 如何将DSP与GPRS进行通信

回顾TI面向网络DSP应用的DSP TMS320...

TIDSP TMS320C6424 DSP和TMS320C6421 DSP 提供超过2.5倍的出色性....
发表于 2020-09-29 06:11 383次阅读
回顾TI面向网络DSP应用的DSP TMS320...

基于MPEG-4标准和PNxl.300芯片实现网...

PNX1300是Philips公司推出的,用于视频编解码的TriMedia DSP系列产品中的一种。....
发表于 2020-09-28 09:43 575次阅读
基于MPEG-4标准和PNxl.300芯片实现网...

DSP应用程序参考框架的设计及在H.264 混合...

随着通信与信息技术的发展以及数字产品的普及,DSP 被越来越多地应用于各种数字系统中。作为业界领先的....
发表于 2020-09-27 17:43 411次阅读
DSP应用程序参考框架的设计及在H.264 混合...

FPGA中乘法器的原理分析

作者:猫叔 FPGA中乘法器是很稀缺的资源,但也是我们做算法必不可少的资源。7系列及之前的FPGA都....
发表于 2020-09-27 15:12 550次阅读
FPGA中乘法器的原理分析

基于TI系列浮点DSP芯片实现二次Bootloa...

随着DSP(数字信号处理器)系统的广泛应用,其程序规模也随之不断扩大,使用芯片本身自带的Boot-l....
发表于 2020-09-25 16:49 437次阅读
基于TI系列浮点DSP芯片实现二次Bootloa...

适应于C6000系列DSP器件的DATA直接烧写...

自加载后DSP能够正常运行,关键是Flash中原程序代码的正确烧写。CCS编译生成的.out格式文件....
发表于 2020-09-25 16:35 351次阅读
适应于C6000系列DSP器件的DATA直接烧写...

Arm宣布Neoverse新增两个全新的平台——...

沟通会上,Chris Bergey具体介绍了Neoverse V系列、N系列、E系列在产品策略与面向....
发表于 2020-09-25 15:55 326次阅读
Arm宣布Neoverse新增两个全新的平台——...

基于TMS320F2812数字信号处理器实现电压...

IEC 6100-4-15和GB 123262—2000给出了完整的闪变测试系统结构框图,以及有关反....
发表于 2020-09-24 20:50 279次阅读
基于TMS320F2812数字信号处理器实现电压...

基于System Generator for D...

近年来,在数字通信、网络、视频和图像处理领域,FPGA已经成为高性能数字信号处理系统的关键元件.FP....
发表于 2020-09-24 20:11 208次阅读
基于System Generator for D...

基于DSP芯片TMS320C6713实现吉他识音...

指弹吉他是一种吉他加花的演奏方式,是音乐界极为新兴的项目,这种弹奏方法与古典吉他的不同之处在于可广泛....
发表于 2020-09-24 19:57 219次阅读
基于DSP芯片TMS320C6713实现吉他识音...

基于数字信号处理器实现调度器的系统设计

添加任务函数首先开始检查任务队列sTask SCH_tasks_G[SCH_MAX_TASKS]记录....
发表于 2020-09-24 17:40 258次阅读
基于数字信号处理器实现调度器的系统设计

光模块DSP内部的光层测试与OSNR测试的区别

而对于城域大容量数据连接或着长距离传输接口,也就是通常所说的线路侧接口,传统的做法是各个设备厂家自行....
发表于 2020-09-24 14:23 366次阅读
光模块DSP内部的光层测试与OSNR测试的区别

应用DSP的异步电机直接转矩控制系统

1 引 言     直接转矩控制是一种高性能的交流调速技术,它直接在定子坐标系下分析交流电机的数学模型,控...
发表于 2020-09-24 13:57 101次阅读
应用DSP的异步电机直接转矩控制系统

如何用dsp实现外接键盘通过spi输入数据,并在数码管上显示

有偿!
发表于 2020-09-23 15:21 38次阅读
如何用dsp实现外接键盘通过spi输入数据,并在数码管上显示

FPGA+DSP SRIO通信与DSP端参数设置

DSP端参数设置使用的官方例程路径: ti\pdk_C6678_1_1_2_5\packages\ti\transport\ipc\examples\srioIpcBe...
发表于 2020-09-23 11:08 0次阅读
FPGA+DSP SRIO通信与DSP端参数设置

基于DSP和CPLD实现开放式运动控制器的设计

本文开发的开放式运动控制器以PC机为平台,完成坐标变换、轨迹规划、粗插补运算等控制指令的设置和发送,....
发表于 2020-09-23 08:44 251次阅读
基于DSP和CPLD实现开放式运动控制器的设计

DSP 仿真调试步骤基本要领

1. 仿真调试步骤 通过 USB 电缆连接仿真器至主机,操作方法如下: 确保设备全部处于断电状态。安装仿真器 JTA...
发表于 2020-09-22 10:45 101次阅读
DSP 仿真调试步骤基本要领

DSP数字信号处理介绍

DSP概念 数字信号处理(Digital Signal Processing),简称DSP,是将信号以数字方式表示并处理的理论和技术,利...
发表于 2020-09-22 10:05 101次阅读
DSP数字信号处理介绍

TMS320C6727芯片的HPI和SPI0 S...

TMS320C6727DSP是TI公司的浮点信号处理芯片,该芯片具有处理速度快,运算精度高的特点,因....
发表于 2020-09-22 09:17 183次阅读
TMS320C6727芯片的HPI和SPI0 S...

基于TMS320F28335和DM9000A芯片...

DSP(Digital Signal Processor)是一种独特的微处理器,是以数字信号来处理大....
发表于 2020-09-22 08:05 176次阅读
基于TMS320F28335和DM9000A芯片...

基于定点型数字信号处理器TMS320C6455实...

在外部ROM引导模式下,对TMS320C6455而言,CPU上电后将自动从CE3空间拷贝1 kB到C....
发表于 2020-09-22 07:40 116次阅读
基于定点型数字信号处理器TMS320C6455实...

基于DSP开发工具DSP Builder软件实现...

软件无线电(software defined radio)是由J.Mitola在1992年提出的一个....
发表于 2020-09-21 18:00 181次阅读
基于DSP开发工具DSP Builder软件实现...

基于TMS320F2812 DSP芯片实现网络化...

DNC是Direct Numerical Control或DistributedNumerical ....
发表于 2020-09-21 17:43 191次阅读
基于TMS320F2812 DSP芯片实现网络化...

基于EP2S60型FPGA芯片的LDPC码快速编...

低密度奇偶校验(Low Densitv Paritv Check,LDPC)码已成为当今信道编码领域....
发表于 2020-09-21 17:23 121次阅读
基于EP2S60型FPGA芯片的LDPC码快速编...

DSP里的PWM死区

通常,大功率电机、变频器等,末端都是由大功率管、IGBT等元件组成的H桥或3相桥。每个桥的上半桥和下....
发表于 2020-09-21 16:46 235次阅读
DSP里的PWM死区

未来DSP芯片设计及制造的发展趋势如何?

DSP芯片,即能够实现数字信号处理技术的芯片。DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门....
发表于 2020-09-21 16:08 522次阅读
未来DSP芯片设计及制造的发展趋势如何?

8通道多路复用逐次逼近寄存器,TI简单易用的12...

Texas Instruments(TI)的12位模数转换器(ADC)ADS7028和ADS7138....
发表于 2020-09-21 15:35 289次阅读
8通道多路复用逐次逼近寄存器,TI简单易用的12...

关于 DDR时序约束常见的ERROR问题

DDR时序约束常见的ERROR 时钟约束,在约束的模块中未找到定义的变量,这个一般是在IP核例化中出现,需要把...
发表于 2020-09-21 10:48 0次阅读
关于 DDR时序约束常见的ERROR问题

个人学习经验,ARM、DSP、FPGA比较

学习CPU,首先就是要了解其指令集,然后了解去指令执行的方式,然后针对具体的芯片了解其外围电路,程序都是用C写...
发表于 2020-09-21 10:42 101次阅读
个人学习经验,ARM、DSP、FPGA比较

基于32位浮点DSP芯片TMS320C6713实...

本系统使用TI公司浮点型DSP TMS320C6713实现G.723.1等语音编解码,为G.723.....
发表于 2020-09-21 09:58 145次阅读
基于32位浮点DSP芯片TMS320C6713实...

28035芯片串口在线升级后CLA没运行,想知道是CMD没配置好吗?boot层和应用层的CMD应作哪些区分呢?

目标:TI 28035芯片 实现功能:通过串口在线升级(自己写bootloader) 目前进展:已经可以实现上位机通过串口给D...
发表于 2020-09-19 17:25 0次阅读
28035芯片串口在线升级后CLA没运行,想知道是CMD没配置好吗?boot层和应用层的CMD应作哪些区分呢?

通过利用数字信号处理器的体系结构特性提高编码效率

数字信号处理器(DSP)在性能、外设、功耗和价格上已经结合得非常好了,许多系统工程师希望利用DSP的....
发表于 2020-09-19 17:00 253次阅读
通过利用数字信号处理器的体系结构特性提高编码效率

基于TMS320VC5410数字信号处理器实现引...

DSP系统的引导装载是指在系统加电后,系统自行将一段存储在外部非易失性存储器中的代码移植到内部DSP....
发表于 2020-09-19 16:15 182次阅读
基于TMS320VC5410数字信号处理器实现引...

基于DSP的嵌入式系统实现擦写片外FLASH器件

在DSP系统的设计中,经常要使用片外存储器扩充系统存储空间。特别是当DSP的片内数据存储器和程序存储....
发表于 2020-09-18 16:49 563次阅读
基于DSP的嵌入式系统实现擦写片外FLASH器件