基于AT91RM9200的嵌入式网络摄像机分析

发布者:温馨如家最新更新时间:2018-02-03 来源: eefocus关键字:AT91RM9200  嵌入式  网络摄像机 手机看文章 扫描二维码
随时随地手机看文章

前 言


     随着通信技术和网络技术的迅猛发展,通过网络远程实时监控重要场所已倍受人们关注,网络摄像机在此背景下产生,并成为人们关注的焦点。网络摄像机要将高清晰度的实时视频信息通过互联网传送到监控终端,因其信息量巨大,所以必须压缩。通常人们采用DSP与MPEG-4算法相结合的方案来实现,不仅编程工作量大,而且产品的成本高。本文所介绍的网络摄像机采用专用的MPEG-4压缩芯片、以嵌入式Linux作为操作系统,不仅开发便捷、成本低廉,而且实时性好,适用范围广。

 

2. 系统总体设计
系统总体设计包括硬件设计和软件设计两部分。硬件设计模块主要包括微控制器模块、压缩编码模块、网络接口模块和相机控制模块四部分。微控制器模块主要由主控芯片、DataFlash和SDRAM(1)组成。其中,主控芯片是整个控制系统的核心,它负责整个系统的调度工作。DataFlash里固化了嵌入式Linux内核、及其文件系统、应用软件和系统配置文件。SDRAM(1)作为内存供系统运行使用。压缩编码模块由视频数据采集芯片、MPEG-4压缩编码芯片、SDRAM(2)组成,负责将视频流转化为MPEG-4码流。网络接口模块主要是配合主控芯片传送MPEG-4码流。相机的控制模块主要由串口芯片组成,其完成转发控制相机命令的功能。当系统启动时,微控制器通SPI(Serial Peripheral Interface,串行外设接口)将Linux内核转入SDRAM(1)中,系统从SDRAM(1)中启动。系统启动后,微控制器通过HPI(Host Peripherial Interface, 主机接口)控制MPEG-4编码模块。统结构如图1所示。

图1 系统结构框图
软件设计部分主要包括嵌入式Linux移植、MPEG-4压缩编码模块、CGI控制程序和MPEG-4解码程序四部分。嵌入式Linux系统存放到由AT91RM9200控制的DataFlash里,它负责整个系统软件的调度工作。MPEG-4压缩编码模块主要负责模拟视频流的采集,并将数字视频流压缩为MPEG-4数据流。CGI控制程序主要负责对摄像机的控制和对MPEG-4视频流的相关设置。MPEG-4解码程序主要负责对通过网络得到的MPEG-4数据流的解码工作。
3. 硬件设计
3.1微控制器模块
微控制器是本系统的核心部件,选用的是ATMEL公司的AT91RM9200。它是一款基于ARM920T核的32位微控制器。其主频为180MHz,处理速度快,功能强,性价比高,能很好满足嵌入式Linux系统的需求。它在系统中的主要作用是在系统上电时配置其他芯片的功能寄存器,在正常工作状态下调度控制整个系统工作,通过片内以太网控制器控制物理层芯片发送码流。
    AT91RM9200通过片内的SPI总线和SDRAM控制器实现对外围DataFlash和SDRAM的控制,利用片内的USART实现对串口芯片的控制,通过片内的以太网控制器对片外网络芯片进行控制。其控制原理图如图2所示。

图2 控制原理图
3.2压缩编码模块
压缩编码模块包括模拟视频采集模块和MPEG-4压缩模块。视频采集芯片采用TI公司的TVP5150,数据压缩芯片采用映佳公司的MPG440。TVP5150输入端可是两种混合视频信号也可是S-Video端子的视频信号,支持NTSC、PAL、SECAM等3种制式,其输出的数据色彩格式可以为8bit 4:2:2数字信号或者8bit同步ITU-R BT.656数字信号。MPG440芯片具有符合工业标准的16b/32b的双向主机接口,分别用来与视频采集芯片和微控制器芯片通信。同时,具有移动侦测、防伪水印、动态调整IP画格比率、动态调整图像质量等特性,支持D1、VGA、CIF、QVGA、QCI等五种分辨率模式。微控制器通过主机接口实现MPG440的初始配置,也由此接收MPEG-4码流。压缩编码模块的硬件设计原理如图3所示。

     

    TVP5150 的AI 模拟输入口与模拟摄像头输出端连接, 向视频处理芯片传送模拟视频信号。模拟信号经过采样处理之后通过YOUT0~YOUT7 引脚送到MPG440, 采样数据在PCLK 的上升沿有效, MPG440的VIDEO_CLK 在收到PCLK 的上升沿时获得YOUT的信号。TVP5150 分场同步脉冲和行同步脉冲, 分别对应其输出端VSYNC、HSYNC。MPG440 正是根据与之相连的VSYNC 和HSYNC 信号线来实现图像的场同步和行同步操作。MPG440 的视频输入数据线DATA_TV0 ~DATA_TV7 与TVP5150 的YOUT0 ~YOUT7 相连。MPG440 在接收数据的同时, 将其得到的数据流传送给MPEG- 4 压缩编码单元, 编码后的MPEG- 4 数据流暂存到SDRAM(2)中。MPG440 片内PDMA 控制器根据配置寄存器的设置准确发起对SDRAM(2)访问, 同时将得到的数据流输送往HPI(主机总线接口,Host Peripherial Interface) , 以等待AT91RM9200 通过DMA 通道将数据发送到网络。

    MPG440 通过HPI 与AT91RM9200 通信,AT91RM9200 将MPG440 的寄存器、存储空间等资源作为其本身内存寻址访问。MPG440 由AT91RM9200选通线NCS4 来选通, 其在AT91RM9200 寻址空间中的地址段为0X50000000 到0X5FFFFFFF。通过对MPG440 一系列寄存器的设置, 可以访问MPG440 系统存储空间。MPG440 中断信号RSC_INT0 从通用I/O引脚的PB29 输入, 当缓冲器填满时, RSC_INT0 引脚置低提示AT91RM9200 通过DMA 通道提取MPEG- 4数据流。编码后视频数据读取过程和MPG440 与主机通信过程由AT91RM9200 读信号CFRD 和写信号CFWE 控制。

    网络模块

   网络模块硬件设计原理如图4 所示。

     

    AT91RM9200 的在片以太网卡端口和网络物理层芯片DM9161E 的MII 接口通信。发送数据时, 首先置发送使能信号ETXEN 有效。数据发送端ETX0~ETX1与DM9161 的ETXO~ETX1 引脚对应连接, 作为数据发送通道, 以DM9161E 的时钟信号REF_CLK 发送数据。数据接收端ERX 0~ERX1 与DM9161E 的RXDO~RXD1 引脚对应连接, 作为数据接收通道。管理时钟信号EMDC 和管理数据输入输出信号EMDIO 用来芯片控制参数的写入和读取。DM9161E 的MDINTR 端用来产生中断信号。

    片内以太网卡通过DMA 通道进行数据的发送,不影响AT91RM9200 的正常运行。首先正确设置传送控制寄存器和传送地址寄存器的传送数据块字节数、数据块存储首地址等参数, 随后依次从指定数据存储区地址读取1024b 数据, 送入内部发送缓冲器中, 由MAC 对数据进行封装发送, 同时记录已传送字节数,直到数据块发送完毕。当发送完一组数据后, 发出DMA中断请求, 由AT91RM9200 进行相应的处理。整个网络子系统电路由AT91RM9200 控制和调度。

    软件设计

    嵌入式Linux 系统主要由四个部分组成: 引导内核启动的文件( bootloader) 、Linux 内核文件( kernel) 、虚拟磁盘文件( ramdisk) 、用户空间文件( user) 。它们分别被放在DataFlash 内的四个分区模块中。根据不同模块的具体功能采用不同的文件系统: bootloader、kernel、ramdisk, 移植完成后不需要动态改变, 使用较节省空间的ROMFS 只读文件系统user 模块内放置一些可以动态更新的配置文件等, 需要进行较多的读写操作, 所以使用支持动态擦写保存的JFFS2 文件系统。

    Linux 移植技术已经成熟, 本文不作详细的阐述。下文主要介绍MPEG- 4 压缩编码模块和CGI 模块的程序设计。

    MPEG- 4 压缩编码模块程序设计

    该模块主要完成MPG440 和TI5150 相关寄存器的配置, 并保证MPEG- 4 码流的正常输出。当嵌入式Linux系统启动后,首先配置MPG440 的相关寄存器, 其初始化完成后, 通过I2C总线对TVP5150 进行初始化配置。当系统开始压缩编码时,MPEG- 4 码流接收存储程序由MPEG- 440 的数据流缓冲器标志信号控制。当1024b 缓冲器满时, RISC_INT0 置于低电平, 微控制器通过DMA通道从MPG440 的HPI 口将码流送到PC 机端。MPEG-4 压缩编码模块程序流程如图4 所示。

     

   

     

    CGI 程序模块设计

    CGI(Common Gateway Interface) 是外部扩展应用程序与WWW 服务器交互的一个标准接口。本系统CGI 的工作过程: 在PC 机端的IE 浏览器中输入网络摄像机IP 地址, 嵌入式网络服务器根据请求, 将相应的控制页面反馈给IE 浏览器, 用户填写表单, 然后提交, CGI 程序提取表单的信息, 根据不同信息来分别处理相应的事件, 如调节MPEG- 4 相关属性、相机的相关操作等。CGI 控制原理如图5 所示。

    CGI 模块的设计主要包括三部分: 嵌入式web 服务器的配置、html 页面的编写、CGI 程序的设计。

     

    嵌入式web 服务器采用的是APAChe, 其配置是以配置文件的形式提供, 放在Ramdisk 中/etc/httpd/conf/目录下。其配置主要涉及以下三个方面:

    ①配置根文件的路径:“DocumentRoot /home/httpd/html”, html 页面必须放到此目录下。

    ②配置CGI 外部程序所放的路径:“ScriptAlias /cgi- bin/ home/httpd/cgi- bin/”。

    ③配置环境变量:“SetEenv D_LIBRARY_PATH=/lib:/usr/LOCal/lib:/usr/lib”, 该变量将会被传送到CGI 脚本和SSI 页面, 以保证CGI 程序能正确找到所依赖的库。

    网页编写采用html 与shtml 相结合的方式。html 的解析速度较快, shtml 可以在普通网页中嵌入外部CGI程序, 通过这种方式将系统的默认配置反馈给客户端。

    CGI 程序采用的是C 语言和shell 脚本相结合的方式, 具体编写过程, 与通常的了Linux 下编程相同。限于篇幅, 不再赘述。

    MPEG- 4 解码程序

    映佳科技已提供供二次开发的MPEG- 4 解码插件OCX, OCX 在PC 机端注册后, OCX 函数可方便地被网页调用, 从而实现在PC 机端观看实时图像。

    总结

    本文介绍了一种利用AT91RM9200、TVP5150,MPG440 和DM9161E 等芯片设计的嵌入式网络摄像机。经测试, 该系统稳定、可靠、实时性好、图像质量出色。该产品可广泛应用于交通监控和工业监控以及家庭监控、视频会议话等众多领域。


关键字:AT91RM9200  嵌入式  网络摄像机 引用地址:基于AT91RM9200的嵌入式网络摄像机分析

上一篇:STM32:集成开发环境IDE
下一篇:基于嵌入式Linux的矩阵键盘驱动程序研究

推荐阅读最新更新时间:2024-03-16 15:54

4412嵌入式开发板学习笔记(一)
新手在进行开发学习前,建议先看01-迅为电子开发板入门视频。对开发板和开发环境有一定的了解后,不要盲目接线开机。以下是个人的一点经验,和大家分享一下。 补充:这是第一份笔记,主要是提供给刚拿到板子的同学,2、3分钟就可以看完,避免你走歪路。实际上视频上都有,我只是整理了一下。之后我大概不定期会陆续上传一些我的学习笔记分享给大家,希望大家可以给出建议。以后可以的话会整理一下,打包上传,也给后来学习的人一个参考,方便大家共勉。 注:我使用的是4412精英版+7寸屏+SCP封装+2G内存+16G闪存。其他版本可能会有一点点区别,但不影响学习。 一、开机前检查: 1.电源适配器(5V/2A):插到图上左下角POWER
[单片机]
4412<font color='red'>嵌入式</font>开发板学习笔记(一)
利用商业化平台进行嵌入式系统的快速开发
      嵌入式系统的应用已经相当的广泛,曾有专家预言——嵌入式系统的明天就相当于PC的今天,如今从某种程度上讲预言已经实现,嵌入式系统被广泛应用于工业设备、汽车航空、医疗电子、消费电子等领域,与此同时市场竞争也愈加激烈,如何快速地将符合需求的产品投入市场成为在竞争中保持一席之地的关键。然而,随着系统构架的日益复杂化,例如,多核多任务的环境,MPU、DSP和FPGA混合编程,以及处理器和开发工具的多样化等,都给嵌入式系统开发人员带来了很大的挑战。第三方独立市场预测机构Embedded Market Forecasters(EMF)在对900多名嵌入式系统开发人员进行调研后指出,超过50%的嵌入式设计比预期时间晚上市,而平均延迟时
[嵌入式]
USB海量存储类设备功能在ARM系统中的应用
技术发展到今天的信息时代,数据的存储和传输在嵌入式系统有了越来越重要的地位。而USB是目前设计成熟、应用广泛且使用极为简捷的技术,USB传输是一种高效方便的数据传输方式。基于上述原因,本文重点论述基于USB的海量存储(USB Mass Storage)设备功能在ARM嵌入式系统中设计和应用。使用该设备功能,上位机可以像读写普通U盘一样对于系统采集并存储在FLASH中的数据进行读写。 1 硬件方案 l.1 器件简介 S3C44B0X 是SAMSUNG公司出品的基于ARM7TDMI内核的RISC型微处理器,8 kB指令和数据共享的缓存,主频可达66 MHz,可以运行16位的Thumb指令和32位的ARM指令,且接口丰富,具有通用
[缓冲存储]
基于嵌入式处理器MCF5272家庭蓝牙网关的实现
引言 信息家电(IA,Information Appliances)是融合了计算机和通信技术的新型消费电子产品,随着信息家电进一步数字化、网络化、智能化和自动化的发展趋势,出现了家庭网络。而由于蓝牙技术低成本、低功耗、低复杂性、高效率、高可靠性、强互操作性和良好兼容性等特点,使其被家庭网络所接受。为了合理有效地管理网络中的家电,并使其顺利地实现与家庭网络以外的因特网、移动通信网甚至固定市话网之间的通信,蓝牙网关的如何实现则成为问题的关键。本文基于蓝牙技术,介绍了用Motorola公司的嵌入式处理器MCF5272来实现家庭蓝牙网关的具体方案。 一、蓝牙与家庭网络 蓝牙(Bluetooth)是一种近距离无线通信技术规范,用来描述
[单片机]
基于<font color='red'>嵌入式</font>处理器MCF5272家庭蓝牙网关的实现
嵌入式系统离线测试
  引言   随着嵌入式系统的发展,迫切需要在嵌入式系统开发阶段对嵌入式系统进行离线测试与分析,以保证系统的软件应用程序、硬件具有兼容性、高可靠性和高可用性,迅速发现并准确定位系统中存在的问题。本文结合上海贝尔阿尔卡特股份有限公司开发的宽带交换系统,讨论离线单板硬件测试方法和系统测试方法。   离线单板硬件测试概述   在宽带交换机系统中,离线测试包括自检测试和一般的离线测试。自检测试是单板初始化完成后为了保证板子的正确运转进行的测试。它主要包括看门狗测试、快速硬件器件测试和下载通路测试。  快速硬件测试完成寄存器测试和单板上单个硬件设备测试,其中又包括许多测试项。如果某一测试项测试失败,整个测试就会停止直到看门狗超
[测试测量]
基于嵌入式LINUX的车载导航系统设计
1 引言 车载电子设备在技术水平上的不断提高已经成为现代汽车发展的重要标志之一,而车载导航设备是其中重要组成部分。它要将数据通讯系统,影音娱乐系统,定位系统,电子控制系统实时显示出来,让用户得到充分的驾驶信息,以ARM 及嵌入式操作系统为技术核心,为车辆驾驶者提供安全行驶所必需的路况、地理信息的车载导航系统目前正在全世界得到越来越广泛的应用,大大提高了用户驾驶体验与车辆运行的安全性。 但目前市场上的车载导航系统多使用 WinCE 作为操作系统,不仅软件使用价格昂贵,而且对硬件要求较高,运行速度偏慢。本文提出并设计了一种基于GPS 和GPRS,使用嵌入式32 位处理器和嵌入式Linux 的车载导航系统。该系统采用S3C2440A
[单片机]
基于<font color='red'>嵌入式</font>LINUX的车载导航系统设计
飞思卡尔面对日益增长的消费、工业和汽车市场扩展8位MCU
广受欢迎的S08 MCU系列增加了30种高度集成的器件,包括USB连接、5V 操作和电机控制选件 2007年11月28日,中国深圳(飞思卡尔技术论坛)–– 飞思卡尔半导体面向消费、工业和汽车应用的日益扩展的8位S08系列产品中新增了30种高度集成的微控制器(MCU)。这些最新MCU可以为嵌入式产品设计人员提供更多选择,使他们可以利用经济高效的8位选件来支持5V 操作、高级电机控制和更广泛的外围设备(从USB到LIN)来满足他们的应用需求。 S08JM60 系列:飞思卡尔的 8位USB MCU解决方案 MC9S08JM60器件为飞思卡尔的8位嵌入式USB系列产品增加了更高性能和集成度。这个日益增长的系列中的8种器件带有全速U
[新品]
基于嵌入式Web服务器的智能温室监控系统
摘 要 阐述了一个温室大棚的自动控制系统。该系统使用Luminary公司的LM3S102处理器以及精简的TCP/IP协议栈,构建了嵌入式Web服务器,实现基于以太网的智能温室大棚监控功能。系统通过对光照强度、温度、湿度等信号的采集,使用户可以在任意计算机终端上通过IE浏览器远程监控大棚状态,实现对大棚电动卷帘机、温室电热器、植物生长灯、微管喷滴灌等系统的实时控制。用户也可通过LCD屏与键盘实现大棚的实地监控。系统采用PoE技术,不需要额外的输电线,充分利用了LM3S102外设,使测控系统适应基层生产的需要。 关键词 温室监控 嵌入式 以太网供电 协议栈 Web服务器 LM3S102 现代化的温室监控系统用来实时采集温室内温度
[工业控制]
基于<font color='red'>嵌入式</font>Web服务器的智能温室监控系统
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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