DSP好难啊,搞得一头雾水,求高手们介绍学习方法。

DSP好难啊,搞得一头雾水,求高手们介绍学习方法。,第1张

数字信号处理器的特点

分开的程序存储器和数据存储器(哈佛结构)。

用于单指令流多数据流(SIMD)作业的特殊指令集。

可进行并行处理,但不支援多任务。

用于宿主环境时可作为直接内存存取(DMA)设备运作。

从模拟数字转换器(ADC)获得数据,最终输出的是由数字模拟转换器(DAC)转换为模拟信号的数据。

模拟信号输入到——ADC到——dsp(数字数据处理)到——DAC到——模拟信号输出

数字信号的处理

数字信号的处理可由通用微处理器完成。可能的优化为:

数据运算指令

使用饱和算法,在这种方式中,会产生溢出的运算将累积至寄存器可容纳的最大(或最小)值,而不是按环绕方式(环绕方式是很多通用CPU采取的方式。在环绕方式中,寄存器的数值到达最大值后再加一则会绕回到最小值;而使用饱和算法时则不会发生这种环绕,运算结果仍将保持为最大值)。有些情况下可使用不同的粘滞位运算模式。

使用乘积累加(MAC)运算,这会提高各种矩阵运算的效率(例如卷积运算、点积运算、乃至矩阵多项式的求值运算;参看Horner scheme和积和熔加运算)。由于在许多DSP中都必然地使用了单周期的MAC部件,因此也自然沿袭了下面所述的许多性质(尤其是哈佛结构和指令流水线(Instruction Streamline))。

在使用同余寻址方式 *** 作循环缓冲器、以及在使用逆位序寻址模式处理快速傅立叶变换交叉参照时,都可使用专门的指令实现。

程序流程

使用深层流水线技术,这种情况下,因错误的预测产生的跳转会造成更大的(效率)成本。

使用通过动态表或硬编码的零开销循环实现的分支预测。为减少执行高频度的内层循环时跳转造成的(效率)影响,有些处理器提供了这个特性。该技术包括两种类型的 *** 作:单指令的重复 *** 作和多指令的循环 *** 作。

预取指令使用指令流水线方式。

流水线作业方式可减少总体的处理时间,增加系统的产出效率。

流水线可以分为若干层级。

区别:

1、应用场景不同。

单片机是一种系统设计方案,将计算机的CPU,定时器和多种接口集成在一片芯片上,可以满足多种应用场合。现在的小家电,比如说电磁炉,电冰箱,洗衣机这些产品都是有单面机开发而成的。

DSP也是一种系统设计方法,它主要用在数字信号处理算法上面,音视频数据的解码,这样需要速度非常快的处理,普通的单片机达不到这么快的处理速度。

2、结构不同。

单片机的内部结构是由CPU、ROM、RAM、32条I/O口线(111条指,大部分为单字节指令)、21个专用寄存器、2个可编程定时/计数器、5个中断源,2个优先级(52有6个)等组成。

而DSP采用改进的哈佛结构,指令和数据空间完全分开,并且有多个指令和数据空间,提高了数据的运算速度,DSP还设有专门的一些运算处理器,这样很大程度上提高了dsp的运算速率。

3、工作原理不同。

51单片机的工作由相应的指令的代码来完成一步一步的 *** 作,并对系统做出知识与信号。

而DSP工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。

它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。

联系:

二者都可以编程,DSP可以说是单片机的升级形式。一般而言,单片机指的是8位或16位微控制器。DSP是数字信号处理,着重与运算,特别是浮点运算,是32位微处理器。

扩展资料:

51单片机的部分功能如下:

CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器;

RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;

ROM:用以存放程序、一些原始数据和表格;

I/O口:四个8位并行I/O口,既可用作输入,也可用作输出

T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;

五个中断源的中断控制系统:一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最佳振荡频率为6M—12M。

参考资料来源:百度百科-51单片机功能

FPGA与DSP的区别如下:

1、硬件层面的不同。

在硬件层面,DSP是ASIC,如同CPU GPU一样,适宜于量产降低成本,缺点是(硬件)设计一旦确定,便不易于修改。而FPGA较灵活,可以通过硬件描述语言进行快速设计和改进,但成本较高,传统上讲用于ASIC的prototype设计。

2、软件层面的不同。

在软件层面上,给DSP写程序和给多核CPU写程序,给GPU写程序,没有太大区别,DSP有完善的C语言编译器。目前高端的FPGA中都集成了硬核DSP。

3、编程语言不同。

FPGA主要使用HDL,包括VHDl,Verilog,还有数模混合的描述语言Verilog-AMS等。DSP使用C,汇编语言编程。

4、 功能角度不同。

FPGA普遍用于实现数字电路模块,基本上能实现所有的数字电路,传统的数字功能模块,以及客户产品特定需求的数字处理模块。FPGA的IO桥接种类繁多,不同种类的级别的FPGA支持的IO标准和协议都不尽相同,但是这些IO的驱动能力或是电压都是可编程配置的。

以上就是关于DSP好难啊,搞得一头雾水,求高手们介绍学习方法。全部的内容,包括:DSP好难啊,搞得一头雾水,求高手们介绍学习方法。、请问各位大神,51单片机和dsp有什么区别和联系呢希望能有个详细的回答啊~、请问FPGA与DSP有什么区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10218580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存