- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机系统的以太网通信接口设计
引言
单片机如何控制以太网网卡进行传输数据,如何加载TCP/IP协议连接到互联网,这些都是一些令人感兴趣的问题。 可以说以太网和TCP/IP协议已经成为使用最广泛的协议,而其它总线协议如RS485、RS232,CAN,LANWORKS,都只是一些局部系统的总线。 围绕以太网而制造的集线器,交换机已进入大小公司,企业,家庭。研究的主要是网络的底层,掌握了很多网络分析工具如(SNIFFER),对以太网和TCP/IP协议的研究就更加深入了。 比较熟悉的网卡是10M的网卡,100M的以太网卡还在研究之中。用单片机(89C52)控制和驱动10M的NE2000兼容型以太网卡与电脑主机传输数据。用RTL809AS的总线的以太网的网卡。单片机控制总线的以太网网卡成为现实,总线也进入了嵌入式领域。在接下来的文章将介绍以太网协议,网卡驱动,IP协议,TCP协太网协议(用于10MBPS的以太网,以下所说的以太网均指10M以太网,而不是100M,1000M的以太网”粗以太网(thick Ethernet)”电缆,802.3标准建议为黄色,每隔2.5m一个标志,标明分接头插入处, 连接处通常采用插入式分按头(vampire tap),将其处针小心地插入到同轴电缆的内芯.名称10Base5表示的意思是:工作速度为10Mb/s,最大支持段长为500m.
第二种电缆是10Base2或称为”细以太网”电缆,与”粗以太网”相对,并且很容易弯曲.起街头除采用工业标准的BNC连接器按组成T型插座,它使用灵活,可靠性高.”细以太网”电缆价格低廉,安装方便,但是适用范围只有200m,并且每个电缆段内只使用30 台机器.
第三种由于寻找电缆故障的麻烦,导致一种新的接线方式的产生,即所有站点均连接到一个中心集线器上.通常,这些连线是电话公司的双绞线,这种方式称为10Base-T的缺点是,其电缆的最大有效长度为聚集线器100M,即使高质量的双绞线(5类线),最大长度可能也只有150m.另外大集线器的价格也较高.尽管如此,由于易于维护,10Base-T还是应用的越来越广泛,在本设计中也应用这种方式
1.3以太网协议
以太网协议有两种,一种是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字节.以太网卡可以接收三种地址的数据,一个是广播地位,一个是多播地址(我们用不上),一个是它自已的地
文档评论(0)