Motorola DSP 数据存储实验详解

需积分: 3 2 下载量 119 浏览量 更新于2024-07-31 收藏 1.48MB DOC 举报
"该资源是关于Motorola DSP的程序示例,主要涉及数据存储实验,包括对SRAM和Flash存储器的存取操作,通过设置不同的寄存器实现。" 在Motorola DSP Sample中,实验重点是利用编程来控制数据在不同存储器之间的交互,特别是针对A端口对外部SRAM以及Flash存储器的操作。实验的核心在于理解并配置相关寄存器以实现特定的存储功能。 首先,实验原理部分提到,AAR1(Address Compare Register 1)被设置为$040C11,这样可以比较的地址是Flash中的$040xxx地址,比较后12位,使得X存储器启动,数据以SRAM存储方式处理。同样,AAR0(Address Compare Register 0)被设定为$020C21,使得Y存储器中的$020xxx地址进行比较,同样启动SRAM存储方式。 接下来,BCR(Bank Control Register)被置为$012581,这定义了区域一有12个等待状态,而区域零有2个等待状态,这是为了适应不同速度的存储设备和处理器之间的数据传输同步。 PCTL(Phase Lock Loop Control)寄存器设置为$040003,意味着PLL(Phase-Locked Loop)倍频为4倍,输入频率为12.288MHz,因此输出频率为49.152MHz,提高了系统的工作时钟速度。 程序部分展示了如何在Motorola DSP上初始化和执行数据存储操作。程序首先定义了各种常量,如PCTL、BCR、AAR1和AAR0的值,以及数据存储的起始地址等。然后,通过`movep`指令将这些值写入对应的寄存器,以设定存储器访问的条件。在`SRAM_ACCESS`循环中,程序执行读写操作,将数据从Y存储器(r0)加载到X存储器(r1),并更新指针,实现了数据的存储和读取。 运行过程中,实验者通过DSP56311EVM软件仿真平台进行仿真实验,观察Y存储器和X存储器指定区域的数据变化,从而验证程序的有效性。实验者在最后分享了通过实验学习到的知识,包括熟悉sim56300仿真环境,理解和应用不同存储器及寄存器。 总结来说,这个Motorola DSP_sample提供了关于Motorola DSP如何控制数据在不同存储器之间移动的实际编程示例,涵盖了寄存器配置、存储器访问以及软件仿真验证等关键知识点。这对于理解和开发基于Motorola DSP的系统具有很高的参考价值。