基于Internet的远程监控系统下位机设计.docx
- 文档编号:8232730
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:24
- 大小:1.44MB
基于Internet的远程监控系统下位机设计.docx
《基于Internet的远程监控系统下位机设计.docx》由会员分享,可在线阅读,更多相关《基于Internet的远程监控系统下位机设计.docx(24页珍藏版)》请在冰豆网上搜索。
基于Internet的远程监控系统下位机设计
1引言
1.1远程监控系统现状
在人类社会即将进入信息化社会的今天,计算机网络的发展极大地改变着人们的生活方式,而人们生活方式的改变又反过来对计算机网络的服务能力提出更高的要求。
从传输介质来看,远程监控系统已经走过了原始的模拟数据量传输,进入了全数字传输的时代。
随着基于不同传输媒介及其多种方案的出现和发展,如基于双绞线(xDSL,HomePNA)、基于数字电力线、基于无线(WLL)、基于同轴电缆(HFC、CableModem)和基于光纤(OAN)的系统,接入网宽带化得到了空前的发展。
从视频采集方式来看,目前最主流的视频采集芯片就是DSP了,由于DSP芯片的众多优点,使其在视频采集和处理领域里得到了广泛的应用,国内著名的视频监控设备供应商海康威视和大华所使用的主要芯片就是DSP。
从视频编码方式来看,图像压缩编码方法繁多,发展也相当迅速,经典编码方法如Huffman编码、算术编码、预测编码、变换域编码等。
归纳起来主要有H.261、H.263、H.264,JPEG标准以及MPEG-1、MPEG-2、MPEG-4标准等。
在视频编码中使用H.261编码方式是最普遍之一。
由于目前很多远程监控系统存在着成本上比较高,系统比较复杂,维护比较困难,性价比低,有的地方大材小用等缺点,基于这些考虑,我们准备开发一种成本较低,系统简单,维护简单,性价比高的嵌入式单芯片视频监控方案。
1.2研究本课题的意义
本课题研究的意义在于更加清晰地了解和系统地学习视频监控设备的工作原理,并且提出一种更加低成本,稳定,可靠,简易的视频监控的解决方案。
在研究本课题的过程中,依靠学院提供的实验室,自己动手制作视频监控器的实物,自主设计电路,调试软件,最后组装在一起,实现了单芯片的简易视频解决方案,而且通过以太网进行数据传输,使得这样的监控设备安装非常的简便,只要有网线的地方就可以装这样的监控设备,为一些要求不高但是对成本敏感的场合提供一种视频监控的解决方案。
2概述
2.1嵌入式远程监控系统概述
2.1.1嵌入式系统概念
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能[10]。
2.1.2嵌入式技术的发展
众所周知,世界上第一台电子计算机诞生于1946年,在相当长的历史进程中,计算机始终是供养在特殊的机房中,实现数值计算的大型昂贵设备。
到20世纪70年代,微处理器的出现,计算机才出现了历史性的变化。
以微处理器为核心的微型计算机以其小型、价廉、高可靠性特点,迅速走出机房。
因此,嵌入式系统诞生于微型机时代,嵌入式系统的嵌入性本质是将一个计算机嵌入到一个对象体系中去。
单片机开创了嵌入式系统独立发展道路,Intel公司的MCS-48、MCS-51是其中最经典的单片形态的嵌入式系统。
单片机诞生于20世纪70年代末,经历了SCM、MCU、SoC三大阶段。
SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构;MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:
不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力;随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。
2.1.3嵌入式系统的特点
嵌入式系统是嵌入到对象系统中,必须满足对象系统的环境要求,如物理环境(小型)、电气/气氛环境(可靠)、成本(价廉)等要求;其次是软、硬件的裁剪性;满足对象要求的最小软、硬件配置等;再者嵌入式系统必须是能满足对象系统控制要求的计算机系统而且必须配置有与对象系统相适应的接口电路。
2.2本设计方案思路
本设计以实现信号的检测和数据处理、传输为主要目的;以视频数据采集,数据格式转换,以太网传输,上位机显示等为主要设计内容。
基于对嵌入式视频监控系统的背景研究,本设计提出了一个简易可行的方案,以热释电红外传感器来检测是否有人靠近,如果没有人靠近处于休眠状态可以节电;当有人靠近设定区域的时候,传感器输出信号,ARM处理器接收到信号立刻做出响应,触发内部的电路和程序,马上开启监控摄像头进行监控,然后数据经过以太网媒介传输到远端的PC端,PC端接到视频数据之后马上进行解析并且显示,同时可以将现场的问题和其他的数据同时传输过来,并且可以设置蜂鸣器进行报警。
2.3研发方向和技术关键
(1)摄像头的数据采集
(2)数据格式的编码以及缓冲技术
(3)数据打包经过以太网发送
(4)完善的协议来保障不同数据识别
(5)PC机的视频实时显示及图像存储
2.4主要技术指标
(1)采集图像的分辨率不低于120*120
(2)局域网内传输距离不少于100米
(3)人体红外检测不小于3米
(4)网络传输延时小于0.1秒
(5)PC机视频图像显示无明显抖动或者迟滞
3总体设计
3.1主控芯片选型
3.1.1基于以太网优势的ARM
ARM作为目前最通用的处理器,具有很多优点,特别是在架构上面,ARM采用RISC精简指令集,并且采用哈佛流水结构,在功耗,速度上面都有明显的优势,特别是在移动通信行业中,更是如此,据不完全统计,目前手机的主芯片有98%是采用ARM的,可见ARM在处理器行业的位置。
ARM有众多的合作伙伴,包括国际上最著名的半导体行业的巨头,例如Intel,TI,三星,索尼,等等。
因此ARM是一个专注于CPU设计的公司,依靠授权和出售其IP核,给世界一流的半导体公司来代工,生产和销售。
ARM最经典之作是ARM7-TDMI内核,这个内核已经在目前很多的行业中使用非常广泛,以NXP的LPC2000系列为代表的ARM7内核非常的成熟和成功。
ARM7之后的ARM9也在中高端的场合使用非常的广泛,其代表三星的S3C2440是一款非常优秀的ARM9芯片,一般认为在ARM9以后,ARM芯片基本都带有网络控制器。
在ARM9和ARM11后的就是当下最热门的ARM-Cortex内核,该内核是ARM公司最新的内核,增加了众多的中断控制器,内核效率更高,单位执行代码效率也更高,Cortex系列分为三个子系列有A系列,R系列,M系列。
A系列主要面向应用类的,更加高端,主频也更快等优点;R系列主要面向于实时控制,主要有响应特别快等优点;而M系列主要面向微控制器,特点是低功耗,低成本,适合低端控制场合。
美国德州仪器(TI)Stellaris(群星)系列产品为汽车电子,运动控制,过程控制,以及医疗设备等要求低成本的嵌入式微控制器领域带来了一系列具有32位运算能力的高性能芯片。
而且这个系列的芯片有带网络控制器的芯片,满足我们的设计需求,我们基于该芯片设计出一个单芯片的以太网解决方案。
3.1.2基于视频采集优势的DSP
DSP是目前通用的视频处理器,主要的优势是在于DSP指令集非常适合大数据量的运算,因为本身DSP的诞生就是为数字计算而设计的,因此DSP在视频采集有得天独厚的优势,因此在专业的视频采集方案中几乎都选择了DSP作为主控芯片。
在我们的这个课题中,首先我们的定位不是专业的视频采集,而只是一个采
集方案的创新。
我们没有必要选择昂贵,复杂的DSP作为主控,而是采用相对简单易学的ARM处理器。
虽然ARM处理器运算上面不如DSP,但在我们这个课题中已经满足需求了,我们最终选择了ARM。
3.2视频采集方案设计
3.2.1方案一:
CMOS摄像头
CMOS摄像头在设计上的感光器是连接放大器,灵敏度低,成本低,解析度低,信噪比高,功耗低等特点,适合在低端的摄像头场合,由于CMOS在设计上面的简单,被广泛的应用于很多的场合。
3.2.2方案二:
CCD摄像头
CCD是一种单一感光器,灵敏度高,成本高,解析度高,噪点低,功耗高等特点,与CMOS相比,CCD的优势较明显。
因此在本项目中,我们所使用的是OV6620的CCD摄像头。
3.2.3模拟接口摄像头
模拟接口的摄像头是指输出信号就是模拟信号,需要外部AD来采样,经过视频分离芯片,导致硬件设计,由于模拟摄像头在早期使用非常的广泛,并且模拟信号的传输更加方便,因此在工业设备使用广泛。
3.2.4数字接口摄像头
数字接口的摄像头是指摄像头输出信号就是数字信号,方便单片机I/O口可以直接来读取数据,并且舍去了AD和视频分离芯片,硬件设计相对简单,最后我们的课题选择了数字接口的CCD摄像头。
3.3数据通讯方案设计
3.3.1串口通讯
RS-232串口,是目前最常用的一种串行通讯接口。
它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。
串口在很长的一段时间内几乎成了单片机必备的通讯方式,由此可见串口的使用广泛程度。
但是串口RS232信号不是差分信号,传输距离不够远,只有几米,而且串口是一种异步通讯方式,在这个过程中需要有波特率来规范双方的通信速率,而且这个速率一般是在115200Kbps,这个速度显然是比较低的,而且没有完善的协议支持,串口慢慢被其他的通讯方式所替代。
由于串口的通讯速率较低不适合本课题。
3.3.2USB通讯
USB通用串行总线,是目前电脑上应用较广泛的接口规范,由Intel、Microsoft、Compaq、IBM、NEC等几家大厂商发起的新型外设接口标准。
USB接口是电脑主板上的一种四针接口,其中中间两个针传输数据,两边两个针给外设供电。
USB接口速度快、连接简单、不需要外接电源,传输速度12Mbps,最新USB2.0可达480Mbps;电缆最大长度5米,价格便宜;USB最多可串接127个设备;支持热插拔。
USB具有以上这些特点,在个人电脑上广泛应用,虽然这个接口有很多的优点,但是由于通讯距离问题不适合我们这个课题。
3.3.3CAN通讯
CAN控制器局域网,是BOSCH公司为现代汽车应用领先推出的一种多主机局部网,由于其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。
这种通讯方式非常的适合于汽车电子和一些工业自动化控制,因为这种通讯方式也是差分通信,信号的稳定性非常好,抗干扰能力非常强,而且采用CAN协议使用报文和地址的概念,使得CAN使用非常广泛。
由于CAN的协议相对复杂,也不适合我们这个课题。
3.3.4无线RF通讯
无线RF通讯是指以无线调制为基础的一种通讯方式,就是在一个无线信道上构建一种非常特殊的数字载波,实现高速的无线通讯手段,这样的结构可以让通讯变得很简易,不需要线就可以实现通讯,不过速度上还是无法与传统有线通讯相比,如果采用无线通讯实现图像无压缩实时传输,这个技术上面还是有点困难,因此经过比较也不适合本课题。
3.3.5以太网通讯
以太网(Ethernet)指的是由Xerox公司创建并由Xerox,Intel和DEC公司联合开发的基带局域网规范,是当今现有局域网最通用的协议标准。
以太网络使用CSMA/CD(载波监听多路访问及冲突检测技术)技术,并以10M/S的速率运行。
以太网可以采用多种连接介质,包括同轴缆、双绞线和光纤等。
以太网通信速度非常快,协议也很完善,最著名的TCP/IP协议就是最好的例子。
随着以太网的普及,越来越多的设备支持,据不完全统计,有机构预计到2015年,能够上网的设备将达到150亿个。
我们本课题所选择的以太网通讯方式是基于对成本,协议,还有通讯速率等综合考虑之后定下来的,这个对于我们后期维护和升级等都有明显的优势,因为这种通信方式使用非常的广泛。
3.4传感器方案设计
3.4.1人体红外检测
人大概会发出8um~20um的红外线,利用红外接收器来接收这种特殊的信号,通过运放进行高增益低噪声的多级放大,得到所需波形。
继而利用施密特触发器得到数字方波,最后输入到主控芯片中,控制器根据这个传感器就可以检测有无人员活动。
红外传感装置采用多路复合探测和可编程技术,提高传感器精度。
3.4.2环境温度检测
温度传感器采用常规的热敏电阻,这种测试方法具有简单的特点,只需要AD进行采样就能实现,而不需要复杂的电桥和非线性校正,将这个AD所采到的模拟量进行转换成单片机识别的数字,这样就可以获取当前的温度值了。
3.5上位机客户端设计
3.5.1使用MFC界面设计开发
MFC是微软为用户提供的窗口界面的编程,这个对于一般的程序来说非常简便,因为其语言是采用最常用的C++语言,这是一个通用的语言平台,而且是面向对象的编程,并且对于底层的API支持非常好,结合WinSocket编程,就可以实现一个很简易的网络应用程序。
3.5.2使用C#实现控件编程
C#是最近几年流行起来的编程语言,具有丰富的控件支持,在编写大型应用程序的时候非常的有效,但是由于对C#熟悉程度还不如C++,因此MFC成为我们的首选方案。
4硬件设计
4.1主控电路设计
主控电路采用TI公司的Stellaris系列的LM3S8962,由于我们考虑了是自己制板,因此我们的MCU做成了最小系统板,主控芯片的电路如下。
图4-1主控芯片
4.2摄像头电路设计
本课题所采用的摄像头是数字接口的,因此接线很简单,八根数据线与摄像头的灰度图像输出信号,MCU直接通过GPIO口来读取数据。
行中断和场中断的信号线需要加电容和电阻滤波,否则可能引起中断不稳定。
图4-2摄像头接口电路
4.3传感器电路设计
4.3.1热释电红外传感器
热释电红外传感器是利用人体所发出来的红外线,通过特殊的材料感知红外线,就会产生相应的电平变化,再通过整流,滤波,放大,最后输出数字信号,菲涅尔镜是用来增强红外模块的接收灵敏度的,最后我们所使用的模块就是只要给其供电,当人靠近的时候就能产生高电平,MCU只要去检查这个电平就能感知是否有人在了。
图4-3热释电红外传感器模块
4.3.2热敏电阻传感器
热敏电阻一般分为正温和负温两种,根据其灵敏度不同,采用合适的热敏电阻在合适的场合使用,如果需要精度很高的话可以采用PT-100铂电阻,需要电桥电路配合信号处理,并且需要非线性校正,而我们的方案是的同工电阻分压通过AD来采集数据,进行简易的处理之后就可以通过上位机显示。
图4-4温度传感器电路
4.4其他模块电路设计
4.4.1时钟电路设计
时钟电路采用外部的DS1302电路,由于ARM内部也集成了RTC,因此本系统中可以使用两套时钟,该时钟有外部钮扣电池供电,不会因为系统掉电而停止运行,时钟芯片与主芯片通过串行通信进行配置和传输数据,使用很方便。
图4-5时钟模块
4.4.2 存储器电路设计
Flash存储器是目前使用很广泛的存储元件,这种存储器可以将大数据量存储在内部而掉电不丢失数据,本系统采用的是一颗2MByte的Flash存储器,这块Flash使用的时候非常的简单,通过SPI接口,只需要配置初始化后,就可以按页对其进行操作,每一页都有512Byte的容量,这个存储器主要是用来存储一些关键参数的,暂时不提供视频图像数据的存储,因为视频图像太大,直接通过以太网传到电脑上进行存储。
图4-6存储器模块电路
4.4.3电源电路设计
电源模块是一个系统的关键,因为只有一个好的稳定的电源才能保证系统的稳定,因此我们这里采用了多级滤波,并且采用了优质的LM7805和LM1117稳压芯片进行稳压,给系统提供稳定的5V和3.3V电源。
图4-7电源模块
4.4.4以太网接口电路
以太网接口RJ45,这是一个非常关键的器件,因为从MCU出来的差分信号很容易受干扰,一定需要一个隔离变压器来实现隔离,而且在实际调试过程中,发现隔离变压器到MCU的引脚不能超过5cm,否则会导致信号不稳定,表现的状态就是和电脑的联网不稳定,最后的解决方法就是PCB中注意布线就可以了。
图4-8以太网接口
5软件设计
5.1TCP/IP协议下位机编程
首先是本系统的软件工作流程图,采用一个定时器进行循环扫描,并且根据场中断的节拍进行图像的采集。
处理好之后在一定的时间内通过以太网发送给上位机,上位机接到之后进行处理。
图5-1系统架构图
TCP/IP传输协议:
本系统采用的是标准的TCP/IP传输格式的协议,包含从MAC层数据到UDP数据的各个数据包格式都是遵循工业以太网的传输标准,而本课题中由自行编写的协议包的数据结构只采用了其中的一种传输标准,即UDP协议,在UDP数据包头部还有IP头,所以IP数据报也是根据标准协议的格式编写的。
本系统采用的MAC地址和IP地址都是已经默认配置好的,用户无需关心如何实现,如果需要查看,可以在上位机PC端的软件上查看到具体的MAC地址和IP地址,也可以通过数据包发回来的内容在PC端显示本机的IP地址以及本地MAC地址。
传输开始时需要进行寻找设备,PC端会发出一个广播数据包,在这个网段里面任何计算机都能收到这个广播包,这个包的格式本身是UDP协议的,但是只有接到特定指令后ARM会才会作出回应,提示PC已经连接成功,并且返回IP地址和MAC地址。
5.1.1Ethernet底层驱动
首先需要进行的是Ethernet的初始化。
第一步,进行系统的时钟初始化,调用ARM底层的API函数实现。
SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_OSC|SYSCTL_OSC_MAIN|SYSCTL_XTAL_8MHZ);
第二步,使能以太网时钟和以太网GPIO口,并且复位。
SysCtlPeripheralEnable(SYSCTL_PERIPH_ETH);
SysCtlPeripheralReset(SYSCTL_PERIPH_ETH);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
第三步,配置GPIO口工作模式,与以太网相关的需要配置。
GPIODirModeSet(GPIO_PORTF_BASE,GPIO_PIN_2|GPIO_PIN_3,GPIO_DIR_MODE_HW);
GPIOPadConfigSet(GPIO_PORTF_BASE,GPIO_PIN_2|GPIO_PIN_3,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD);
第四步,Ethernet的PHY层初始化,进行配置。
EthernetIntDisable(ETH_BASE,(ETH_INT_PHY|ETH_INT_MDIO|ETH_INT_RXER|ETH_INT_RXOF|ETH_INT_TX|ETH_INT_TXER|ETH_INT_RX));
ulTemp=EthernetIntStatus(ETH_BASE,false);
EthernetIntClear(ETH_BASE,ulTemp);
EthernetInitExpClk(ETH_BASE,SysCtlClockGet());
EthernetConfigSet(ETH_BASE,(ETH_CFG_TX_DPLXEN|ETH_CFG_TX_CRCEN|ETH_CFG_TX_PADEN));
ulTemp=EthernetPHYRead(ETH_BASE,PHY_MR1);
EthernetEnable(ETH_BASE);
定义一个有效的结构体来保存TCP/IP数据头的有效信息。
typedefstruct
{
BYTEdesmac[6];//目的MAC地址
BYTEsrcmac[6];//源MAC地址
USHORTethertype;//帧类型
BYTEip_head_len;//IP包头部长度,单位:
4字节
BYTEtos;//服务类型TOS
USHORTip_total_len;//IP包总长度
USHORTiident;//标识
USHORTflags;//标志位
BYTEttl;//生存时间
BYTEproto;//协议
USHORTip_chksum;//IP首部校验和
BYTEsource_IP[4];//源IP地址(32位)
BYTEdest_IP[4];//目的IP地址(32位)
USHORTsrcport;//源端口
USHORTdstport;//目的端口
USHORTudp_total_len;//UDP数据长度(单位:
字节)
USHORTchksum;//校验和
} Eth_Header;
5.1.2UDP数据收发
(1)校验和算法
UDP协议是以太网协议中常用的协议,由于不需要进行像TCP那样的三次握手,UDP的效率很高,总线利用也很高,但是UDP是一种不可靠的传输协议,只能尽力传输,不能保证数据可靠性。
那么UDP是否没有使用价值了?
不是的,由于UDP的效率高,在一些数据丢失场合要求不是很严格的时候,就可以使用UDP,比如说在视频传输和流媒体传输的时候,由于丢失几包数据不会影响到下一个图像的传输,因为图像显示很快,丢了一帧之后会马上被下一帧数据所覆盖,那么表现出来的就没有太多的影响,因此UDP在视频传输过程中使用非常广泛。
为了进一步提高UDP的传输可靠性,在TCP/IP协议栈里规定了一个UDP的数据校验算法,这个校验算法称为校验和。
这种16位校验和计算的基本原理是:
采用的都是将数据流视为16位整数流进行重复叠加计算。
为了计算检验和,首先把检验和字段置为0,然后,对有效数据范围内中每个16位进行二进制反码求和,结果存在检验和字段中,如果数据长度为奇数则补一字节0。
当收到数据后,同样对有效数据范围中每个16位数进行二进制反码的求和。
由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为全0或全1(具体看实现了,本质一样)。
如果结果不是全0或全1,那么表示数据错误。
(2)主机IP地址动态获取
由于在网络中的所有设备都会对应的唯一的MAC地址和一个可以在不同网段重复的IP地址,但是由于IP地址的资源有限,在TCP/IP协议中有子网掩码的概念,而在我们这个系统中,由于底层的网络协议非常的精简,我们的ARP地址解析协议由自己实现,也就是说PC需要访问我们的数据的时候,需要首先进行动态获取主机的IP地址,否则将无法建立网络通信。
具体的实施方法是首先PC端会发送一个192.168.14.255的广播地址,这个广播地址是采用间接寻址,实际上ARP也是这么做的,只不过ARP里面还有一个路由表,而我们这里暂时没有路由表的概念,因为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Internet 远程 监控 系统 下位 设计