- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机与TCP/IP网络--版主 老古
(一)绪言
? ??——单片机如何控制以太网网卡进行传输数据,如何加载TCP/IP协议连接到互联网,这些都是一些令人感兴趣的问题。
——可以说以太网和TCP/IP协议已经成为使用最广泛的协议,而其它总线协议如RS485、RS232,CAN,LANWORKS,都只是一些局部系统的总线。
——围绕以太网而制造的集线器,交换机已进入大小公司,企业,家庭。我现在在众达天网公司,由于公司是搞电脑防火墙的,所以对网络的接触也越来越多,我研究的主要是网络的底层,并掌握了很多网络分析工具如(SNIFFER),对以太网和TCP/IP协议的研究就更加深入了。
——我比较熟悉的网卡是10M的网卡,100M的以太网卡还在研究之中。曾经用单片机(89C52)控制和驱动10M的NE2000兼容型以太网卡与电脑主机传输数据。
——现在将我的一些研究成果写成一系列的文单,提供给大家。也许有一天研究了100M的网卡之后,可以让单片机驱动它,那是可能的事,只不过接口可能会复杂一些。
——我所写的驱动程序并不是标准的,因为我没有学过UNIX,无法使用UNIX提供的原代码。如果能使用UNIX的原代码,那将是很好的事。我也正在接触UNIX和VC++,DDK等方面的内容,希望有一天能够重写我现在所写的驱动程序。
——我知道有很多人在了解单片机与以太网方面的东西,在BBS上也发现了很多这方面的内容,有些人的研究甚至比我还深入,我也希望能跟这些人交流交流,如果对我的文章感兴趣 ,当然可以给我发电子邮件啦。
——在接下来的文章将介绍以太网协议,网卡驱动,IP协议,ICMP协议,ARP协议,TCP协议等 。
为帮助读者开发该tcp/ip的应用,本站制作了以太网开发板,可以购买。
(二)以太网协议
??——--以太网协议(用于10MBPS的以太网,作者以下所说的以太网均指10M以太网,而不是100M,1000M的以太网)
——以太网协议有两种,一种是IEEE802.2/IEEE802.3,还有一种是以太网的封装格式。
——现代的操作系统均能同时支持这两种类型的协议格式。因此对我们来说只需要了解其中的一种就够了,特别是对单片机来说,不可能支持太多的协议格式。
——以太网的物理传输帧:(仅介绍第二种格式)
PR
SD
DA
SA
TYPE
DATA
PAD
FCS
56位
8位
48位
48位
16位
不超过1500字节
可选
32位
——PR:同步位,用于收发双方的时钟同步,同时也指明了传输的速率(10M和100M的时钟频率不一样,所以100M网卡可以兼容10M网卡),是56位的二进制数101010101010
——SD: 分隔位,表示下面跟着的是真正的数据,而不是同步时钟,为8位跟同步位不同的是最后2位是11而不是10.
——DA:目的地址,以太网的地址为48位(6个字节)二进制地址,表明该帧传输给哪个网卡.如果为FFFFFFFFFFFF,则是广播地址,广播地址的数据可以被任何网卡接收到.
——SA:源地址,48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址,同样是6个字节.
TYPE:类型字段,表明该帧的数据是什么类型的数据,不同的协议的类型字段不同。如:0800H 表示数据为IP包,0806H 表示数据为ARP包,814CH是SNMP包,8137H为IPX/SPX包,(小于0600H的值是用于IEEE802的,表示数据包的长度。)
DATA:数据段 ,该段数据不能超过1500字节。因为以太网规定整个传输包的最大长度不能超过1514字节。(14字节为DA,SA,TYPE)
PAD:填充位。由于以太网帧传输的数据包最小不能小于60字节, 除去(DA,SA,TYPE 14字节),还必须传输46字节的数据,当数据段的数据不足46字节时,后面补000000(当然也可以补其它值)
FCS:32位数据校验位.为32位的CRC校验,该校验由网卡自动计算,自动生成,自动校验,自动在数据段后面填入.对于数据的校验算法,我们无需了解.
事实上,PR,SD,PAD,FCS这几个数据段我们不用理它 ,它是由网卡自动产生的,我们要理的是DA,SA,TYPE,DATA四个段的内容.
所有数据位的传输由低位开始(但传输的位流是用曼彻斯特编码的)
以太网的冲突退避算法就不介绍了,它是由硬件自动执行的.
DA+SA+TYPE+DATA+PAD最小为60字节,最大为1514字节.
以太网卡可以接收三种地址的数据,一个是广播地位,一个是多播地址(我们用不上),一个是它自已的地址.但网卡也可以设置为接收任何数据包(用于网络分析和监控).
任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡地址由专门机构分配.不同厂家使用不同地址段,同一厂家的
您可能关注的文档
- 岩心钻探课程设计加部分图.doc
- 浪淘金精准营销服务介绍卓诚律师服务.ppt
- 郑日昌 教师职业倦怠.ppt
- 武汉金融超市介绍.ppt
- 圆锥圆柱斜齿轮二级减速器.doc
- 山东省枣庄市2015年中考理综真题试题含答案.doc
- 人教新课标三年级语文下册想别人没想到的 3课件.ppt
- 高中物理新课标人教版选修11同步练测第3章 第3节 交变电流.doc
- 儿童体格生长与评价张萱.ppt
- 中国传统文化 功夫 英文讲稿.ppt
- 2024-2025学年桑植一中高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年上海市进才中学高一入学分班考试语文作文押题及范文分析.docx
- 中国滴水水表行业市场情况研究及竞争格局分析报告.pdf
- 2024-2025学年上海师大附中高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年清华大学附属实验学校高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年上海市控江中学高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年上海静安外国语中学高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年宁波外国语学校高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年南通中学高一入学分班考试语文作文押题及范文分析.docx
- 2024-2025学年宁波市鄞州中学高一入学分班考试语文作文押题及范文分析.docx
文档评论(0)