- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)