基于S3C2440处理器的远程图像无线监控系统设计方案

发布者:数据小巨人最新更新时间:2011-12-06 关键字:S3C2440  远程图像无线监控 手机看文章 扫描二维码
随时随地手机看文章

    对图像监控系统,用户常常提出这样的功能需求:希望能够监控距离较远的对象。这些对象有可能分布在郊区、深山,荒原或者其他无人值守的场合;另外,希望能够获取比较清晰的监控图像,但对图像传输的实时性要求并不高,很明显,用传统的PC机加图像采集卡的方式很难满足这样的需求。

    在嵌入式领域,ARM9系列微处理器在高性能和低功耗方面提供了最佳的性能,因此选用ARM9嵌入式处理器S3C2440设计实现了一个远程图像光线监控系统通过这个系统,可以远在千里之外控制一个摄像机进行图像采集并回传。如果这个摄像机有一个485接口的云台,还可以通过互联网远程控制摄像机的取景角度、镜头拉伸、聚焦等功能。

    除了获取图像数据。系统还提供了多路开关控制和数据采集功能,可以连接温度、湿度等各类传感器和控制红外夜视灯等其他外部设备的开关状态。最后,通过GPRS或CDMA无线通信模块及Internel互联网将数据传至任何地方

    1 系统设计

    本系统采用三星公司的S3C2440嵌入式处理器和arm-linux2.4.26操作系统;S3C2440使用ARM920T内核,主频是400MHz;除了集成通用的串口控制器、USB控制器、A/D转换器和GPIO等功能之外,还集成了一个摄像头接门(CAMIF)(这个接口是远程图像采集的核心部分)。系统在S3C2440处理器的控制下,从CCD摄像机采集模拟视频信号,然后经过编码、DMA传输到内存缓冲,接着由软件对内存中的数字视频数据进行压缩和打包。最后通过通信单元将图像以IP包的方式发送到监控中心的服务器。整个系统的硬件结构原理如图1所示

    1.1 图像采样接口

    S3C2440的摄像头接口(CAMIF)支持ITU-R BT.601/656 YCbCr8比特标准的图像数据输入,最大可采样4096×4096像素的图像。摄像头接口可以有两种模式与DMA控制器进行数据传输:一种是P端口模式,把从摄像头接口采样到的图像数据转为RGB数据,并在DMA控制下传输到SDRAM(一般这种模式用来提供图像预览功能);另一种是C端口模式,把图像数据按照YCbCr4:2:0或4:2:2的格式传输到SDRAM(这种模式主要为MPEG-4、H.263等编码器提供图像数据的输入)。上述两种工作模式都允许设置一个剪辑窗口,只有进入这个窗口的图像数据才能够传输到SDRAM。上述过程可用图2说明。

    S3C2440的摄像机接口接收ITU标准的图像数据,不能直接接收CCD摄像机输出的模拟视频信号,因此还需要1片SAA7113视频解码芯片。SAA7113可以输入4路模拟视频信号,通过内部寄存器的不同配置可以对4路输入进行转换,输入可以为4路CVBS或2路S视频(Y/C)信号,输出8位“VPO”总线,为标准的ITU656、YUV 4:2:2格式。对SAA7113初始化需要通过I2C 总线进行,而S3C2440内部集成的I2C控制器正好可以实现这个过程。S3C2440的摄像机接口与SAA7113的连接原理如图3所示。

[page]

    SAA7113 的CE 引脚与S3C2440 的一个GPIO 引脚相连,这样可以控制SAA7113的工作状态。当无须采集图像时,将该GPIO口输出低电平,使SAA7113芯片处于低功耗状态,节省电能的消耗。对照图2和图3可以看出,SAA7113芯片就是图2的“外部图像传感器”。它向嵌入式系统的摄像机接口提供了采样到的标准ITU视频数据。这些数据经过DMA的P端口或C端口控制传输到了内存,这样就可以在内存中对图像数据作进一步的加工处理。

    1.2 采样接口驱动

    图像采样接口的驱动按照Linux视频设备驱动的模型V4L(video for Linux)编写了SAA7113与S3C2440摄像机接口的驱动。驱动使用C端口模式与DMA进行通信。采样1帧图像之前,首先设置采样图像的分辨率和剪辑窗口大小等参数,然后设置DMA控制器访问的视频采样输出缓冲的内存地址,接着就可以通过设置S3C2440的CAMIF接口控制寄存器启动1帧图像的采集。当采集完1帧图像时,CAMIF接口会自动启动1次C端口的DMA通信,把采集的图像数据传到内存。传输结束后,会产生一个C端口的中断,通知驱动1帧数据采样和传输结束。具体来说,这个驱动需要实现以下功能:

    初始化S3C2440的CAMIF接口的时钟寄存器。主要是根据SAA7113的外接晶振频率设置摄像机时钟分频寄存器(CAMDIVN)。该寄存器的0~3位是分频系数,其计算方法是:

    CAMCLK_DIV=UPLL/(CAMCLK * 2)-1

    (初始化代码略— — 编者注)

    配置CAMIF接口的采样参数。主要是输入源图像数据的格式、输出的图像格式、采样的窗口大小、DMA的访问地址等参数。这里定义了一个结构,用于存储与CAMIF接口相关的配置信息:

    上述这些配置信息最终是与一系列的寄存器相关联的。这个结构为读/写寄存器提供了一个清晰的、集中的存储缓冲。

    打开、关闭和控制摄像机的接口函数。这3个接口函数是按V4L规范编写的,其原型如下:

    ① 打开摄像机接口函数:

    static int

    v4l_cam_open(struct video_device *v,int mode);

    ② 控制摄像机接口函数:

    static int

    v4l_cam_ioctl(struct video_device *v,unsigned int cmd,void *arg);

    ③ 关闭摄像机接口函数:

    static void v4l_cam_close(struct video_device *v);

    中断处理接口函数。该中断处理函数在使用C端口模式完成1帧图像采集后被调用。函数原型定义如下:

    static void

    s3c2440_camif_isr_c(int irq,void *dev_id,struct pt_regs *regs);

    读取图像数据的实现函数。该函数通过dev→rdy的值判断1帧图像有无采集转换结束。如果该值置1,则表示采样结束,这时就可以从图像数据的缓冲中拷贝数据到用户的存储空间;如果为0,则函数进入阻塞或返回EAGAIN标志。顺便提一下,dev→rdy的值是在中断处理函数中设置的。(实现代码略——编者注)

    1.3 图像数据的压缩

    S3C2440的CAMIF接口处理得到的1帧图像数据比较大,还要经过进一步的压缩才能适合进行网络数据传输。S3C2440处理器内部没有提供硬件的图像压缩编码器,但因为它的主频较高,可以使用软件来进行图像压缩。考虑到CPU的处理能力和对单帧采样图像的清晰度有较高的要求,采用基于离散余弦变换算法(DCT)的JPEG/MJPEG方式对图像数据进行压缩编码。 [page]

    1.4 图像数据的传输

    通信单元承担了图像的数据传输任务。在本系统中,有两种通信单元可供使用。一种是GPRS/CDMA无线传输模块。它们通过串口与S3C2440处理器相连接,在以太网络传输线缆难以铺设的环境中可以使用这种通信方式。它的缺点是通信带宽小,传输速度慢,但是如果对实时性要求不高,也能够传输高清晰的静态图片。另一种通信单元是10MHz的CS8900a以太网络传输模块。它可与局域网相连接,然后将监控图像发送到局域网的监控服务器或者通过网关发送到互联网上。这种通信方式速度高,实时性好,但监控现场要安装有线的以太网络。

    1.5 摄像机云台的控制

    摄像机的云台控制接口采用RS485通信方式。因S3C2440内部只有RS232的控制器,为此使用MAX485芯片设计了一个RS232到RS485的转换接口。该电路原理如图4所示。

    图4中RS485的数据流方向由GPE13口的电平进行控制。

    2 系统软件的设计

    系统软件包含下位机软件、服务器软件和客户端软件。下位机软件部署在远程图像监控设备上。这个软件作为一个Linux的守护进程启动,负责压缩采样到的图像数据,并把压缩后的图像打包,然后通过Socket通信方式上传到监控服务器。如果使用GPRS/CDMA无线传输模块,上位机软件在系统启动完成后,就自动进行PPP拨号,建立起一条TCP/IP的通信管道。客户端软件部署在一台连接到互联网的PC机上,它提供给最终用户浏览监控画面,设置监控参数等功能。服务器软件也部署在一台连接到互联网的计算机上。这台计算机在互联网上有固定的IP或者域名,服务器软件作为一个后台进程启动,为客户端和远程图像监控设备之间的通信起到一个桥梁的作用。因为远程监控设备的IP地址是动态的,无法被客户端直接寻址,因此就需要服务器作为双方通信的中间桥梁。

    下位机软件通过驱动程序提供的接口,在远程图像监控设备中完成硬件的初始化、控制等功能,同时又负责图像的压缩和传输。它是所有设备的控制中枢,因此这里着重描述下位机软件的工作流程,如图5所示。

    为了省电,一些像SAA7113、摄像机和夜视红外灯等大功耗的器件和设备只有在需要时才工作,所以这些设备在初始化时都是断开电源的。

    下位机程序读取保存在设备上的设备ID号(该ID号是唯一的),以及监控服务器的域名/IP地址和端口,然后下位机程序作为Socket连接的客户端主动与监控服务器进行连接。连接成功之后,送出设备的ID号。这时如果有监控的客户端想要查看某个远程监控设备的图像,只要向监控服务器发出请求,告诉服务器要连接的设备ID号,服务器就会根据这个ID号对应的Socket句柄,为客户端和远程监控设备建立一个Socket连接通道。

    3 总结

    远程图像无线监控系统在高压输电线路的覆冰监测中得到了成功的应用。在野外全天候环境下,适时准确地监测高压输电线路覆冰厚度,同时发出预警处理信息,从而有效地避免了断缆事故的发生。

    远程图像监控技术是随着计算机技术、数字通信技术、网络技术、自动控制技术以及LSI、VLSI集成电路的发展而发展的,而基于ARM9嵌入式处理器的本系统正是这些技术学科相互交叉和融合发展的集中体现。实践证明,ARM9处理器的低功耗、高性能和多功能的特性满足了远程图像监控的许多特殊需求,是实现远程图像监控的很好选择。

 

 

 

关键字:S3C2440  远程图像无线监控 引用地址:基于S3C2440处理器的远程图像无线监控系统设计方案

上一篇:ARM中国阵营中国运动,挑战不断
下一篇:ARM多功能装置,坚固高效能及低功耗

推荐阅读最新更新时间:2024-03-16 12:48

s3c2440上MMC/SD卡驱动的分析(一)
一、开发环境 主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand, Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2 二、MMC/SD介绍及SDI主机控制器 首先我们来理清几个概念: MMC:(Multi Media Card)由西门子公司和首推CF的SanDisk于1997年推出的多媒体记忆卡标准。 SD:(Secure Digital Memory Card)由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制的新一代记忆卡标准,已完全兼容MMC标准。 SDIO:(Secure Digital Input and Output
[单片机]
S3C2440裸机------LCD_画点线圆
1.画点 我们首先实现画点的函数, #include lcd.h /* 实现画点 */ /* 获得LCD参数 */ static unsigned int fb_base; static int xres, yres, bpp; void fb_get_lcd_params(void) { get_lcd_params(&fb_base, &xres, &yres, &bpp); } /* rgb: 0x00RRGGBB */ unsigned short convert32bppto16bpp(unsigned int rgb) { int r = (rgb 16)& 0xff; int
[单片机]
第2天-S3C2440 GPIO
General Purpose Input Output (通用输入/输出)简称为GPIO,或总线扩展器,利用工业标准I2C、SMBus或SPI接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。 S3C2440A has 130 multi-functional input/output port pins and there are eight ports as shown below: Port A(GPA): 25-output port Port B(GPB): 11-input/out port Port C(GPC):
[单片机]
高级电源管理芯片FS1610及其应用
0引言 Fsl610是一款采用专利数字技术生产的高级电源管理控制器件,该器件可为数码相机、智能手机、个人PDA和笔记本电脑等移动设备提供完全可编程的电源系统解决方案。与传统的电源管理方法相比,FSl610能节约20~40%的PcB面积,此外,其完全可编程的专利数字技术.还能极大缩短研发周期.加快产品上市进程。 1 FSl610的主要功能 IS1610内部的电压检测主要针对的是FSl610芯片的供电输入,而器件的输出则包括8个高效开关电源和3个低功耗LDO,表l所列是其电源输出列表。需要注意的是,FSl610的输出电压和电流都会受到输入电压、电感、电容以及外部诸多元件因素的影响。 l 1电源输出 FSl610提供有8个
[单片机]
高级电源管理芯片FS1610及其应用
s3c2440实时时钟中断
s3c2440实时时钟(RTC)中,定义了两个中断源:报警中断和时间节拍中断。前面有网友问到了这两个中断的用法,最近我抽出时间对这两个中断研究了一番,发现这两个中断都很实用。现在就给大家介绍一下它们的用法。 时间节拍中断,顾名思义,就像一个节拍器,可以等时性的控制节拍。因此它类似于定时器中断。但时间节拍中断是毫秒级的,而定时器中断可以达到微秒,甚至更小级别。时间节拍中断的周期公式为:(n+1) 128,单位是秒,即每隔这么长时间,会中断一次。其中n的值为1~127,它存储在寄存器TICNT的低6位中,当寄存器TICNT的第7位被置1时,表示开启时间节拍中断,这时n递减,当减为0时,进入时间节拍中断。 报警中断可以
[单片机]
基于ARM9系统的远程图像无线监控的设计
对图像监控系统,用户常常提出这样的功能需求:希望能够监控距离较远的对象。这些对象有可能分布在郊区、深山,荒原或者其他无人值守的场合;另外,希望能够获取比较清晰的监控图像,但对图像传输的实时性要求并不高,很明显,用传统的PC机加图像采集卡的方式很难满足这样的需求。 在嵌入式领域,ARM9系列微处理器在高性能和低功耗方面提供了最佳的性能,因此选用ARM9嵌入式处理器S3C2440设计实现了一个远程图像光线监控系统通过这个系统,可以远在千里之外控制一个摄像机进行图像采集并回传。如果这个摄像机有一个485接口的云台,还可以通过互联网远程控制摄像机的取景角度、镜头拉伸、聚焦等功能. 除了获取图像数据.系统还提供了多路开关控制和
[单片机]
基于ARM9系统的<font color='red'>远程</font><font color='red'>图像</font><font color='red'>无线监控</font>的设计
基于MDK+jlink平台s3c2440裸机程序
硬件:mini2440 编译器:MDK3.50 调试工具:J-LINK 此工程只能在SDRAM中调试,不能脱机运行(如何烧写到NAND中运行,等续)。 1、建立MDK工程 A.在你的工作目录下建立S3c2440-Beep文件夹,在此文件夹下建立Obj文件夹。 B.打开MDK,在project菜单下点击 New uvision Project ,输入工程名称为S3C2440-Beep,保存, C.选择CPU, Samsung - S3C2440A ,点击OK, D.弹出是否将S3C2440启动代码添加进Project,选择“是”。 2、配置 A.在C:\Keil\ARM\Boards\Samsung\S3C244
[单片机]
S3C2440 音频解码芯片WM8976声卡驱动移植 (三十一)
本节学习: 分析linux中的OOS声卡系统 修改s3c2410-uda1341.c的控制部分,移植wm8976声卡 使用madplay应用程序播放mp3 本节常用英语单词: volume:音量,dsp:数字信号处理(Digital Signal Processing),mixer:混音器,unit:单位,个体 1、声音三要素 采样频率 音频采样率是指录音设备在一秒钟内对声音信号的采样次数,常用的采样率有: 8KHz ---电话所用采样率,对于人的说话已经足够清楚 22.05KHz ---无线电广播所用采样率 32KHz ---miniDV数码视频、DAT所用采样率 44.1KHz ---音频CD,也常用于
[单片机]
<font color='red'>S3C2440</font> 音频解码芯片WM8976声卡驱动移植 (三十一)
热门资源推荐
热门放大器推荐
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved