1、DSP 要点解析一 了解 DSP我个人认为学习一个东西首先是了解它,比如 DSP 到底是什么?用在什么地方?怎么用?和这里我们传统的单片机特点有那些相同与不同?开发需要注意什么?怎么样完成一个最小系统等。我想了解清楚这些问题我们自然就清楚比较清楚的认识 DSP 了。下面我们就来对上面的问题我们在很多地方都可以找到答案,我把其中比较重要的简单的回答一下。DSP 大家注意和传统的概念区分一下,传统我们经常说的DSP(Digital Signal Processing(数字信号处理) )的缩写也就是说是一些功能算法,这里的 DSP 是指(Digital Signal Process(数字信号处理器)
2、)的缩写,也就是说他是一个集成一些外设的一个芯片,类似我们的单片机。我们通过程序实现一些特定的功能。二 和传统单片机比较的区别?DSP 功能比普通单片机高出很多,当然价格也比较高。所以直接用 DSP 和单片机比较是不合适的。我们这里比较不是从他的应用领域来比较,我们是从开发的角度来比较,为了是使那些熟练使用单片机的朋友可以很快上手。当然我的主要目的的大家可以比较学习,达到熟悉一种 CPU 其他就可以很快上手。下面从几个方面比较一下1,硬件上比较从硬件上比较 DSP 和传统的单片机主要有几个方面不一样,很多 DSP 电源系统比传统的复杂,但是这个并不影响我们因为如 TI 的 DSP 都提供相关的
3、测试电路。开始的时候大家可以完全按照他来设计。调试方式上有很大不同,DSP 一般通过 JTAG 来进行仿真和烧写的,而单片机是通过直接仿真器来仿真的(这里讲的单片机是比较早的,现在的单片机也有很多采用 JTAG 调试方式) 。其他设计比如重要的时序设计所以 CPU 系统是一样的只要满足时序就可以达到目标。2,软件上比较相比硬件软件应该是 DSP 差别比较大的 DSP 的软件需要 CMD文件,一般的单片机编译器 编译以后就可以了不需要。并且 CMD 也是 DSP 学习过程中比较困难的一个方面。后面我们简单说明一下。三 构建 DSP 最小系统小系统的是任何 DSP 系统开发前必须要完成的,你可以从
4、一下几个方面获得小系统。一、购买一个市场上比较成熟的小系统产品;二、自己动手设计一个小系统。我们这里主要告诉大家怎么自己设计一个最小系统。首先我给最小系统一个定义,我按照我个人的习惯把最小系统分成2个方面1,狭义的最小系统所谓狭义最小系统是指就是能够完成一个独立功能,并且方便观察的一个系统。比如我们常见的通过 DSP 控制一个LCD 灯让它闪起来。完成这个功能我们可以认为狭义的最小系统完成。独立完成功能,我们很容易想到要一个系统能够独立完成功能必须需要的部分应该有电源电路、时钟电路、复位电路。这个和我们单片机基本一样只是在电路设计上注意看手册这个会少出错。其实对于一些 DSP 来说光是这样是不
5、够的,我们必须要有存储器系统,如果是采用2000系统可以不需要扩展因为他内部自己有 FLASH,但是对于5000系统来说就必须扩展非易失性的 FLASH 等存储器保证系统在掉电重新上电后可以正常工作,所以除了考虑通用单片机的3个方面我们还需要在存储器,BOOTLOADER 方面了解 DSP,这个也正是大家学习 DSP 比较困难的地方。方便观察这个是我自己增加的一个方面,主要是让大家养成良好的习惯,比如我们在设计系统时加一个 LED 或者蜂鸣器这样在调试的时候会给我们带来很多好处。比如我们设计一个 IO 操作的程序通过 IO 输出一个方波,我们可以通过很多方法来观察我们的结果是对好是错。我们可以
6、通过示波器,但是由于很多初学者不一定具备这个条件。如果我们有 LED 就可以通过他的状态来观察程序运行的结果.2, 广义的最小系统广义的最小系统除了具有上面狭义最小系统的功能外还必须具有一个功能可开展性。这个在系统设计中是非常重要的。如果说我们可以设计并完成一个狭义的最小系统就代表我们对 DSP 已经入门了。那么完成可扩展性功能就代表你可以使用 DSP 进行系统设计了。一、 首先要熟悉主 CPU 的时序,也就是说你需要向外设写或者读取一个数据你是采用什么方法的。比如我们的 DSP系统的数据手册就专门有一大段内容对外部程序空间、数据空间、IO 空间访问的图和说明。二、 熟悉我们外设对时序的要求,
7、这个很容易理解,你打算读写我总应该知道按照什么样的方法怎么读写吧。一般在手册上也是很清楚的。三、 当我们清楚 DSP 和外设的时序后我们来判断他们是不是匹配(简单点说就是可不可以实现数据的读写功能)如匹配电路设计就是正常的否则我们要想办法让他们匹配。其实这个过程就是电路设计和判断的过程。回顾自己使用多种 CPU 和 DSP 到现在我觉得最重要的是在学习过程中总结一下自己的得与失。这样才有比较好的进步。比如我们前面讲到是 DSP 和单片机的相同与不同点我们只要熟悉单片机并且清楚相同与不同点,我们就知道从那些方面下手这样学习的效率就会提高。由于我在这方面知识结构的欠缺希望错误和不足的地方大家多多指正。2011 年 6 月 5日