移植DM9000C驱动程序之设置时序

来源:互联网 发布:世界杯小组抽签软件 编辑:程序博客网 时间:2024/06/03 19:19

1、2440部分和网卡部分

(1)2440部分

Tacp是页模式访问周期





(2)网卡读写部分

读时序

读数据,先把地址值写到DM9000的某个寄存器



写时序

CMD引脚就是2440接出的地址引脚



2、程序编写、

(1)时间参数设置(在入口函数中)

BANKCON4寄存器里面的值设置参考DM9000手册 可以先选最大值,然后根据DM9000芯片手册修改这些值
/*
* Tacs[14:13]: 发出片选信号之前,多长时间内要先发出地址信号
*              DM9000C的片选信号和CMD信号可以同时发出,
*              所以它设为0
* Tcos[12:11]: 发出片选信号之后,多长时间才能发出读信号nOE
*              DM9000C的T1>=0ns, 
*              所以它设为0
* Tacc[10:8] : 读写信号的脉冲长度, 
*              DM9000C的T2>=10ns,  怕太临界
*              所以它设为1, 表示2个hclk周期,hclk=100MHz,就是20ns
* Tcoh[7:6]  : 当读信号nOE变为高电平后,片选信号还要维持多长时间
*              DM9000C进行写操作时, nWE变为高电平之后, 数据线上的数据还要维持最少3ns
*              DM9000C进行读操作时, nOE变为高电平之后, 数据线上的数据在6ns之内会消失
*              我们取一个宽松值: 让片选信号在nOE放为高电平后,再维持10ns, 
*              所以设为01
* Tcah[5:4]  : 当片选信号变为高电平后, 地址信号还要维持多长时间
*              DM9000C的片选信号和CMD信号可以同时出现,同时消失
*              所以设为0
* PMC[1:0]   : 00-正常模式
*
*/

//*bankcon4 = (1<<8)|(1<<6);/* 对于DM9000C可以设Tacc为1, 对于DM9000E,Tacc要设大一点,比如最大值7  */
*bankcon4 = (7<<8)|(1<<6);  /* TQ2440和MINI2440使用DM9000E,Tacc要设大一点 */


0 0
原创粉丝点击