DSP简介-程序员宅基地

技术标签: 人工智能  

一、什么是DSP[1]

DSP,Digital Signal Processor,也就是数字信号处理器。这是一种具有特殊结构的微处理器,是以数字信号来处理大量信息的微处理器。将模拟信号转换成数字信号,用于专用处理器的高速实时处理。

DSP的工作原理:接收外部输入的模拟信号,然后将其转换为数字信号(为0或1),再对数字信号进行运算处理,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。

DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP 指令,可以用来快速地实现各种数字信号处理算法。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是当前越来越热门、应用越来越广泛的微处理器芯片。

二、 DSP的发展

1.世界上第一个单片DSP芯片是1978年AMI公司宣布的S2811

2.1979年,美国Iintel公司发布的商用可编程期间2920是DSP芯片的一个主要里程碑。

以上两种芯片内部都没有现代DSP芯片所必须的单周期芯片。

3.1980年,日本NEC公司推出的μPD7720,这是第一个具有乘法器的商用DSP 芯片。

4.1982年,日本Hitachi 公司推出浮点DSP芯片,是第一个采用CMOS工艺生产浮点DSP芯片。

5.1983年,日本的Fujitsu公司推出的MB8764,其指令周期为120ns ,且具有双内部总线,从而处理的吞吐量发生了一个大的飞跃。

6.1984年,AT&T公司推出的DSP32,是第一个高性能的浮点DSP芯片。

在这么多的DSP芯片种类中,最成功的是美国德克萨斯仪器公司(Texas Instruments,简称TI)的一系列产品。

TI是DSP领域的的老大。

TI公司1982年成功推出第一代DSP芯片:

第一代,TMS32010及其系列产品TMS32011、TMS32C10/C14/C15/C16/C17;

TMS320C1X是定点DSP芯片,采用二级流水线;

第二代,TMS32020、TMS320C25/C26/C28;TMS320C2X系列是定点DSP芯片,采用三级流水线;

第三代,TMS32C30/C31/C32;TMS320C3X系列芯片是浮点DSP芯片,采用四级流水线;

第四代,TMS32C40/C44;TMS320C4X系列芯片是浮点DSP芯片,采用五级流水线;

第五代,TMS32C50/C51/C52/C53;TMS320C5X系列芯片是定点DSP芯片,采用四级流水线;

第六代,TMS320C6X系列;TMS320C6X系列芯是一种新型定点DSP芯片,该芯片的内部结构与以前的DSP芯片不同,内部集成了多个功能单元,可同时执行8条指令,运算能力达1600MIPS。

以及集多个DSP于一体的高性能DSP芯片TMS32C80/C82等。

自1980年以来,DSP芯片获得迅猛发展:

1.从运算速度来看,MAC(一次乘法和一次加法)时间已经从80年代初的400ns(如TMS32010)降低到40ns(如TMS32C40),处理能力提高了10多倍。DSP芯片内部关键的乘法器部件从1980年的占模区的40左右下降到5以下,片内RAM增加一个数量级以上。

2.从制造工艺来看,1980年采用4μ的N沟道MOS工艺,而现在则普遍采用亚微米CMOS工艺。

3.从封装工艺来看,DSP芯片的引脚数量从1980年的最多64个增加到现在的200个以上,引脚数量的增加,意味着结构灵活性的增加。

此外,DSP芯片的发展,是DSP系统的成本、体积、重量和功耗都有很大程度的下降。

三、DSP芯片的类型

1. 根据基础特性

根据DSP芯片的工作时钟和指令类型来分类的。如果DSP芯片在某时钟频率范围内的任何频率上能正常工作,除计算速度有变化外,没有性能的下降,这类DSP芯片一般称之为静态DSP芯片。如果有两种或两种以上的DSP芯片,它们的指令集和相应的机器代码机管脚结构相互兼容,则这类DSP芯片称之为一致性的DSP芯片。

2. 根据数据格式

数据以定点格式工作的DSP芯片称之为定点DSP芯片。以浮点格式工作的称为浮点DSP芯片。不同的浮点DSP芯片所采用的浮点格式不完全一样,有的DSP芯片采用自定义的浮点格式,有的DSP芯片则采用IEEE的标准浮点格式。

3. 根据用途

可分为通用型DSP芯片和专用型的DSP芯片。通用型DSP芯片适合普通的DSP应用,如TI公司的一系列DSP芯片。专用型DSP芯片市为特定的DSP运算而设计,更适合特殊的运算,如数字滤波,卷积和FFT等。

四、DSP芯片的基本结构

DSP芯片的基本结构包括:

(1)哈佛结构;

(2)流水线操作;

(3)专用的硬件乘法器;

(4)特殊的DSP指令;

(5)快速的指令周期。

哈佛结构

哈佛结构的主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线,从而使数据的吞吐率提高了一倍。由于程序和存储器在两个分开的空间中,因此取指和执行能完全重叠。

流水线与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行的时间,从而增强了处理器的处理能力。处理器可以并行处理二到四条指令,每条指令处于流水线的不同阶段。

专用的硬件乘法器

乘法速度越快,DSP处理器的性能越高。由于具有专用的应用乘法器,乘法可在一个指令周期内完成。

特殊的DSP指令DSP芯片是采用特殊的指令。

快速的指令周期哈佛结构、流水线操作、专用的硬件乘法器、特殊的DSP指令再加上集成电路的优化设计可使DSP芯片的指令周期在200ns以下。

TMS320F28335 嵌入式DSP内部结构框图:

TMS320F28335 嵌入式DSP 来自网上 侵删

SEED-DEC28335主要集成了150M系统时钟的DSP、64K x 16 位的片外SRAM、16 路片内12 位A/D、12 路PWM、2 路UART、1 路CAN、一路高速USB、片外4 通道12-位D/A 和串行EEPROM+RTC 实时时钟等外设。这样使其能够应用在电机、电力等工业控制领域。

五、如何选择DSP芯片

一般来说,我们选择DSP芯片时,需要考虑如下因素:

TI系列推荐:

如果用于控制,主要是选择TMS320C2000系列;

如果用于通信,主要是选择TMS320C5000系列;

如果用于图像处理,那就选择6000系列。

C2000简介

拥有增强型正交编码解码模块eQEP、SCI通信接口、SPI外设接口、eCAN总线通信模块、看门狗电路、通用数字I/O口、多通道缓冲串口、外部中断接口等多种功能模块,为功能复杂的控制系统设计提供了方便; 同时由于其性价比高,越来越多地被应用于数字电机控制、工业自动化、电力转换系统、医疗器械及通信设备中[2]。

具体指标:

1.运算速度。运算速度是芯片的一个最重要的性能指标,也是选择芯片时所需要考虑的一个主要因素。运算速度可以用以下几种性能指标来衡量:

(1) 指令周期。就是执行一条指令所需要的时间,通常以纳秒(ns)为单位。

(2) MAC时间。即一次乘法加上一次加法的时间。

(3) FFT执行时间。即运行一个N点FFT程序所需的时间。

(4) MIPS。即每秒执行百万条指令。

(5) MOPS。即每秒执行百万次操作。

(6) MFLOPS。即每秒执行百万次浮点操作。

(7) BOPS。即每秒执行十亿次操作。

2.价格。根据实际应用,确定一个价格适中的芯片。

3.硬件资源。

4.运算速度。

5.开发工具。

6.功耗。

另外还要考虑一些其它的因素,如封装的形式等等。

DSP应用系统的运算量是确定选用处理能力多大的DSP芯片的基础。确定一个DSP系统的运算量以选择DSP芯片的方法:

1. 按样点处理

就是DSP算法对每一个输入样点循环一次。比如:设计一个采用LMS算法的256抽头的自适应FIR滤波器,假定每个抽头的计算需要3个MAC周期,则256抽头计算需要256*3=768个MAC周期。如果采样频率为8KHz,即样点之间的间隔为125μs的时间,DSP芯片的MAC周期为200μs,则768个周期需要153.6μs的时间,显然无法实时处理,需要选用速度更快的芯片。

2. 按帧处理

有些数字信号处理算法不是每个输入样点循环一次,而是每隔一定的时间间隔(通常称为帧)循环一次。所以选择DSP芯片应该比较一帧内DSP芯片的处理能力和DSP算法的运算量。假设DSP芯片的指令周期为P(ns),一帧的时间为⊿τ(ns),则该DSP芯片在一帧内所提供的最大运算量为⊿τ/ P 条指令。

六、DSP系统

三大特色:强大数据处理能力、数字信号处理的实时性和高运行速度,最值得称道。一般具有如下的一些主要特点:

(1) 在一个指令周期内可完成一次乘法和一次加法。

(2) 程序和数据空间分开,可以同时访问指令和数据。

(3) 片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问。

(4) 具有低开销或无开销循环及跳转的硬件支持。

(5) 快速的中断处理和硬件I/O支持。

(6) 具有在单周期内操作的多个硬件地址产生器。

(7) 可以并行执行多个操作。

(8) 支持流水线操作,使取指、译码和执行等操作可以重叠执行。

与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。

数字信号处理系统是以数字信号处理为基础,因此具有数字处理的全部特点:

(1) 接口方便。DSP系统与其它以现代数字技术为基础的系统或设备都是相互兼容,这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易的多。

(2) 编程方便。DSP系统种的可编程DSP芯片可使设计人员在开发过程中灵活方便地对软件进行修改和升级。

(3) 稳定性好。DSP系统以数字处理为基础,受环境温度以及噪声的影响较小,可靠性高。

(4) 精度高。16位数字系统可以达到的精度。

(5) 可重复性好。模拟系统的性能受元器件参数性能变化比较大,而数字系统基本上不受影响,因此数字系统便于测试,调试和大规模生产。

(6) 集成方便。DSP系统中的数字部件有高度的规范性,便于大规模集成。

目前广泛应用的是TMS320F28335芯片系列。

DSP芯片实例TMS320C542:

TMS320C542属于TI公司C5000系列。C5000系列具有以下特点:

  ·改进的哈佛结构,包含一条程序总线,三条数据总线和四条地址总线

  ·高度并行的CPU和针对应用优化的硬件

  ·针对算法和高级语言优化的指令集

  ·先进的IC技术使其既高性能又低功耗。

C5000系列DSP微处理器内部结构功能框图,如图1所示。包括:40bit算数逻辑单元(ALU);2个40bit累加器A和B;17×17bit乘加单元、40bitMAC ,可作64级FIR运算而不必考虑溢出;计算、选择、存储单元(CCSU),特别适合Viterbi等算法;40bit桶型移位寄存器;片上双存取RAM,每机器周期可存取两次;片上单存取RAM,可同时访问两块片上存储区;片上外围接口,包括串口、定时器、PLL、HPI接口等。

  TMS320C542自身特点如下:

  ·25ns单周期定点指令执行时间,5V供电

  ·10K Words16bit 片上双存取RAM

  ·64K Words程序,64K Words数据,64K Words I/O存储空间

  ·2K Words HPI接口,可通过此接口方便地与主设备进行信息交换,主设备也可通过此接口下载DSP程序

  ·一个自动缓冲的串口和一个TDM串口,且都可用作标准同步串口

  此外,C5000系列DSP可使用JTAG接口进行调试,可完全控制DSP上的所有资源,使用方便可靠。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_45190660/article/details/131760903

智能推荐

C#连接OPC C#上位机链接PLC程序源码 1.该程序是通讯方式是CSharp通过OPC方式连接PLC_c#opc通信-程序员宅基地

文章浏览阅读565次。本文主要介绍如何使用C#通过OPC方式连接PLC,并提供了相应的程序和学习资料,以便读者学习和使用。OPC服务器是一种软件,可以将PLC的数据转换为标准的OPC格式,允许其他软件通过标准接口读取或控制PLC的数据。此外,本文还提供了一些学习资料,包括OPC和PLC的基础知识,C#编程语言的教程和实例代码。这些资料可以帮助读者更好地理解和应用本文介绍的程序。1.该程序是通讯方式是CSharp通过OPC方式连接PLC,用这种方式连PLC不用考虑什么种类PLC,只要OPC服务器里有的PLC都可以连。_c#opc通信

Hyper-V内的虚拟机复制粘贴_win10 hyper-v ubuntu18.04 文件拷贝-程序员宅基地

文章浏览阅读1.6w次,点赞3次,收藏10次。实践环境物理机:Windows10教育版,操作系统版本 17763.914虚拟机:Ubuntu18.04.3桌面版在Hyper-V中的刚安装好Ubuntu虚拟机之后,会发现鼠标滑动很不顺畅,也不能向虚拟机中拖拽文件或者复制内容。在VMware中,可以通过安装VMware tools来使物理机和虚拟机之间达到更好的交互。在Hyper-V中,也有这样的工具。这款工具可以完成更好的鼠标交互,我的..._win10 hyper-v ubuntu18.04 文件拷贝

java静态变量初始化多线程,持续更新中_类初始化一个静态属性 为线程池-程序员宅基地

文章浏览阅读156次。前言互联网时代,瞬息万变。一个小小的走错,就有可能落后于别人。我们没办法去预测任何行业、任何职业未来十年会怎么样,因为未来谁都不能确定。只能说只要有互联网存在,程序员依然是个高薪热门行业。只要跟随着时代的脚步,学习新的知识。程序员是不可能会消失的,或者说不可能会没钱赚的。我们经常可以听到很多人说,程序员是一个吃青春饭的行当。因为大多数人认为这是一个需要高强度脑力劳动的工种,而30岁、40岁,甚至50岁的程序员身体机能逐渐弱化,家庭琐事缠身,已经不能再进行这样高强度的工作了。那么,这样的说法是对的么?_类初始化一个静态属性 为线程池

idea 配置maven,其实不用单独下载Maven的。以及设置新项目配置,省略每次创建新项目都要配置一次Maven_安装idea后是不是不需要安装maven了?-程序员宅基地

文章浏览阅读1w次,点赞13次,收藏43次。说来也是惭愧,一直以来,在装环境的时候都会从官网下载Maven。然后再在idea里配置Maven。以为从官网下载的Maven是必须的步骤,直到今天才得知,idea有捆绑的 Maven 我们只需要搞一个配置文件就行了无需再官网下载Maven包以后再在新电脑装环境的时候,只需要下载idea ,网上找一个Maven的配置文件 放到 默认的 包下面就可以了!也省得每次创建项目都要重新配一次Maven了。如果不想每次新建项目都要重新配置Maven,一种方法就是使用默认的配置,另一种方法就是配置 .._安装idea后是不是不需要安装maven了?

奶爸奶妈必看给宝宝摄影大全-程序员宅基地

文章浏览阅读45次。家是我们一生中最重要的地方,小时候,我们在这里哭、在这里笑、在这里学习走路,在这里有我们最真实的时光,用相机把它记下吧。  很多家庭在拍摄孩子时有一个看法,认为儿童摄影团购必须是在风景秀丽的户外,即便是室内那也是像大酒店一样...

构建Docker镜像指南,含实战案例_rocker/r-base镜像-程序员宅基地

文章浏览阅读429次。Dockerfile介绍Dockerfile是构建镜像的指令文件,由一组指令组成,文件中每条指令对应linux中一条命令,在执行构建Docker镜像时,将读取Dockerfile中的指令,根据指令来操作生成指定Docker镜像。Dockerfile结构:主要由基础镜像信息、维护者信息、镜像操作指令、容器启动时执行指令。每行支持一条指令,每条指令可以携带多个参数。注释可以使用#开头。指令说明FROM 镜像 : 指定新的镜像所基于的镜像MAINTAINER 名字 : 说明新镜像的维护(制作)人,留下_rocker/r-base镜像

随便推点

毕设基于微信小程序的小区管理系统的设计ssm毕业设计_ssm基于微信小程序的公寓生活管理系统-程序员宅基地

文章浏览阅读223次。该系统将提供便捷的信息发布、物业报修、社区互动等功能,为小区居民提供更加便利、高效的服务。引言: 随着城市化进程的加速,小区管理成为一个日益重要的任务。因此,设计一个基于微信小程序的小区管理系统成为了一项具有挑战性和重要性的毕设课题。本文将介绍该小区管理系统的设计思路和功能,以期为小区提供更便捷、高效的管理手段。四、总结与展望: 通过本次毕设项目,我们实现了一个基于微信小程序的小区管理系统,为小区居民提供了更加便捷、高效的服务。通过该系统的设计与实现,能够提高小区管理水平,提供更好的居住环境和服务。_ssm基于微信小程序的公寓生活管理系统

如何正确的使用Ubuntu以及安装常用的渗透工具集.-程序员宅基地

文章浏览阅读635次。文章来源i春秋入坑Ubuntu半年多了记得一开始学的时候基本一星期重装三四次=-= 尴尬了 觉得自己差不多可以的时候 就吧Windows10干掉了 c盘装Ubuntu 专心学习. 这里主要来说一下使用Ubuntu的正确姿势Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的开源GNU/Linux操作系统,Ubuntu 是基于DebianGNU/Linux,支..._ubuntu安装攻击工具包

JNI参数传递引用_jni引用byte[]-程序员宅基地

文章浏览阅读335次。需求:C++中将BYTE型数组传递给Java中,考虑到内存释放问题,未采用通过返回值进行数据传递。public class demoClass{public native boolean getData(byte[] tempData);}JNIEXPORT jboolean JNICALL Java_com_core_getData(JNIEnv *env, jobject thisObj, jbyteArray tempData){ //resultsize为s..._jni引用byte[]

三维重建工具——pclpy教程之点云分割_pclpy.pcl.pointcloud.pointxyzi转为numpy-程序员宅基地

文章浏览阅读2.1k次,点赞5次,收藏30次。本教程代码开源:GitHub 欢迎star文章目录一、平面模型分割1. 代码2. 说明3. 运行二、圆柱模型分割1. 代码2. 说明3. 运行三、欧几里得聚类提取1. 代码2. 说明3. 运行四、区域生长分割1. 代码2. 说明3. 运行五、基于最小切割的分割1. 代码2. 说明3. 运行六、使用 ProgressiveMorphologicalFilter 分割地面1. 代码2. 说明3. 运行一、平面模型分割在本教程中,我们将学习如何对一组点进行简单的平面分割,即找到支持平面模型的点云中的所有._pclpy.pcl.pointcloud.pointxyzi转为numpy

以NFS启动方式构建arm-linux仿真运行环境-程序员宅基地

文章浏览阅读141次。一 其实在 skyeye 上移植 arm-linux 并非难事,网上也有不少资料, 只是大都遗漏细节, 以致细微之处卡壳,所以本文力求详实清析, 希望能对大家有点用处。本文旨在将 arm-linux 在 skyeye 上搭建起来,并在 arm-linux 上能成功 mount NFS 为目标, 最终我们能在 arm-linux 里运行我们自己的应用程序. 二 安装 Sky..._nfs启动 arm

攻防世界 Pwn 进阶 第二页_pwn snprintf-程序员宅基地

文章浏览阅读598次,点赞2次,收藏5次。00为了形成一个体系,想将前面学过的一些东西都拉来放在一起总结总结,方便学习,方便记忆。攻防世界 Pwn 新手攻防世界 Pwn 进阶 第一页01 4-ReeHY-main-100超详细的wp1超详细的wp203 format2栈迁移的两种作用之一:栈溢出太小,进行栈迁移从而能够写入更多shellcode,进行更多操作。栈迁移一篇搞定有个陌生的函数。C 库函数 void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 _pwn snprintf

推荐文章

热门文章

相关标签