3.5 数据页DP
在所有程序中必须初始化DP。初始化DP非常重要,复位不能初始化DP,并且上电时,DP是不确定的。没有初始化DP的程序就不能正确执行。另外,在编程时应注意:① DSP对片内存储区的访问比片外存储区要快,因此应将经常使用的数据分配至片内存储空间,以提高数据处理速度;② 尽可能采用直接寻址的寻址方式,这样可在提供较大数据访问能力的同时,提高指令速度。这种寻址方式具有128字的寻址能力,但寻址范围是指定DP下的128字。当程序复杂特别是有中断存在的情况下,改变DP的值很容易造成程序的混乱,因此一般将DP的值固定不变,尽可能合理地在各功能模块间分配这128个高效且使用方便的存储单元。应特别注意的是,如果DP的值不为零,在对IFR、 IMR等操作时,应先将DP的值置零,在操作完成后再将DP的值还原。在中断程序入口如果使用直接寻保存状态寄存器的值,那么在中断返回之前装载所保存的值时,也应先将DP的值设成零,否则程序将无法正常运行。
3.6 内置闪速存储器
F206的一个显著优势是具备32k×16位的片内闪速存储器(Flash),它具有可擦除、可编程和非易失电源等特点。在复位期间,通过将MP/MC 置为低电平可选择闪存。利用JTAG接口向目标系统下载程序包括 Flash的清零(clear,所有位清零)、擦除(erase,所有位置1)及编程。其片内Flash由两块相对独立的16kB Flash组成,因而每次清零、擦除需对两块16kB Flash分别进行。F206运算速度有20,28.5和40MIPS,但程序代码成功烧录进片内Flash的前提条件是其工作于20MIPS,否则程序无法烧录进DSP。另外应将NMI 中断相应引脚拉高,否则由JTAG将程序代码烧录进Flash时会出现错误提示,使烧录无法完成。
笔者在调试程序时曾遇到这样的情况,程序在仿真时可以正常运行,烧录到Flash后却无法运行了。由于仿真时,将程序调入需要较长的时间,此时外围设备已可靠复位。但是,将程序烧录到Flash后,DSP复位时间很短,当DSP程序正常运行时外围设备却还未完全复位,从而使DSP对外围设备的初始化不正常。这时,只需在DSP程序初始化之前插入一段延时,以便外设可靠复位,重新烧录后程序执行正常。
4 结束语
DSP技术的发展越来越成熟,DSP的应用也日益广泛。了解和掌握DSP技术,应用DSP技术开发新一代高科技产品十分必要。本文介绍了DSP开发中应注意的几个问题,可以大大缩短开发时间。
参考文献:
[1] 张芳兰.TMS320C2XX用户指南[M].北京:电子工业出版社,1999.
[2] TMS320C2XX User’s Guide[M].USA:Texas Instruments,1997.
[3] 张雄伟,曹铁勇. DSP芯片的原理与开发应用[M]. 北京:电子工业出版社,2000.
[4] 王念旭. DSP基础与应用系统设计[M]. 北京:北京航空航天大学出版社,2001.
本文摘自《半导体技术》
本文关键字:开发 DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术