基于AT91M40800的音频视频处理系统设计
摘要:简要介绍Atmel公司基于ARM7TDMI内核的AT91M40800芯片,并由此介绍一种基于AT91M40800的嵌入式音频视频处理系统的设计。该系统可为楼宇可视对讲、远程实时监控等系统提供良好的解决方案。
关键词:AT91M40800 音频视频处理 嵌入式系统 编解码
引言
图像(音频、视频)采集和处理是现代楼宇自动化、可视对讲、电视会议以及远程实时监控系统等应用中的核心技术。现在市面上的可视对讲和安防监控产品主要是模拟通道的,且采用同轴电费传输。由于模拟信号的抗扰弱等问题,传输的距离有限并且效果不甚理想。将传统的图像模拟化处理改成数字化处理和传输,可以极大地提高图像质量与监控效率,并且使得整个系统易于维护。
随着嵌入式系统的不断发展,甚至ARM或DSP的嵌入式音/视频处理系统正逐步取代传统的图像处理系统,呈现强劲的发展趋势。
1 芯片简介
1.1 芯片基本组成及内部结构javascript:window.open(this.src);" style="cursor:pointer;"/>
AT91M40800是Atmel公司推出的AT91 16/32位微控制器系列中具有很高性价比的一款芯片。它基于ARM7TDMI内核,内含高性能的32位RISC处理器、16位高集成度指令集、8KB片上SRAM、可编程外部总线接口(EBI)、3通道16位计数器/定时器、32个可编程I/O口、中断控制器、2个USART(其中每个各带2个专用外部数据控制器)、可编程看门狗定时器、主时钟电路和DRAM时序控制电路,并配有高级节能电路;同时,可支持JTAG调试,主频可达到40MHz。
AT91M40800内部结构模块如图1所示。
1.2 芯片的总体特性
AT91M40800的ARM7TDMI内核集成了嵌入式ICE接口,片内含两大类总线:系统总线和外围总线。系统总线连接ARM7TDMI内核与片内存储器、外围总线接口以及AMBA桥电路;而外围总线由AMBA桥电路来驱动。通过可编程外部总线接口,可与片外存储器(如Flash、ROM等)直接连接进行数据交换。具有八级优先级别的矢量中断控制器可通过连接外围数据控制器显著提高音频、视频采集的实时性。
2 系统组成及原理
2.1 系统组成结构及芯片选择
本系统主要由以下几大部分组成。
(1)视频A/D转换部分
完成从普通CCD摄像头采集到的模拟视频信号到数字视频信号的转换,主要采用Philips公司的SAA7113芯片。SAA7113是功能强大的可编程视频输入处理芯片,可以同时接入4路视频信号,使用I2C总线技术。
(2)音频编解码部分
主要实现从麦克风进入的音频信号的编解码,采用Philips公司的UDA1344。它将A/D和D/A转换功能集于一身,可以对麦克风输入的模拟声音信号进行A/D转换,形成串行数字音频流。
(3)音频视频磁场强度处理部分
将输入的复合音频、视频流进行压缩处理,核心芯片选用台湾华邦电子的W99200F。该芯片具有强大的内部功能,且有多种工作模式可供选择可供选择,可与音频编解码及视频解码芯片实现无缝连接。
(4)逻辑门控制部分
运用FPGA进行逻辑与时序控制,采用Xilinx公司SPARTAN-IIE系列的XC2S50E逻辑控制芯片。片内集成了多种系统功能,如数字延迟锁相环(DLL)、FIFO存储器、变换器以及总线接口(PCI)等,可并行实现多种算法。
(5)嵌入式数据处理部分
以AT91M40800为嵌入式核心芯片,主要进行系统控制与数据处理。
(6)网络连接部分
通过以太网控制芯片,将音频视频流以UDP包的形式送入网络进行传输。采用Realtek公司生产的RTL8019AS作为主控制芯片。该芯片符合Ethernet II与IEEE802.3标准,采用全双工方式,有8个中断申请线以及16个I/O基地址可供选择。
2.2系统原理框图及工作原理
javascript:window.open(this.src);" style="cursor:pointer;"/>
本系统原理框图如图2所示。
将CCD摄像头采集到的视频模拟信号送入A/D转换芯片进行视频解码。SAA7113芯片将输入的PAL、NISC等不同制式的模拟复位信号解码成亮度、色度信号,输出标准的数字视频YUV4:2:2格式,并产生场同步参考信号VREF、行同步参考信号HREF。同时,音频编解码芯片UDA1344将麦克风输入的模拟声音信号解码,形成的串行数字音频流与输出的数字视频流复合,送入芯片W99200F进行M-PEG格式的图像压缩。该芯片具有视频预处理、图像裁剪、运动估计单元、运动图像补偿、量化表、可变长度编码(产生位流到SDRAM)等强大内部功能,负责将接收到的数据流进行压缩并同步音频、视频信号。压缩处理输出的音、视频流,通过外部缓存FIFO直接输入AT91M40800进行整体系统数据处理。嵌入式系统初始化后,采用中断请求方式来完成数据的采集和程序的存取,同时通过I2C总线初始化A/D转换芯片和控制其工作状态及工作方式。
其间,各部件的逻辑和时序控制是由FPGA来完成的,它控制中断请求以及某些片选信号。XC2S50E内含逻辑运算、数字量监测和接口控制单元等内部资源,在与图像压缩芯片的接口控制中,主要完成地址发生、握手逻辑、时序控制等功能。当检测到SAA7113芯片输出的奇偶同步标志信号RTS0为高电平时,将此作为采集数据过程的时序起点,输出采样使能信号与地址选通信号;而收到像素延时结束信号,又生成相应的写地址和写信号。XC2S50E初始化时,置DONE为低电平,在存储器清零时又置INIT为低,以此复位PROGRAM,将数据流输入。
当收到嵌入式CPU采集数据的有效信号后,它控制A/D芯片采样过程的动作;当完成了一帧数据的采集压缩后,FPGA又向AT91M40800发出中断请求信号并等待响应。系统数据经嵌入式处理器完成处理后,送入以太网控制芯片RTL8019AS,并最终以UDP包的形式传送至网络。如果网络另一端装备有终端机,则收到由网络传输过来的数据后,可对音、视频进行解码,并对视频数据进行回显,对音频数据进行播放。通过同样的一个逆据进行回显,对音频数据进行播放。通过同样的一个逆过程,亦可实现可视对讲的功能。
3 结论与展望
基于AT91M40800芯片的嵌入式音视频处理系统,能保证音、视频的质量和数据处理的实时性,具有很好的可靠性和灵活性。虽然在网络实时传输和系统软件编程上还面临一些挑战,但是随着嵌入式系统和图像处理技术的不断发展,这些都不会成为该系统推广应用的障碍。将其应用在可视对讲、远程监控、可视IP电话等领域,将会具有广阔的发展前景和应用市场。