学校云 建设你的专属在线教育平台
中国大学MOOC
SPOC学校专有课程
DSP技术A
分享
spContent=DSP技术课程,是一个理论与实践联系非常紧密的课程,该课程的实验实践部分占总学时的1/2。DSP课程实验包括DSP编程环境的使用和DSP/BIOS的使用等内容,使得学生通过完成对应的实验(或项目)内容,将这些知识点连贯起来,强化所学知识的综合应用能力。
—— 课程团队
课程概述

        DSP课程实验教学基于EVMDM6437(C64x+)和CCS5开发平台,包括DSP编译环境介绍、DM6437平台介绍、定点数运算、DSP/BIOS运用等,注重与其它相关课程的衔接,强调理论与实际的有机结合,节奏上循序渐近,力图帮助学生掌握基本原理,学习基本知识,理解典型系统,提升发现问题、分析问题与解决问题的能力。


第1章:CCS基本开发环境介绍

   该章节从一个最基本的“Hello World”例程开始,介绍CCS开发环境的使用以及DSP代码工程文件的构建。重点介绍CMD文件,CCXML目标板配置文件,GEL文件的功能和作用,以及JTAG仿真器的连接和使用。同时,这本章节中还介绍了CCS开发环境下的代码调试工具。通过本章节的学习,掌握基本的代码开发工具的使用。

第2章:BIOS操作系统下的音频采集

该章节主要介绍使用HWI以及TSK线程框架实现音频直通代码的例程。在本章中,首先介绍了DM6437实验板的基本接口和功能模块,然后对BIOS的代码运行流程进行了简单介绍。本章使用了两个例程,其中HWI线程使用硬件中断服务函数的形式完成输入信号的采集和播放。而另外一个例程,在HWI线程的基础上,还添加了TSK,IDL线程以及旗语、队列等工具完成信号采集和播放。后一个例程可以非常方便地添加网络通信模块从而实现捕获音频数据的传输。

 

 

授课目标

本课程作为DSP技术系列课程中的实践课程之一,其目的在于培养学生综合应用所学知识,解决复杂工程问题的能力。课程以DM6437开发板为平台,综合了计算机组成原理、数字电路基础、操作系统、C语言等多门课程知识,学习CCS开发环境和工具、DSP/BIOS线程管理应用等内容,通过课程学习并完成实验,帮助学生掌握基础理论,提升实际运用能力,强化分析问题与解决问题的能力,同时增强自主学习的能力。

成绩 要求

疫情期间,本课程的成绩构成方式暂定如下:

  1. 知识随机抽查(每人5次,占10分)

  2. 线上期中考试(30分)

  3. 课程综合设计(60分)


课程大纲
预备知识

学习本课程前应具备以下几个方面的预备知识:


先修课程:C语言程序设计,能够熟练编程

推荐但不要求先修课程:操作系统,数字电路基础;知道基本的操作系统概念,理解计算机组成的基本原理


参考资料

1、参考教材

 路锦正  等,《C674x-DSP嵌入式开发与实践》,科学出版社,2019年1月

       

2网络资源

     CCS软件及教材配套源代码下载地址:

     链接:https://pan.baidu.com/s/1pBCKl627oyaR28Ju2ZP8VA

     提取码:ytms


3、TI官网

   https://www.ti.com/

  https://www.ti.com.cn/

常见问题

Q :  DSP的全称是什么?

A :  Digital Signal Processor,数字信号处理器


Q: DSP技术开发通常用到C语言的哪些知识点?

A: 主要用到指针、结构体、动态内存、文件等。

 

Q: C语言对DSP技术开发的重要性如何?

A: DSP开发主要采用C语言,少量的汇编语言(线性汇编)。一个典型的DSP程序通常约95%C语言,5%的线性汇编。或者全部采用C语言,在核心函数使用Intrinsic指令(类似函数)实现数据快速处理。

 

Q: DSPARMFPGAGPU的关系如何?

A: 这些都是可编程器件。ARM适于人机交互、多任务管理,FPGA适于时序转换、高速数据采集等,GPU适合密集型数据处理,DSP适于数字信号处理。

 

Q: DSP与图像处理有什么关系?

A: DSP特别适于图像处理、视频处理等,算法完全自己定制、能够深度优化。

 

Q: DSP技术开发的工具有哪些?

A: 开发工具包括硬件工具和软件工具。硬件包括仿真器和评估板(EVM),软件包括CCSSDK

 

Q: DSP技术开发的重点和难点有哪些?

A: DSP开发包括硬件开发和软件开发,软件开发占总开发周期的约80%,因此软件开发是重点。硬件通常借鉴EVM做裁剪;软件包括系统软件和算法软件。算法优化是难点。

 

Q: DSP技术开发必须使用硬件仿真器或EVM吗?

A: 不是的,如果只是验证数据处理、算法优化,可只采用CCS的软件仿真功能。

 

Q: CCS有几种工作模式?

A: 两种工作模式:软件仿真(Simulator)和硬件仿真(Emulator)

 

Q: CCS软件版本越高越好吗?

A: CCS6及以后的版本不再支持软件仿真功能,这对于没有仿真器或EVM的用户来说,无法进行算法的软件仿真。实际上,CCS5.5功能就可满足绝大部分需求。当然如果安装了高版本,可以从5.5中拷贝软仿文件使高版本CCS支持软仿。

 

Q: CCS软件免费吗?

A: 是的,可以从TI官网免费下载、安装。建议使用CCS5.5

 

Q: DSP与单片机(MCU)有何区别?

A: DSP可以看做是高级单片机,都采用C语言编程。DSP适于做信号处理、控制、通信,单片机适于做控制。

 

Q: 衡量DSP的性能或处理,是不是只看主频即可。

A: 不是的,衡量DSPCPU处理能力要看MIPSMillion Instructions per Second),不能纯粹的看CPU主频。因为DSP的单指令周期可以运行多条指令,如ADIDSP可并行2条,TIC55x可并行2条,而TIC6000系列最高可并行8条指令。如C6748 DSP的主频为456Mhz,则其处理能力为3648 MIPS

 

Q: TIDSP主要有哪些系列?

A: C2000主要用于控制,C5000主要用于便携式、低功耗处理,C6000主要用于高性能、复杂运算。C2000代表型号C2812C5000代表型号C5509C6000又分为C64/C67/C66

 

Q: TIC6000系列DSP具体有哪些型号?

A: C6000最早的是C62x(纯定点);后来有了C64x(纯定点)、C67x(纯浮点);升级后,C64x+C67x+处理能力增强;C674x为定浮点DSP,性能更强;C66x为多核DSP,性能最强,如8核的C6678为业界性能最强DSP

 

Q: TIC6748 DSP是多少位的处理器?

A: 32位,即数据的基本宽度是32位。当然也可以访问8164064的数据。

 

Q: SYS/BIOS的全称是什么?

A: System, Basic input and output system。是TI提供的可运行在ARMDSP上的嵌入式操作系统。

 

Q: 裸程序和任务程序是什么概念?

A: 裸程序就是采用C语言编程时,有main函数,有中断服务程序,CPUmain中死循环(whilefor),main函数生命周期长(除非复位或掉电)。任务程序就是基于操作系统开发的程序,用户编写线程或任务,操作系统调度这些线程或任务,此时的main函数只是做一些初始化工作,执行完后main生命周期结束。

 

Q: DSP开发图像处理有可借鉴的SDK吗?

A: 有的,如IMGLIB(图像处理库,开源),VLIB(视觉库,可免费使用目标代码)。

 

Q: DSP技术开发的系统SDK有哪些?

A: 网络开发包NDKNSP,初始化固件包StarterWare,芯片支持库CSL,轻型网络开发包LWIP

 

Q: C6000系列DSP为什么可以并行8条指令?

A: 因为C6000系列的CPU有两组功能相同的功能单元,每边有四个,即:L1/L2, S1/S2, M1/M2, D1/D2,共八个,每个功能单元执行一条指令。

 

Q: C6000系列的DSP有多少个通用寄存器?

A: 分两组,AB,每边32个,共64个:A0~A31, B0~B31