基于嵌入式单片机的TCP/IP协议技术的研究与应用

2016-05-14 00:40钱广玉
数字技术与应用 2016年8期
关键词:单片机

钱广玉

摘要:社会的进步,时代的发展,给人们的生活带来了翻天覆地的变化。网络时代的到来丰富了人们的日常生活。随着单片机技术的发展,以单片机为主的嵌入式设备,在越来越多的领域受到了广泛的运用。网络技术的发展也给嵌入式系统的发展提供了先决条件,对嵌入式单片机的TCP/IP协议的研究,对于社会经济的发展具有重要意义。深入了解嵌入式单片机与互联网对接时的技术要求,研究软硬件方面的技术设计,并运用到实际生活中来,为经济的发展做出努力。

关键词:单片机 TCP/IP 研究和应用

中图分类号:TP368.1 文献标识码:A 文章编号:1007-9416(2016)08-0142-01

1 前言

自互联网时代以后,网络与人们的生活息息相关,互联网与家庭生活用品的相结合将会使得网络接入到家庭中带来飞速的发展。基于单机片嵌入式设备是互联网能够与家庭生活用品相结合的设备。所以,研究嵌入式系统的互联网将会有很大的应用前景。研究基于嵌入式单机片片的TCP/IP协议技术,使得开发成本降低,同时应用范围增广。使得互联网更好的与家庭生活用品相结合,更好的服务于人类生活。

2 硬件设计

2.1 芯片选择与介绍

处理器、控制芯片和RJ45是组成硬件的主要部分。处理机基本都是Atmega16的单机片,在性能这块的主要特点是稳定并且抗干扰能力这块比较强。主要有以下几个特点:首先,有16k字节,可以编程,其次,拥有32个通用的寄存器,再次,采用先进的JTAG的接口,可以支持片内编程和调试,最后,独立得振荡器可以用来编程看门狗的定时器。控制芯片这块主要采用的是以太网控制芯片,具有简单电路、高效能的特点,能够更好的将系统连接到以太网中。

在Atmega16中,为实现片选功能,可以将PD1口和CP2200的片选信号进行连接,为重新获取硬件中中断的信号,可以将PD2口和CP2200的中断信号信号进行连接。数据线可以选择Atmega16中的PAO-PA7口连接上CP2200的DO-D7,而地址线则可以选择Atmega16中的PBO-PB7口和CP2200的AO-A7相连,最终实现读和写选通控制。另外CP2200在和RJ45相互连接最后以太网接入。

2.2 硬件连接

在cp2200中主要有两种模式,均以地址、数据复用和非复用作为其工作方式,在设计的过程中是以MUCEN和MOTEN引脚接地。如果CP2200以非复用的方式,他会占用的单机片的I/O口比率较多,但却让传输率大大的提升了,超过了30Mbps。当设计中采用了MUXEN作为连接,如果单机片I/O不够用得情况下,只需要改变此引脚的跳线连接,一部分的I/O口就会得到释放,最后供给系统使用。

2.3 底层驱动与通信

CP2200的初始化工作非常的重要,是保证其完成的首要条件。什么是CP2200的初始化工作呢,就是通过ATmega16来操作CP2200的寄存器。采用模拟互联网总线非复用方式的读写时序是可以实现CP2200寄存器读和写功能的有效办法。在研究和设计过程中,通过单片机的指令控制周期,使得每隔125ns是一个循环。通过总线非复用方式模拟,当发出一条指令时,互联网的总线时序就会发生变化。在准备CP2200的初始化工作时,要特别注意定时和缓冲溢出情况,不然接受数据时容易出现失误。单片机和CP2200之间是通过查询模式读取信息。通过Atmega16实现静态缓存状态。静态缓存的读取信息方式,是因为Atmega16的存储空间如果是处于动态的缓存,就会影响接收的速度,所以静态的缓存,最适合接收读取数据信息。

3 TCP/ IP 协议

3.1 ARP协议

ARP协议即地址解析协议。ARP协议是反应出IP地址和硬件地址之间的关系的一个动态的投影。为了实现ARP的地址映射功能,研究发现,需要将ARP分成三个组成部分,分别是ARP缓存、ARP应答和ARP请求。每个部分的任务都是不一样的,但都是同等重要的。例如ARP的作用是为了使IP地址和硬件地址之间的映射记录时刻更新,这样才能使得数据处于一个动态记录和更新的状态。ARP应答和ARP请求一般情况下都是没有发挥作用的。当ARP请求发出指令时,ARP应答才会发挥作用,更新ARP缓存中的IP地址和硬件地址之间的映射记录。同时ARP应答模式也会开启。

3.2 IP和ICMP协议

在设计这块本设计主要集中在IP模块和ICMP模块这两大基础模块。作为主要负责主机寻址和设定路由的无连接协议的IP。在设计过程中,根据不同系统的不同需要,虽然因为分层的不严密,降低了各层之间的相对独立,但是却能够在另一方面,间接地提高了处理数据的速度,在网络通信这块影响较小。而在应用网络这块主要以以太网为基础,没有实现最初目标即IP分层,但是却简化了TCP/IP协议栈,使它更便捷的应用在系统中。ICMP主要被应用于系统通信的差错控制,因为它在某种程度上弥补了IP协议的缺陷。通过ICMP-Input()接收并处理ICMP数据包,通过ICMP-Output()发送ICMP数据包。

3.3 TCP协议

TCP被广泛的应用于连接可靠的字节流服务,标准的TCP/IP协议,是以实现控制流量、控制拥塞和滑动窗口作为目标的,但是在实际的设计过程中,侧重的点和方向可能会存在差异,主要是以Atmega16作为对象,它的存储资源和其他的相比会相对有限,针对这一特点对TCL层的功能相对做了一定的简化,未能实现控制流量、控制拥塞。所以在设计的过程中没有对TCL层进行简化,可以帮助协议栈进行扩展。当系统只是被应用在一般的TCP/IP的系统通信时,TCP的定时重传功能就可以暂时不实现,因为当进行通讯时,如果出现超时的情况会重传,在数据传送的过程中,一般也是一次只接收或者是只发送一个数据包。

3.4 UDP协议

我们都知道UDP和TCP是共同使用一个网络层的,但是UDP不会向应用层传递可靠有用的信息。因为在某一段时间内,UDP会话不止一个,为了方便信息的及时记录,设计出每个会话准备一个输入或者输出的列队,其实这个列队就是链表。当有会话状态时,这个数据信息就会被自动输入到链表模块中被处理。当UDP接收到数据信息时,通过IP地址和端口号将UDP接受的数据信息放到对应的输入列队中,等待被处理。如果UDP没有接受到数据信息时,通过IP地址和端口号将会建立一个新的输入列队,等待应用程序的处理。如果应用程序没有给UDP发送数据信息时,UDP根据IP地址和端口号自行找到相对应的输出队列,如果应用程序没有给UDP发送数据信息,UDP会根据IP地址和端口号重新建立一个输出队,等待被处理。

4 远程控制的应用

当可靠连接的TCP协议未被应用系统所提供时,一般是因为以下两个原因:首先,TCP在连接与终止的过程中会一定程度的降低了通信的实时性的特点,其次,为了保证高效的TCP协议就会导致大量的存储空间被占用,通讯质量得要求这块已无法顾及,只能在应用层来实现。以PC机作为控制端,以太网接入模块的应用系统为被控端,通过TCP/IP实现两者之间的通信枢纽,当连接建立之后,就可以进行用户的认证,这一阶段可以采用私有的通信模式,而当认证结束之后,控制端才能实现对被控端的控制以及监督。

5 结语

互联网时代的到来为人们的生活产生了翻天覆地的变化。基于嵌入式单机片与互联网相连和技术的研究,要想其实现实际可操作性,应该从多方面考虑。首先,底层硬件API的提供是不是方便容易使用的,但是这个与硬件平台没有多大的关系。其次,单机片内实现TCP/IP协议时,所需要占用的资源是否在所能接受的范围内。同时对于系统的支持程度和裁减优化的空间等都是需要考虑的问题。在充分了解嵌入式互联网系统技术的同时,降低成本的使用,会使得为其日后的推广做出了重要的基础。

参考文献

[1]肖洪详,邵彭飞,才娟.基于CP2200的嵌入式以太网接口设计[J].微计算机信息,2007(17):33-35.

[2]Silicon Laboratories Inc. CP2200/1 Complete Datasheet[M].USA: Silicon Laboratories Inc,2006.

[3]王晓菊,潘琢金,杜睿.嵌入式网络接口模块设计及协议实现[J].沈阳航空工业学院学报,2007(1):49-52.

[4]刘伟,崔永锋,吴相林.TCP/IP 协议在远程单片机控制系统的设计[J].微计算机信息,2007(3):93-95.

[5]Forouzan B A, Fegan S C.TCP/IP 协议族[M].谢希仁,等译.北京:清华大学出版社,2006.

[6]曹婕,王耀青.网络中控系统中嵌入式以太网接口的设计与实现[J].微计算机信息,2006(29).

猜你喜欢
单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
MSP430单片机在仿真中要注意的几点问题
基于单片机的平衡控制系统设计
基于单片机的三维LED点阵设计
Microchip推出两个全新PIC单片机系列
基于Proteus的单片机控制系统的仿真设计