Preface:在学习一个新东西之前,我们需要对一些基本概念或者专业术语进行基本的理解,这样才能扫除壁垒,让学习更加高效。因此,DSP学习系列首先会比较注重对DSP相关术语上的理解。所以最开始,我们先来学习一些必须建立的概念。
DSP实验平台:TMS320F28335
DSP是什么?
其实如果不介绍背景,DSP的含义在专业领域中是有存在歧义的,一种可以解释为Digital Signal Processing,即数字信号处理,一种则解释为Digital Signal Processor,即数字信号处理器。显然我们这里要讲的是后者–数字信号处理器,所以,以后在本系列文章中提及的DSP也默认为后者的含义。
根据这个名字来看,DSP就是为了数字信号处理而生的一个专用芯片,如果你学过通信,他显然就是为你的一门专业课----《数字信号处理》而生的,非常像《数字电子技术》与FPGA的关系。也就是说,如果你学习了一个通信算法,那么就可以尝试着用DSP来进行实现,实事上,在很多实际的项目就是这么干的。
DSP和CPU的区别
也许你会问,那电脑上的CPU好像也可以执行通信算法啊,我们做的matlab仿真,不就是在CPU上跑的吗?
哈哈,确实是这样。不过CPU是通用的计算平台,它现在可以跑数字信号处理算法,过一会可以跑神经网络,将来也可以用来做控制,它面向的是一个非常广泛的需求。但是DSP则是一种较为专用的芯片,它更适合去执行一些固定的算法,特别是具有流水线结构的算法,DSP的底层芯片结构就对数字信号处理算法有更强劲的Buff加持,所以他跑那些专用的数字信号处理算法的效率会更高。
总结成一句话就是,DSP是专用芯片,而CPU是通用芯片。
如果想更详细的了解可以去看一下这篇文章DSP与CPU的区别。
DSP与DSC的关系
如果对DSP有一些了解的人,就会知道我前面提到的平台–TMS320F28335,其实也称作DSC。
DSC又是什么呢?Digital Signal Controler,即数字信号控制器。Ti家的2000系列芯片都为DSC,5000系列和6000系列则为DSP。DSC面向的自动控制领域。而DSP面向的是通信领域。
根据面向的领域不同,就很容易知道二者的区别。控制领域,对数据的实时处理、数据的精度以及数据吞吐量要求不高,所以DSC的主频低、核心数少、运算精度较低、数据接口速率也较低。此外,由于控制系统中必然存在反馈,所以DSC会有很多用于检测的外设。而DSP,反向思考即可。
值得一提的是,DSC和DSP虽然应用方向不同,但是它们在开发工具,开发语言,芯片核心结构上是非常相似的。DSP属于DSC的高阶产品,学懂了DSC肯定对于学习DSP是有帮助的。所以,我还是愿意将TMS320F28335称为DSP!
嗯,我们一起来开始学习DSP吧!