您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > TCP-IP协议在挤奶机自动控制系统中的应用-工业控制-解决方案
您的位置:嵌入式在线解决方案工业控制TCP/IP协议在挤奶机自动控制系统中的应用TCP/IP协议在挤奶机自动控制系统中的应用2007-11-29嵌入式在线收藏|打印1挤奶机控制系统简介随着近年来我国乳制品产业的不断发展,挤奶机应用日益广泛。挤奶机的自动控制显得越来越重要,他能够完成管道自动清洗、自动挤奶、自动按摩、自动告警提示以及挤奶罩杯自动脱落等功能。目前的控制系统大都采用嵌入式设备作为控制器,驱动程序烧写在FLASH,E2PROM等存储设备里面,添加新的功能时,只需要把新的程序下载到存储器中就可以了。本文介绍的是一种基于ARM7LPC2210的挤奶机控制系统,他采用嵌入式操作系统μC/OSⅡ作为软件平台,具有高度集成,可扩展性强的特点。为了提高程序下载的效率和可靠性,增强控制系统的软件升级能力,程序的下载升级采用以太网通讯方式,由网口芯片RTL8019AS控制。这种通讯方式基于TCP/IP协议,数据传送效率和可靠性都优于已有的串口通讯方式,便于实现挤奶机控制系统的集中管理。2LPC22210和RTL8019ASLPC2210是Philips公司生产的ARM7LPC2200系列的32位微控制处理器。他拥有基于一个支持实时仿真和跟踪的32位ARM7TDMI-SCPU。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。LPC2210内置了宽范围的串行通信接口,他们也非常适合于通信网关、协议转换器、嵌入式软件调制解调器以及其他各种类型的应用。器件还提供了以太网、802.11以及USB功能。RTL8019AS是由台湾Realtek公司生产的以太网控制器。他符合EthernetII与IEEE802.3标准,100脚的PQFP封装,采用全双工收发并可同时达到10Mb/s的速率,内置16kB的SRAM,支持8/16位数据总线,8个中断申请线以及16个I/O基地址选择等。RTL8019AS内部可分为远程DMA接口、本地DMA接口、MAC(介质访问控制)逻辑、数据编解码逻辑和其他端口。其中MAC逻辑能通过以下的过程来实现以太网数据包的发送和接收。当单片机向网络发送数据时,先将一帧数据通过远程DMA通道送到RTL8019AS中的发送缓冲区,然后发出传送命令,当RTL8019AS完成了上一帧的发送后,再开始下一帧的发送。RTL8019AS接收数据时,首先把接收到的数据通过MAC比较和CRC校验,然后由FIFO存到接收缓冲区,收满一帧后,以中断或寄存器标志的方式通知主处理器。在RTL8019AS中FIFO逻辑对收发数据作16字节的缓冲以减少对本地DMA请求的频率。RTL8019AS通过16位总线与LPC22210的外部总线接口连接,数据总线D1~D15与芯片SD0~SD15连接,由于RTL8019AS工作电压是5V而LPC2210的I/O电压为3.3V,所以在总线上串接470Ω保护电阻。RTL8019AS芯片的Vih最小值为2.0V,所以与LPC2210连接不需要加电平转换芯片。RTL8019AS芯片工作在跳线模式,基地址为0x300,所以SA6,SA7,SA10~SA19均接地,SA9,SA8接电源。SA0~SA4与LPC2210的地址线A1~A5连接,SA5与片选信号nCS2相连,nCS2片选信号由LPC2200的CS3,A23,A22,A21进行地址译码后得到,SA5为0时,选中RTL8019AS芯片,其操作地址为0x82000000~0x8200001F。详细的接口电路图如图1所示。3μC/OSⅡ和ZLG/IP嵌入式操作系统μC/OSⅡ只是一个实时操作系统的内核,没有集成TCP/IP协议栈,需要一个合适的TCP/IP协议栈移植到他上面。ZLG/IP由周立功单片机公司开发,他基于μC/OSⅡ,是面向嵌入式系统的小型TCP/IP协议栈,使用μC/OSⅡ实时操作系统的信号机制来实现一个多任务并行可重人的协议栈。他采用ANSIC编写,支持TCP,UDP,IP,ICMP,ARP和Ethernet等协议。图2是ZLG/IP软件系统结构框图,其中灰底部分表示一个任务,所以ZLG/IP一共有3个任务。第一个是接收ICMP,ARP处理任务,第2个是UDP接收处理任务,第3个是TCP接收处理任务。接收任务与UDP和TCP任务的通信是通过消息队列来进行的。而UDP和TCP任务是通过SOCKET接口与应用层的程序进行通信的。4ARP协议处理程序4.1ARP协议介绍地址解析协议(AdddressResolutionProtocol,ARP)是在仅知道主机的IP地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC地址,但其也能在ATM和FDDIIP网络中使用。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据链路层(MAC层,也就是相当于OSI的第二层)的MAC地址。假设:计算机A的IP为192.168.1.10,MAC地址为00-01-0F-30-19-01;计算机B的IP为192.168.1.22,MAC地址为00-11-43-1F-30-0E;ARP工作原理如下:在TCP/IP协议中,A给B发送IP报文,在报文头中需要填写B的IP地址为目标地址,但这个IP报文在以太网上传输的时候,还需要进行一次以太包的封装,在这个以太包中,目标地址就是B的MAC地址。计算机A是如何得知B的MAC地址的呢?解决问题的关键就在于ARP协议。在A不知道B的MAC地址的情况下,A就广播一个ARP请求报文,请求报文中填有B的IP地址(192.168.1.22),以太网中的所有计算机都会收到这个请求,而正常的情况下只有B会单播发送ARP应答报文,报文中就填上了B的MAC地址(00-11-43-1F-30-0E),并回复给A。与此同时,计算机B会根据请求报文中的源IP地址和源MAC地址,更新自己的ARP表表项。A得到ARP应答后,将B的MAC地址加入本机的ARP表,便于转发使用。本机的ARP表表项是有生存期的,生存期结束后,将再次重复上面的过程。4.2ARP协议处理程序的开发下面以ARP协议报文发送和接收处理为例,介绍网口驱动程序的开发。ARP协议处理主要是针对ARP表的处理,包括对接收到的ARP请求报文的应答、ARP表表项的添加和刷新,以及网关MAC地址的保存等。ARP报文结构内容如下所示:驱动程序编写分3部分:ARP初始化,ARP请求的发送和ARP报文的接收处理。4.2.1ARP初始化ARP初始化函数的主要功能是,初始化各个网络接口默认网关的MAC地址的生存时间;然后对各个网络接口的网关发送ARP请求报文,请求获取对应的MAC地址。程序流程图如图3所示。4.2.2ARP请求ARP请求函数的输入参数是指针*ipaddress,用于指出目的IP地址和指向发送的网络接口号(默认值是0)。该函数的的功能是,将相应参数写入ARP报文的缓冲区(即初始化结构体ARP中的成员),然后发送出去。4.2.3ARP报文处理在接收到ARP报文以后,需要调用ARP报文处理函数。该函数的输人参数包括接收到数据的起始指针*ARPPTR,以及指向接收的网络接口号(默认值是0)。函数的主要功能是判断接收到的ARP数据报文是属于ARP请求还是ARP应答(判断ARP结构体中的Operation)。如果是ARP应答,则调用ARP应答报文处理函数进行处理;如果是ARP请求,则调用ARP请求报文处理函数进行处理。程序流程图如图4所示。ARP请求处理函数主要负责对ARP表的更新和对ARP请求的应答,他的输入参数包括接收到数据的起始指针*ARP_REC_PTR,以及指向接收的网络接口号(默认值是0)。该函数的处理过程是,首先检查接收到的ARP请求报文中的目的IP地址是否为本网络接口对应的IP地址,然后根据接收到的ARP请求返回一个对应的ARP应答报文,再检查该报文的源IP地址是否与本机IP属于同一子网。如果是,则检查ARP表是否有对应的表项。若有,则刷新表项的生存时间,否则,增加ARP表表项。程序流程图如图5所示。ARP应答处理函数主要负责对ARP表项的更新,他的输入参数包括接收到数据的起始指针*ARP_REC_REQ_PTR,以及指向接收的网络接口号(默认值是0)。该函数的处理过程是,首先检查接收到的ARP应答报文中的源IP地址是否为本网络接口的网关IP,如果是,则保存网关的MAC地址,然后再检查源IP地址是否与本机IP地址属于同一子网。如果是,则检查ARP表是否有相应表项。若有,则刷新表项的生存时间,否则,增加ARP表表项。程序流程图如图6所示。5软件的调试与验证调试环境包括SmartARM2200开发板,PC机带网卡及网线和串口线。在ADS环境下编写并编译程序,将编译后的驱动程序通过JTAG口下载到开发板上,实现数据报的收发功能。实验中,首先通过在PC机上采用Comm-View软件对网络通讯的数据包进行跟踪,通过Comm-View发送ARP请求报文,获取网口芯片的MAC地址,实现ARP协议(地址解析协议)的正常工作,通过串口回送ARM芯片工作情况,效果良好。6结语通过采用μC/OSⅡ嵌入式操作系统,使用ZLG/IP软件开发包,LPC2210芯片控制RTL8019AS实现TCP/IP协议,系统扩展能力强、稳定性高,具有广阔的应用前景。在实现奶牛场自动化挤奶的解决方案中,能够为PC机远程管理挤奶设备提供技术支持,实现程序的在线升级,也有助于网络平台控制奶牛场的日常挤奶和管理工作。随着技术的进一步发展,以太网通讯也有望成为各个控制器之间自主通信的方式。本文来源:《现代电子技术》作者:中国农业大学信息与电气工程学院熊磊光王建平隐藏原文↑查看原文↓关于工业控制的相关解决方案2008-11-21满足复杂DC-DC功率转换要求的解决方案2008-11-13基于以太网的远程液位监控系统设计与开发2008-11-08北高智2.4G无线双向透明数据传输模块方案2008-11-07单片机在电动高尔夫球车永磁无刷直流电机驱动系统的应用2008-11-07C8051F320列车安全巡检仪的设计工业控制相关产品动态2008-11-08北高智推出2.4G无线双向透明数据传输模块方案2008-09-16ADI新推数字电位计使工程师开发中实现精确的系统控制2008-04-25飞兆推出用于驱动双相开关磁阻电机的SRM-SPM模块2008-03-21Actel新推FusionPSC应用于智能系统管理和工业控制2007-10-30研华推出无风扇坚固车载/嵌入式平台DVS-355工业控制相关方案厂商北京互连超越电子设备有限责任公司广州睿晶电子技术有限公司北京中生国际展览公司武汉凯凯自控设备深圳公司深圳鹏控公司以下网友留言只代表其个人观点,不代表嵌入式在线网的观点或立场。验证码:看不清?换一张热点专题专题:工程师的技术人生---工作感悟、生活百态。专题:经济环境动荡不安半导体业面临挑战第11届中国国际高新技术成果交易会电子展Android手机平台评论、开发专题EmbeddedStandard2009开发初体验专题快乐大本营•一位电子工程大四学生的反思和拷问•推致电子工程师:结合创造性与习惯•嵌入式操作系统内存管理技术的分析与比较•[有奖调查]09-10嵌入式开发从业人员大调查工程师之星邓亚明ARM软件开发邵发技术专长:嵌入式驱动开发魏先生技术专长:嵌入式开发热门招聘论坛热贴热点下载智能手机电子指南针全套解决方案/HMC5843立宇泰ARMSYS6410开发板Linux2.6.28用户手册立宇泰ARMSYS6410开发板硬件用户手册立宇泰ARMSYS6410开发板WINCE6.0用户手册立宇泰ARMSYS6410开发板硬件用户手册热点解决方案一种新型嵌入式系统电源监控模块设计基于BF533的图像采集与显示基于ARM核的ADμC70
本文标题:TCP-IP协议在挤奶机自动控制系统中的应用-工业控制-解决方案
链接地址:https://www.777doc.com/doc-4376576 .html