广告招募

当前位置:全球工厂网 > 技术中心 > 所有分类

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

2023年09月08日 09:45:40      来源:绍兴上虞艾科仪器设备有限公司 >> 进入该公司展台      阅读量:12

分享:


摘 要:  介绍了一种基于嵌入式 TCP/IP 技术的恒温振荡器的数据传输系统 ,  使 TCP/IP 技术应
 
用 于恒温振荡器的设计, 实现远程监控的功能。 给出了恒温振荡器温度和速度控制等关键技术的实现方法。

恒温振荡器 ( 又称恒温摇床 ) 是一种温度可控的恒温的生化仪器, 是植物、 生物、 微生物、 遗传、 病毒、 环保、医学等科研、 教育和生产部门作精密培养制备的实验室设备。 而目前大部分恒温振荡器的同类产品都不具有网络数据通信的功能。 TCP / IP 协议采用一种层次结构, 为用户提供了丰富的应用服务, 已成为网络通信协议的事实上的G际工业标准, 并已得到普遍推广。 同
 
时, 嵌入式系统的 Internet 网络化的研究与应用是近几年来嵌入式应用*域的一个研究热点, 这一技术在许多*域都得到广泛应用 [ 1 ] 。
 
本文为了保证实时监控恒温振荡器的转速、 温度等参数, 采用了以 ARM7 处理器为核心的嵌入式系统与 TCP / IP 网络互联的方式进行通信访问 , 使上位机能够实时地掌握恒温振荡器的各种参数状况, 保证对恒温振荡器工作过程实时远程监控, 不需要浪费人力和时间到现场勘查数据。
 
1 总体设计及系统架构
 
本 系统使用的是以 ARM7 为内核、  主频达 72 MHz
 
的 32 位微处理器 LPC2368 , 可以满足高速实时处理及大容量数据传输的要求, 且具有内置的以太网模块, 该模块包含一个功能齐全的 10 Mb / s 或 100 Mb / s 以太网媒体访问控制器 ( MAC ) , 这个以太网 MAC 通过使用加速的 DMA 硬件来提供优化的性能 [ 2 ] 。 系统还采用了美GG家半导体公司 的 DP83848 单 路 10 Mb / s 或 100 Mb / s
 
以太网收发器和支持 10 Mb / s 和 100 Mb / s 自适应的网络连接速度的以太网接口 RJ45 来组成网络通信模块,同时此主控芯片也控制温度和速度等其他多个模块。 整
 
个设计体系具有强大的网络处理能力, 系统框图如图 1
 
所示。
2 网络通信模块设计
 
2 .1  以太网硬件实现
 
本 系统 CPU 采用飞利浦公司的 LPC2368 , 它是以 ARM7 为内核主频达 72 MHz 的 32 位微处理器 , 内部集
 
成了一个以太网模块,  支持 10Mb / s 或 100 Mb / s  PHY
器件,  带有分散 / 集中式 DMA 的 DMA 管理器以及帧描
述符数组通过缓冲和预取来实现存储器通信的优化
    
并且发送和接收均支持多播帧广播帧和超长帧传输
    
 
允许帧长度为任意值。 通过标准的媒体独立接口 ( MII ) 或标准的简化 MII 接口可连接外部 PHY 芯片, 该特性是通过软件来选择, 然后可对 PHY 寄存器进行访问。
 
网卡芯 片 DP83848 是 10 Mb / s / 100 Mb / s 单路物 理层以太网收发器件, 包含 1 个智能电源关闭, 具有低功耗性能。 在本系统中 DP8384S 工作在 50 MHz 晶
 
振频率下,  具有能量检测模式的特性, 可
 
为系统提供一个智能节能工作模式。 它是一个链路可控制节能模式, 目的是当在线上检测不到活动的时候, 器件能够进入休
 
眠的低功耗状态, 即状态 - 能量检测模式。 能量检测功能通过寄存器设定来控制, 在电源状态发生转换的时候, 电源上电 / 重置算法遵循其正常流程, 而且能量检测模式并不会影响之前设定的工作模式。 在电源状态发生转换时, 器件将会保留其原先的模式 ( 强制模式或者自动协商、 MDI 或者 MDIX ) 。 能量检测算法能够在不同的电源状态之间自动或手动转换, 当一个电源状态的改变未成功或者发生太多误差事件时, 能量检测逻辑能够发出中断信号。 能量检测逻辑在采取动作之前需要多倍数据和误差事件来调节一些噪声。 计数器深度则由寄存器设置来确定, 并默认其为包含数据和误差的一个事件。#p#分页标题#e#
 
**后与常用的以太网接口 RJ45 连接,  该接口支持
10 Mb / s 和 100 Mb / s 自适应的网络连接速度 [ 3] 。 本系统设计的以太网硬件电路连接如图 2 所示。
 
2 .2 系统通信协议和通信过程 2 .2 .1 以太网数据帧传输和接收
 
在以太网中数据传递靠的是 MAC 地址, 而不是 IP 地址, IP 地址和 MAC 地址具有映射关系。 1 个以太网包包括: 1 个导言区 ( preamble ) 、 1 个起始帧定界符和 1 个以太网帧 。 以太网帧由目标地址 、 源地址、 1 个可 选的
 
VLAN 区 、 长度 / 类型区 、 有效载荷以及帧校验序列组成 ,如图 3 所示。 每一个以太网帧均由 1 个或多个片段组成, 每个片段对应 1 个描述符。 以太网模块中的 DMA 管
 
理器能够将 1 个以太网帧的多个片段进行分散 ( 用于接收 ) 和集中 ( 用于发送 )[ 4 ] 。

传输的以太网包中 7 个字节的导言区用来使接收方的时钟和发送方的时钟同步, 然后再由帧分界符来表述 1 个数据帧的起始, 进而进入数据帧的传输通信过程, 数据帧主要是通过目标地址和源地址的位置建立通信。 6 个字节的目标地址是指目的站点的 MAC 地址, 表
 
明要把数据送到哪个站点。  若目标地址第 1 位为 0 , 则
 
这个字段了一个特定的站点; 若为 1 , 则表示目标地址为一组地址, 而该地址是事先定义好的; 若所有位全为 1 , 则表示接收者为局域网上的所有站点, 即该地址是一个广播地址。 6 个字节的源地址是指源主机的
 
MAC 地址 , 表明该帧来自哪个主机 。  VLAN 是一种将局

 
域网 ( LAN ) 设备从逻辑上划分成一个个网段, 从而实现虚拟工作组 ( 单元 ) 的数据交换技术, 如果选用基于 MAC 地址的 VLAN 的方法就根据每个主机的 MAC 地址来划分, 即对每个 MAC 地址的主机都配置分组, 它实现的机制就是每一块网卡都对应**的 MAC 地址, 跟踪属于 VLAN MAC 的地址 。 在帧传输的**后进行帧校验 , 使用
 
4 个字节的循环冗余效验码进行错误检验 。
 
2 . 2 . 2  TCP / IP 协议
 
TCP / IP 协议是 面向 连接的 、 端对 端的 可 靠 通 信协 议 [ 4 ] , 共分为 4 层, 即网络接口层、 网络层、 传输层和应用层, 如图 4 所示。
 
网络接口层负责将 IP
 
数据报以数据帧的格式发送和接收, 具体过程为数据 从 TCP / 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 ]#p#分页标题#e#     
           
2 . 2 . 3本系统 TCP / IP 通信过程   
  TCP / IP 协议软件上的数据传输可分为 3 个阶段 : 建
立连接传输数据和断开连接它的实现过程可以用状
           
 
态机来描述。 建立连接有 2 种方法, 即主动打开和被动打开。 服务器端是被动打开, 然后一直在侦听连接请求;而客户端是主动打开, 发送连接请求以建立连接。 断开连接有 2 种方式: 主动断开连接和被动断开连接。 在需要主动断开连接时, 发送 1 个 FIN 数据包, 接收到对 FIN 数据包的确认后 , 再发送 1 个 RESET 数据包 , 即可顺利完成 1 次主动断开连接。
 
本系统中通信过程主要分为 4 个部分:
 
( 1 ) 网卡芯片 DP83848 和 RJ45 组成的硬件接口 。
 
协议栈。 用这个协议栈进行数据通信, 网卡芯片已经固化了从 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 四 段 运 行 : shou
 
先是按照 A 段设 置的转 速
 
参数运行, 当 A 段运行时间
 
结束就调入 B 段参数,B 段
 
开始运行; 当 B 段运行时间
 
结束时就调入 C 段参数,C#p#分页标题#e#
 
段就开始运行;  同理,C 段
 
运行时间 结束时 调 入 D 段
 
参数, 从而开始 D 段参数的
 
运行; 当 D 段运行时间结束时, 就设置待机状态。 在运
 
行状态下, 当速度达到稳定状态时, 判断转速是否超出设置速度 ±5 转且超时大于 2 min , 选择是否进入超欠速转速处理动作的执行; 否则就退出超欠速程序, 继续进行转速控制调整。
 
3.2  温度模块
 
主要实现温度控制以及超温和欠温温度调整的功能。 温度控制主要是通过制冷和加热这两个手段来调节。 shou先是在运行的状态下设置温度参数值, 然后由 A /
 
D 转换来采集振荡器箱体内部环境温度, 按照箱内温度
 
和 设置温度的偏差, 再根据 PID 温度控制的算法 [ 6] 进行分区域控制。 该恒温振荡器划分了 3 个区间进行处理:
 
( 1 ) 当设置温度处于 ( 箱内温度 - 4℃ ) 箱内温度区间时 , 控
 
制 打开制冷风扇和加热时间; ( 2 ) 当设置温度低于箱内温度 4℃ 区间时, 制冷常开, 控制加热时间; ( 3 ) 当设置温度大于箱内温度区间时, 制冷不开, 控制加热时间, 直到把温度调整在误差范围之内为止。 如果恒温振荡器进入稳定工作状态, 但箱内温度超出设置值的正负 4 ℃ 且时间大于 5 min 时, 就执行超温处理动作; 否则, 退出超欠温程序, 继续进行温度控制。
 
本 文阐 述了 基于 TCP / IP 的 恒 温 振 荡 器 的 设 计 原理, 以嵌入式 ARM 芯片 LPC2368 为主控芯片控制多个模块的功能实现。 详细说明了基于 TCP / IP 的控制模块对于恒温振荡器的远程监控功能的实现, 目前市场上的
大部分同类产品都不具备该项功能。 另外, 通过硬件与软件的结合来实现恒温振荡器的调速和调温的功能, 保
 
证了恒温振荡器的恒温恒转速持续稳定的工作状态。 根
 
据本设计制造的恒温振荡器具有很强的实用性和稳定性, 能够满足用户远程获取数据的使用需求。
 

版权与免责声明:
1.凡本网注明"来源:全球工厂网"的所有作品,版权均属于兴旺宝装备总站,转载请必须注明兴旺宝装备总站。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。 4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。