- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验:实验
1. 理解F28335在硬件上如何扩展RAM内存。
2. 理解F28335在扩展RAM存储器上的编程。
二、实验设备
1.装有CCS5.2的计算机一台。
2.ZQ28335开发板、XDS100V2 USB仿真器、USB接口线及5V电源。
三、实验原理
F28335的片上存储器和片外存储器采用统一编址方式。当片内RAM存储器不够用时,可外接芯片扩展。扩展存储器只能在0x00 4000~0x00 5000的XINF 区域0、0x10 0000~0x20 0000的XINF 区域6和0x20 0000~0x70 0000的XINF 区域7,如图1所示。
1.外扩RAM电路
选用的RAM型号为IS61LV25616AL,256K×16bit大小。这里使用A17~A0,共18根地址线,最大为256K;数据线为D15~D0。片选信号CE接F28335的XZCS7引脚,写WE由XWE提供,RD(OE,Output Enable)信号均XRD提供。有硬件电路可知,外扩的RAM地址范围为0x20 0000~0x23 FFFF。
由于没有使用A19~A18地址线,在仿真时,凡低18位地址相同的单元,读出的内容都是同一个单元内容,如0x240000~0x27FFFF,0x280000~0x2BFFFF和0x2C0000~0x2FFFFF上读出的内容与0x200000~0x23FFF的内容相同。
2.外扩FLASH电路
FLASH存储器掉电后数据不会丢失,用于存放程序和需要保存的数据。本实验板选用的FLASH型号为SST39VF800,512K×16bit大小。这里使用A18~A0,共19根地址线,最大为512K;数据线为D15~D0。片选信号CE接F28335的XZCS6引脚,写WE由XWE提供,RD(OE,Output Enable)信号均XRD提供。有硬件电路可知,外扩的FLASH地址范围为0x10 0000~0x17 FFFF。
读FLASH的方法与普通的存储器没有区别,但写数据到FLASH及擦除等操作,则需要特定的命令,如表1所示。
图1 F28335内存映射
图2 F28335在区域7外接RAM芯片(仅使用A17~A0,256K)
表1 SST39VF800型FLASH存储器命令表
图3 F28335在区域6外接FLASH芯片(仅使用A18~A0,512K)
例如:一个字到FLASH(Word Program),需要4个周期。如将地址为DSPRamStart的随机存储器单元内容复制到FLASH的FlashStart单元,编程如下:
*(FlashStart + 0x5555)= 0xAA;
*(FlashStart + 0x2AAA)= 0x55;
*(FlashStart + 0x5555) = 0xA0;
*(FlashStart) = *(DSPRamStart);
3.实验功能分析
在《main_EXRAM.C》中,读写外部RAM与读写普通的存储器方法相同。在《main_NOR_FLASH.C》中读FLASH与普通存储器没有区别,但写FLASH等操作需要发送相应的命名。为叙述方便,将RAML7前半部分存储器简称为A,后半部分简称为B,FLASH存储器简称为C,外部RAM存储器简称为D。主函数的主要功能为
(1)初始化外部接口为16位的总线接口(InitXintf());
(2)A初始化为0~0x3FF(InitRam(0));
(3)擦除C(ChipErase();execute_150ms);
(4)将A数据复制到C(写FLASH)(FlashWrite(0,0,0x400));
(5)将B清零(EraseRam(0x0));
(6)将C数据复制到B(读FLASH)(FlashRead(0,0,0x400));
图4 EXRAM及FLASH存储器分布简图
四、源程序分析
1.延迟函数
原型:void delay_loop(Uint32 x)
2.擦除整个FLASH数据函数
原型:Uint16 ChipErase(void)
// FLASH芯片地址接在ZONE6段,地址从0x100000开始
// FlashStart=0x100000
// 擦除整个FLASH,擦除后,每个单元均为0xFFFF
// 函数返回0:擦除完成(EraseOK=0)
// 函数返回1:擦除超时退出(TimeOutErr=1)
// 函数返回3:擦除错误(EraseErr=3)
3.将RAML7的数据写到FLASH函数
原型:Uint16 FlashWrite(Uint32 RamStart, Uint32 RomStart, Uint16 Length)
// FlashStart=0x
您可能关注的文档
最近下载
- 学校--以老带新”实施方案.docx VIP
- 2022《贯彻执行中央八项规定、推进作风建设综述》专题PPT.ppt VIP
- -IATF 16949质量管理体系培训 .ppt VIP
- 医美整形线上平台留客升单策略.docx VIP
- 高中物理力学——动态平衡问题处理方法.pdf VIP
- 一种可实时监控的负压引流系统及其使用方法.pdf VIP
- 2022年新版《义务教育体育与健康课程标准》考试学习资料.docx VIP
- 2024-2025学年天津市南开区七年级(下)期末数学试卷.pdf VIP
- IATF16949质量管理体系模板或IATF16949质量管理手册.docx VIP
- 外研版八年级上册 Unit 1 单元测试卷答案及解析 新版 2025年新外研版八年级上册.docx
文档评论(0)