Chinaunix首页 | 论坛 | 博客
  • 博客访问: 857098
  • 博文数量: 213
  • 博客积分: 5048
  • 博客等级: 大校
  • 技术积分: 1883
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-14 10:14
文章分类

全部博文(213)

文章存档

2011年(4)

2010年(55)

2009年(47)

2008年(107)

我的朋友

分类: C/C++

2011-02-15 18:39:32

我的环境是stm32+ax88178+vsc8211
usb转千兆网口,现在算是调通了,lwip上能ping通400以下的包,400以上还有点问题。。
原来今天想找点时间把博客整理一下的,发现太乱。。哎我还是写点即时感受吧,很多东西过了热情就不想写了。

大概介绍一下stm32的usb和ax88178
      stm32用的是stm32f107,上面有一个otg的usb接口,这里我作为usb host only来使用。意法只有stm32作为usb device的驱动,因为没有usb host免费的协议栈也就没有usb host的例程,只有底层驱动和几个二进制文件。不过像我这种只要针对ax88178一个设备来说,自己写个简单的还能用的也不难,这点可以仿照意法给的usb device的例程,还是有学习的地方的。usb host的部分由于没有例程完全照着datasheet一步步开发,没其他方法只有datasheet,翻过来翻过去。
       ax88178这部分也是,asix官网上只有基于linux和windows的驱动,像我用的uc/os,和没有系统差不多,ax88178的驱动也是自己开发的,这部分除了datasheet还可以参考linux下的驱动,还是很有帮助的。
       ax88178的usb有五个端点:
       ep0,控制,输入输出,usb的控制。
       ep1,中断,输入,一些网口状态信息。
       ep2,块,输入,接收的网络数据。
       ep3,块,输出,发送的网络数据。
       要注意的有三点:
       1)读写phy芯片的控制命令前,需要发送一个命令,datasheet有说明。
       2)发送ep1中断时,也需要提前发送一个命令,datasheet也有说明。
       3)ep2和ep3中的数据,ip包包头有个四字节的头,前两字节表示包长,后两字节是包长取反验证用

       vsc8211没有细看,我就知道前期网口连接上,他会自适应,然后我去读0x1C寄存器得到现在网口链接的信息。

阅读(2732) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~