|
一种基于AT91RM9200的嵌入式网络摄像机设计方案
$ q) F- [% E+ M/ M2 g) c) w! z时间:2007-5-11 12:04:43 发布:daichao 人气:10
" k* ~$ T m4 J! g5 j( 来源:微计算机信息)本文介绍了一种基于AT91RM9200的嵌入式网络摄像机设计方案.该系统以嵌入式Linux作为操作系统,采用MPEG-4的专用编码芯片对采集到的数字视频进行压缩编码,生成MPEG-4码流。MPEG-4码流经过AT91RM9200控制器外接的网络芯片被输送到PC机。PC机端通过内嵌MPEG-4解压插件的IE浏览器来播放视频和控制网络摄像机的状态变化。 , r1 U, e; B: g5 O
系统总体设计
. ?/ ]$ S8 K6 C9 Z, n! N. S系统总体设计包括硬件设计和软件设计两部分。硬件设计模块主要包括微控制器模块、压缩编码模块、网络接口模块和相机控制模块四部分。微控制器模块主要由主控芯片、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所示。 % { b9 W! L' @- u$ c
, {5 Y. B$ Y! Q0 M% n- i图1 系统结构框图
& c7 Q3 h/ j$ g I8 h7 B. ]软件设计部分主要包括嵌入式Linux移植、MPEG-4压缩编码模块、CGI控制程序和MPEG-4解码程序四部分。嵌入式Linux系统存放到由AT91RM9200控制的DataFlash里,它负责整个系统软件的调度工作。MPEG-4压缩编码模块主要负责模拟视频流的采集,并将数字视频流压缩为MPEG-4数据流。CGI控制程序主要负责对摄像机的控制和对MPEG-4视频流的相关设置。MPEG-4解码程序主要负责对通过网络得到的MPEG-4数据流的解码工作。 A; T: C P3 }/ M7 d
3. 硬件设计 0 w* h: z: t4 P- h
3.1微控制器模块
$ v% D5 w* T/ d( i) b& \4 }微控制器是本系统的核心部件,选用的是ATMEL公司的AT91RM9200。它是一款基于ARM920T核的32位微控制器。其主频为180MHz,处理速度快,功能强,性价比高,能很好满足嵌入式Linux系统的需求。它在系统中的主要作用是在系统上电时配置其他芯片的功能寄存器,在正常工作状态下调度控制整个系统工作,通过片内以太网控制器控制物理层芯片发送码流。
! w+ R) @8 }5 \8 TAT91RM9200通过片内的SPI总线和SDRAM控制器实现对外围DataFlash和SDRAM的控制,利用片内的USART实现对串口芯片的控制,通过片内的以太网控制器对片外网络芯片进行控制。其控制原理图如图2所示。 t! Q/ S. w! I0 W H
7 {+ h1 X: C O* E) A5 s$ t T' |3.2压缩编码模块 - c; |8 `$ E) x/ d
压缩编码模块包括模拟视频采集模块和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所示。
8 r2 R. [+ c, n5 T, W图3 压缩编码电路 ! _" \( @; G. Q- c3 X& p, C
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通道将数据发送到网络。
# J, ]4 E1 A) P' u* R3 l$ TMPG440通过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控制。
2 [7 @+ t- C; Z; q, ]3.3网络模块
" ?- x8 ]2 C7 l3 y) w网络模块硬件设计原理如图4所示。 ) {* \. D0 N1 i
图4 网络模块电路
) N- S: [4 N& G0 _5 DAT91RM9200的 |
|