DSP实验指导书2007.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP实验指导书2007

第四章 DSP实验内容 根据教学计划,本课程共安排以下六个实验: 实验一 DSP初始化与通用I/O实验 实验二 定时器中断与人机接口实验 实验三 SCI串行通信接口实验 实验四 SPI接口和D/A转换实验 实验五 A/D转换实验 实验六 直流无刷电机控制实验 在用户程序中,需要首先对DSP芯片进行初始化。初始化过程主要执行以下操作:1)配置PLLCR寄存器;2)屏蔽看门狗模块;3)设定外设时钟寄存器,即HISPCP、LOSPCP、PCLKCR;4)InitSysCtrl(void),该函数完成了对DSP时钟、外设时钟和看门狗模块的初始化。 3.2 通用I/O F281×器件上有高达56个多功能复用引脚,通过GPxMUX寄存器可配置为外设信号或数字I/O引脚。如果配置为数字I/O引脚,可以通过方向寄存器(GPxDIR)控制引脚为输入或输出;通过量化寄存器(GPxQUAL)量化输入信号,以消除信号中的毛刺干扰。 I/O信号 通用I/O 对应外设信号 SW1 GPIOF8 MCLKXA SW2 GPIOF9 MCLKRA LED1 GPIOF11 MFSRA LED2 GPIOF10 MFSXA 在实验中需要设置DSP上的GPIOF8、GPIOF9、GPIOF10、GPIOF11引脚为通用I/O口,并通过拨盘开关设定输入引脚GPIOF8、GPIOF9上的高/低电平,根据输入引脚状态编程(输入/输出间的关系自己定义)设置GPIOF10、GPIOF11口上的电平,使LED亮(低电平)或灭(高电平)。实验系统中使用的输入/输出信号定义见下表。 如设GPIOF8-GPIOF11引脚为I/O口,且GPIOF8、GPIOF9为输入,GPIOF10、GPIOF11为输出。若使GPIOF10、GPIOF11的电平分别跟随GPIOF8、GPIOF9的输入电平变化,可编程如下: 1)通用I/O的初始化 EALLOW; //在写受保护寄存器时应先打开保护 GpioMuxRegs.GPFMUX.all=0x0000; //设置GPIOF口所有引脚为通用I/O GpioMuxRegs.GPFDIR.all=0x0C00; // GPIOF10、GPIOF11为输出,其余为输入 GpioMuxRegs.GPFQUAL.all=0x0000; // 不使用输入量化功能 EDIS; //写完之后再使能寄存器保护 2)主程序中 GpioDataRegs.GPFDAT.bit.GPIOF10=GpioDataRegs.GPFDAT.bit.GPIOF8; GpioDataRegs.GPFDAT.bit.GPIOF11=GpioDataRegs.GPFDAT.bit.GPIOF9; 3.3 SRAM的时序配置和自检 实验系统中通过外部扩展总线在Zone6扩展了一片外部SRAM芯片CY7C1021V33,容量为64K×16bit,地址范围为0x100000 ~0x10FFFF。SRAM芯片的原理图和真值表如下,实验中采用16位数据方式访问SRAM。 1)SRAM的初始化 void InitXintf(void) { XintfRegs.XINTCNF2.bit.XTIMCLK =0; XintfRegs.XTIMING6.bit.X2TIMING = 0; XintfRegs.XTIMING6.bit.XWRTRAIL = 0; XintfRegs.XTIMING6.bit.XWRACTIVE = 1; XintfRegs.XTIMING6.bit.XWRLEAD = 1; XintfRegs.XTIMING6.bit.XRDTRAIL = 0; XintfRegs.XTIMING6.bit.XRDACTIVE = 2; XintfRegs.XTIMING6.bit.XRDLEAD = 1; } 初始化程序可参见文件DSP28_Xintf.c。 2)SRAM读写与测试 unsigned int * SRAM = (unsigned int *) 0x100000; for(i = 0; i 0xFFFF; i++) { *(SRAM + i) = 0x5555; if(*(SRAM + i) != 0x5555) { while(1); } //如果SRAM测试未通过,则程序停止在该行 } SRAM的测试方法是首先对所有单元写入设定数值,然后读出并进行校验。可以选取有代表性的数据进行测试,如0x0000、0xFFFF、0x5555、0xAAAA等。 四、实验程序结构和实验要求 4.1程序

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档