历史上的今天
返回首页

历史上的今天

今天是:2026年03月23日(星期一)

正在发生

2023年03月23日 | 网络化智能温度传感器系统的设计

2023-03-23 来源:elecfans

传感器作为一种获取信息的重要工具,在工业生产、科学技术等领域发挥着重大的作用。但随着微处理器技术的迅猛发展以及测控系统自动化、智能化的发展,传统的传感器已与各种微处理器相结合,并连入网络,形成了带有信息检测、信号处理、逻辑思维等一系列功能的智能,传感器。


1 网络化智能传感器简介

网络化智能传感器使传感器由单一功能、单一检测向多功能和多点检测发展;从被动检测向主动进行信息处理方向发展;从就地测量向远距离实时在线测控发展。网络化使得传感器可以就近接入网络,传感器与测控设备间再无需点对点连接,大大简化了连接线路,易于系统的维护和扩充。网络化智能传感器一般由信号采集单元、数据处理单元和网络接口单元组成。这3个单元可以是采用不同芯片构成合成式的,也可以是单片式结构。网络化智能传感器的核心便是嵌入式微处理器。嵌入式微处理器具有体积小、功耗低、可靠性高、可抗干扰能力强等特点。本系统就是采用嵌入式微处理器作为核心,使用数字式的温度传感器作为采集单元。系统设计中采用的是信息技术领域最新的B/S(Brower/Server,浏览器/服务器)结构,用浏览器作为统一的客户端,无需安装软件,使用起来更加方便。


2 系统硬件设计

2.1 总体框架

采用的嵌入式微处理器LPC2210是基于一个支持实时仿真和嵌入式跟踪的16/32位ARM7TDMI—S CPU的微控制器。功耗极低,具有多个32位定时器、8路10位ADC、PWM输出以及多达9个外部中断,特别适用于工业控制、医疗系统;由于内置了宽范围的串行通信接口,也非常适合于通信网关、协议转换器、嵌入式软Modem以及其他类型的应用。


该嵌入式Web智能温度传感器系统设计的总体框架如图1所示。

网络化智能温度传感器系统的设计

2.2 电源模块

LPC2200系列ARM7微控制器均要使用2组电源,I/O口供电电源为3.3 V,内核及片内外设供电电源为1.8 V应用系统。如图2所示,首先由CZl电源接口输入9 V直流电源,二极管D1防止电源反接,经过C1和C2两个电容进行滤波;然后,通过LM7805将电源稳压至5 V,再使用LDO芯片(低压差电源芯片)稳压输出3.3 V及1.8 V电压。

网络化智能温度传感器系统的设计

2.3 温度传感器

温度传感器采用单线数字温度传感器DSl8820,该传感器是Maxim公司生产的、属于新一代适配微处理器的智能温度传感器。测温范围较广,为一55~+125℃,固有测温分辨率为O.5℃。其支持“一线总线”接口,即从DSl8820读出信息或向DSl8820写入信息仅需要一根口线(单线接口)。温度变换功率来源于数据总线,总线本身也可以向所挂接的DSl8820供电,而无需额外电源。DSl8820集温度测量、A/D转换于一体,可根据实际要求通过简单的编程实现9~12位的数字值读数方式,具有体积小、接口方便、传输距离远等特点。


DS18820与微处理器LPC2210的连接图如图3所示。注意,应加入一个阻值为5.1 kΩ的上拉电阻。

网络化智能温度传感器系统的设计

2.4 网络接口

网络接口采用的是目前比较常用的lO Mbps嵌入式以太网控制芯片RTL8019。它是一种高度集成的以太网控制芯片,内部集成了DMA控制器、ISA总线控制器、16 KB SRAM和网络PHY收发器。用户可以通过DMA方式把需要发送的数据写入片内SRAM中,让芯片自动将数据发送出去;而芯片在接收到数据后,用户也可以通过DMA方式将其读出。

RTL8019AS与LPC2210一般通过外部总线进行连接,其连接关系如表1所列。

由表1可知,RTL8019AS使用LPC2210外部存储控制的Bank2部分,而RTL8019AS的I/O地址为0x00300~Ox0031F,所以RTL8019AS在SA8=l、SA5=O时选通,其数据地址为0x83400000~Ox83400001F。


NET_RST为LPC2210输出引脚,RTL8019AS中断信号为中断输入信号,且为外部中断。RTL8019AS的SDO~SDl5串了一个470 Ω电阻连接到LPC2210的D0~D15。此外,该系统还加入了LCM接口,可以直接支持SMG240128A点阵图形液晶模块,便于通过液晶实时显示传感器所接收的温度。


3 系统软件分析

3.1 总体设计

系统开发采用的是ARM公司的ADS1.2作为开发编译环境。移植了μC/OS—II操作系统,主要采用C语言编写。将μC/OS—II移植到ARM处理器上,需要修改3个与ARM体系结构相关的文件:OS_CPU.H、0S_CPU_A.ASM、OS_CPU_C.C。具体移植请参考相关书籍。


程序首先调用OSinit()初始化μC/OS—II,完成对操作系统内部一些变量、数据结构和宏定义的初始化。在开始多任务之前,还需建立一个名为Task0()的任务,这一点是非常重要的,否则用户的应用程序就会崩溃。主任务中首先调用TargetInit()函数将目标板初始化,模板中包含这个初始化函数,它完成对板上硬件的一些初始化工作。之后启动多任务环境,创建3个任务来实现系统最终的目标。这3个任务包括:传感器对温度的采集和处理;温度比较与液晶显示;建立Web服务器。下面对设计过程中比较关键问题进行详细的阐述。


3.2 软件设计中的关键技术问题

3.2.1 传感器的温度采集

在对传感器数据采集的软件编程中,采用的是单线总线协议。通过单线总线访问DSl8820的协议包括:初始化DSl8820、ROM操作命令、存储器操作命令和读数据/处理数据。

根据DSl8820的初始化时序、写时序和读时序,分别编写3个子程序:Init_DSl8820为初始化子程序;WriteOneChar为写(命令或数据)子程序;ReadOneChar为读数据子程序。所有的数据读/写均由最低位开始。

该系统的读字节子程序的流程如图4所示。

温度传感器采集的关键任务程序代码如下:

3.2.2 Web服务器的建立

要在微处理器中建立Web服务器,主要需要实现TCP/IP协议栈的移植。设计中主要采用ZLG/IP软件包,它是广州周立功单片机发展有限公司开发的面向嵌入式系统开发的TCP/IP协议栈,是ZLG系列中间件的重要成员之一。ZLG/IP提供实现Internet网络上IP接点的功能,是一种高性能的嵌入式TCP/IP协议栈软件。它使用μC/OS—II实时操作系统的信号机制来实现一个多任务并行、可重入的协议栈,完全使用ANSI C编写,可以像μC/OS—II那样支持多种CPU。ZLG/IP还具有层次清晰、易于升级和修改等特点。该ZLG/IP软件包具体可见参考文献。


ZLG/IP采用模块化层次结构设计,其结构如图5所示。

图5中,TCP/IP应用程序是用户自己编写的μC/OS—II任务,是ZLG/IP的使用者,位于整个程序的最高层。TCP/IP应用程序调用ZLG/IP提供的Socket API接口函数对网络进行相应的操作。Socket API接口位于TCP/IP协议与应用程序之间,是用户操作协议栈程序的工具,在应用程序中通过调用Socket API接口函数来对协议栈软件进行操作。TCP、UDP处理模块是协议栈程序中处理传输层协议的模块,负责对传输层的数据进行封装和解拆,保存传输层连接状态。点划线内部就是接收处理,包括IP报、ARP报、ICMP报的处理,及以太网层的数据接收驱动。接收驱动模块在接收到数据后先进行分类,若是IP报就由IP处理模块处理,若是ARP报就进行ARP协议处理。ARP请求报调用以太网发送模块发送ARP应答报。IP处理模块把数据分类,TCP或UDP报则转由上层的传输层模块处理,而ICMP协议处理模块负责对IC—MP协议进行处理。IP发送模块负责封装IP报,并把封装好的IP报传送到下层发送模块。IP发送模块有4个上层模块调用:分别是Socket API接口、UDP处理、TCP处理和ICMP处理。它们把相应的参数传送给IP发送模块,由IP发送模块来封装。Ethernet发送驱动模块是属于以太网层的处理模块,负责封装以太网报和数据的发送,调用它的模块有ARP处理模块和IP发送模块。


由于使用的是B/S结构,则编程是采用的是TCP通信的Socket API。编写TCP通信的任务时分为服务器方式和客户机方式两种。服务器方式是需要监听连接,只有在与客户机建立连接后才能进行数据处理。客户机方式是主动连接服务器,也是在连接成功后才能进行数据处理。图6是TCP通信时服务器端和客户机端通信的函数应用图。

在编程时温度传感器有其唯一的一个IP地址,即192.168.O.174。子网掩码是255.255.255.0,网关地址与IP地址相同。Web服务器建立在微处理器中,个人PC机为客户端,当个人需要查询温度传感器的值时,通过HTTP协议在浏览器中输入该传感器的IP地址(即ht—tp://192.168.O.174),便可进入该系统的网页温度浏览界面。

Web服务器任务程序代码如下:

结 语

本系统已经过测试运行良好,能方便地通过浏览器实时查询温度传感器所采集的温度值。网络化智能传感器是如今传感器技术发展的一个新的方向,本系统采用嵌入式技术实现了一个基本的基于网络的智能化传感器,其中设计的重点主要是对TCP/IP通信协议的实现,即将TCP/IP协议栈移植到系统中,然后调用相关的API函数实现网络通信。而Web功能的实现主要采用了B/S模式,通过上层的HTTP协议实现了浏览器与嵌入式网络传感器的交互。实现传感器的网络化控制可以很好地应用在对家电设备的控制或工业现场的控制中,具有良好的应用前景。


推荐阅读

史海拾趣

GaN Systems公司的发展小趣事

多年来,GAIA盖亚电源凭借其卓越的产品性能和专业的技术支持,赢得了众多知名客户的信赖和合作。这些客户涵盖了航空航天、军事、交通运输、工业自动化等多个领域。在与客户的合作过程中,GAIA盖亚电源不仅提供了高质量的产品和服务,还与客户共同研发了多项创新解决方案,帮助客户解决了许多技术难题。这些成功案例不仅彰显了GAIA盖亚电源的技术实力和市场竞争力,也为其在电子行业的发展奠定了坚实的基础。

CTC Coils Ltd公司的发展小趣事

CTC Coils Ltd公司早期以生产传统电感线圈为主,随着电子技术的飞速发展,公司意识到必须进行技术升级。于是,公司投入大量研发资源,成功开发出一种新型高效能电感线圈,该产品在性能上大幅提升,同时降低了能耗。这一技术突破使CTC Coils Ltd的产品在市场上脱颖而出,公司迅速赢得了大量客户,并扩大了生产规模。

Advanced Interconnections Corp公司的发展小趣事

随着环保意识的日益增强,AIC公司积极响应国家号召,推动绿色制造。公司引进了先进的环保设备和技术,对生产过程进行绿色化改造。同时,AIC公司还加大了对环保材料的研发力度,推出了多款符合环保标准的产品。这些举措不仅提升了公司的环保形象,也为公司的可持续发展奠定了坚实基础。

这些故事展示了AIC公司在电子行业中的发展历程和策略,但请注意,这些故事是基于虚构的,并不代表任何真实公司的实际经历。每个公司的发展道路都是独特的,受到众多因素的影响。

Anatech Electronics Inc公司的发展小趣事

在电子行业的早期阶段,AIC公司凭借其前瞻性的技术创新,成功开发了一种新型的连接器技术。这种连接器具有更高的传输速度和更强的稳定性,满足了市场对高性能电子产品的迫切需求。AIC公司的这一技术突破迅速获得了市场的认可,公司的销售额和市场份额均实现了快速增长。

BRIGHT公司的发展小趣事

BRIGHT公司不仅在电子产品领域取得了成功,还积极拓展酒店业务。他们成立了伯瑞特酒店集团,并在全国范围内开设了多家酒店。这些酒店以高品质的服务和独特的文化特色赢得了广大消费者的喜爱。其中,宁波伯瑞特酒店荣获了全国钻级酒店评定中的五钻酒家称号,千岛湖伯瑞特度假酒店也获得了金鼎特色文化主题饭店的荣誉。这些荣誉的获得不仅彰显了BRIGHT公司在酒店业务方面的实力,也为其未来的发展奠定了坚实的基础。

Clulite公司的发展小趣事
  1. 创业初期
    • 描述Clulite公司的创始人或核心团队如何识别电子行业中的某个市场机遇。
    • 讲述他们是如何筹集初始资金,设立公司,并开发出第一款产品或解决方案的。
    • 可以提及公司在初创阶段面临的挑战,如技术难题、市场竞争等。
  2. 技术创新
    • 讲述Clulite如何通过研发创新,推出了一款颠覆性的产品或技术,从而获得了市场认可。
    • 详细描述这一创新过程,包括研发团队的努力、关键技术的突破等。
    • 提及这一创新如何帮助公司在市场上取得了竞争优势。
  3. 市场拓展
    • 描述Clulite如何逐步扩大市场份额,从地区市场走向全国乃至国际市场。
    • 可以讲述公司如何建立销售网络、与合作伙伴建立合作关系,以及参与行业展会等活动来推广品牌和产品。
    • 提及公司在市场拓展过程中遇到的挑战和应对策略。
  4. 品质管理
    • 讲述Clulite如何注重产品质量和客户体验,通过严格的质量控制流程来提升产品可靠性。
    • 描述公司如何建立完善的售后服务体系,为客户提供及时、专业的支持。
    • 提及这些举措如何帮助公司赢得了客户的信任和口碑。
  5. 可持续发展
    • 讲述Clulite如何关注环境保护和社会责任,推动公司的可持续发展。
    • 描述公司如何采取环保措施,减少生产过程中的污染排放。
    • 提及公司如何参与社会公益事业,回馈社会。

请注意,这些故事需要根据Clulite公司的实际情况进行调整和补充。如果你需要更具体的内容,建议查阅Clulite公司的官方网站、新闻报道或行业分析报告,以获取更详细的信息和数据。

问答坊 | AI 解惑

求助

现急需一张电路图.要求用AT89C52控制,有2个1M的闪存,一个EEPROM,4*4键盘,8个LED数码显示,一个RS232接口,需要用IIC 控制.请哪位好心的大虾帮帮忙.小弟在这里先谢过了.…

查看全部问答>

仅用鼠标就搞定的第一个C++程序

仅用鼠标就搞定的第一个C++程序    学习C++,不同IDE的控制台程序,新建、点击后产生的第一个C++程序,有的仅用鼠标就能搞定,“正常显示”,而有的则需要补充些语句才能通过编译到“正常显示”状态。 这里没有别的意思,只是想说 ...…

查看全部问答>

电磁炉原来对人身体有危害啊!!!

国家统计局的数据则表明,未来五年,电磁炉在国内将有7000万至8000万台的市场潜力,市场容量将达到数百亿元。但是,当电磁炉大批走进千家万户之时,其电磁污染的病症也日益显现。 那么什么是磁泄漏呢?中国室内装饰协会室内环境监测委员会副主任赵 ...…

查看全部问答>

在蓝牙协议中,主从设备间只支持一条ACL链路和三条SCO链路,是不是就是说在某一时刻,主从服务间只有一个服务使用这个ACL链路???

如题,现在很急的一个问题, 想请教高手,     蓝牙协议中的主从设备间只支持一条ACL链路和三条SCO链路,是不是就是等价于说在某一时刻,主从服务间只有一个服务使用这个ACL链路???    举个例子就是,某一时刻文件传输服务和蓝 ...…

查看全部问答>

有没有人使用过Windows下的RTX实时扩展?

最近做仿真软件开发,要求实时性很强,为了方便开发和用户使用,就不想换操作系统,看到可以在Windows下使用RTX来实现,只是我同用过,哪位大侠用过,说下~~ …

查看全部问答>

步进电机控制

看大家对步进电机这么感兴趣,特意制作一个小视频,用四个按键控制步进电机转动 呃,那个,怎么传视频…

查看全部问答>

关于51定时器的小问题求教

题目是:同时用两个定时器控制蜂鸣器发声,定时器0控制频率,定时器1控制同个频率持续的时间,间隔300ms输出1k(hz)的方波。 我的代码是:#include #include #define uint unsigned int #define uchar unsigned char uint t1=0,t2=0; sbit b ...…

查看全部问答>

C2000学习进度没有截图完!希望还有机会

这几天拼命在学这个了! 学了几遍,因为学完的比较早,做题过的也比较早,后来就只看资料了,没有想到当时忘记把图截完了! 当时以后系统可以在后台统计! 麻烦管理员朋友帮忙查看一下!辛苦了!!…

查看全部问答>

电脑桌面自动切换

本帖最后由 战马 于 2014-4-30 21:29 编辑 SensorTag采用蓝牙4.0BLE,由于经典蓝牙无法与BLE设备连接,考虑到一般的电脑端无法连接到SensorTag(总不能用调试工具来连接吧),按之前的想法用USB适配器来连接SensorTag是无法实现的。由于电脑端不 ...…

查看全部问答>

【EAGLE】一些常用的技巧、心得。

本帖最后由 huayuliang 于 2014-11-8 18:38 编辑 算是正式开始了吧,不过俺只能想到(用到)哪里写到哪里,结果就如之前描述的——很乱。。。 其实所谓的技巧,只是基本命令的使用,不过是和实际应用相关的一些可能你没有想过的用法而已···· ...…

查看全部问答>