当前位置:首页 > 通信技术 > 通信技术
[导读]本文研究的视频监控终端采用μC/OS-II作为其嵌入式操作系统,利用GPRS无线传输模块接入互连网,接收服务器可以在监控中心实时监控多点传来的视频监控信号。文中给出了该系统的详细设计方案。引言 大的林区一

本文研究的视频监控终端采用μC/OS-II作为其嵌入式操作系统,利用GPRS无线传输模块接入互连网,接收服务器可以在监控中心实时监控多点传来的视频监控信号。文中给出了该系统的详细设计方案。

引言

    大的林区一般面积广阔,且大多数没有有线通讯设施,这是以往影响无人值守的火情了望台应用的技术瓶颈。但是,空间及遥感技术、计算机技术、通信与网络技术的快速发展为森林火灾监测的研究提供了不断完善的方法和手段。本文研究的森林火灾视频监控终端采用μC/OS-II作为嵌入式操作系统,为了支持GPRS网络通信,系统需要PPP或SLIP协议的支持。由于μC/OS-II不包括TCP/IP协议栈,所以要编写设备的网络接口。本文选用免费的TCP/IP协议栈LwIP v0.6.4作为设计核心,在μC/OS-II上移植了LwIP以实现TCP/IP协议栈,从而获得了一个功能完善的嵌入式IP终端。

视频监测终端网络接口原理

图像监控系统工作流程

    工作时,图像监控系统首先将接收服务器连入Internet,取得服务器的公网IP地址,确定服务的端口号,并将IP地址及端口信息以短消息方式发送给远程站点的视频监控仪模块。视频监控仪模块通过GPRS-Modem模块连入Internet后即可与接收服务器连线。视频监控仪在正常工作时(无火警)仅定时上传含有本地特征编码的短消息,接收服务器软件会根据收到的短消息来分析各监控仪的状态并进行显示。当视频监控仪检测到火警时,它会将火灾信息编码,以短消息形式传递到服务器,同时启动视频图像压缩及上传服务,供接收服务器分析判断。

 


图1 GPRS传输模块工作原理

GPRS传输模块工作原理

    视频监控终端的GPRS传输模块原理如图1所示,西门子公司的MC35 GPRS模块把从TCP/IP模块接收的TCP/IP包和从基站接收的GPRS分组数据进行相应的协议处理后再转发。MC35模块主要由射频天线、内部Flash、SRAM、GSM基带处理器、匹配电源和一个40脚的ZIF插座组成。GSM基带处理器是核心部件,其作用相当于一个协议处理器,用来处理外部系统通过串口发送过来的AT指令。射频天线部分主要实现信号的调制与解调,以及外部射频信号与内部基带处理器之间的信号转换。匹配电源为处理器及射频部分提供所需的电源。MC35 GPRS模块支持GSM900和GSMl800双频网络,接收速率可达86.20kbps,发送速率可达21.5kbps。MC35模块提供了9针的标准RS232接口,通过MAX3232电平转换芯片和LPC2104的UART0口相连,进行全双工通信。MC35工作电压为12V,上电后由DTR上升沿跳变触发启动。本系统指定LPC2104的P0.13信号线经MAX3232电平转换后作为MC35的DTR。系统上电复位后,首先进行工作频率等参数设置,然后进行拨号和PPP协商,得到系统本地IP,完成GPRS的Internet接入。ARM CPU将用户数据先打成IP包,再经串口发送给MC35,MC35把其封装成GPRS分组数据包传到GPRS网络。

网络接口协议

    本系统的视频监控仪网络通信分层结构如图2所示,GPRS服务节点和网关节点等GPRS内部节点都简化抽象为GPRS网络,GPRS内部协议及Internet网关协议等都简化抽象为GPRS网关协议。

    视频监控终端网络通信各层的作用如下。

    物理层:ARM CPU利用AT指令对GPRS Modem进行拨号。反馈应答后,一条物理通道即GPRS信道就在本系统中的GPRS Modem和Internet之间建立起来。

    数据链路层:PPP协议将原始的GPRS物理层连接改造成无差错的数据链路,系统远程登录Internet,并得到GPRS网关分配的A类IP地址。

    网络层:采用IP协议作为网络层协议。IP协议将接入Internet、具有不同IP地址的终端都联系起来。经过IP路由选择,可以令本系统与连在Internet上的任一IP终端进行数据交互。

    传输层:选择TCP作为传输层协议,为数据传输提供面向连接的可靠服务。

 


图2 视频监控仪网络通信分层结构

视频监测终端网络接口软件设计

LwIP在μC/OS-II上的实现

    LwIP协议栈在设计时就考虑到了将来的移植问题,因此把所有与硬件、操作系统、编译器相关的部份都独立出来,放在/src/arch目录下。 LwIP在μC/OS-II上的实现就是要修改该目录下的文件,其它的文件一般不应该修改,主要的工作包括以下几部分。

与CPU或编译器

相关的include文件
    在/src/arch/include/arch目录下的cc.h、cpu.h、perf.h中有一些与CPU或编译器相关的定义,如数据长度、字的高低位顺序等,这应该与用户实现μC/OS-II时定义的数据长度等参数一致。一般情况下C语言的结构体struct是4字节对齐的,但是在处理数据包的时候,LwIP是通过结构体中不同数据的长度来读取相应数据的,所以,一定要在定义struct的时候使用_packed关键字,让编译器放弃struct的字节对齐。

sys_arch操作系统相关部份
    sys_arch.[ch]中的内容是与操作系统相关的一些结构和函数。μC/OS-II实现了消息队列结构OSQ及其操作,但没有对消息队列中的消息进行管理,因此不能直接使用,必须重新实现。对队列本身的管理可利用mC/OS-II自己的OSQ操作完成,然后使用μC/OS-II中的内存管理模块实现对消息的创建、使用、删除回收,两部分综合起来即可形成LwIP的消息队列功能。
sys_thread_new 创建新线程
    在μC/OS-II中,没有线程(thread)的概念,只有任务(Task)。它已经提供了创建新任务的系统API调用OSTaskCreate,因此只要把OSTaskCreate封装一下,就可以实现sys_thread_new。需要注意的是LwIP中的thread并没有μC/OS-II中优先级的概念,实现时要由用户事先为LwIP中创建的线程分配好优先级。

lib_arch中库函数的实现
    LwIP协议栈中用到了8个外部函数,这些函数通常与用户使用的系统或编译器有关,因此应由用户自己实现。

LwIP的设备驱动程序接口
    LwIP与PPP的程序结构简要描述如下:
#define NTHREADS 3
#define STACKSIZE( CYG NUM_HAL_STACK_SIZE_TYPICAL + 4096 )
#define NTHREADS 3
#define STACKSIZE ( CYG NUM_HAL_STACK_SIZE_TYPICAL + 4096 )
err = cyg_io_lookup( "/dev/ser1", &handle1 );
if (ENOERR == err) {
middleblink();
} else {
leftblink();
};
pppInit();
pppSetAuth(PPPAUTHTYPE_ PAP," pppuser","pppassword");
pd=pppOpen(handle1,ppp LinkStatus Callback,NULL);
void pppLinkStatusCallback (void * ctx, int errCode, void * arg) {
skipblink();
}

结语

    本文重点解决了在火灾视频监控系统中,视频监控终端无线网络接口的具体设计与实现,它有机地结合了嵌入式终端设备和无线传输,符合嵌入式和无线网络结合的发展趋势。同时,这一接口设计也对其它视频监控系统的发展起到一定的借鉴意义。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭