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

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签