基于TCP/IP协议栈的嵌入式异构网络的研究
摘 要:因特网的迅猛发展,给世界带来了翻天覆地的变化,是人类真正进入了信息产业时代。时至今日,嵌入式领域也不断涌现出连入因特网的巨大需求,特别是物联网产业、移动终端等发展方向。在对TCP/IP结构有了大致的基础上,本文将针对基于TCP/IP协议栈的嵌入式异构网络进行研究。
关键词:TCP/IP;协议栈;嵌入式;异构网络
中图分类号:TN915.05
关于嵌入式系统(Embedded System)的定义,可说是众说纷纭。有的人说嵌入式系统是一个封闭系统,无磁碟系统,I/O很少的系统,也有人说嵌入式系统是软硬体整合的系统。一个是根据英国电机工程师协会的定义,嵌入式系统为控制、监视或辅助设备、机器或甚至工厂运作的装置。这种定义似乎把整个嵌入式系统的应用缩小至控制或监视两方面而已,比较狭隘。由于网路的发达,将使几乎目前主要热门的嵌入式系统都具备网路功能,几手资讯家电产品所采用的系统,清一色都是嵌入式系统,如网路冰箱、上网机(Set Top Box)、WebPAD等等[1]。可见在未来,嵌入式系统定义势将越来越模糊,但却会一点一滴的融入你我的生活里面。
1 嵌入式系统的概述
元件则是由一些物件共同合作,提供服务,隐藏其设计内容,只开放特定界面让外界能存取这服务。它如同一个黑盒子,只允许需求者透过其所开放出来的界面来存取,需求者毋需了解实作细节,也毋需费心维护。如此一来,元件很容易被整合到任一应用程式之中,例如COM[eded98]及Enterprise Java Bean为MultimediaManager之元件,开放出一界面物件ImageObserver,以提供影像更新之服务,客户端ImageManager元件只能透过界面物件ImageObserver 来存取其服务,而无法了解MultimediaManager之实作细节。物件导向应用框架(Object-Oriented Application Framework,OOAF)为一个可重用的、半成品之程式,设计者很容易根据其需要,将其修改为符合自己需求之应用程式[2]。
2 嵌入式TCP/IP
网际协议族(也称为网络协议族,Internet Protocol suite)是因特网和大多数商业网络中所运行通信协议的集合。它也被称为TCP/IP协议栈,以协议栈中两个最重要的协议命名,包括传输控制协议(Transmission Control Protocol,TCP)和网际协议(Internet Protocol,IP)。TCP/IP代表一族协议,是互联网上使用的网络协议,它包括ARP、IP、ICMP、IGMP、UDP和TCP等。TCP/IP通常被认为是一个4层协议系统。
目前,嵌入式协议栈的提供有两种方式:一种是独立的第三方协议栈产品;另一种嵌入式操作系统提供商提供协议栈产品。后一种方法在开发时相对要简单些,而且能够提供较强的软件可使用性。
3 基于TCP/IP协议栈的嵌入式异构网络
框架是一个可重用的设计,此设计有两个要素,其一为一组抽象化的类别,其二为代表这组类别的物件集合,其基于互动关系所提供的服务。例如Microsoft公司的MFC即是针对视窗环境程式的设计所开发出之框架,用以处理有关视觉化人机界面之呈现,让设计者只需专注于解决应用本身之问题。使用框架之优点如下。
(1)模组化(Modularity):框架藉由隐藏其实作细节,只提供稳定界面之机制,加强其模组化之设计。
(2)重用性(Reusability):框架藉由订定可重复使用于产生新应用系统之一般化元件(generic components),来提供稳定的界面。我们针对嵌入式即时系统之开发提出一个应用框架的构想。此一框架构想之概念是将分析设计的流程分解,针对各个主要的步骤设计出有助于这些步骤进行之元件,这些元件负责帮助设计者自动完成部分繁复的设计工作,设计者只须作高阶、概念之规划。应用框架之各个元件名称如下:分析器(Analyzer)、任务器(Task Composer)、排程器(Scheduler)、作业系统管理器(OS Manager)及程式产生器(Code Generator)。应用这些元件可帮助设计者从分析到程式码的产生。
整个应用系统可视为由应用物件、排程物件、作业系统物件及主程式物件所组成的。应用系统在执行时会先由主程式开始,呼叫TaskInfo及Kernel相关操作进行各种初始化的工作,然后呼叫排程物件,排程物件会参考任务中的优先权等级,呼叫优先权等级最高的任务来执行,由于排程物件的优先权等级最高,所以任一任务执行完毕后都会将CPU控制权交给排程物件,如此循环不已。
嵌入式协议栈的运行必须基于嵌入式操作系统平台的支持,但并不是说协议栈必须依赖于嵌入式操作系统的API。实际上,许多嵌入式协议栈做到了相对于操作系统的最大独立性,可以与大多数嵌入式操作系统集成运行。但是,协议栈以及附带的上层接口和下层驱动程序会给嵌入式系统设计设置其他的约束。例如,TCP、IP协议栈必须有一个相对的准确时间源,以便进行时间管理,处理各种发生在栈中的超时和定时行为。
4 结束语
在系统中嵌入TCP/IP协议栈时,嵌入式工程师先要从物理层开始,因为大多数情况下硬件的改动意味着要重新设计。首先,设计者必须确定要使用的局域网(LAN)技术。之后,需要实现并测试网络接口卡(Network Interface Card,NIC)或者数据链路控制器(Data Link Controller,DLC)的相关驱动。只有当嵌入式设备能够正确地收发帧时,嵌入式工程师才可以沿协议栈向上继续开发,最后测试应用程序的数据收发。由于本书是从嵌入式工程师的视角出发,所以是从实现的角度自底向上地讲解TCP/IP协议栈,而不是从传统编程角度的自顶向下。
参考文献:
[1]王树森,王希杰,刘秋菊.嵌入式Web远程粮情监控系统的研究与实现[J].自动化仪表,2013(10):243-247.
[2]王宝宝,余世明,王振宇.嵌入式Internet中Nagle算法及其应用研究[J].中国工程科学,2014(02):101-105.
[3]马涛,白瑞林,石坚.Cortex-A8平台的μC/OS-Ⅱ及LwIP协议栈的移植与实现[J].计算机应用与软件,2014(01):242-245.
[4]郭丽强,陈发堂.一种基于多核嵌入式系统的TD-LTE同步校正方法[J].电子技术应用,2014(04):370-372.
[5]金仲乾,苗克坚,王毅航.基于μC/OS-Ⅱ的LwIP协议栈的移植与改进[J].科学技术与工程,2013(02):516-521.
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ: 913775405(普刊)
蒋老师联系QQ: 867306987(核心)
刘老师联系QQ: 271374912(核心)
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《课程教育研究》 旬刊 国家级
- 《网络空间安全》(信息安全与技术)月刊 国
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《高教论坛》 月刊 省级
- 《法制与社会》旬刊 省级
- 《中国教育学刊》月刊 14版北大核心
- 《语文建设》 旬刊 14版北大核心
- 《中国绿色画报》 月刊 国家级
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《财会月刊》旬刊 14版北大核心
- 《艺术品鉴》 月刊 省级
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《教学与管理》旬刊 北大核心
- 《当代经济》 旬刊 省级
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《文教资料》 旬刊 省级
- 《学术界》 月刊 双核心
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《中国农业资源与区划》 月刊 14版北大核心
- 《继续教育研究》月刊 北大核心期刊
- 《财经界(学术版)》半月刊 国家级
- 《电影评介》半月刊 14版北大核心
- 《公路交通科技》 月刊 北大核心
- 《新闻传播》月刊 省级 新闻类优秀期刊