《嵌入式智能水文信息采集及网络控制系统课件.pptx》由会员分享,可在线阅读,更多相关《嵌入式智能水文信息采集及网络控制系统课件.pptx(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.系统需求及技术指标1.1系统需求一般水文信息采集系统包括多个水文数据采集站,它承担的主要任务是实时采集、存储、传输各采集站的水位、流量、日降水量、水库水位、入库流量、蓄水量等信息,实现水文信息采集和长期存储的数字化处理,并将实时采集的数据通过嵌入式控制器经GPRS空中接口接入无线网络,并由移动服务商转接到Internet,最终通过各种网关和路由到达统一的数据处理中心工作站,其功能框图如图所示。第1页/共34页1.1系统框图:图 1-1嵌入式水文信息采集系统框图第2页/共34页系统实物图第3页/共34页1.2技术要求:要研究和设计的嵌入式控制器需满足以下几个方面的技术要求:1控制器应具有数字
2、量、模拟量I/O读写功能,能很好地读取底端的水文信息采集传感器(如流量计、水位计等)的数据并能控制各执行器动作;2控制器应具有现场水文信息实时显示、数据查询的功能;3控制器应具有良好的有线和无线通信的功能,能将现场采集到的数据发送到服务器;4控制器应具有很好的实时处理能力,将得到的水文数据进行分析后分组打包,按照设定的协议将数据传送到数据中心。第4页/共34页2.系统硬件平台总体设计方案通常的嵌入式设备的硬件架构是以嵌入式微处理器为核心,通过CPU扩展接口以及平台硬件的支持,把众多的外设单元集到整个系统中,并通过CPLD等逻辑转换器件和其它硬件电路完成对外设模块进行读写和控制操作。本智能终端采
3、用了S3C2410X处理器,利用S3C2410X出色的内核性能和丰富的外部接口构造一个嵌入式系统平台,其硬件框图如图2-2所示。第5页/共34页图2-2嵌入式水文信息采集智能终端硬件构架第6页/共34页各部份基本功能如下:1处理器采用S3C2410X,该芯片基于ARM920T 内核,采用五级流水线和哈佛结构,提供1.1M IPS/MHz 的性能,是高性能和低功耗的硬宏单元。2电源电路为5V到3.3V、3.3V到1.8V的DC-DC转换器,给S3C2410X及其他需要3.3V电源的外围电路供电。3采用12MHz晶振为S3C2410X芯片提供系统时钟,通过S3C2410X芯片内部集成的时钟控制逻辑
4、可以产生系统所需的不同频率的时钟信号。4NAND FLASH存储器存放Bootloader、嵌入式操作系统、应用程序和其它在系统掉电后需要保存的用户数据等。5SDRAM存储器作为系统运行时的主要区域,系统及用户数据、堆栈均位于SDRAM存储器中。61OM/1OOM以太网接口为系统提供以太网接入的物理通道,通过该接口,系统可以10M或1OOMbps的速率接入以太网。7JTAG接口可对芯片内部的所有部件进行访问,通过该接口可对系统进行调试、编程等。8系统通过一个RS232串口接一GPRS模块,实现无线数据传输功能。9系统通过SPI接口扩展IO模块,负责数字量和模拟量的输入输出。第7页/共34页图
5、2-3 嵌入式水文信息采集智能终端核心板原理图图 2-3 嵌入式水文信息采集智能终端核心板原理图第8页/共34页2.2.1核心板硬件设计2.2.1.1CPU S3C2410X功能概述 S3C2410X是基于ARM920T内核的,最大工作频率能达到203MHz;可支持基本的外设接口,如彩色TFT LCD、USB、IIC、IIS、SPI、UART等,并支持MMC和SD等标准的外部插卡。S3C2410X能支持NAND FLASH启动,具有很高的性价比,另外S3C2410X在市场上已有很多成熟的应用,因此作者选用了S3C2410X作为基于GPRS的嵌入式水文信息采集智能终端的应用处理器,下面是对S3C
6、2410X功能的简要说明:S3C2410X芯片是韩国三星电子公司推出的一款基于ARM920T内核的16/32位RISC嵌入式微处理器,作为S3C2410X芯片的CPU内核,16/32位ARM920T RISC微处理器采用0.18um CMOS标准单元结构。ARM920T内核由ARM9TDM1存储管理单元(MMU)和高速缓存三部分组成。其中MMU可以管理虚拟内存,高速缓存由独立的16KB地址和16KB数据高速Cache组成。S3C2410X芯片集成了一个LCD控制器(支持STN和TFT液晶显示屏)、NAND FL-ASH控制器、SDRAM控制器、3个通道的UART、4个通道的DMA,4个具有PW
7、M(脉冲宽度调制)功能的计时器和一个内部时钟、8通道的10位ADC。S3C2410X还有很多丰富的外部接口,如触摸屏接口、I2C总线接口、I2S总线接口、两个USB主机接口、一个USB设备接口、两个SPI接口、SD接口和MMC卡接口。在时钟方面S3C2410X也有突出的特点,该芯片集成了一个具有日历功能的RTC(实时控制)和具有PLL(M-PLL和UPLL)的芯片时钟发生器。MPLL产生主时钟,能够使处理器工作频率最高达到203MHz。这个工作频率能够使处理器轻松运行WinCE,Linux等操作系统以及进行较为复杂的数据处理。第9页/共34页2.2.2.1电源电路设计在该系统中,需要使用5V和
8、3.3V的直流稳压电源,其中,S3C2410X及部分外围器件需3.3V电源,另外部分器件需5V电源,5V直流电源通过DC-DC转换成3.3V,由于ARM内核需要1.8V的电源,因此需要将3.3V再转换成1.8V,系统电源电路如图2-6所示:第10页/共34页图 2-6 电源电路图图 2-6 电源电路图第11页/共34页2.2.2.3串口电路设计及GPRS模块几乎所有的微控制器和PC都提供串行接口,使用电子工业协会(EIA)推荐的RS-232-C标准,这是一种很常用的串行数据传输总线标准。要完成最基本的串行通信功能,实际上只需要RXD,TXD和GND即可,在本系统中用到RS232转换芯片MAX3
9、232CSA第12页/共34页在本系统中,通过RS232接一个GPRS模块,通过GPRS模块把数据发送到GPRS网中。由于GPRS网与互联网都是基于IP协议的,且是互相连接的,所以只要主站监控管理中心可以通过任意方式上网,终端数据就可以通过GPRS网络透明地传送到主站监控管理中心。监控管理中心的查询命令或控制命令也可以通过互联网和GPRS网发送到GPRS模块中,再由GPRS模块传送给各个终端模块,对它们进行操作。通过GPRS,终端检测控制部分可以直接访问互联网,所以在主站管理监控中心并不需要购置GPRS模块,中心只需通过宽带、ISDN或ADSL上网即可。本系统采用的是西门子公司的MC35i G
10、PRS模块。这个先进的GPRS模块接收速率可以达到86.20kbps,发送速率可以达到21.5kbps,当然最大的数据吞吐量还依赖于GPRS网络的支持,支持GSM900和GSM1800双频网络14。它为远程测量和监控提供了一个理想的解决方案,实现了完整的PPP协议及上层TCP/IP协议,可以通过简单的串口通信实现接入Internet。GPRS模块电路原理图主要分为三个部份,一部份为MC35i模块接口(40针),一部份为SIM卡接口电路(8针),还有一部份为串口电路的设计,整个电路如图2-9所示。第13页/共34页图 2-9 GPRS模块电路原理图图 2-9 GPRS模块电路原理图第14页/共3
11、4页2.2.2.4SPI接口电路及IO扩展模块的设计S3C2410X有一个SPI系统,它是一个同步串行外围接口,允许MCU与各种外围设备以串行方式进行通信,可使用SPI来扩展各种接口芯片,这是一种最方便的扩展方法。它的最大优点是只需3-4根数据和控制线即可扩展各种接口器件。本系统采用SPI扩展IO模块,IO模块的主要功能是扩展DI、DO、AI、AO,通过这些模块实现与下端的传感器相连,这些传感器如水位计、流量计、雨量计等等,从而实现通过SPI来读取下端传感器的数据。SPI接口电路使用四个I/O脚,它们是串行时钟SPICLK;主机输入/从机输出数据线SPIMISO;主机输出/从机输入数据线SPI
12、MOSI和低有效的从机选择线nSS_SPI,电路如图2-10所示。第15页/共34页图 2-10 SPI接口电路图图 2-10 SPI接口电路图第16页/共34页2.2.2.5TFT LCD接口及触摸屏电路设计S3C2410X内部已经集成了LCD控制器,因此可以很方便地去控制各种类型的LCD屏,例如STN和TFT屏,S3C2410X LCD控制器的特性。对于TFT屏的主要特性有16:支持单色、4级灰度、256色的调色板显示模式;支持64K和16M色非调色板显示模式;支持分辩率为640*480,320*240及其它多种规格的LCD。对于控制TFT屏来说,除了要给它送视频资料(VD23:0)以外,
13、还有以下一些信号是必不可少的,分别是:VSYNC(VFRAME):帧同步信号;HSYNC(VLINE):行同步信号;VCLK:像数时钟信号;VDEN(VM):数据有效标志信号。S3C2410X内置1个8信道的10bit模数转换器(ADC),该ADC能以500Ksps的采样速度将外部的模拟信号转换为10bit分辩率的数字量。同时ADC部分能与CPU的触摸屏控制器协同工作,完成对触摸屏绝对地址的测量,主要特性有:分辩率:10bit;相信误差:/-2LSB;最大转换速率:500Ksps;模拟量输入范围:03.3V;分步X/Y坐标测量模式;自动X/Y坐标测量模式;中断等待模式其LCD接口及触摸屏电路图
14、如图2-11所示。第17页/共34页图 2-11 TFT LCD接口及触摸屏电路图图 2-11 TFT LCD接口及触摸屏电路图第18页/共34页图 5-1 系统应用软件程序总体框图图 5-1 系统应用程序总体框图第19页/共34页GPRS数据收发模块主要负责数据的收发,即系统的通信部份。GUI模块是系统的人机界面部份,通过GUI模块调用其它应用程序来显示和设置整个系统,关于这一部份将在下一节作详细的分析。应用程序数据采集模块是用来完成通过IO扩展模块采集各传感器的数据的,并将数据保存到数据库中以便其他程序调用。系统还有其它一些应用程序如系统时钟设置、关机、重启、用户设置等等。第20页/共34
15、页3.2系统驱动程序开发3.2.1嵌入式Linux驱动程序概述系统调用是操作系统内核与应用程序之间的接口,设备驱动程序是操作系统内核与硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作,对硬件设备进行打开、关闭、读写等操作,它主要完成以下功能:1对设备初始化和释放;2把数据从内核传送到硬件和从硬件读取数据;3读取应用程序传送给设备文件的数据和回送应用程序请求的数据;4检测和处理设备出现的错误。第21页/共34页Linux系统支持三种类型的硬件设备:字符设备、块设备和网络设备。字符设备以字节为单位
16、进行数据处理,一般不使用缓存技术,如打印机、键盘等;块设备允许随机访问,而且常常使用缓存技术,如软盘、硬盘、光盘等;网络设备在Linux系统中有专门的处理,主要是通过BSD套接字进行访问。与字符设备和块设备相对应的有两类设备驱动程序,分别称为字符设备驱动程序和块设备驱动程序。两者的主要差别在于:与字符设备有关的系统调用几乎直接和驱动程序的内部功能结合在一起。而读、写数据块设备则主要和快速缓冲存储区打交道。只在需要完成实际输入输出时,才用到块设备驱动程序,如图3-1字符设备和块设备驱动程序结构框图所示。第22页/共34页图 3-1字符设备和块设备驱动程序结构框图图 3-1字符设备和块设备驱动程序
17、结构框图第23页/共34页图 5-3 系统登录界面图图 5-3 系统登录界面图第24页/共34页这一部份界面主要是通过类FirPage来实现的,FirPage类的定义(FirPage.h)如下:class FirPage:public QDialog Q_OBJECTpublic:FirPage(QWidget*parent=0,const char*name=0);/定义构造函数 FirPage();void keyboard();/键盘界面设计 bool getText();/获得从键盘输入的数据 QPushButton*keyboardButtons36;/定义键盘的按键 QPushBu
18、tton*deleteButton;/定义键盘上的删除按键 QPushButton*capslockButton;/定义键盘上的Caps Lock按键public slots:void keyboardClicked(int digit);/定义一个槽,响应键盘按键被按下的事件void delEditText();/定义一个槽,响应键盘删除按键被按下的事件 void capslockText();/定义一个槽,响应键盘Caps Lock按键被按下的事件private:/界面部件的定义 QLabel*topLabel;QLineEdit*passwordEdit;QLineEdit*nameEd
19、it;QLabel*nameLabel;QLabel*passwordLabel;QPushButton*enterButton;QLabel*buttomLabel;QButtonGroup*keyboardGroup;virtual void widgetTextSet();/各部件text设置;第25页/共34页各函数的实现因文章篇幅限制在此就不一一列写,只列出一个比较重要的函数void keyboardClicked(int digit)的实现:void FirPage:keyboardClicked(int digit)QString nameText;nameText=nameEd
20、it-text();/获得nameEdit(用户名输入框)的字符串QString passwordText;passwordText=passwordEdit-text();/获得passwordEdit(密码输入框)的字符串QString text;if(digithasFocus()str=str.arg(nameText,text);nameEdit-setText(str);/往nameEdit(用户名输入框)填写输入的字符if(passwordEdit-hasFocus()str=str.arg(passwordText,text);passwordEdit-setText(str)
21、;/往passwordEdit(密码输入框)填写输入的字符第26页/共34页图5-4 系统加载界面图图5-4 系统加载界面图第27页/共34页图 5-5 系统主操作界面图图 5-5 系统主操作界面图第28页/共34页图 5-6 江河水情实时查询界面图图 5-6 江河水情实时查询界面图第29页/共34页图 5-7 江河水情历史查询界面图 5-7 江河水情历史查询界面第30页/共34页图 5-8 江河水情实时显示图n图 5-8 江河水情实时显示图第31页/共34页图5-9GUI界面显示实物效果图图5-9GUI界面显示实物效果图第32页/共34页谢谢观看!第33页/共34页感谢您的观看。第34页/共34页