网站大量收购独家精品文档,联系QQ:2885784924

u_boot移植(八)之支持dm9000网卡续.pdf

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
u_boot移植(八)之支持dm9000网卡续

u_ boot移植(八)之支持dm9000网卡续 上一节 ,我们移植dm9000网卡 ,最后以失败而告终 ,但是不能放弃 ,很 多时 成功就离我们一步之隔 ,只要我们跨过这一步 ,我们就能成功。 先分析一下 ,失败的原因 , 提示信息就可以知道 ,是在复位DM9000网 卡没有应答 ,读取的ID不正确。 为什么会导致读取ID不正确呢 ? 正常情况应该不会的 ,因为我们可以肯定DM9000网卡驱动肯定不会有问 题 ,现在出了这样的错误 ,肯定是我们S5PC100这边还有相关控制器没有 配置。 对了 ,我们的DM9000AE网卡是接在了S5PC100 SMC的BANK1上 ,由 SMC控制器最终来控制DM9000AE网卡的时序。 我们没有初始化SMC控制器 ,也没有初始化DM9000AE接到S5PC100的 相应GPIO引脚。 好 ,接下来我们就来完成S5PC100的SMC控制器设置 和 初始化S5PC100 上和DM9000相连接的GPIO管脚。 一、初始化S5PC100的相关GPIO引脚和SMC控制器 1.初始化S5PC100上和DM9000相连接的GPIO管脚 上图可以知道 ,我们只需将GPK0组的第1、6、7管脚设为对应的工作模 式就可以了。 初始化代码如下: 2 . 5PC100的SMC控制器设置 S5PC100的SMC控制器主要有两个:SMC_ BW ( SMC Bus Width Wait control ) 和 SMC_ BC(SMC Bank Control Register)。 (1)SMC_ BW 控制器设置 先来看看SMC总线宽度控制器的内容: 上图可以知道: 1第4位是用来设置BANK1的位宽的 ,我们的DM9000AE 外接16根数 据线,支持8bit和16bit工作模式。具体是哪一种工作模式取决于它的EECS 管脚 。 当EECS为高电平的时候 ,DM9000AE工作在8bit模式 当EECS为低电平的时候 ,DM9000AE工作在16bit模式 DM9000AE的硬件接线原理图上 ,可以看到EECS没有接 ,是悬空的状 态。那它是高电平还是低电平呢? 需要注意的是DM9000AE内部 ,EECS管脚是有一个下拉电阻和它相连接 的 ,所以此时它为电平。 了解完 ,这些知识后 ,我们就能确定DM9000AE的数据宽度了 ,所以第四 位应该设置为1。 2第五位是用来决定地址的模式的 ,有两种模式: 字节对齐地址和半字 对齐地址 字节地址模式表示SMC的地址线 [20:0] 表示地址的[20:0]位。 半字地址模式表示SMC的地址线 [20:0] 表示地址的[21:1]位 [半字对齐的 时 ,第0位是无效的]。 通过前面的分析 ,我们知道操作DM9000AE,需要用到两个地址: 0x8800,0000 和 0x8800,0004 上图 ,我们就可以肯定我们应该选择字节地址对齐模式,所以第五位应该 设置为1。 3第六位是Wait 使能位。 上图看出 ,如果我们使能了WAIT位 ,nOE的有效时间会被延长 ,一直 到nWAIT为高电平为止。 就好比你问别人借钱 ,别人没钱 ,你需要等到别人有钱才能借给你 ,具体 等多长时间呢?那就通过nWAIT线来决定了 , 没钱的人会一直将nWAIT线拉低 ,直到他有钱为止。在nWAIT线拉低的时 候 ,你会一直等待。 我们的DM9000AE上面没有接nWAIT线 ,所以这一位可以设 ,也可以不 设。 4 第七位是字节使能位 有些存储设备 ,它的最小存储单元是2个字节。也就说是你给它发送一个 地址 ,它就会给你2个字节。有些时候 ,我只想要其中的一个字节呢?那就 需要通过ByteEnable线来屏蔽掉一个字节了。 我们的DM9000AE上面没有接ByteEnable线 ,所以这一位可以设 ,也可 以不设。 (2) SMC_ BC控制器设置 SMC_ BC 控制器主要是用来设置SMC的时序参数的 ,我们如果想让 DM9000AE网卡能正常工作 ,就必须让SMC控制器能发出的时序和 DM9000需要的时序图。 先来看看SMC发出的时序图和DM9000AE需要的时序图 (1)读时序图 1Tacs 值的确定 通过前面DM9000AE硬件原理图的分析我们可以知道CMD接的是地址线, DM9000AE的时序图可以知道 片选信号CS和命令信

文档评论(0)

a888118a + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档