在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 5209|回复: 2

[求助] DM9000A网络芯片中断脚INT无输出信号

[复制链接]
发表于 2010-1-5 19:41:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
代码用的是Uboot的dm9000x驱动,按照需要做了适当修改。初始化函数如下:

/*--------------------------------------------------------------------------------------*/
/* Initilize dm9000 board
*/
int
eth_init( const char *ps_mac )
{
        int i, oft, lnk;
    unsigned char u8_byte = 0;
    unsigned char sa_mac[ 6 ] = { 0 };
        DM9000_DBG("eth_init()\r\n");

        /* RESET device */
        dm9000_reset();
        dm9000_probe();

        /* NIC Type: FASTETHER, HOMERUN, LONGRUN */
        identify_nic();

        /* GPIO0 on pre-activate PHY */
        DM9000_iow(DM9000_GPR, 0x00);        /*REG_1F bit0 activate phyxcer */

        /* Set PHY */
        set_PHY_mode();

        /* Program operating register */
        DM9000_iow(DM9000_NCR, 0x0);        /* only intern phy supported by now */
        DM9000_iow(DM9000_TCR, 0);        /* TX Polling clear */
        DM9000_iow(DM9000_BPTR, 0x3f);        /* Less 3Kb, 200us */
        DM9000_iow(DM9000_FCTR, FCTR_HWOT(3) | FCTR_LWOT(8));        /* Flow Control : High/Low Water */
        DM9000_iow(DM9000_FCR, 0x0);        /* SH FIXME: This looks strange! Flow Control */
        DM9000_iow(DM9000_SMCR, 0);        /* Special Mode */
        DM9000_iow(DM9000_NSR, NSR_WAKEST | NSR_TX2END | NSR_TX1END);        /* clear TX status */
        DM9000_iow(DM9000_ISR, 0x0f);        /* Clear interrupt status */

    if( ps_mac != 0 )
    {
        memcpy( sa_mac, ps_mac, 6 );
            /* Set Node address */
            DM9000_DBG("MAC: %02x:%02x:%02x:%02x:%02x:%02x\r\n", sa_mac[0],
                   sa_mac[1], sa_mac[2], sa_mac[3], sa_mac[4], sa_mac[5]);
            for (i = 0, oft = 0x10; i < 6; i++, oft++)
                    DM9000_iow(oft, sa_mac[i]);
            for (i = 0, oft = 0x16; i < 8; i++, oft++)
                    DM9000_iow(oft, 0xff);

            /* read back mac, just to be sure */
            for (i = 0, oft = 0x10; i < 6; i++, oft++)
                    DM9000_DBG("%02x:", DM9000_ior(oft));
            DM9000_DBG("\r\n");
    }

        /* Activate DM9000 */
        DM9000_iow(DM9000_RCR, RCR_DIS_LONG | RCR_DIS_CRC | RCR_RXEN);        /* RX enable */
        //DM9000_iow(DM9000_IMR, IMR_PAR);        /* Enable TX/RX interrupt mask */
        DM9000_iow( DM9000_IMR, 0x81 );
   
    u8_byte = DM9000_ior( DM9000_NSR );
    DM9000_DBG( "DM9000_NSR = 0x%02x\r\n", u8_byte );
        i = 0;
        while (!(phy_read(1) & 0x20)) {        /* autonegation complete bit */
                mdelay(1);
                i++;
                if (i == 10000) {
                        //xil_printf("could not establish link\r\n");
                        return 0;
                }
        }

        /* see what we've got */
        lnk = phy_read(17) >> 12;
        xil_printf("operating at ");
        switch (lnk) {
        case 1:
                xil_printf("10M half duplex ");
                break;
        case 2:
                xil_printf("10M full duplex ");
                break;
        case 4:
                xil_printf("100M half duplex ");
                break;
        case 8:
                xil_printf("100M full duplex ");
                break;
        default:
                xil_printf("unknown: %d ", lnk);
                break;
        }
        xil_printf("mode\r\n");

        return 0;
}

/*--------------------------------------------------------------------------------------*/

初始化代码中已经清了中断,并启用了接受中断,但为什么收到数据的时候,INT脚竟然没有信号输出?ISR中断寄存器都已经有中断位重置了呀。还请高手指点,谢谢!
发表于 2010-1-11 13:53:11 | 显示全部楼层
kankan
发表于 2014-4-9 14:26:25 | 显示全部楼层
深圳市爱欣文科技有限公司是台湾联杰国际(DAVICOM) 股份有限公司﹑台湾磁威(MAGCOM)公司在中国大陆的授权代理商,供应DAVICOM全系列產品DM9000EP DM9161AEP DM9000AEP DM9601EP DM9161EP DM9620 DM9006EP DM8806AFP 及MAGCOM全系列产品:HS12369 HS12361 HS9001 HS9016 .....原装正品,供货稳定价格优惠,欢迎大家咨询订购。我们不仅负责销售,更加注重的是产品的推广和服务;

贵公司在开发产品时,我们可以免费为贵公司提供:
1)芯片的数据手册,原理图.
2)Layoeut PCB(布板指南).
3) 中文编程指南
4)Drive.   ps:Linux drive/wince drive/vxworks/neucleus/.c/csos
5)如遇技术问题,原厂FAE免费提供技术支持。
  
[联系我们]:如需开发资料的请与我联系,谢谢!
李 sir:027-87880506,027-87207595
Mobile:13469977252
E-mail:baron_li@axwdragon.com
MSN:baron_li1@hotmail.com   
QQ:1596190376
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-22 19:51 , Processed in 0.017204 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表