4.3 传输层协议的分析 27
5. 嵌入式TCP/IP协议栈的实现 31
5.1 总体设计 31
5.2 网络接口层实现 33
5.3 网络层实现 34
5.4 传输层实现 36
结论 42
致谢 43
参考文献 44
1. 引言
1.1 课题背景及意义
随着微处理器技术的飞速发展,越来越多的数字化产品成为了信息处理的主要工具。在PC机之后,以微处理器为核心的嵌入式系统已经成为一个重要的计算机产品,其在工业控制、家用电器、仪器仪表、通信、消费类电子产品、航空航天等领域都已得到了长足的发展,其优势也展现得愈发淋漓尽致。如小到手机、VCD机、车载GPS、电冰箱,大到“神七”上的制导系统、通信系统、遥测系统这些等等都用到了嵌入式技术。嵌入式技术应用之广泛可见一斑。
然而,嵌入式系统毕竟是直接基于单芯片的,与传统的PC机发展方向肯定有所不同。传统计算机是用来处理高速、海量的数据;而嵌入式系统则为满足对象系统嵌入式和智能化控制。所以,嵌入式系统对成本、体积、可靠性、实时性等方面就有着较为严格的要求。
但是,当前大部分嵌入式操作系统尚处于独立应用的阶段,为了实现在工控和汽车应用等领域的多嵌入式的信息交流,在组网时,一般采用CAN、RS-232、RS-485等总线方式。
基于这种情况,现场总线技术顺势而生。它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题。由于现场总线简单、可靠、经济实用等一系列突出的优点,因而受到了许多标准团体和计算机厂商的高度重视。目前国际上有40多种现场总线,但没有任何一种现场总线能覆盖所有的应用面,按其传输数据的大小可分为3类:传感器总线(sensor bus),属于位传输;设备总线(device bus),属于字节传输;现场总线,属于数据流传输。经过激烈的竞争后,国际电工委员会放弃了制定单一现场总线国际标准的努力,最终在2000年发布了8种现场总线标准,形成了“有标准等于没标准”的局面。[1] 目前现场总线产品主要是低速总线产品,应用于运行速率较低的领域,对网络的性能要求不是很高。而现场总线的关键技术之一是互操作性,实现现场总线技术的统一是所有用户的愿望。今后现场总线技术如何发展、如何统一,是所有厂商及用户十分关心的问题。
现如今,因特网的使用也愈发广泛,其功能也越来越庞大。除了传统的电子邮件、远程登录、文件传输等业务外,各种新的应用也应运而生,如远程监控、远程医疗等[2,3]。但是,当前能接入Internet的嵌入式终端只是少量的,若是能使得广大的嵌入式系统能够方便快捷地与Internet相结合,那将具有广阔的应用前景和实用价值。源]自{751·~论\文}网·www.751com.cn/
以太网技术就是一种接入网络的可靠技术,与传统的基于现场总线的技术相比,它具有低成本、高性能等优点。但是,正如我上文所说,嵌入式系统对实时性有较高的要求,传统的TCP/IP技术更多地把精力花费在保证可靠性和数据流量的控制方面,对于实时性,其表现并不使人十分满意。而且,嵌入式设备资源有限,传统TCP/IP协议为了满足各种不同的计算机,不同的操作系统等,占用的资源量十分可观,显然,嵌入式设备并不能满足如此高的资源消耗。因此,必须根据嵌入式系统的特点,在不违背 TCP/IP 协议的前提下,对传统的 TCP/IP 协议加以改进实现,开发一个适合在嵌入式系统运行的TCP/IP 协议栈,实现嵌入式系统与 Internet 的网络互联[4,5]。这就需要对TCP/IP协议栈进行一定的裁剪,使其能更好地满足嵌入式系统的需要。