当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于单片机和FPGA的远程温度监控系统

温度对工农业生产和国防事业均有不同程度的影响。电力设备的故障有多种多样,但大多数都伴有发热的现象,一次事故损失巨大;纺织、食品、烟草等工业中,温度过高容易使产品变质,电子仪器也容易出故障;温室栽培和工业生产中,若不控制温度,将严重影响产量和质量。还有很多领域的温度可能较高或较低,人无法靠近或现场无需人力来监控。传统的温度测量方式周期长,不能实时监测,而且测量员必须到现场进行测量和启动功率设备来调整温度,工作效率非常低,且不便于管理。为此设计了这套远程测控系统,坐在办公室里就可以对现场进行监控,又方便又节省人力。

1 系统的总体设计

本设计是基于单片机和NiosⅡ软核的温度监控系统,其系统框图如图1所示。本系统采用Dallas单线数字温度传感器DS18B20采集温度数据,打破了传统的热电阻、热电偶再通过A/D转换采集温度的思路。用Atmel公司的FLASH单片机AT89S51对数字信号进行处理和控制,通过RS 232串口传到以NiosⅡ构成的嵌入式处理机中对温度进行监视与报警。Nios II的嵌入式Web服务器使用户可以通过IE浏览器浏览存储在FLASH芯片中的网页,由于CPU本身是以软核的方式实现,其功能可根据需要进行定制,非常灵活。

2 监控系统的硬件系统设计
2.1 对DS18B20的简单介绍和使用说明
DS18B20是美国DALLAS公司生产的单线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,特别适合于构成多点温度测控系统,可直接将温度转化成串行数字信号供微机处理,而且每片DS18B20都有惟一的产品号并可存入其ROM中,在构成大型温度测控系统时单线上可挂多个DS18B20芯片。从DS18B20读出或写入DS18B20信息仅需要一根口线,共读写及温度变换的功率来源于数据总线,该总线本身也可以向所挂接的DS18B20供电,而无需额外电源。DS18B20能提供9位温度读数,它无需任何外围硬件即可方便地构成温度检测系统。DS18B20体积更小、适用电压更宽、更经济。测量温度范围为-55~+125℃,在-10~+85℃范围内,精度为±0.5℃。单片机控制DS18B20完成温度的采集过程必须经过初始化、写操作、读操作3个步骤,而且必须有严格的时间间隙。
2.2 NiosⅡ处理器的说明
Altera公司的NiosⅡ处理器是一种用户可随时配置和构建的32位指令集和数据通道的嵌入式系统微处理器IP核,采用Avalon总线结构通信接口,带有增强的内存调试和软件功能。LWIP是一种专门针对嵌入式系统应用而设计的网络通信协议,支持因特网信息控制协议(ICMP),用户数据报协议(UDP),动态主机分配协议(DHCP),地址解析协议(ARP)以及对应用程序提供的标准Socket接口,因而可以完成传统的TCP/IP协议的大部分功能,资源占用却比TCP/IP协议小,所以非常适合以NiosⅡ处理器为核心的系统。基于以上考虑,嵌入式Web服务器以NiosⅡ处理器为核心,LWIP为网络通信协议,实现简单的网页浏览功能。用户可以通过网络浏览存储在FLASH中的网页。
2.3 硬件电路设计说明
本系统硬件电路包括单片机温度采集电路、电平转换电路及基于NiosⅡ嵌入式上位机系统。
2.3.1 温度采集电路
温度采集电路主要由DS18B20和单片机构成,如图2所示。系统以8051单片机(U1)作为核心;C1,C2和Y1组成时钟电路,晶振为12 MHz;S1,C12和R3组成复位电路;U1的P1.0接一个发光二极管,用于程序执行指示灯;R5为限流电阻;DQ接到8051的P2.1端;R1为信号和5 V电源之间的上拉电阻。
2.3.2 电平转换电路[!--empirenews.page--]
单片机与上位机的通信电路如图3所示。8051单片机本身提供了一组全双工串行传输接口,由TXD引脚来传送串行数据而由RXD引脚来接收数据,可是其工作逻辑电平皆为TTL电平(0 V,5 V)。所以单片机与PC之间的数据通信必须经过RS 232信号(+12 V,-12 V)电平的转换。本系统使用MAX232电平转换芯片,只要加4只电容就能完成接口电平的转换。单片机的11脚(TXD)接232的10脚,单片机的10脚(RXD)接232的9脚。与上位机连接的RS 232-C接口采用DB-9的9芯插头座,传输线采用屏蔽双绞线。电源部分采用市售的9 V直流稳压电源,经7805后滤波稳压得到稳定的5 V电源。
2.3.3 基于NiosⅡ嵌入式上位机
系统主要包括以下几个部分:包括NiosⅡ软核CPU、操作系统使用的定时器、网络协议栈使用的定时器、CPU同外围设备的接口(Avlaon总线);EPCS4用来在上电时对FPGA进行配置;FLASH主要用来存放软件代码以及一些需要保存的参数;SRAM用来在系统运行时的代码和数据存储;网络接口芯片采用Smsc公司的LAN91C111芯片作为网络接口。该器件是一个以太网控制器,实现了网络7层协议栈中的传输层和MAC层的功能。另外,它具有10/100 Mb/s自适应、双工/半工自适应等功能,有很好的网络兼容性。采用串口UART和单片机通信。利用QuartusⅡ中的SOPC Builde构建的CPU如图4所示。
3 监控系统的软件系统设计
单片机控制程序设计框图如图5和图6所示。
串口中断程序功能为接收由上位机发送的数据采集周期以及开始、停止指令。温度信号滤波通过软件实现。滤波算法采用加权平均值法,即对最新检测到的N个温度信号序列去除最大值和最小值,并取加权平均运算。
4 基于NiosⅡ的Web服务器的实现
把构建好的CPU及相应的模块进行分析引脚分配、综合后再进行编译,用NiosⅡIDE(集成开发环境)通过移植实时操作系统μCLinux来实现嵌入式实时多任务控制系统,开发相应的网页并进行服务器移植和配置。本系统采用μCLinux下的Boa。Boa是一个单线程的HTTP服务器,它不同于其它传统的Web服务器,不为每个连接创建一个进程,只有当CGI程序运行时才创建一个新的进程。通过移植Boa来实现智能监控系统的Web服务器功能,最后通过编写CGI程序并结合Flash动画实现了动态Web交互功能。
5 结语
采用AT89S51系列单片机、传感器DS18B20和NiosⅡ设计的远程温度控制系统具有结构新颖、电路简单、体积小和控制方便等优点。可以广泛用于电站、学校、医院等相关重点设备的温度远程监控。也适用于人体无法接近的高温或危险场所的温度监控。如果变换传感器稍加改变也可以成为其他参数的远程监控系统,如压力、湿度或瓦斯等。
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

最近为什么越来越多的研究开始利用FPGA作为CNN加速器?FPGA与CNN的相遇究竟能带来什么神奇效果呢?原来,FPGA拥有大量的可编程逻辑资源,相对于GPU,它的可重构性以及高功耗能效比的优点,是GPU无法比拟的;同时...

关键字: FPGA 可编程逻辑资源 GPU

FPGA的应用领域包罗万象,我们今天来看看在音乐科技领域及医疗照护的智能巧思。

关键字: FPGA 科技领域 智能

强大的产品可降低信号噪音并提高分辨率与动态

关键字: Spectrum仪器 数字化仪 FPGA

最近某项目采用以太网通信,实践起来有些奇怪,好像设计成只能应答某类计算机的ICMP(ping)命令, 某类计算机指的是Windows特定系统,其他系统发送ping都不能正确识别。

关键字: 嵌入式Linux FPGA 协议

近两年,国外厂商的FPGA芯片价格飙升,由于价格,货期,出口管制等多方面因素的影响,很多公司都在寻找FPGA国产化替代方案。我工作中正在使用的几款芯片也面临停产的风险,用一片少一片,了解到国产FPGA发展的也不错,完全自...

关键字: FPGA 芯片 EDA

本篇是FPGA之旅设计的第十二例,在前面的例程中,完成了DS18B20温度传感器数据的采集,并且将采集到的数据显示在数码管上。由于本例将对温湿度传感器DHT11进行采集,而且两者的数据采集过程类似,所以可以参考一下前面的...

关键字: FPGA DS18B20温度传感器

这是FPGA之旅设计的第十三例啦,本例是一个综合性的例程,基于OLED屏幕显示,和DHT11温湿度采集,将DHT11采集到的温湿度显示到OLED屏幕上。

关键字: FPGA OLED屏幕

第八例啦,本例将介绍如何通过FPGA采集DS18B20传感器的温度值。

关键字: FPGA DS18B20传感器

这是FPGA之旅设计的第九例啦!!!本例将介绍如何使用FPGA驱动OLED屏幕,并在接下来的几例中,配合其它模块,进行一些有趣的综合实验。由于使用的OLED屏是IIC接口的,对IIC接口不是很清楚的,可以参考第五例的设计...

关键字: FPGA OLED屏幕

这是FPGA之旅设计的第十例啦,在上一例中,已经成功驱动了OLED屏幕,本例将结合上一例,以及第四例多bytes串口通信做一个有趣的例程。

关键字: FPGA OLED屏 串口

嵌入式软件

15715 篇文章

关注

发布文章

编辑精选

技术子站

关闭