嵌入式开发之DSP学习

article/2025/11/9 1:31:22

一、ARM、DSP、FPGA

        ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面;ARM是32位的单片机,其内部硬件资源的性能较高,可以加载操作系统成为其主要特点,有了操作系统,就可以像pc机那样多任务实时处理,就是同一时间内能完成多个任务,而且不会互相影响。

        DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。

        FPGA可以用VHDL或verilog HDL来编程,灵活性强,由于能够进行编程、除错、再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。

ARM、DSP、FPGA比较——非常详细深入_wuqx_blogs的博客-CSDN博客_arm和dsp和fpga

二、DSP

最近所用到的芯片是DSPF28335和DSP28034。

F28335的特点:

1)F28335为哈佛结构的DSP,在逻辑上有4M × \times× 16位的程序空间和4M × \times× 16位的数据空间,物理上将程序空间和数据空间统一成一个4M × \times× 16位的空间。
2)F28335片内共有34K × \times× 16位单周期单次访问随机储存器 SARAM,分为10 个块,分别位M0、M1、L0~L7。
3)M0和M1快SARAM的大小均为 1K × \times× 16位,当复位后,堆栈指向M1块的起始地址,堆栈指针向上生长。M0和M1段都可以映像到程序区和数据区。
4)L0~L7块SARAM的大小均为 4K × \times× 16位,既可以映射到程序空间,也可以映射到数据空间,其中L0~L3可映射到两块不同的地址空间并且受片上FLASH中的密码保护,以免存在上面的程序或者数据,被他人非法复制。
5)F28335片上有 256K × \times× 16位嵌入式FLASH储存器和 1K × \times× 16位一次可编程EEPROM储存器,均受片上Flash中的密码保护。FLASH储存器由8个 32K × \times× 16位扇区组成,用户可以对其中任何一个扇区进行擦除、编程和检验,而其他扇区不变。但是,不能在其中一个扇区上执行程序来擦除和编程其他的扇区。

(1条消息) DSP_紫宸094的博客-CSDN博客

2.1 DSP入门

        通过传感数将非电物理量转换为模拟电信号,预处理一般包括放大器和滤波器两部分,信号经过放大器的放大变为具有一定幅值的模拟输入信号,而滤波器(低通或带通)的作用则是滤除输入模拟信号中的无用频率成分和噪声,避免采样后发生频谱混叠失真。A/D转换器的任务是在满足奈奎斯特采样定理的条件下,将模拟信号转换为数字信以,DSP负责对输入数字信号进行某些算法,如卷积、相关、滤波或快速傅里叶变换(FFT)等。经过处理之后的数字信号再进行DA转换,由于转换输出的模拟信号中含有许多高频成分,因此要通过重建滤波器滤除这些高频信号,以获得平滑的模拟输出信号。

        实际上,为了完成数字信号处理的任务,除了图1-1所示的DSP基本结构之外,还必须在DSP系统中配置人机接口、存储器、通信接口、测试接口和电源设备等。
 

(1)ARM是32位的;DSP有16位的,也有更高的

(2)所有说从运算能力上看,C51最弱,DSP最强,ARM居中

(3)DSP频率很高(高的达到300MHz 以上),所以功耗大。ARM芯片面积也很小,ARM7是0.55平方毫米,功耗也比较小。频率大约在(几十到200MHz之间)

(4)DSP则主要应用于需要进行复杂计算的高端系统,例如图像处理,加密解密,导航系统等,外围module一般较少

ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理

一般说来,ARM的功耗小,适合于对功耗要求比较苛刻的地方,而DSP功耗较大。你不能假设他们主频相同然后比较优劣,因为两者的主频一般并不相同。ARM的优点不在于主频,而在于片上外设比较丰富,接口多种多样,适合于各种嵌入式系统。DSP当然就是以速度高为优点,用途比较专。

DSP(数字信号处理器)技术概要_开心死啦.的博客-CSDN博客_dsp技术

DSP到底是个什么鬼?看完你就懂了_EDA365电子论坛的博客-CSDN博客_dsp

献给初学者-DSP入门教程_newbie_xymt的博客-CSDN博客_dsp编程

2.2 DSP指令

1、EINT、DINT

作用:EINT开中断,DINT关中断

2、ERTM、DRTM

作用:ERTM使能调试事件,DRTM禁止调试事件

3、ESTOP0

这是一个汇编指令,是用于DSP仿真的,它有两个方面的知识:

(1)当用仿真器连接时如果ESTOP0置位(ESTOP0=1),那么整个DSP停止运行(相当于断电指令,程序跑到这里就会停止)。(2)当不用仿真程序时,在程序中写这条指令相当于NOP(空指令),只是占了CPU的一个周期而已

4、EALLOW和EDIS

作用:EALLOW设置状态寄存器1的C6位,此时处于禁写状态的寄存器解禁

           EDIS清除状态寄存器1的C6位,寄存器重新恢复禁止写入状态

DSP由于在上电复位之后,状态寄存器基本上都是清零,而这样的状态下正是上述特殊寄存器禁止改写的状态。为了能够对这些特殊寄存器进行初始化,所以在对上述特殊寄存器进行改写之前,一定要执行汇编指令asm(“EALLOW”)或者宏定义EALLOW来设置状态寄存器1的C6位,在设置完寄存器之后,一定要注意执行汇编指令asm(“EDIS”)或者宏定义EDIS来清除状态寄存器1的C6位,来防止杂散代码或指针破坏寄存器内容。

【DSP】DSP2833x.h中定义的指令EINT、DINT、ERTM、DRTM、EALLOW、EDIS、ESTOP0的含义_aoxiang_ywj的博客-CSDN博客_dint指令是什么意思

DSP与STM32单片机的区别是什么 - 控制/MCU - 电子发烧友网 (elecfans.com)

2.3 DSP中的CMD文件

链接命令文件(Link Command Files),以后缀.cmd结尾,简称CMD文件。CMD文件的两大功能是指示存储空间和分配段到存储空间。在编写CMD文件时,主要采用MEMORY和SECTIONS 两条伪指令。

DSP中的cmd文件 - 走看看 (zoukankan.com)

 2.4 DSP中断

中断PIE即外设设备发出中断,统一到CPU进行处理操作。

DSP中断管理分为3个层次:外设级,PIE级,CPU级。
其中,外设级中断管理负责具体外设中断源的允许与禁止,PIE级中断管理负责对外设级中断分组并按照优先级管理,CPU内核级中断管理则负责处理直接向CPU申请的中断请求。

DSP控制器的外设中断扩展模块(PIE),对中断进行集中化扩展,使每一级CPU中断均可以响应多个中断源。

DSP入门:中断PIE_剑起沧澜的博客-CSDN博客_pie中断

TMS320F28335中断向量表

在 F28335 中采用 PIE 中断向量表来解决上述问题,通过 PIE 中断向量表使得 96 个可能产生的中断都有各自独立的 32 位入口地址。PIE 向量表由 256X16B的 SRAM 内连续存放,如果这部分空间不用作 PIE 模块时,可用作数据 RAM。复位时,PIE 向量表内容没有定义。 CPU 的中断优先级有高到低依次是从INT1-INT12。每组 PIE 控制的 8 个中断优先级依次是从 INTx.1-INTx.8。PIE 向量表如下所示:

TMS320F28335中断向量表_虹月铺江船的博客-CSDN博客_28335中断向量表

2.5 DSP硬件环境

首先我们需要知道运行DSP所需的最基本的硬件组件,也就是大家平时所说的最小系统。
只要DSP有了最小系统,他就能够正常运行起来,实现基本的功能。如果还需要什么功能,只需要在这个基础上增加一些外设就行了。
DSP的最小系统包括:时钟电路、电源电路、外部连接电路、复位电路
时钟电路
时钟电路,号称数字电路的心脏,其重要性可想而知。这里所说的时钟电路,是DSP的外部时钟电路,DSP内部也内嵌有时钟,只不过时钟的频率低一点,精度差一点。一般来说,所有的数字芯片都会有外部时钟电路的。

电源电路
电源电路,就是供电的。

外部连接电路
外部连接电路,是指如:串口,JTAG这样的能够与上位机通信的连接电路。做DSP开发,JTAG接口是必不可少的,它既能用于下载程序,也能用于调试代码。说到JTAG,必须要提到一个东西–DSP仿真器。仿真器是个什么东西?JTAG是个接口,仿真器就是有JTAG接口的调试工具,它本身也是个电路板,它两端有接口,用于连接DSP和电脑。仿真器的usb口插入电脑,JTAG接口插入DSP的外部链接电路上的JTAG口上,通电之后,就实现了电脑与DSP之间的连接。

复位电路
复位电路,就是在上电的时候,将DSP的一些特殊寄存器置于初始状态,确定DSP的工作模式,给DSP的硬件和软件一个确定的、唯一的起点。当然,除了上电,一般也有按键复位。

2.6 DSP实验参考

(一)DSP28335基础教程——GPIO输出(流水灯实验)_Sk Electronics的博客-CSDN博客_dsp流水灯

2.7 DSP中GPIO的寄存器

DSPF28069——GPIO寄存器记录1_sxhpai的博客-CSDN博客_gpamux1和gpamux2

2.8 时钟

时钟相关寄存器

外设时钟控制寄存器PCLKCR0、PCLKCR1、PCLKCR2、PLCLKCR3
低速外设时钟预分频器寄存器LOSPCP
内部振荡器调整寄存器(INTOSCnTRIM)
时钟寄存器(XCLK)
时钟控制寄存器(CLKCTL)
PLL控制寄存器、PLL状态寄存器、PLL锁定周期寄存器(PLLCR、PLLSTS、PLLLOCKPRD)
PLL2控制寄存器、PLL2乘法寄存器、PLL2锁存状态寄存器(PLL2CTL、PLL2MULT、PLL2STS)
SYSCLK2计数器寄存器(SYSCLK2CNTR)
EPWM DMA/CLA配置寄存器(EPWMCFG)

DSPF28069——时钟记录5_sxhpai的博客-CSDN博客

三、问题记录

3.1 PieCtrlRegs.PIEACK.all = PIEACK_GROUP7

例: PieCtrlRegs.PIEACK.all=PIEACK_GROUP1;//中断已应答,可以从组1接收更多中断

除了PIEACK_GROUP7还可以设置其他参数,例如在收发通讯的时候

interrupt void scia_Tx_isr() {

        PieCtrlRegs.PIEACK.all=M_INT9;

}

四、经验记录

1.GPIO口有输入输出选项,这是和IO口不同的地方

2.在一个n×n的矩阵键盘,要识别其中的某一个按键是否被按下,可以采用逐行扫描的方法

3.数组可以直接传入到指针里面

#include <stdio.h>/* 函数声明 */
double getAverage(int *arr, int size);int main ()
{/* 带有 5 个元素的整型数组  */int balance[5] = {1000, 2, 3, 17, 50};double avg;/* 传递一个指向数组的指针作为参数 */avg = getAverage( balance, 5 ) ;/* 输出返回值  */printf("Average value is: %f\n", avg );return 0;
}double getAverage(int *arr, int size)
{int    i, sum = 0;      double avg;          for (i = 0; i < size; ++i){sum += arr[i];}avg = (double)sum / size;return avg;
}


http://chatgpt.dhexx.cn/article/MpWKnIUf.shtml

相关文章

[培训-DSP快速入门-2]:C54x DSP处理器的架构

作者主页(文火冰糖的硅基工坊)&#xff1a;https://blog.csdn.net/HiWangWenBing 本文网址&#xff1a;https://blog.csdn.net/HiWangWenBing/article/details/118889692 目录 1. C54x芯片的总体基本架构 1.1 冯诺依曼结构 1.2 哈佛结构 1.3 混合结构 1.4 C54x芯片结构 …

dsp基础算法

【小编】发现好文一篇&#xff0c;让大家对DSP中的基础算法和模型有一个初步的了解。 &#xff08;转载请保留原文链接 http://www.techinads.com/archives/41authored by 江申_Johnson&#xff09; 美国有一家很优秀的DSP公司–M6D&#xff08;m6d.com&#xff09;&#xff0c…

初学DSP(1)-TMS320F280049C入门

目录 前提 知识点 深入了解DSP和ARM的关系&#xff08;相同与区别&#xff09; DSP CMD学习笔记&#xff08;连接物理存储和逻辑存储&#xff09; CMD文件详解与DSP存储空间 DSP 程序远程升级 / Bootloader设计指南&#xff08;一&#xff09;—— 初识Bootloader/DSP引导…

【FPGA-DSP】第一期:DSP基础

目录 1. DSP基础 1.1 DSP基本概念 1.2 FPGA实现DSP的特点 2. DSP硬核的结构与使用 3. FPGA设计DSP技术 3.1. 浮点数与定点数的表示与转换 3.1.1. 双精度浮点数表示 3.1.2. 双精度浮点数与定点数的转换 本章作为FPGA数字信号处理的入门介绍课程&#xff0c;将介绍DSP的…

DSP基础知识

1.定义 数字信号处理器&#xff08;英文&#xff1a;Digital Signal Processor&#xff09;是集成电路芯片组成的用来完成数字信号处理任务的处理器。 2.功能 2.1ANR/ANC 其原理是降噪系统电路产生降噪MIC接收的外界环境噪音相等的反相信号&#xff0c;将噪声抵消。实现50-2K…

DSP的入门学习(一)

#硬件讲解与分类 1.DSP DSP&#xff08;digital signal processor&#xff09;是一种独特的微处理器&#xff0c;是以数字信号来处理大量信息的器件。其内部采用程序和数据分开的哈佛结构&#xff0c;具有专门的硬件乘法器&#xff0c;广泛采用流水线操作&#xff0c;提供特殊…

DSP-BIOS使用入门

从环境说到搭建第一个工程 请注意&#xff0c;此文默认读者已经对DSP及CCS V3.3环境有一定的了解了&#xff0c;知道cmd文件的配置&#xff0c;知道新建工程&#xff0c;编译并连接仿真器下载&#xff01;如果你对这些还都不熟悉&#xff0c;请先熟悉这些&#xff01;当然&…

【DSP】【第一篇】开始DSP学习

2022年6月14日 1. 部署开发环境 略。工作需要&#xff0c;TMS320C6678。 从今天开始学习DSP的知识。 后面会补充如何安装部署环境。 1.1 组件 1.1.1 SDK MCSDK&#xff08;CCSv5,CCSv6&#xff09;Path(全英文路径&#xff0c;无中文&#xff0c;无空格) 安装完之后&#xf…

DSP的入门学习(二)

DSP的入门学习&#xff08;二&#xff09; 1.了解所用的设备资源 图为 Code Composer Studio 6.0.0.00190 C/C开发环境 1.1 简单介绍建立一个CCS项目工程 上图所用到的是&#xff1a;硬件平台基于TMS320F28335芯片&#xff0c;软件平台基于TI的Code Composer Studio 6.0.0.…

[培训-DSP快速入门-1]:DSP概述(基本框架、CPU, GPU, FPGA比较,常见型号)

作者主页(文火冰糖的硅基工坊)&#xff1a;https://blog.csdn.net/HiWangWenBing 本文网址&#xff1a;https://blog.csdn.net/HiWangWenBing/article/details/118885060 目录 引言&#xff1a; 第1部分 什么是DSP 第2部分 为什么需要DSP 第3部分 DSP的基本框架 第4部分 C…

DSP,从入门到入土

文章目录 前言一、DSP架构二、内存管理三、 多核并行处理1.1、主从模式1.2、数据流模式 四、多核同步4.1、共享存储区变量4.2、硬件信号量 五、Cache的使用六、DMA的使用七、一些编程tips7.1 关键字7.2 struct定义7.3 存储7.4 动态内存7.5 编译器选项 八、八核固化附录 前言 下…

用电器分析识别装置(H 题)--2021 年全国大学生电子设计竞赛

用电器分析识别装置&#xff08;H 题&#xff09;--2021 年全国大学生电子设计竞赛 一 任务二 要求1. 基本要求2&#xff0e;发挥部分 三 说明四 评分标准优秀作品开源参考&#xff08;来源立创开源平台&#xff09;文件 一 任务 设计并制作一个根据电源线电流的电参量信息分析…

2022年全国大学生电子设计竞赛—TI杯模拟电子系统设计专题邀请赛X题

一、简介 全国大学生电子设计竞赛“TI杯”模拟电子系统设计专题邀请赛&#xff0c;是全国大学生电子设计竞赛的一项专题邀请赛&#xff08;以下简称邀请赛&#xff09;。竞赛自2010年起每逢双年举办&#xff0c;并设TI杯。邀请赛贯彻全国大学生电子设计竞赛的宗旨&#xff0c;…

「2020年大学生电子设计竞赛分享」电源题,省一等奖!

点击上方“大鱼机器人”&#xff0c;选择“置顶/星标公众号” 福利干货&#xff0c;第一时间送达&#xff01; 01 到底参不参赛&#xff1f; 嗡嗡嗡&#xff0c;随着手机的一声振动&#xff0c;锁屏弹出了消息提醒&#xff0c;没看全文&#xff0c;依稀瞄到2020……TI杯……几…

智能送药小车(F 题)--2021 年全国大学生电子设计竞赛

智能送药小车&#xff08;F 题&#xff09;--2021 年全国大学生电子设计竞赛 一 任务二 要求1&#xff0e;基本要求2&#xff0e;发挥部分 三 说明四 评分标准优秀作品开源参考&#xff08;来源立创开源平台&#xff09;文件 一 任务 设计并制作智能送药小车&#xff0c;模拟完…

电子设计竞赛设计总结报告写作

文末免费下载资料 内容提要 设计总结报告是电子设计竞赛作品的一个重要组成部分&#xff0c;占50分。本章介绍了设计总结报告的评分标准分析&#xff0c;设计总结报告的内容、要求与应注意的一些问题&#xff0c;给出了3个设计与总结报告示例。 知识要点&#xff1a; 设计总结…

2017年全国大学生电子设计竞赛综合测评题

2017年全国大学生电子设计竞赛综合测评题 题目如下&#xff1a; 题目要求电源只能使用5V单电源、给运放使用5V单电源供电。 方波发生电路 有点像梯形是因为multisim上的LM324跟不上变化的速度&#xff0c;使用题目中的AD2302即可。 输出为接近5V的方波&#xff0c;使用滑动变…

2022年全国大学生电子设计大赛省赛A题

2022年全国大学生电子设计大赛省赛A题 (交流电子负载) 文章目录 2022年全国大学生电子设计大赛省赛A题 (交流电子负载)前言一、总体思路二、模块设计1.半桥模块2.测量模块3.辅助电源模块 三、主电路搭建总结 前言 2022年全国大学生电子设计大赛省一第一名&#xff08;受学校省…

2022暑期学校——简单实现2021年电子设计竞赛国赛题目

目录 设计目标&#xff1a; 设计思路&#xff1a; 设计方案&#xff1a; 电机驱动 1)时钟配置 2)SYS配置 3)PWM信号输出 4)电机控制思路 5)电机驱动代码 电脑通讯 1&#xff09;CubeMx配置 2&#xff09;电脑通讯代码 HC05蓝牙通讯 1&#xff09;HC05原理讲解 2&am…