欢迎来到天天文库
浏览记录
ID:40749959
大小:1.05 MB
页数:4页
时间:2019-08-07
《LPC2138+SD卡Proteus虚拟平台(SD卡读写扇区测试)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、LPC2138+SD卡Proteus虚拟平台(SD卡读写扇区测试)发表于2009-04-1919:37 经过几天的努力终于完成了SD卡读写扇区测试的proteus仿真,功能暂时只有读取和写入扇区数据,首先感谢古大哥的帮助。我是新手,一边学习LPC2138和SD卡一边搭建虚拟平台,所以进度很慢,不过好在还是做出来了,希望像我这样的新手可以通过这个平台快速掌握SD卡,大家共同进步。好了,下面总结一下: SD卡的驱动程序用的是Philips官方的参考驱动,官方驱动是用ssp作为spi口与SD卡通信的,但是我不管怎么调试,ss
2、p仿真的时候写数据勉强能行,但是读数据总是出错,最后改动了几个函数换成了spi接口与SD卡通信。Proteus及源代码 程序中加入了串口程序,使得调试方便,在串口终端可以显示写入扇区的数据和读取扇区的数据,通过注释掉mmcmain.h中的#defineDebug可以使编译的时候不编译与串口相关的所有代码。在改动程序时我尽量没有破坏原来程序的结构,spi_mmc.c中改动的函数有:voidSPI_Init(void)voidSPI_Send(BYTE*buf,DWORDLength)voidSPI_Receive(BYTE*
3、buf,DWORDLength)BYTESPI_ReceiveByte(void) 并加入了函数BYTESPI_RW(BYTEdata)函数。加入此函数的目的是为了保留BYTESPI_ReceiveByte(void)函数,其实这两个函数差不多,BYTESPI_RW(BYTEdata)完全可以实现BYTESPI_ReceiveByte(void)的功能,但是在其他函数调用了BYTESPI_ReceiveByte(void)函数,为了保持其他代码不变,所以加入了BYTESPI_RW(BYTEdata)函数。 仿真时由于加
4、入了spi调试器所以仿真的时候速度比较慢,可以通过删除spi调试器加快仿真速度。 在学习SD卡时,SD卡的时序比较重要,可以通过打开DIGITALANALYSIS仿真图与SD卡的时序对照进行学习,如下图所示 仿真图的时序不是仿真运行时生成的,是通过按下键(仿真图左下角)生成的,如果更改了驱动可以通过重新生成仿真图来查看SD卡的时序,以便发现问题。 好像proteus有专门生成SD卡image的插件,但是我没有找到,我的SD卡image是用的别人的image,查看和修改image用的是WinHex软件。下一步开始测试
5、文件系统
此文档下载收益归作者所有