APP下载

基于SOPC与嵌入式以太网的温湿度监测系统

2015-10-14李亚龙张彩珍

电子科技 2015年4期
关键词:以太网温湿度嵌入式

李亚龙,张彩珍

(兰州交通大学 电子与信息工程学院,甘肃 兰州 730070)

基于SOPC与嵌入式以太网的温湿度监测系统

李亚龙,张彩珍

(兰州交通大学 电子与信息工程学院,甘肃 兰州 730070)

为了实现对温湿度数据的实时远程监测,提出了基于SOPC与嵌入式以太网接口的温湿度监测系统设计方案,本系统充分利用了 SOPC系统资源的丰富性,在QuartusⅡ软件的Qsys中构建以NiosⅡ软核CPU和所需外设IP为核心的硬件架构,通过移植μC/OSⅡ操作系统作为软件平台,以LwIP为网络通信协议,采用LAN91C111与FPGA相结合构成嵌入式以太网接口进行对温湿度数据的传输和控制。由于其具有设计灵活、可扩展升级、占用资源少、节约成本等优势,大幅简化了系统的电路结构,使设计变的简单,易于实现。

SOPC;温湿度采集;嵌入式以太网接口;实时远程监测

现代工业的发展,实时监控系统应用广泛,提高了对数据信号处理系统的标准[1],同时对温湿度等参数的远程监测提出了更高的要求。传统的设计中,通常采用单片机和低速网卡的设计方案,但在实际应用中,由于网络速度相对较慢,阻碍了网络数据处理的能力,已不能满足对温湿度数据实时测量的需求。

系统设计选用高速以太网控制芯片LAN91C111和高速的FPGA(Field Programmable Gate Array),将以太网技术和嵌入式技术有机结合应用到对温湿度数据的处理和传输。系统主要基于FPGA开发板在QuartusⅡ 软件平台上构建SOPC嵌入式系统,该系统是Altera公司提出的一种灵活、高效的Soc(System on Chip)解决方案[2]。由于其设计灵活、可扩展升级、占用资源少、节约成本等优势,大幅简化了系统的电路结构,使设计变的简单,易于实现。

1 系统总体设计思路

为方便系统的操作和调试以及后期的维护和升级,采用模块化的设计思想[3],这样能使系统的设计变得更加直观、易于理解。

系统总体设计如图1所示,整个系统由温湿度采集模块进行前端温湿度数据的采集和初步处理;基于NiosⅡ处理器的FPGA模块为系统核心,用于存储、处理接收到的数据;数据传输模块负责在系统CPU的调度下将温湿度数据传输到上位机;数据监测模块一般由一台PC或多台计算机组成,完成对温湿度采集命令的发送和对接收到的数据实时显示和监测。

图1 系统总体设计框图

系统利用SOPC技术实现温湿度数据采集并与上位机交换数据,其工作原理是:上位机通过以太网对系统发送温湿度数据采集命令[4],系统响应后通过温湿度传感器对待测量进行调理、A/D转换后由FPGA存储到SDRAM中,通过以太网LAN91C111将数据传送到PC进行显示、诊断和处理等。

系统设计环境是在Altera公司的EDA工具QuartusⅡ中,在其Qsys平台上进行系统硬件架构,在NiosⅡ集成开发环境IDE(Integrated Development Environment)中进行系统软件部分的设计,包括μC/OSⅡ操作系统的移植和轻量级网络协议LwIP的嵌入。

2 系统的硬件体系

系统硬件设计以SOPC系统为核心,在FPGA的基础上构建基于NiosⅡ的SOPC系统,来完成对温湿度采集和网络传输模块的控制。温湿度监测系统的硬件结构如图2所示。

图2 系统硬件结构

2.1 LCD显示控制器和存储控制器

由于考虑到设计LCD显示控制器IP的复杂性,因此采用TFT16位色的LCD显示器。NiosⅡ处理器与LCD控制器连接原理如图3所示。

图3 LCD控制器与NiosⅡ处理器连接原理图

LCD显示器控制器包括一个Avalon Slave端口和3个Avalon Master端口NiosⅡ处理器通过Avalon Slave端口读/写该显示器控制器IP核的各个寄存器,从而对显示器的显示过程和模式进行控制。工作过程是:在软件程序的操作下,通过NiosⅡ处理器核,先对slave端口的寄存器进行配置,然后3个Master端口,根据寄存器中已设置的模式和地址值,通过Avalon总线,自动从SDRAM中读取要显示的图形数据。读取数据后,数据流经过data_Mixer运算逻辑的混合,再经过FIFO和Timing Enging两个模块的处理,实现数据的正确传输和分配。最终使得图形像素数据按照需要的格式输出到LCD屏上。

为降低设计成本和电路的复杂性,采用基于FPGA的通用SDRAM控制器设计方法[5],这种设计方法不但可靠性高、可移植性强、而且易于集成。SDRAM控制器与FPGA连接如图4所示。

图4 SDRAM控制器接口原理图

系统的NiosⅡ程序和FPGA的配置数据都存放在EPCS器件中,但处理器不能直接执行EPCS器件内的程序,实际上将EPCS控制器片内ROM中的代码搬到RAM中执行。EPCS是一种串行Flash,存放FPGA配置数据是其主要功能,代替并行Flash存储程序需要使用在存储配置文件后的剩余空间,因此配置数据优先存储。EPCS存储器的优点在于节省IO口,节约资源并降低了系统复杂性,EPCS组件原理如图5所示。

图5 EPCS组件原理图

2.2 温湿度采集模块

系统前端温湿度数据采集模块主要由温湿度传感器和用于处理器接收数据的GPIO(General Purpose Input Output)组成。温湿度传感器是广州奥松电子有限公司的DHT11数字温湿度传感器。DHT11是一款含有已校准数字信号输出的温湿度复合传感器,系统工作时可以同时采集温湿度数据并自动转换成数字信号直接输出。

DHT11的工作电压是3~5.5 V,湿度测量范围是20~90%RH,温度测量范围是0~50 ℃,测湿精度是±5%RH,测温精度是±2%℃。与FPGA的数据传输是通过DATA数据线进行连接,DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间约4 ms,数据分为小数部分和整数部分,一次完整的数据传输为40 bit。

DHT11作为一种新型的单总线数字温湿度传感器,与模拟信号传感器相比,减少了额外的模数转换开销,具有品质好、功耗低、响应速度快、抗干扰能力强、控制简单、性价比高等优点。

图6 DHT11与FPGA连接电路图

当DHT11与FPGA的连接线短于20 m时,上拉电阻采用5 kΩ,当连线长度>20 m时,可以根据实际情况调节上拉电阻的阻值。

2.3 嵌入式以太网接口设计

网络传输模块中,采用嵌入式以太网接口设计,以太网接口芯片选用SMSC公司的LAN91C111芯片,该芯片通过FPGA内的适配器模块连接到芯片内部Avalon总线上,Avalon 总线协议规定了主、从部件的端口连接和通信方式[6]。时序 LAN91C111是专门为嵌入式系统设计的高速以太网控制芯片,由于在FPGA芯片中嵌入了32位的NiosⅡ处理器,因此其外围电路连接相对简单,简化了设计、节约了资源。

以太网芯片的数据线、地址线和控制线通过IO口与FPGA相连。其具体引脚连接如图7所示,LAN91C111芯片剩余的引脚和TG100-S050N2的CMT端均与1 kΩ的上拉电阻相连接且TG100-S050N2的TCT和RCT端接一个75 Ω的电阻和一个11 nF的滤波电容[7]。

图7 嵌入式以太网接口硬件连接图

2.4 SOPC系统设计

SOPC硬件系统的设计是基于Altera公司的QuartusII开发环境,在其硬件设计工具Qsys上进行设计。由于设计工具中提供了许多IP核供用户直接调用[8],且支持用户自定义逻辑,这使得SOPC硬件设计变得灵活、方便。根据本系统需求,将NiosII处理器、JTAG UART调试接口模块、GPIO接口、PLL模块、存储器SDRAM、EPCS控制器、串行接口UART、以太网接口模块和系统所需时钟等添加到Qsys中生成SOPC系统。系统的SOPC硬件设计如图8所示。

图8 SOPC硬件设计图

3 软件设计

系统软件设计主要包括嵌入式操作系统μC/OSⅡ的移植、网络协议的开发、温湿度数据采集、接收和发送过程。

3.1 μC/OSⅡ的移植和LwIP的实现

μC/OS-II是由Jean J.Labrosse于1992年编写,完全免费、源代码公开、性能优异的多任务嵌入式实时操作系统[9]。很方便的在NiosⅡIDE环境中进行移植。LwIP是轻量级网络协议,和μC/OSⅡ一起集成在开发环境中且在该操作系统的支持下使用。在进行网络传输数据之前首先调用lwip_stack_init()函数来对以太网协议堆栈进行初始化,调用lwip_devices_init()函数对在system.h中定义的所有已安装的以太网设备驱动程序进行注册,即对设备驱动进行初始化操作。其次用HAL系统代码调用init_done_func()、get_mac_addr()和get_ip_addr()函数来设置系统的MAC和IP地址。本设计中将MAC和IP地址放置在EPCS配置芯片中。最后当所有的初始化完成之后,就可以调用OSStart()函数来启动μC/OSⅡ操作系统,进而进行任务调度。

3.2 LAN91C111的初始化、数据的接收和发送

温湿度数据的接收和发送通过中断的方式实现,在软件设计中建立中断服务程序,通过检查LAN91C111的中断寄存器状态来判断接收或发送中断请求。LAN91C111的内存组成是由访问寄存器的IO空间和暂时存放接收、发送数据的内部RAM空间构成,其中IO空间可直接访问,RAM通过IO空间指针访问。访问寄存器则是先选择BANK再选择偏移量[10]。

3 结论与展望

本文对基于SOPC系统和嵌入式以太网接口的温湿度监测系统软、硬件构架进行设计和研究,最后通过开发板实验验证,表明该系统能满足温湿度实时、远程的采集和监测任务,具有较好的适应性和应用前景。如果加入路由器等中间设备可以实现远程温湿度数据的多机共享。

[1] 张慧.基于SOPC技术的多路数据采集系统的设计与实现[D].兰州:兰州大学,2013.

[2] 王俊山.基于SOPC的多点温湿度检测系统[D].郑州:郑州大学,2010.

[3] 张松,李筠.FPGA的模块化设计方法[J].电子测量与仪器学报,2014,28(5):1-3.

[4] 丁晓贵,刘桂江.基于SOPC的远程数据采集系统设计[J].计算机技术与发展,2010,20(1):229-231.

[5] 刘云清,佟首峰,姜会林.利用FPGA实现SDRAM控制器的设计[J].长春理工大学学报,2005,28(2):47-50.

[6] 陆健锋,李晓峰,胡玮.基于SOPC的远程多通道数据采集系统设计[J].信息与电子工程,2010(2):227-230.

[7] 刘岩,王晓君.基于FPGA和LAN91C111的嵌入式以太网接口设计[J].新特器件应用,2010(12):1-3.

[8] 马骏.基于SOPC的以太网远程数据采集系统设计[J].电子设计工程,2012(20):69-72.

[9] 徐康.基于SOPC温湿度远程监测系统的研究与设计[D].武汉:武汉理工大学,2012.

[10]王亮,陈文艺.基于SOPC的嵌入式以太网LAN91C111控制器的开发应用[J].西安邮电学院学报,2010,15(3):96-100.

Temperature and Humidity Monitoring System Based on SOPC and Embedded Ethernet

LI Yalong,ZHANG Caizhen

(School of Electronic and Information Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China)

In order to realize the real-time remote monitoring of temperature and humidity data,this paper puts forward the design scheme of a temperature and humidity monitoring system based on the SOPC and embedded Ethernet interface.The system makes full use of the rich resources of the SOPC system.The hardware architecture of the building has Nios II soft core CPU and the peripheral IP as the core in the software of Quartus Qsys.By porting the μ C/OS Ⅱ operating system as a software platform,using LwIP as the network communication protocol,and combining LAN91C111 with FPGA to constitute an embedded Ethernet interface,the temperature and humidity data is transmitted and controlled.Due to its flexible design,extendibility,resource-effectiveness,and cost-effectiveness,the circuit structure is greatly simplified,making the design simple and easy to implement.

SOPC;temperature and humidity data acquisition;the embedded ethernet interface;real time remote monitoring

2014- 08- 23

李亚龙(1989—),男,硕士研究生。研究方向:EDA,嵌入式系统设计。E-mail:1062744799@qq.com。张彩珍(1974—),女,博士,教授。研究方向:电子设计自动化。

10.16180/j.cnki.issn1007-7820.2015.04.025

TP277

A

1007-7820(2015)04-091-04

猜你喜欢

以太网温湿度嵌入式
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
基于AT89C51的数字型蚕用温湿度计的设计
基于DSP的多路温湿度监测系统
TS系列红外传感器在嵌入式控制系统中的应用
基于温湿度控制的天气预测装置
搭建基于Qt的嵌入式开发平台
谈实时以太网EtherCAT技术在变电站自动化中的应用
嵌入式软PLC在电镀生产流程控制系统中的应用
蒸发冷却温湿度独立控制空调系统的应用
浅谈EPON与工业以太网在贵遵高速公路中的应用