首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

从零学起DSP(一)

从零学起DSP(一)

从零学起DSP(一)

 1、TI DSP 的选型   主要考虑处理速度、功耗、程序存储器和数据存储器的容量、片内的资源,如定时器的数量、I/O 口数量、中断数量、DMA 通道数等。DSP 的主要供应商有TI,ADI,Motorola,Lucent和Zilog 等,其中TI 占有最大的市场份额。
  TI 公司现在主推四大系列DSP:
  1)C5000 系列(定点、低功耗)
  C54X,C54XX,C55X 相比其它系列的主要特点是低功耗,所以最适合个人与便携式上网以及无线通信应用,如手机、PDA、GPS 等应用。处理速度在80MIPS--400MIPS 之间。C54XX 和C55XX 一般只具有McBSP 同步串口、HPI 并行接口、定时器、DMA 等外设。值得注意的是C55XX 提供了EMIF 外部存储器扩展接口,可以直接使用SDRAM,而C54XX 则不能直接使用。两个系列的数字IO 都只有两条。
  2)C2000 系列(定点、控制器)
  C20X,F20X,F24X,F24XX ,C28x 该系芯片具有大量外设资源,如:A/D、定时器、各种串口(同步和异步),WATCHDOG、CAN 总线/PWM 发生器、数字IO 脚等。是针对控制应用最佳化的DSP,在TI 所有的DSP 中,只有C2000 有FLASH,也只有该系列有异步串口可以和PC 的UART 相连。
  3)C6000 系列
  C62XX,C67XX,C64X 该系列以高性能着称,最适合宽带网络和数字影像应用。32bit,其中:C62XX 和C64X 是定点系列,C67XX 是浮点系列。该系列提供EMIF扩展存储器接口。该系列只提供BGA 封装,只能制作多层PCB。且功耗较大。同为浮点系列的C3X 中的VC33 现在虽非主流产品,但也仍在广泛使用,但其速度较低,最高在150MIPS。
  4)OMAP 系列
  OMAP 处理器集成ARM 的命令及控制功能,另外还提供DSP 的低功耗实时信号处理能力,最适合移动上网设备和多媒体家电。
  其他系列的DSP 曾经有过风光,但现在都非TI 主推产品了,除了C3X 系列外,其他基本处于淘汰阶段,如:C3X 的浮点系列:C30,C31,C32 C2X 和C5X 系列:C20,C25,C50每个系列的DSP 都有其主要应用领域。
  2、设计中如何得到技术参考资料以及如何得到相关源码
  原则是碰到问题就去www.ti.com1)在TI 网站的搜索中用keyword 搜索资料,主要要注意的就是Application Notes,user guides比如不知道怎样进行VC5402 的McBSP 编程,搜McBSP 和VC5402 如果不知道如何设计VC5402 和TLV320AIC23 的接口以及编程,搜TLV320AIC23 和VC5402; 这样可以搜到一堆的资料,这些资料一般均有PDF 文档说明和相应的源程序包提供,download 后做少许改动即可。
  3、如何看待TI DSP 庞杂的技术文档
  新手进行DSP 开发学习之时,常常感觉技术文档太多,哪本都有用,哪本都想看,无从下手。此时原则是只看入门必须的、只看和芯片相关的。根据经验,如下的资料必看不可:
  1)讲述DSP 的CPU,memory,program memory addressing,data memory addressing 的资料都需要看、外设资源的资料可以只看自己用到的部分;
  2)C 和汇编的编程指南需要看
  3)汇编指令和C 语言的运行时间支持库、DSPLIB 等资料需要看其他的如:ApplicationsGuide,Optimizing CC++ Compiler User's Guide,Assembly Language Tools User's Guide 等资料留待入门之后再去看体会会更深一些。
  4、如何高效开始TI DSP 的硬件开发
  1)根据应用领域选择TI 推荐的DSP 类型2)参考选定的DSP 之EVM 板,DSK 等原理图,完成DSP 最小系统的搭建(包括外扩内存空间、电源复位系统、各控制信号管脚的连接、JTAG 口的连接等);
  2)参考选定的DSP 之EVM 板,DSK 等原理图,完成DSP 最小系统的搭建(包括外扩内存空间、电源复位系统、各控制信号管脚的连接、JTAG 口的连接等);
  3)根据具体应用需要,选择外围电路的扩展,一般如语音、视频、控制等领域均有成熟的电路可以从TI 网站得到。外围电路与DSP 的接口可参看EVM 或DSK,以及所选外围电路芯片的典型接口设计原理图;最好外围电路芯片也选择TI 的,这样的话不管硬件接口有现成原理图、很多连DSP 与其接口的基本控制源码都有。
  4)地址译码、IO 扩展等用CPLD 或者FPGA 来做,将DSP 的地址线、数据线、控制信号线如IS/PS/DS 等都引进去有利于调试。
  5、如何高效开始TI DSP 的软件开发
  如果你不是纯做算法,而是在一个目标版上进行开发,需要使用DSP 的片上外设,需要控制片外接口电路,那么建议在写程序前先好好将这个目标版的电路设计搞清楚。最重要的是程序、数据、I/O 空间的译码。不管是否纯做算法还是软硬结合,DSP 的CPU,memory,programmemory addressing, data mem.ory addressing 的资料都需要看。
1)看CCS 的使用指南
  2)明白CMD 文件的编写
  3)明白中断向量表文件的编写,并定位在正确的地方
  4)运行一个纯simulator 的程序,了解CCS 的各个操作
  5)到TI 网站下相关的源码,参考源码的结构进行编程6)不论是C 编程还是ASM 编程,模块化是必须的6、选择C 还是选择ASM 进行编程:
  记住一条原则,TI 的工程师在不断改进CCS 的C 程序优化编译器,现在C 优化的效率可达到手工汇编的90%甚至更高。当然有的时候如果计算能力和内存资源是瓶颈,ASM 还是有优势,比如G.729 编解码。但是针对一般的应用开发,C 是最好的选择。
  新手编程则选择C 和汇编混合编程更有利一些。
  6、选择什么仿真器
  一般来说,买个并口的EPP 就够了,价格便宜又稳定8、关于TI 54X 系列DSP 的bootloader 过程:
  请详细阅读TI 文档SPRA618A、SPRA571,这些文档对boot 的机制进行了详细说明同时说明了利用hex500 将*.out 文件转化为*.hex 文件时,需要编写的cmd 文件的写法。
  如何选择外部时钟?
  DSP 的内部指令周期较高,外部晶振的主频不够,因此DSP 大多数片内均有PLL。但每个系列不尽相同。
  1)TMS320C2000 系列
  TMS320C20x:PLL 可以÷2,×1,×2 和×4,因此外部时钟可以为5MHz-40MHz。
  TMS320F240:PLL 可以÷2,×1,×1.5,×2,×2.5,×3,×4,×4.5,×5 和×9,因此外部时钟可以为2.22MHz-40MHz。
  TMS320F241/C242/F243:PLL 可以×4,因此外部时钟为5MHz。TMS320LF24xx:PLL 可以由RC 调节,因此外部时钟为4MHz-20MHz。
  TMS320LF24xxA:PLL 可以由RC 调节,因此外部时钟为4MHz-20MHz。
  2)TMS320C3x 系列
  TMS320C3x:没有PLL,因此外部主频为工作频率的2 倍。
  TMS320VC33:PLL 可以÷2,×1,×5,因此外部主频可以为12MHz-100MHz。
  3)TMS320C5000 系列
  TMS320VC54xx:PLL 可以÷4,÷2,×1-32,因此外部主频可以为0.625MHz-50MHz。
  TMS320VC55xx:PLL 可以÷4,÷2,×1-32,因此外部主频可以为6.25MHz-300MHz。
  4)TMS320C6000 系列
  TMS320C62xx:PLL 可以×1,×4,×6,×7,×8,×9,×10 和×11,因此外部主频可以为11.8MHz-300MHz。
  TMS320C67xx:PLL 可以×1 和×4,因此外部主频可以为12.5MHz-230MHz。
  TMS320C64xx:PLL 可以×1,×6 和×12,因此外部主频可以为30MHz-720MHz。
  软件等待的如何使用?
  DSP 的指令周期较快,访问慢速存储器或外设时需加入等待。等待分硬件等待和软件等待,每一个系列的等待不完全相同。
  1)对于C2000 系列
  硬件等待信号为READY,高电平时不等待。软件等待由WSGR 寄存器决定,可以加入最多7 个等待。其中程序存储器和数据存储器及I/O 可以分别设置。
  2)对于C3x 系列
  硬件等待信号为/RDY,低电平是不等待。软件等待由总线控制寄存器中的SWW 和WTCNY 决定,可以加入最多7 个等待,但等待是不分段的,除了片内之外全空间有效。
  3)对于C5000 系列
  硬件等待信号为READY,高电平时不等待。软件等待由SWWCR 和SWWSR 寄存器决定,可以加入最多14 个等待。其中程序存储器、控制程序存储器和数据存储器及I/O 可以分别设置。
  4)对于C6000 系列(只限于非同步存储器或外设)
  硬件等待信号为ARDY,高电平时不等待。软件等待由外部存储器接口控制寄存器决定,总线访问外部存储器或设备的时序可以设置,可以方便的同异步的存储器或外设接口。
返回列表