单片机如何控制以太网网卡进行传输数据.docx
- 文档编号:974089
- 上传时间:2022-10-14
- 格式:DOCX
- 页数:77
- 大小:2.68MB
单片机如何控制以太网网卡进行传输数据.docx
《单片机如何控制以太网网卡进行传输数据.docx》由会员分享,可在线阅读,更多相关《单片机如何控制以太网网卡进行传输数据.docx(77页珍藏版)》请在冰豆网上搜索。
单片机如何控制以太网网卡进行传输数据
单片机如何控制以太网网卡进行传输数据,如何加载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协议等。
——--以太网协议(用于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位的10101011,跟同步位不同的是最后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,TYPE14字节),还必须传输46字节的数据,当数据段的数据不足46字节时,后面补000000.....(当然也可以补其它值)
----FCS:
32位数据校验位.为32位的CRC校验,该校验由网卡自动计算,自动生成,自动校验,自动在数据段后面填入.对于数据的校验算法,我们无需了解.
----事实上,PR,SD,PAD,FCS这几个数据段我们不用理它,它是由网卡自动产生的,我们要理的是DA,SA,TYPE,DATA四个段的内容.
----所有数据位的传输由低位开始(但传输的位流是用曼彻斯特编码的)
----以太网的冲突退避算法就不介绍了,它是由硬件自动执行的.
DA+SA+TYPE+DATA+PAD最小为60字节,最大为1514字节.
----以太网卡可以接收三种地址的数据,一个是广播地位,一个是多播地址(我们用不上),一个是它自已的地址.但网卡也可以设置为接收任何数据包(用于网络分析和监控).
----任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡地址由专门机构分配.不同厂家使用不同地址段,同一厂家的任何两个网卡的地址也是唯一的.根据网卡的地址段(网卡地址的前三个字节),可以知道网卡的生产厂家.有些网卡的地址也可以由用户去设定,但一般不需要.
(三)ISA总线接口定义
ISAISA=IndustryStandardArchitecture(isa总线)
PinNameDescription
引脚名称含义
A1/I/OCHCKI/Ochannelcheck;activelow=parityerror
A2D7Databit7
A3D6Databit6
A4D5Databit5
A5D4Databit4
A6D3Databit3
A7D2Databit2
A8D1Databit1
A9D0Databit0
A10I/OCHRDYI/OChannelready,pulledlowtolengthenmemorycycles
A11AENAddressenable;activehighwhenDMAcontrolsbus
A12A19Addressbit19
A13A18Addressbit18
A14A17Addressbit17
A15A16Addressbit16
A16A15Addressbit15
A17A14Addressbit14
A18A13Addressbit13
A19A12Addressbit12
A20A11Addressbit11
A21A10Addressbit10
A22A9Addressbit9
A23A8Addressbit8
A24A7Addressbit7
A25A6Addressbit6
A26A5Addressbit5
A27A4Addressbit4
A28A3Addressbit3
A29A2Addressbit2
A30A1Addressbit1
A31A0Addressbit0
B1GNDGround
B2RESETActivehightoresetorinitializesystemlogic
B3+5V+5VDC
B4IRQ2InterruptRequest2
B5-5VDC-5VDC
B6DRQ2DMARequest2
B7-12VDC-12VDC
B8/NOWSNoWaitState
B9+12VDC+12VDC
B10GNDGround
B11/SMEMWSystemMemoryWrite
B12/SMEMRSystemMemoryRead
B13/IOWI/OWrite
B14/IORI/ORead
B15/DACK3DMAAcknowledge3
B16DRQ3DMARequest3
B17/DACK1DMAAcknowledge1
B18DRQ1DMARequest1
B19/REFRESHRefresh
B20CLOCKSystemClock(67ns,8-8.33MHz,50%dutycycle)
B21IRQ7InterruptRequest7
B22IRQ6InterruptRequest6
B23IRQ5InterruptRequest5
B24IRQ4InterruptRequest4
B25IRQ3InterruptRequest3
B26/DACK2DMAAcknowledge2
B27T/CTerminalcount;pulseshighwhenDMAterm.countreached
B28ALEAddressLatchEnable
B29+5V+5VDC
B30OSCHigh-speedClock(70ns,14.31818MHz,50%dutycycle)
B31GNDGround
C1SBHESystembushighenable(dataavailableonSD8-15)
C2LA23Addressbit23
C3LA22Addressbit22
C4LA21Addressbit21
C5LA20Addressbit20
C6LA18Addressbit19
C7LA17Addressbit18
C8LA16Addressbit17
C9/MEMRMemoryRead(Activeonallmemoryreadcycles)
C10/MEMWMemoryWrite(Activeonallmemorywritecycles)
C11SD08Databit8
C12SD09Databit9
C13SD10Databit10
C14SD11Databit11
C15SD12Databit12
C16SD13Databit13
C17SD14Databit14
C18SD15Databit15
D1/MEMCS16Memory16-bitchipselect(1wait,16-bitmemorycycle)
D2/IOCS16I/O16-bitchipselect(1wait,16-bitI/Ocycle)
D3IRQ10InterruptRequest10
D4IRQ11InterruptRequest11
D5IRQ12InterruptRequest12
D6IRQ15InterruptRequest15
D7IRQ14InterruptRequest14
D8/DACK0DMAAcknowledge0
D9DRQ0DMARequest0
D10/DACK5DMAAcknowledge5
D11DRQ5DMARequest5
D12/DACK6DMAAcknowledge6
D13DRQ6DMARequest6
D14/DACK7DMAAcknowledge7
D15
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 如何 控制 以太网 网卡 进行 传输 数据
![提示](https://static.bdocx.com/images/bang_tan.gif)