基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

核心板简介

创龙科技SOM-TL6678F是一款基于TI KeyStone架构C6000系列TMS320C6678八核C66x定点/浮点DSP以及Xilinx Kintex-7 FPGA处理器设计的高端异构多核工业级核心板。核心板内部DSP与FPGA通过SRIO、EMIF16、I2C通信总线连接,并通过工业级高速B2B连接器引出千兆网口、PCIeHyperLink、EMIF16、GTX等高速通信接口。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。

用户使用核心板进行二次开发时,仅需专注上层运用,降低了开发难度和时间成本,可快速进行产品方案评估与技术预研。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 1 核心板正面图

目 录

前 言 3

1 dsplib_fft案例 4

2 dsplib_fir案例 9

3 dsplib_iir案例 14

4 dsplib_matrix案例 19

5 imglib_sobel案例 21

6 imglib_threshold案例 25

前 言

(裸机)算法案例基于多核软件开发包BIOS-MCSDK中的算法库dsplib_c66x_3_1_0_0、imglib_c66x_3_1_1_0以及mathlib_c66x_3_0_1_1进行开发。

算法案例位于产品资料“4-软件资料DemoDSP_DemoAlgorithm-demos”路径下。案例目录说明如下表,其中bin目录存放程序可执行文件,project目录存放案例工程源文件。

本文档案例程序默认使用DSP端主频为1GHz、DSP端DDR3容量为1GByte的核心板,通过TL-XDS200仿真器加载运行进行操作效果演示。请通过Micro USB线将调试串口与PC机进行连接,打开串口调试终端SecureCRT并正确进行串口连接设置。

表 1

目录

文件/目录

说明

bin

xxx.out

程序可执行文件

project

xxx.c

程序源码文件

C66x.cmd

内存配置链接文件

driver

驱动文件存放目录

system

平台文件存放目录

.CCSproject/.cproject/.project

CCS工程文件

DSPLIB函数开发参考资料:BIOS-MCSDK多核软件开发包安装目录“dsplib_c66x_3_1_0_0packagestidsplibdocsdoxygenDSPLIB.chm”。

IMGLIB函数开发参考资料:BIOS-MCSDK多核软件开发包安装目录“imglib_c66x_3_1_1_0docsIMGLIB_Users_Manual.chm”。

MATHLIB函数开发参考资料:BIOS-MCSDK多核软件开发包安装目录“mathlib_c66x_3_0_1_1docs”。

dsplib_fft案例

案例说明

案例功能:调用MATHLIB中的sinsp函数产生单精度测试信号,以及调用sinsp和cossp函数生成快速傅里叶变换(FFT)所需旋转因子。调用DSPLIB中的DSPF_sp_FFTSPxSP函数对测试信号进行快速傅里叶变换(FFT),调用DSPF_sp_ifftSPxSP函数进行快速傅里叶逆变换(IFFT),采样点从8递增到4096,并统计运算时间。

案例测试

请运行程序,CCS的Console窗口将会打印FFT和IFFT运算时间。

以N = 4096为例,不使能Cache时FFT运算时间为254.646us,使能Cache时FFT运算时间为53.292us,效率提升约4.8倍。不使能Cache时IFFT运算时间为249.655us,使能Cache时IFFT运算时间为57.027us,效率提升约4.4倍。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 1

表 2

参数

解析

Cache Disabled/Cache Enable

不使能/使能L1P与L1D Cache

DSPF_sp_fftSPxSP/DSPF_sp_ifftSPxSP

单精度FFT/IFFT

N

样本长度

radix

运算基数

(当N为4的幂时,radix为4,否则radix为2)

cycles

运算周期

time

运算时间

关键代码

main函数中申请数据缓冲区,fft_input数组用于存放FFT的信号输入数据,fft_output数组用于存放经FFT处理的信号数据,ifft_output数组用于存放经IFFT处理的信号数据,fft_twiddle数组用于存放FFT旋转因子,ifft_twiddle数组用于存放IFFT旋转因子,signal_data数组用于存放自定义信号数据。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 2

生成测试信号,并存放于复数数组中。其中实部数据为两个正弦波的叠加信号,一个正弦波的振幅为5、频率为50Hz,另一个正弦波的振幅为15、频率为150Hz,虚部数据均为0。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 3

不使能L1 Cache,对复数数据进行FFT以及IFFT,并统计运算时间。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 4

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 5

使能L1 Cache,对复数数据进行FFT以及IFFT,并统计运算时间。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 6

为测试不同状态下的功耗,测试完成后循环进行FFT以及IFFT,使DSP核心处于高负载状态。循环过程中,不检测数据的正确性。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 7

dsplib_fir案例

案例说明

案例功能:调用C标准库中的sin函数产生测试信号,调用DSPLIB中的DSPF_sp_fir_r2函数对测试信号进行有限长单位冲激响应滤波(FIR),输出采样点为1024,并统计运算时间。

案例测试

请运行程序,CCS的Console窗口将会打印FIR运算时间。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 8

点击CCS的“Tools -> Graph -> Single Time”,在弹出的界面中按照下图内容进行配置。其中Start Address选项填写fir_input数组,此数组用于存放FIR的信号输入数据。点击OK,即可查看测试信号的原始波形。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 9

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 10

表 3

参数

解析

Acquisition Buffer Size

数据读取长度

Dsp Data Type

数据读取类型

Start Address

数据读取起始地址

Display Data Size

数据显示长度

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 11

点击CCS的“Tools -> Graph -> Single Time”,在弹出的界面中按照下图内容进行配置。其中Start Address选项填写fir_output数组,此数组用于存放经FIR处理的信号数据。点击OK,即可查看经FIR处理的信号波形。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 12

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 13

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 14

关键代码

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 15

dsplib_iir案例

案例说明

案例功能:调用C标准库中的sin函数产生测试信号,调用DSPLIB中的DSPF_sp_iir函数对测试信号进行无限长单位冲激响应滤波(IIR),输出采样点为1024,并统计运算时间。

案例测试

请运行程序,CCS的Console窗口将会打印IIR运算时间。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 16

点击CCS的“Tools -> Graph -> Single Time”,在弹出的界面中按照下图内容进行配置。其中Start Address选项填写iir_input数组,此数组用于存放IIR的信号输入数据。点击OK,即可查看测试信号的原始波形。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 17

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 18

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 19

点击CCS的“Tools -> Graph -> Single Time”,在弹出的界面中按照下图内容进行配置。其中Start Address选项填写iir_output数组,此数组用于存放经IIR处理的信号数据。点击OK,即可查看经IIR处理的信号波形。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 20

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 21

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 22

关键代码

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 23

dsplib_matrix案例

案例说明

案例功能:调用DSPLIB中的DSPF_sp_mat_mul函数,将矩阵A与矩阵B相乘,并将结果储存在矩阵C中。

案例说明

请运行程序,CCS的Console窗口将会打印运算结果。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 24

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 25

关键代码

通过SIZE指定矩阵大小。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 26

初始化矩阵A和矩阵B。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 27

调用DSPF_sp_mat_mul函数进行矩阵相乘运算。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 28

imglib_sobel案例

案例说明

案例功能:通过fread函数读取BMP灰度图像,并调用IMGLIB中的IMG_sobel_3x3_8函数对图像进行Sobel(边缘检测)算法处理,再通过fwrite函数将经处理得到的BMP图像进行保存。

案例测试

将案例image目录下的bmp灰度图像文件gray.bmp拷贝至程序可执行文件相同目录下。

请运行程序,CCS的Console窗口将会在1~2min内打印如下信息,同时在程序可执行文件相同目录下生成经Sobel(边缘检测)算法处理得到的图像文件sobel.bmp。

本案例测试耗时1~2min,主要因为系统编程如fread,fwrite函数运行占用时间较长。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 29

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 30

关键代码

通过fopenfseek和fread等函数获取图像大小,并读取图像文件。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 31

根据图像文件头信息申请内存空间。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 32

读取图像位图信息,并调用IMGLIB中的IMG_sobel_3x3_8函数对图像进行Sobel(边缘检测)算法处理,再通过fwrite函数将经处理得到的BMP图像进行保存。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 33

imglib_threshold案例

案例说明

案例功能:通过bmp_read_header函数读取BMP灰度图像,并调用IMGLIB中的IMG_thr_le2max_8和IMG_thr_le2min_8函数对图像进行二值化算法处理,再通过fwrite函数将经处理得到的BMP图像进行保存。

案例测试

将案例image目录下的BMP灰度图像文件gray.bmp拷贝至程序可执行文件相同目录下。

请运行程序,CCS的Console窗口将会在1~2min内打印如下信息,同时在程序可执行文件相同目录下生成经二值化算法处理得到的图像文件threshold.bmp。

本案例测试耗时1~2min,主要因为系统编程如fread,fwrite函数运行占用时间较长。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 34

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 35

关键代码

通过fopen、fseek和fread等函数获取图像大小,并读取图像文件。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 36

根据图像文件头信息申请内存空间。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 37

读取图像位图信息,并调用IMGLIB中的IMG_thr_le2max_8和IMG_thr_le2min_8函数对图像进行二值化算法处理,再通过fwrite函数将经处理得到的BMP图像进行保存。

基于TL6678F-EasyEVM评估板——DSP算法案例开发手册

图 38

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月25日 上午10:34
下一篇 2023年4月25日 上午10:50

相关推荐

  • 莱州市应急管理局“四个抓好”深化党建工作

    胶东在线10月14日讯(通讯员 林健) 莱州市应急管理局结合工作实际,坚持以抓党建促业务的工作思路为着力点,围绕“四个抓好”目标,持续深化新时代“先锋党建”。 一是抓好党建工作责任…

    科研百科 2023年1月12日
    116
  • 进度计划怎么做

    进度计划是组织和管理项目或任务的重要工具,可以帮助团队成员明确任务的目标,分配工作,监控进度,以及确保项目按时完成。以下是一些制作进度计划的步骤: 1. 确定项目或任务的目标:在开…

    科研百科 2025年1月12日
    0
  • 吉林建筑科技学院召开校省两级科研项目评审会(吉林建筑科技学院领导简介)

    来源:【未来网】 近日,吉林建筑科技学院组织召开了2023校级科研项目评审及2024省教育厅科研项目推荐评审工作会。今年继续采取校级立项评审与省教育厅科研项目遴选推荐结合进行的评审…

    科研百科 2024年4月17日
    57
  • 进销存软件介绍(商品进销存管理软件)

    商品进销存管理软件:企业成功的关键因素 随着企业规模的增长和业务的扩展,商品进销存管理已经成为了企业管理中不可或缺的一部分。商品进销存管理软件可以帮助企业更好地管理商品采购、销售、…

    科研百科 2024年9月1日
    18
  • 牡丹江师范学院科研项目

    牡丹江师范学院科研项目 近年来,随着经济全球化和科技创新的加速,科研项目已成为推动社会发展的重要力量。作为一所高等学府,牡丹江师范学院积极申请和开展科研项目,以提升学校的学术水平和…

    科研百科 2025年2月1日
    0
  • 中共湖里区城市管理局委员会关于印发《2020年度党建工作要点》的通知

    各党支部:   现将中共湖里区城市管理局委员会《2020年度党建工作要点》印发给你们,请结合实际,认真贯彻落实。   2020年是全面建成小康社会和“十三五”规划收官之年。2020…

    科研百科 2024年6月30日
    45
  • 海外科研项目招生

    海外科研项目招生简介 随着全球化的不断深入,越来越多的中国学者和研究人员前往海外进行学习和研究。作为其中的一个重要组成部分,海外科研项目招生已经逐渐成为了中国学术界的一个热门话题。…

    科研百科 2025年2月26日
    0
  • 三、如何开会——会议期间的管理(会议通过管理方法)

    一场会议开始正式举办后,就进入了会议期间管理的环节。一般来说,行政人员在会议期间的管理工作主要包括以下内容。 1.会议签到为了准确了解与会人员的出席情况,在会议开始时,行政经理要吩…

    科研百科 2022年12月2日
    195
  • 施工进度计划软件免费下载

    施工进度计划软件免费下载 随着现代建筑行业的发展,施工进度计划软件已经成为建筑行业中必不可少的工具。施工进度计划软件可以帮助建筑师,工程师和施工经理更好地管理项目,确保施工进度和质…

    科研百科 2024年9月23日
    19
  • 项目管理系统市场预测

    项目管理系统市场预测 随着现代项目管理的日益复杂和数字化,项目管理系统已经成为许多企业必不可少的工具。然而,随着项目管理系统需求的不断增长,市场也变得越来越竞争激烈。因此,对项目管…

    科研百科 2024年7月14日
    26