基于AT91RM9200的嵌入式网络摄像机设计
随着通信技术和网络技术的迅猛发展, 通过网络远程实时监控重要场所已倍受人们关注, 网络摄像机在此背景下产生, 并成为人们关注的焦点。网络摄像机要将高清晰度的实时视频信息通过互联网传送到监控终端, 因其信息量巨大, 所以必须压缩。通常人们采用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 控制。
关键词: AT91RM9200 网络摄像机
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码