微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机的TCP/IP的实现与UNIX的不同

单片机的TCP/IP的实现与UNIX的不同

时间:11-30 来源:互联网 点击:

议,UNIX系统支持以太网、令牌环等网络的ARP,但单片机里只支持以太网,也就是说,对于某一协议,也有可能要作简化。IP包最大可以为65K,可以分段传输,而在单片机里根本无法容纳如此大的数据包,因此一般是不支持分段的。单片机一般采用发送小数据包的方式,以避免分段。

(7)、硬件接口。在UNIX或WINDOWS里,对网卡驱动无一例外都是采用中断方式。而在单片机的应用中,大部份的方案都是查询式的。因为电脑的处理速度快,一次中断的处理时间也很短,不会影响系统内的其它中断。但在单片机里就不行了,处理一次中断,收取一个数据包一般要几毫秒的时间,这将封锁其它中断的产生(只有高优先级的中断可以执行),而单片机往往还存在其它一些中断,比如串口按收中断,A/D条件中断、键盘中断等需要被执行,这就使得消耗时间长的网卡中断改为查询式执行。在电脑里,对网卡的驱动相对简单,而在单片机里需要处理的事情更多。比如缓冲区溢出,阅读一些驱动程序源代码,你可能发现在电脑里的一些程序根本没有处理溢出的代码。因为电脑执行快,网卡缓冲区的溢出几乎是不会发生的,不要说10M网卡,就是100M网卡,电脑也能够很快处理。电脑往往采用即插即用方式来驱动网卡,而单片机却不能这样做,因为即插即用要很多代码来实现,而使用跳线方式,电脑里驱动NE2000的网卡,一般都是用16位DMA的方式,而在单片机里却只能用8位DMA方式。这也使用UNIX对网卡驱动的代码不能直接移植。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top