LAN91C111 开发手记

本文记录了使用NIOS II搭配LAN91C111进行网络开发的经历,主要探讨了LWIP底层网络芯片初始化过程,特别是netif_add函数在其中的作用。在初始化过程中遇到的 AUTO NEGOTIATION TIME OUT问题,通过检查硬件、原理图、网线定义,最终发现并解决了网线接错的问题。然而,尽管硬件初始化成功,但PC仍无法PING通LAN91C111,问题待续。

目前用的是NIOS II+LAN91C111 通过几天的学习,基本上弄清楚了LWIP底层网络芯片的初始化,初始化的主要代码在netif_add函数中, netif_add起到了一个衔接顶层协议和底层驱动的作用 netif_add调用low_level_init初始化硬件,前几天主要是phy_config失败,然后找到了在AUTO NEGOTIATION时老是TIME OUT ,开始怀疑是硬件的问题,找了很多个版本的原理图,得出的结论是引脚的配置是正确的。在AUTO NEGOTIATION用示波器量tpi tpo 各个引脚也没有波形。最后只能怀疑是连接LAN91C111和交换机的网线有问题,于是去查关于网线的定义,得知RJ45接口的1、2、3、6脚O+ O- I+ I-,究竟那一个是RJ45的一脚,对于RJ45的插座口,将引脚向上放置,从左往右,依次是1-8。再去查网线,果真是接错了。于是更改,最后虽然初始化OK了,但是PC机PINGLAN91C111却始终PING不通。

TO BE CONTINUE

 

今天发现为什么一直以来PING不通了,我的set_ip_addr是在main函数所在的文件中定义的,所以在//C:/altera/71/nios2eds/components/altera_lwip/UCOSII/src/alt_lwip_dev.c
文件中调用get_ip_addr编译时找不到这个函数,但是NIOSII IDE从来没有报过错。同样
//C:/altera/71/ip/sopc_builder_ip/altera_avalon_lan91c111/UCOSII/src、altera_avalon_lan91c111.c调用get_mac_addr连接器也找不到这个函数。发现NIOSII IDE做的实在是太差了。解决的办法是在/C:/altera/71/nios2eds/components/altera_lwip/UCOSII/src/alt_lwip_dev.c文件中加入get_ip_add,建立好工程后,在工程树状视图的Device Drivers [Sopc Builder]-〉altera_avalo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值