DM9000驱动在MINI2440上的移植学习笔记想了解一下DM9000的.docVIP

DM9000驱动在MINI2440上的移植学习笔记想了解一下DM9000的.doc

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

DM9000驱动在MINI2440上的移植学习笔记想了解一下DM9000的移植修改原理,所以分析了一下时序图和引脚连接 首先看一下DM9000的引脚和MINI2440的引脚连接 DM9000??MINI2440?功能描述 SD0???DATA0??数据信号 ?|??????? ?? | SD15??DATA15??数据信号 CMD??ADDR2??识别为地址还是数据 INT???EINT7??中断 IOR#???nOE???读命令使能 IOW#??nWE???写命令使能 AEN???nGCS4??片选使能 可以看出连接了16条数据线,1条地址线,而这唯一的一条地址线用于判断数据线传输的是地址还是数据,所以这16条数据线为数据和地址复用 而片选信号使用的BANK4,则访问0x2000 0000 – 0x27FF FFFF这个范围的地址时会激活片选使能信号nGCS4 而在MINI2440提供的内核中,DM9000的地址IO地址为0x2000 0000,数据IO为0x2000 0004 则向地址IO写数据的时候不会激活ADDR2,所以向DM9000传送的数据为地址,而向数据IO写数据的时候会激活ADDR2,所以向DM9000传送的数据为数据 现在看看DM9000和S3C2440的时序信号 DM9000的写时序 ? ? IO16,IO32这两个引脚在MINI2440并没有连接,所以不看这两个引脚的时序 呢么整理如下: ? 还有就是写命令使能结束后到下一个写命令使能需要最少84ns的间隔时间,为T6 然后是S3C2440的写时序,由于DM9000是连接在BANK4上的,而BANK的写时序如下 ? 由于DM9000在MINI2440上只需要片选使能,写命令使能和数据信号,所以我们不看ADDR和nBE信号,呢么整理如下 ? 呢么这些值为多少呢?~ 来看看BANKCON4 ? 这里的值以时钟为周期,而BANKCON是接在Memory Controller上的(参考S3C2440A数据手册的表1-4),而Memory Controller使用的是Hclk总线时钟信号(参考S3C2440A数据手册的图7-1,感谢kasim大大指点),根据S3C2440手册,Hclk是由Fclk分频来的,具体的分频比每个板子的设置不一样,所以这里频率的设定要自己根据板子的设置来分析,假设主频为400MHz,然后Fclk,Hclk,Pclk的分频比为1:2:4,呢么Hclk就是200MHz,呢么每个时钟周期就是5ns 开始和DM9000的时序图进行对比,计算 Tcos对应T1,呢么最少应该为5ns,也就是1个clock Tacc对应T2,呢么最少应该为22ns,呢么我们这里最少也要选6个clock,也就是30ns Toch对应T5,在这里无设置,不过根据字面意思,我认为Tcoh就是Toch,Toch最少应该为5ns,也就是1个clock Tcah对应T4,由于之前已经有Toch了,呢么这里可以设置为0ns,也就是0个clock 在S3C2440中,一个写命令使能结束到下一个写命令使能开始的时间间隔为Toch + Tcah + Tacp + Tacs + Tcos Tacs是地址信号之后片选信号的起始间隔,我们这里先设为0ns,也就是0个clock Toch + Tcah + Tacp + Tacs + Tcos应该 84 5 + 0 + Tacp + 0 + 5 84 Tacp 74 但是Tacp的最大值为6个clock,也就是30ns,还少了44ns,大概9个clock 只要修改Toch Tcah Tacs和Tcos了,虽然我们给的都是最小值,但是为了信号稳定,可以放宽其范围, 将Tcos和Toch设置为4个clock 将Tacs和Tcah设置为2个Clock 这样总时间为 (4 + 2 + 6 + 2 +4)*5 = 90ns 最后DM9000 1个周期只能处理1个数据,所以PMC应该为normal(1data) 写时序分析完了,现在来看看读时序 DM9000的读时序如下 ? ? 呢么整理如下: ? ? 读命令使能结束后到下一个读命令使能需要最少80ns的间隔时间,为T6 然后是S3C2440的读时序,时序如下 ? 整理如下: ? Tcos对应T1,呢么最少应该为5ns,也就是1个clock,这里设置为和写操作一样的4个clock Tacc对应T2,呢么最少应该为22ns,这里设置为和写操作一样的6个clock Toch对应T5,呢么最少应该为5ns,也就是1个clock,这里设置为和写操作一样的4个clock 其它时间间隔先设置和写操作一样 Tcah为2个clock Tacp为6个clock Tacs为2个cloc

文档评论(0)

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

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

1亿VIP精品文档

相关文档