以嵌入式Linux 作为操作系统的网络摄像机
2022-08-02

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

 系统总体设计

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

 系统总体设计

  软件设计部分主要包括嵌入式Linux 移植、MPEG- 4 压缩编码模块、CGI 控制程序和MPEG- 4 解码程序四部分。嵌入式Linux 系统存放到由AT91RM9200 控制的DataFlash 里,它负责整个系统软件的调度工作。MPEG- 4 压缩编码模块主要负责模拟视频流的采集, 并将数字视频流压缩为MPEG- 4 数据流。CGI 控制程序主要负责对摄像机的控制和对MPEG- 4 视频流的相关设置。MPEG- 4 解码程序主要负责对通过网络得到的MPEG- 4 数据流的解码工作。

 硬件设计

  模块

  微控制器是本系统的核心部件, 选用的是ATMEL公司的AT91RM9200。它是一款基于ARM920T 核的32位微控制器。其主频为180MHz, 处理速度快, 功能强, 性价比高, 能很好满足嵌入式Linux 系统的需求。它在系统中的主要作用是在系统上电时配置其他芯片的功能寄存器, 在正常工作状态下调度控制整个系统工作, 通过片内以太网控制器控制物理层芯片发送码流。

  AT91RM9200 通过片内的SPI 总线和SDRAM控制器实现对外围DataFlash 和SDRAM的控制, 利用片内的USART 实现对串口芯片的控制, 通过片内的以太网控制器对片外网络芯片进行控制。其控制原理图如图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 控制。

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 嵌入式系统的运算处理架构

    硬件三人行,专注于工程师在线教育。以模拟电路课程和PCB实战课程为主,以基于stm32的算法课程和产品结构课程为辅。满足5年以下工作经验的硬件工程师技术提升需求

    昨天
  • Linux Kernel是如何工作的

    ( 作者:杨东杰)  本文发表于LinuxFormatmagazine杂志,作者从技术深度上解释了LinuxKernel是如何工作的。相信对Linux

    08-11
  • Linux在PMP消费类电子产品上的应用

      Linux是一种适合于嵌入式系统的开源操作系统,可以高效地处理各种复杂的任务。从基于TIDM320的PMP解决方案入手,以TIDM320平台为例,提出一种在

    08-11
  • C51中的关键字和ANSIC标准关键字

    1、C51中的关键字2、ANSIC标准关键字作者:武力戡乱来源:武力戡乱的博客

    08-11
  • Watchdog的原理和配置

    一、Watchdog介绍单片机的watchdog一般都有两个,一个是独立看门狗IWDG,一个是窗口看门狗WWDG。以STM32为例,STM32的独立看门狗是一个

    08-11
  • BSP在嵌入式开发中的位置和作用

    BSP是板级支持包,是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。BSP是相对于操

    08-11
  • 6步移植Lua代码

    Lua代码符合ANSIC标准,只要有C编译器的开发环境就能跑Lua。虽说只要有C编译器就能跑Lua,但是单片机的环境太简单,有些C标准的内容仍旧无法支持。Lua

    08-11
  • 为什么单片机管脚设计成低电平才有效?

    它是由常用的电路结构所决定的,低电平时电路往往有较高电平时更低的环路阻抗,而低阻抗则意味着抗干扰能力更强。结合实际讲一个有用的例子来加深印象:有的同学可能已经学

    08-11
  • 单片机硬件设计去耦和供电

    1、建议在印制电路板中,VDD和GND分别由电源层和地层实现。连接到AVDD和AGND引脚的模拟电源应直接布线到电源层和地层,它们不能和任何一个数字电源共享线路

    08-11
  • 设计单片机线路板时有指示灯的好处

    在设计单片机线路板的硬件的时候,一般都有指示灯,有时还不止一个,这样做是为什么呢?下面我来简要说一下自己设计电路板和软硬件调试的时候,指示灯所起到的不可忽视的作

    08-11
  • ARM Contex三个系列的区别

    从cortex开始,分为三个系列,a系列,r系列,m系列。m系列与arm7相似,不能跑操作系统(只能跑ucos2),偏向于控制方面,说白了就是一个高级的单片机。

    08-11
  • 51单片机程序的几个特点

    本篇我们将分析上一篇所写的程序代码。未来学习单片机的大部分精力,我们也将放在程序代码的编写上。但是不用担心,我会非常详细的介绍每个程序的编写思路和各种注意事项等

    08-11
下载排行榜
更多
广告