原创 To Be Familar With DSP

2010-11-26 21:45 2111 6 6 分类: 处理器与DSP

       说起DSP,Fourier家族的同胞们一定早就如雷贯耳,就是大家所熟知的DSP数字信号处理器,和MCU一样都要经过取指令(fetch),译码(decode),读取源操作数(read  soure oprand),执行(execute),存储目的操作数(write destine oprand),但是和其他处理器不一样的是DSP采用的改进型的Harford Architecture,就是把DATA BUS和ADDRESS BUS分开,并且数据总线分成数据读总线,数据写总线,长字节数据读写操作,有了不同的数据总线就得有不同的地址总线和与不同的数据总线做对应关系,他们是成对出现的。有了不同的数据通道后,相当于可以再读操作没有完成之前,就可以进行些操作,但是由于微处理机都要经过取指令,……,存储等过程,所以要充分利用多总线的优点,可以把这些逻辑单元做成流水(Pipeline)结构,即任何一个单元不需要等待一个操作完毕,而是在SysClk有效时做自己的事务,从某一个单元的侧面看这样就相当于在一个SysClk内完成了一个Access,但是流水操作虽然增加了效率,但是写汇编代码的时候带了一些不便,即pipeline conflict,但是只要对硬件结构熟悉,还是不用怕。学习DSP最好是弄懂DSP汇编,了解DSP的寻址方法,对于5000系列的DSP最经典的就莫过于循环寻址(circular addressing)和位倒序寻址(bit reverse addring),DSP和其他微处理器最大的不同就是他的Modified Harford Architecture和PileLine。


       TI作为全球最大的DSP厂商提供很多用户手册以及使用方法开发套件等等,对于TI DSP三大常见系列2000,5000,6000(TI公司DSP以TMS320打头)来说,2000些列TI公司一般都把他视为MCU,一般很少用来做信号处理,因为它更适合工业控制领域,拿TMS320F2812而言,它内部自带的Peripherial有两组事件管理器也即是(EVA和EVB)、CAN、SPI、SCI(通常我们习惯叫UART,SCI是TI给它定的名字)、XINTF(External  Interface )、GPIO、External Interrupt、32-bit Timer 、Flash等等,和我们常见的MCU和相似。而对于5000和6000而言,5000系列功耗特别小一般用在个人便携式设备上面,在不工作的时候可以有选择性关闭一些单元,降低功耗,在54系列DSP有可以使用IDLE1、IDLE2、IDLE3指令关闭某些单元,54内部的外设主要有MAC,DMA,HPI、McBSP等等,可用的外设相对来说比较少,55是54的增强,是5000系列高档的DSP,55内部做了指令CACHE,运行的时钟比54更快,而且增加了丰富的外设如:UART、I2C、USB Controller、RTC(Real-Time Clock)、EMIF(External Memory Interface ,可以外挂SRAM、SDRAM、FIFO)等等,而6000更适合做高速信号的处理如视屏,图像,移动基站等等。6000内部做了Two-Level Cache,分成L1和L2,其中L2为用户访问,而L1是直接映射的由CPU访问。内部的资源有EMIF、HPI、PCI、McBSP、McASP、DMA、TCP、VCP等等。6000系列中64 DSP是TI第三代DSP,性能是急剧提升,可以工作在1G的时钟下,而67系列为TI浮点型DSP,浮点和定点DSP最大的不同就是浮点更适合做小数运算,浮点DSP成本、设计难度比较大,功耗相对定点来说也较大。


       TI集成开发环境CCS3.3作为TI全系列DSP软件开发平台,安装完毕在Desktop后包含有CCStudioV3.3和Setup CCStudioV3.3两个Icons,Setup CCStudioV3.3可以设置我们的DSP目标器件型号以及仿真器的型号等等。CCStudioV3.3包含文档编辑器(Document Editor)、汇编器(Assember)、归档器(Archiver)、连接器(Linker)以及支持C/C++的C Complier,TI采用的共用目标体COFF文件格式对文件进行管理,把Runtine分成了段(SECTIONS),这样方便用户对存储器的空间进行分配和管理。TI汇编语言中提供了如MEMORY这样的Directives对文件用户的存储器空间进行分配,TI DSP的RAM空间通常可以配置成程序存储区,5000和6000系列DSP内部不再做FLASH,由于FLASH自身的结构导致其读取或者存储都要比RAM要慢的多,而为了让断电保存用户代码,TI提供Bootloader给用户以不同的方式加载自己的代码,比较常见的为FLASH以及HPI加载,不同系类的DSP提供的加载方式也不同。JTAG仿真接口是TI为用户在线调试提供的,市面上比较常见的为TDS510Emulator、TDS560Emulator,比较稳定为闻亭科技和合众达科技生产的仿真器。


      对于初学者来说DSP还是有一定的复杂性,有了MCU的基础一样把DSP搞定。花上几个月的时间还怕啃不透它啊。如果别人把这么复杂的芯片生产出来而弄得大家应用不了,估计每年DSP有这么大的销量也是不可能的,最后说一句:DSP makes things better and you could get familiar to it easily rather than hard。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /3 下一条