aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
阅读:1432回复:4

网卡驱成初步问题

楼主#
更多 发布于:2004-11-29 21:26
今天开会了,终于知道我到底要干什么了。
导师的意图就是要开发两块相同的通讯板,我做的是驱成。而且要在不到两个月的
时间实现。
硬件是由其他人实现的,用的是FPGA。两块板子是PCI插槽。中间由光纤联系。
其中要实现TCP/IP协议。就是两台机子,一台机子插一块板子。之间用光纤连接。
让人感觉这就是一块网卡,然后还可以设置IP等信息。然后两台机子就可以通讯了。
就像插了两张网卡的机子,
这样的话,譬如我运行\\对方的IP就可以进入别人的机子,或者着一台机子打开一个
FTP,另一台机子开一个FTP的服务。就可以使用了。
反正就是Windows认为是一块网卡。能够实现一张网卡的基本功能。

在硬件的介绍上,就是有人用Verliog的语言开发一个FPGA。我往一个register地址
写数据,然后硬件自动将数据写往一个FIFO,然后这就是硬件自己实现传送功能。

我这两个月学习的是PCI的驱成,我是同时DDK和DS同时学习的。已经入门而且也可以
实现在一张PCI卡上进行编程。本来以为只要懂得从自己写的应用程序里面提取数据
然后传给驱动程序,在往FIFO提供的地址上写数据就可以了。看来全完了。全部从头
再来了。

我想问以下问题,懂得人多少回答一下。让我懂得如何着手。谢谢了。
1.这个是不是NDIS的驱动程序,要学习NDIS的编程,我想用DS下的DriverNetWorks来开发
可以吗?我比较懒不想用DDK。DS还可以阿。
2.NDIS的书籍和资料好少啊,我都没看见,就是可能网上有些人写的心得吧。要不就是
一本windows 2000 驱动程序开发大全。要说DriverNetWorks,我就更没看见了。那本
武安河的书上根本没介绍。walter oney也没有。怎么入手和学习阿?
3.是不是用NDIS把这块板子当作网卡来编程,管他怎么实现的。它就能实现TCP/IP的协议。
我不用再操心上层的什么分组阿还是什么报头还什么分帧,还是什么其实我也说不太清。
4.我写的应该是属于控制硬件的,MINPORT的吧。还有我做的到底是什么网络类型,有没有什么以太网驱动程序,令牌环网驱动程序。我到底要做哪一种???


5.还有驱程是链路层上的,上面的IP等一些网络层和传输层的细节
我已经不用考虑了吧,还有NDIS应该封装好很多细节,我只是
简单的实现就可以了吧。
这个驱程的开发是不是蛮简单的,小问一下。
我是不是不用管它到底是网线接口还是光纤接口吧。

6.还有我做的应该是NDIS 5的吧。

很感谢







周维彬
zhjie374
驱动小牛
驱动小牛
  • 注册日期2004-10-27
  • 最后登录2012-01-17
  • 粉丝2
  • 关注1
  • 积分17分
  • 威望144点
  • 贡献值1点
  • 好评度21点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-29 22:31
因为我也在学习写网卡驱动,我想说几句!
是不是NDIS关键看硬件实现的功能。因为我直接使用RTL8029的芯片,所以一切显得很规范也很有条理。你们自己的硬件我就不清楚了!但是感觉应该还是一个NIC吧!
NDIS的资料确实很少,我都郁闷了!
我不知道你有没有看过NDIS的东西,网络是分层的嘛!所以NDIS也是分层的,TCP/IP应该不是NIC实现的。

以上是我的个人理解,因为我很菜,所以不知道对不对。呵呵,我大学还没有毕业!
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
板凳#
发布于:2004-12-01 12:14
这两天都在看一个叫做楚狂人的NDIS介绍,(在这个板块看到的)
还有Windows 2000驱动程序开发大全的关于NIC的部分。
我想确定几个问题
1.我做的应该是面向无连接的微端口驱成吧。
2.用的方式是Programmed IO方式,在2000下的NDIS5.0。
3.还有是不是我开发了这个驱成,上层软件就不关我的事了,就是说
Windows就把他当作是一块网卡,然后网上邻居就自动添加一个本地连接。就像一块真的网卡一样。然后两台机子就可以相互访问了。
4.还有就是NDIS对硬件有什么要求或规范吗?

下面是关于我所知道的硬件具体信息。

硬件是由其他人实现的(我的两个同学还在开发中),用的是FPGA。两块板子是PCI插槽。中间由光纤联系。
然后导师要求我的驱成要实现TCP/IP协议。就是两台机子,一台机子插一块板子。之间用光纤连接。让人感觉这就是一块网卡,然后还可以设置IP等信息。然后两台机子就可以通讯了。就像插了两张网卡的机子,
在硬件的介绍上,就是有人用Verliog的语言开发一个FPGA。我往一个register地址写数据,然后硬件自动将数据写往一个FIFO,然后这就是硬件自己实现传送功能。
周维彬
aben1223
驱动小牛
驱动小牛
  • 注册日期2004-11-29
  • 最后登录2007-06-01
  • 粉丝1
  • 关注0
  • 积分1000分
  • 威望201点
  • 贡献值0点
  • 好评度192点
  • 原创分2分
  • 专家分0分
地板#
发布于:2004-12-01 12:44
下面是关于我所知道的硬件具体信息和我要开发的要求。
要求:导师接这个项目的时候,项目要求开发的硬件有一个实现TCP/IP
的驱成。至于怎么证明这块板子支持TCP/IP呢,我导师的想法是就是用
我们开发的板子两块,一台插一个。中间用光纤相联。然后我在这个硬件
上开发一个驱成,安装好以后。Windows 2000就认为这是一块网卡了。
然后嘛这两台机子就可以实现所有网卡的基本功能(譬如可以相互访问拉,等等)。
我导师其实不太懂的,在驱成方面更是不懂。他就是有这个想法,逼着我去实现。
......
......
硬件:我的其他同学正在开发中,用的是FPGA。
这块板子是PCI插槽。接口由光纤联系。在硬件的介绍上,就是有人
用Verliog的语言开发一个FPGA。发送数据时我往一个register地址写数据,
然后硬件自动将数据写往一个FIFO(其中某个同学实现的),然后
后面的物理传输就是硬件自己实现了。接受时,硬件产生一个中断。我就去接受。
(好像就是这样)
周维彬
floatingalone
驱动牛犊
驱动牛犊
  • 注册日期2004-12-08
  • 最后登录2007-08-07
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望6点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-12-08 21:19
aben1233,你好:
我现在做的题目和你做的几乎一摸一样。
是用FPGA 实现TCP/IP协议。
就是作块板子,嵌入FPGA,让计算机把它当作网卡用。
我向您请教一个问题,网卡通讯是基于网卡的物理地址,这个地址
由网卡制造商提供,但是我们自己做的板子,这个地址改如何设置呢?
很想和您交个朋友,大家共同学习,共同进步。
QQ:362872023

游客

返回顶部