当前位置: 首页 > news >正文

基于TMS320X281X/F28335的DSP入门到精通01_如何开始DSP的学习与开发

本部分开始基于《手把手教你学DSP—基于TMS320X281X》,《手把手教你DSP基于MS320F28335 》、《TMS320X281x DSP原理及C程序开发》,另外结合B站视频进行DSP嵌入式的学习。
《手把手教你学DSP—基于TMS320X281X》介绍的相对更为基础和详细,《手把手教你DSP基于TMS320F28335 》则是对前者的升级,一般掌握了TMS320X281X对于TMS320F28335也不会有大的问题。
后面的介绍也是以《手把手教你学DSP—基于TMS320X281X》作为主线进行的介绍,对于从其他地方补充的,会另外进行说明。

文章目录

  • 1. 初学者在学习DSP之前需要掌握的
  • 2. 如何选择DSP
  • 3. TI DSP 具体型号的含义
  • 4. DSP开发所需要准备的工具以及开发平台的搭建
    • 4.1 所需要准备的工具
    • 4.2 开发平台的搭建
      • 4.2.1 CCS软件安装
      • 4.2.2 安装仿真器
      • 4.2.3 识别成功之后进行CCS软件的配置
      • 4.2.4 目标板的连接

1. 初学者在学习DSP之前需要掌握的

无论学习哪一款微处理器,无关乎两个部分:一个是硬件,一个是软件。

  • 硬件部分,最好有过MCU或者ARM之类相关微处理器的开发经验,因为硬件上,各个处理器之间是有许多共同点的,设计时处理的方法很多是一样的。当然,如果之前没有接触过硬件知识也不要紧,可以以DSP为起点,慢慢进行积累。
  • 软件部分,需要会C或者C十十,这是必需的,如果没有这个作为基础的话,那DSP开发真的就无从下手了,因为编程的时候总是要用到C语言。当然如果会汇编那自然就更好了。
  • 除了上面两方面的技能之外,如果在信号处理理论方面有一些基础,例如知道时域与频域、s域、z域的变换,知道FFT、各种数字滤波器的知识,那就是锦上添花了。不过,话也说回来,就算现在什么都没学过,什么基础都没有,也是可以从头开始学习的,所以只要能静下心来学习,想要好好学的话,还是没有问题的。

2. 如何选择DSP

首要考虑以下几点:

  • 处理器速度
  • 功耗
  • 存储空间大小:程序和数据的存储空间
  • 片内资源:定时器个数、IO口个数、DMA通道数、终端数

DSP的主要供应商:TI(50%市场份额)、ADI、摩托罗拉、Zilog,TI使用更为广泛

TI公司DSP产品:

  • C2000:数字控制、运动控制
  • C5000:低功耗、手持设备、无线终端应用领域
  • C6000:宽带网络、数字图像处理,只提供BGA封装及多层PCB
  • 达芬奇:安全监控领域
  • OMAP:DSP+ARM核心,双核处理器,集成ARM命令和控制功能结合DSP低功耗实时处理能力,比较适合用在移动上网设备和多媒体家电中
  • Piccolo:控制领域,成本低,可以与单片机竞争

现在使用相对比较多的芯片有定点芯片TMS320F2407、TMS320F2812、TMS320F2808和点芯TMS0F85,其TMS320F2812使用最为广泛,本书也将主要探讨TMS320F2812芯片开发的方方面面。

3. TI DSP 具体型号的含义

在这里插入图片描述

4. DSP开发所需要准备的工具以及开发平台的搭建

4.1 所需要准备的工具

DSP的开发离不开软件工具和硬件工具,如下图所示,软件需要TI公司提供的CCS软件,硬件则需要仿真器和目标板。
在这里插入图片描述

  • CCS最新已经出到了4.0,由于CCS4.0与以往采用的开发平台不一样,所以CCS4.0使用的还是比较少,更多的还是CCS3.3,后期也是以CCS3.3来进行讲解的。
  • 硬件主要包括仿真器和DSP开发板。
    在这里插入图片描述
    仿真器的作用就是链接了CCS软件和DSP芯片,起到了协议转换、数据传输等作用,就像一个桥梁一样,DSP开发时的调试、下载、烧写等操作都是需要通过仿真器来完成的。
    在这里插入图片描述
    《TMS320X281x DSP原理及C程序开发》中提到:
    TI公司提供的DSP系统集成与调试的工具主要包括:
  • 软件仿真器(Simulator);
  • DSK开发套件;
  • 评估板(EVM);
  • 硬件仿真器(主要包括XDS510和XDS560);
  • 集成开发环境(Code Composer Studio)

在确定DSP系统的基本结构和信号处理算法后,使用软件仿真器可以在没有目标系统的情况下,完成DSP软件的设计和调试,并在Simulator模式下仿真验证算法的准确性。Simulator使用编译器、链接器等工具产生目标代码,采用主机文件的形式为仿真器模拟硬件系统提供的数据。此外,在Simulator 模式下,用户也可以设置断点及跟踪模式,调试跟踪程序的执行结果。

DSK开发套件和评估板是TI公司的第三方提供的一种简单的系统评估平台,DSK和EVM除了提供基本的硬件平台外,还提供完整的代码生成工具和调试工具。用户可以使用DSK或EVM完成需要设计系统的硬件性能、软件算法的评估,为确定系统的软/硬件方案提供可靠的依据。

硬件仿真器是功能强大的全速仿真器,用以完成系统的集成与调试。每个DSP器件都提供边界扫描接口(JTAG),通过XDS510或XDS560检测器件内部的寄存器、状态机以及引脚的状态,从而实现对DSP状态的监控。不过XDS510或XDS560硬件仿真器只是一个硬件平台,必须配合主机开发环境(CodeComposerStudio)才能很好地实现系统的集成与调试工作。

在没有目标板的情况下,可以考虑使用软件仿真器来进行软件的开发调试。

4.2 开发平台的搭建

  • 仿真器:HDSP-XDS510 USB2.0
  • 目标板:基于 TI公司的 DSP TMS320F2812的标准化开发平台,例如HELLODSP的HDSP-Basic 2812
  • 软件:CCS软件

4.2.1 CCS软件安装

在win10中下载安装CCS3.3,请参考CCS_3.3.83.20的安装步骤和CCS v3.3在win10电脑上的详细安装步骤,关于在win10下如何安装,TI也有介绍:Using CCS 3.3 with Windows 10,自行下载的话需要注册账号,有需要的话我可以进行安装包的分享。

安装到最后提示如下:
在这里插入图片描述
后来按照点击确定之后按照网上的教程安装了ActivePerl-5.8.8.822-MSWin32-x86-280952,配置好之后就会报以下错误:
在这里插入图片描述

4.2.2 安装仿真器

在 Windows 环境下安装 Code Composer Studio3.1软件后,在桌面上会出现 Setup 和应用程序的两个快捷按钮。SetupCCStudiov3.3应用程序主要用来配置所需要开发的处理器类型、硬件设备的选择情况等, 根据仿真器厂家说明来按照对应的仿真器,大致过程如下:安装驱动;设置计算器识别仿真器;在设备管理器中查看仿真器是否识别安装成功

4.2.3 识别成功之后进行CCS软件的配置

对CCS3.3进行相关的配置操作,为CCS3.3选择需要开发的DSP型号,以及选择支持这个DSP开发的配置文件、仿真器所需要使用的端口等,完成CCS、仿真器和DSP之间对接的配置工作。所有的这些操作都是在Setup Code Composer Studio v3.3软件中完成的。

4.2.4 目标板的连接

连接之后的连接图如下图
在这里插入图片描述
上电顺序:在系统没有加电的情况下将仿真器和HDSP-Super2812的JTAG口连接好;然后将+5V电源插到HDSP-Super2812的电源插座;接着把仿真器的USB口连接到计算机的 USB口上,仿真器红色的POWER灯亮;打开CCS3.3,单击 Debug菜单,然后单击 Con-nect,仿真器绿色的TARGET灯亮,说明CCS3.3已经和DSP通过仿真器链接成功。

下电顺序:和上电时的顺序正好完全相反,单击Debug菜单,然后单击Disconnect,断开CCS3.3和DSP的链接,仿真器绿色的TARGET灯灭;然后关闭CCS3.3,接着将仿真器的USB口从计算机的USB口拔下,仿真器红色的POWER灯灭;再将HDSP-Super2812的+5 V电源拔出:最后可以将仿真器的JTAG口和HDSP-Super2812的JTAG口断开。

相关文章:

基于TMS320X281X/F28335的DSP入门到精通01_如何开始DSP的学习与开发

本部分开始基于《手把手教你学DSP—基于TMS320X281X》,《手把手教你DSP基于MS320F28335 》、《TMS320X281x DSP原理及C程序开发》,另外结合B站视频进行DSP嵌入式的学习。 《手把手教你学DSP—基于TMS320X281X》介绍的相对更为基础和详细,《手…...

Java爬虫获取1688 item_search_img接口详细解析

概述 1688作为中国领先的B2B电商平台,提供了丰富的API接口供开发者获取商品信息。item_search_img接口允许通过图片搜索商品,这对于需要基于图片进行商品查找的应用场景非常有用。本文将详细介绍如何使用Java爬虫技术获取1688的item_search_img接口数据…...

Java 连接 FTP 服务器全解析

Java 连接 FTP 服务器全解析 一、引言 在许多企业级应用和数据处理场景中,与 FTP 服务器进行交互是一项常见且重要的任务。Java 提供了强大的工具和库来实现与 FTP 服务器的连接、文件传输、目录操作等功能。本文将详细介绍如何使用 Java 连接 FTP 服务器&#xf…...

字节跳动C++面试题及参考答案(下)

说说B 树 b + 树 B 树: B 树是一种平衡的多路查找树,它的设计目的是为了减少磁盘 I/O 操作,适用于存储大量的数据并进行高效的查找、插入和删除操作。B 树的节点可以有多个子节点(通常称为多路),每个节点包含多个关键字,关键字之间是有序的。 B 树的结构特点包括:根节点…...

Rabbit MQ知识总结

1.什么是Rabbit MQ? Rabbit MQ是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP); 基本概念 消息:消息是在应用程序之间传递的数据单元。可以是简单的文本信息,可以是复杂的对象。队列:队列是消息的容器&am…...

未来将要被淘汰的编程语言

COBOL - 这是一种非常古老的语言,主要用于大型企业系统和政府机构。随着老一代IT工作人员的退休,COBOL程序员变得越来越少。Fortran - 最初用于科学和工程计算,Fortran在特定领域仍然有其应用,但随着更现代的语言(如Py…...

GO环境安装和配置

安装go环境 wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz -P /usr/local或者去官网下载安装包 tar -xzf go1.23.4.linux-amd64.tar.gz sudo mv go /usr/local export GOROOT/usr/local/go export GOPATH$HOME/go export PATH$PATH:/usr/local/go/bin source ~/.bashr…...

面试题整理(四)

1.Max transition,leakage优化,hold time ,setup time violation修复的顺序是? 答:先把max transition修复掉,如果max transition有violation,意味着其超出了查找表范围之外,所以计算得到的delay都不是很准的。 其次是把setup修复了,因为setup相对来说,需要减少cell…...

mathtype中如何在公式和序号之间加点

1,右编号插入公式 2,打开样式面板(ctrlshiftalts) 3,选中MTDisplayEquation样式,右击修改 4,点击格式,弹出下拉列表,点击制表位 5,先选中34.67字符&#…...

【电源专题】电源芯片的PG(Power Good)管脚是什么?

在看电源芯片规格书时,你会发现有一些电源芯片有PG管脚。如下ti.com.cn/product/cn/tps56637?qgpn=tps56637规格书所示: 对应的描述是:Open Drain Power Good Indicator, it is asserted low if output voltage is out of PG threshold due to over-voltage, under…...

C/C++圣诞树

系列文章 序号直达链接1C/C爱心代码2C/C跳动的爱心3C/C李峋同款跳动的爱心代码4C/C满屏飘字表白代码5C/C大雪纷飞代码6C/C烟花代码7C/C黑客帝国同款字母雨8C/C樱花树代码9C/C奥特曼代码10C/C精美圣诞树11C/C俄罗斯方块12C/C贪吃蛇13C/C孤单又灿烂的神-鬼怪14C/C闪烁的爱心15C…...

牛客--求小球落地5次后所经历的路程和第5次反弹的高度,称砝码

求小球落地5次后所经历的路程和第5次反弹的高度 描述 假设有一个小球从 hh 米高度自由落下,我们不考虑真实的物理模型,而是简洁的假定,该小球每次落地后会反弹回原高度的一半;再落下,再反弹;……。 求小球…...

cad学习 day6

平面布置图 文字标注: 材料代码(视口外进行标注) 成品家具(移动家具)、定制家具、洁具、家电电器根据封面设计说明内容进行文字标注sc 缩放代码符号, 打印可以看的清楚 家具尺寸图 家具尺寸标注: 家具尺寸; 过道尺寸; 冰箱、洗衣机、马桶(预览尺寸)D 平面内尺寸置为当前, 视…...

Chrome 浏览器插件获取网页 iframe 中的 window 对象

Chrome 浏览器插件获取网页 iframe 中的 window 对象 前言 之前写了篇《Chrome 浏览器插件获取网页 window 对象》文章,是获取当前页面的 window 对象,但是有些页面是嵌入 iframe 的,特别是系统项目主域一样,那就也需要获取 ifr…...

免费线上签字小程序,开启便捷电子签名

虽如今数字化飞速发展的时代,但线上签名小程序的开发制作却并非易事。需要攻克诸多技术难题,例如确保签名的真实性与唯一性,防止签名被伪造或篡改。 要精准地捕捉用户手写签名的笔迹特征,无论是笔画的粗细、轻重,还是…...

IT运维的365天--021 服务器上的dns设置后不起作用

之前在内网搭建了一个和外网同域名的网站,开发同事今天告诉我,程序调试发现可能服务器不能正常访问自己内网的网站内容。于是,今天的故事开始了。 前面的文章在下面列出,当然不看也问题不大,今天的主题是:…...

深信服企业级数据备份与恢复系统(整机裸机恢复)

概述 深信服企业级数据备份与恢复系统可实现无需搭建目标环境,目标机可以是没有操作系统的物理主机或虚拟机,实现异构环境下的裸机恢复。 深信服企业级数据备份与恢复系统支持的多种连接恢复方式: 1. PXE连接恢复:PXE连接需要做…...

Tool之Excalidraw:Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略

Tool之Excalidraw:Excalidraw(开源的虚拟手绘风格白板)的简介、安装和使用方法、艾米莉应用之详细攻略 目录 Excalidraw 简介 1、Excalidraw 的主要特点: Excalidraw 安装和使用方法 1、Excalidraw的安装 T1、使用 npm 安装: T2、使用 …...

OPPO C++面试题及参考答案

五层协议每层包含的协议 在计算机网络的五层协议体系结构(自下而上为物理层、数据链路层、网络层、传输层和应用层)中,各层包含多种协议。 物理层主要负责在物理介质上传输原始的比特流,包括像 RJ - 45 接口标准等物理接口规范&am…...

Unity中LineRenderer使用MeshCollider方法参考

运行时,如果一个物体不添加Collider组件就没有办法被鼠标点击,LineRenderer由于其Mesh会随着摄像机朝向变化,如果要通过添加MeshCollider来使其能够与鼠标交互,就需要不断同步更新其MeshCollider网格。 代码参考如下: …...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

【AI学习】三、AI算法中的向量

在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

OpenLayers 分屏对比(地图联动)

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...