新闻中心

EEPW首页>嵌入式系统>设计应用> 嵌入式TCP/IP技术在恒温振荡器中的应用

嵌入式TCP/IP技术在恒温振荡器中的应用

作者: 时间:2009-10-28 来源:网络 收藏
2.2.2协议
协议是面向连接的、端对端的可靠通信协议[4],共分为4层,即网络接口层、网络层、传输层和层,如图4所示。

本文引用地址://m.amcfsurvey.com/article/152306.htm


  网络接口层负责将IP数据报以数据帧的格式发送和接收,具体过程为数据从程序通过TCP传递到传输层TCP,然后交给IP。IP协议提供逻辑地址信息,并将数据封装在分组中。接着IP分组进入网络接口层,网络接口层创建1个或多个数据帧,以便进入物理网路,数据帧最后被转换成在网络传输介质上传送的(bit)流。
  TCP/IP的核心层是网络层(IP)和传输层(TCP),对应的主要协议是IP和TCP两大协议。网络层提供计算机间的IP分组传输,包括高层数据的分组生成、底层数据报的分组组装,以及路由处理、流量控制、拥塞处理等问题。IP数据报中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。传输层(TCP)作为网络程序与网络之间的接口,根据端口通过TCP传输控制协议提供应用程序间的通信,包括格式化信息流和提供可靠传输,实际上也就是将TCP数据送往一个由IP地址与端口号组成的套接字(Socket)。
  应用层提供常用的应用服务程序,如HTTP服务、SMTP服务等。HTTP应用程序在Web服务器上运行的是面向对象的协议,工作方式为收听请求,然后响应请求,向请求方发回文件[5]。
2.2.3 本系统TCP/IP通信过程
  TCP/IP协议软件上的数据传输可分为3个阶段:建立连接、传输数据和断开连接。它的实现过程可以用状态机来描述。建立连接有2种方法,即主动打开和被动打开。服务器端是被动打开,然后一直在侦听连接请求;而客户端是主动打开,发送连接请求以建立连接。断开连接有2种方式:主动断开连接和被动断开连接。在需要主动断开连接时,发送1个FIN数据包,接收到对FIN数据包的确认后,再发送1个RESET数据包,即可顺利完成1次主动断开连接。
  本系统中通信过程主要分为4个部分:
  (1)网卡芯片DP83848和RJ45组成的硬件接口。
  (2)TCP/IP协议栈。用这个协议栈进行数据通信,网卡芯片已经完全固化了从MAC层、网络层到传输层所需要的协议,因此,用户无需了解这些协议的实现方法和实现代码。
  (3)接收和发送缓冲区。主控芯片LPC2368通过以太网与网络上其他主机进行通信的数据都是通过这些缓冲区来进行交换的。
  (4)以太网物理层接口。网卡芯片DP83848实现10/100BaseT以太网传输数据功能。
  在主机端访问由ARM芯片LPC2368为主控的从机,然后在主机显示出由LPC2368控制下的的速度和温度等实时数据。具体过程是:先对底层进行初始化,包括对LPC2368主控芯片上的局域网控制器配置端口和对DP83848的物理层的设备、读写状态寄存器、MAC配置和控制寄存器、接收和发送端描述符寄存器、局域网地址寄存器、以及指定DP83848工作模式具体是10 Mb/s还是100 Mb/s;然后进行定时编程,处理网络、TCP/IP堆栈和用户事件;再设置监听TCP通信的端口,进行端口连接,服务器则被动打开等待呼叫,之后就可以确定是否接收数据包然后进行帧处理等;最后实现动态的HTTP服务器,等到被连接之后才发送1个HTTP的帧头,存储HTML代码,这里的HTML代码存放在自定义的一个数组当中,该数组包括温度和速度等实时数据,只要在应用层程序中调用该数组,就可以访问到实时数据,并把得到的实时数据显示到网页页面上,以此实现对的远程监控。
网络通信实现的程序流程如图5所示。


3 其他模块设计
3.1 转速模块

  主要实现转速调节的功能。在运行状态下设置速度值,再通过DA输出改变可控硅的导通角进行电机速度的调节。运行状态又分为A、B、C、D四段运行:首先是按照A段设置的转速参数运行,当A段运行时间结束就调入B段参数,B段开始运行;当B段运行时间结束时就调入C段参数,C段就开始运行;同理,C段运行时间结束时调入D段参数,从而开始D段参数的运行;当D段运行时间结束时,就设置待机状态。在运行状态下,当速度达到稳定状态时,判断转速是否超出设置速度±5转且超时大于2 min,选择是否进入超欠速转速处理动作的执行;否则就退出超欠速程序,继续进行转速控制调整。
3.2 温度模块
主要实现温度控制以及超温和欠温温度调整的功能。温度控制主要是通过制冷和加热这两个手段来调节。首先是在运行的状态下设置温度参数值,然后由A/D转换来采集振荡器箱体内部环境温度,按照箱内温度和设置温度的偏差,再根据PID温度控制的算法[6]进行分区域控制。该恒温振荡器划分了3个区间进行处理:(1)当设置温度处于(箱内温度-4℃)箱内温度区间时,控制打开制冷风扇和加热时间;(2)当设置温度低于箱内温度4℃区间时,制冷常开,控制加热时间;(3)当设置温度大于箱内温度区间时,制冷不开,控制加热时间,直到把温度调整在误差范围之内为止。如果恒温振荡器进入稳定工作状态,但箱内温度超出设置值的正负4℃且时间大于5 min时,就执行超温处理动作;否则,退出超欠温程序,继续进行温度控制。
本文阐述了基于TCP/IP的恒温振荡器的设计原理,以ARM芯片LPC2368为主控芯片控制多个模块的功能实现。详细说明了基于TCP/IP的控制模块对于恒温振荡器的远程监控功能的实现,目前市场上的大部分同类产品都不具备该项功能。另外,通过硬件与软件的结合来实现恒温振荡器的调速和调温的功能,保证了恒温振荡器的恒温恒转速持续稳定的工作状态。根据本设计制造的恒温振荡器具有很强的实用性和稳定性,能够满足用户远程获取数据的使用需求。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

tcp/ip相关文章:tcp/ip是什么



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭