当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于W90N740的MEPG-2数字视频编码机

摘要:目前MPEG-2 over IP产品因其图像质量高,并采用以太网传输技术而在轨道交通、高速公路监控领域中得到广泛的应用。本文介绍了一种基于W90N740微处理器的MPEG-2编码机,并从硬件和软件两个方面阐述了如何实现视频图像的传输和控制。 
关键词:MPEG-2  W90N740  FPGA  uClinux

    随着微电子技术和以太网技术的发展,MPEG-2产品正逐步从传统的模拟传输,向采用IP/ATM传输发展。MPEG-2 over IP是采用以太网传输技术,将MPEG-2视频传输流(TS流)通过以太网进行传输的产品。

    如何更好将MPEG-2和以太网传输控制实现有机地结合起来,是研究实现MPEG-2 over IP的重点。本文围绕着这个重点而展开。

1.系统工作原理
    典型的MPEG-2 over IP结构如下图1所示。MPEG-2 over IP主要包括MPEG-2编码模块和通信控制模块。MPEG-2编码模块实现对模拟视音频的PMEG-2压缩编码;通信控制模块实现对MPEG-2编码模块的控制、MPEG-2 TS流的采集和在以太网上的传输。 

2.编码机系统的实现
    根据典型的MPEG-2 over IP产品结构,将编码机硬件体系设计分为MPEG-2编码模块和通信控制模块两个部分。

2.1.MPEG-2编码模块
2.1.1.MPEG-2编码模块的构成
    MPEG-2编码模块采用日本富士通公司的MPEG-2编码处理芯片MB86391、SAA7114视频处理芯片、SC5340音频处理芯片和Atmel公司的AVR 8位微处理器Atmega16等构成。其原理图如下图2所示。


2.1.2.MB86391介绍
    MB86391的内部框图如图3所示。它是在单一芯片中集合了音频/视频编码。编码使用富士通开发的高性能MPEG-2压缩运算法则。集合了内部DPSRClite CPU处理的硬件和软件。

    支持ISO/IEC 11172(MPEG-1)、ISO/IEC 13818(MPEG-2) 标准和MPEG-1音频层-1/2编码功能( ISO/IEC11172-3)。

    支持NTSC和PAL制式的视频格式。视频编码最大输出码率可达20Mbps。视频输入接口采用8位并行接口,音频采用串行接口。支持并行或者串行的主机接口。在串行主机接口模式下,其配置和执行MPEG-2算法的firmware(固件)可通过串行主机接口下载。

2.1.3.MPEG-2编码模块的工作原理
    模拟视频和音频通过SAA7114视频处理芯片、SC5340音频处理芯片进行模数转换和处理,输出给MPEG-2编码芯片MB86391,MB86391芯片按MPEG-2视频格式将数字视音频作压缩编码处理,最后从MB86391的流输出接口输出。

    ATMEL公司的AVR 8位处理器ATmega16为编码模块的CPU,它通过串行总线来控制MB86391和为其下载firmware(MB86391的微码,用于执行编码算法等);ATmega16通过I2C总线与SAA7114和SC5340相连接,完成对前端视音频的控制调节。

    同时ATmega16也肩负着MPEG-2编码模块与通信控制模块的通信控制任务,它通过SPI总线与通信控制模块连接。

    ATmega16在编码模块中主要为通信控制模块和MB86391、SAA7114以及SC5340提供通信控制的桥梁。

2.2.通信控制模块
    通信控制模块是MPEG-2编码机功能的核心。它主要实现对MPEG-2编码模块的控制和传输MPEG-2视频数据流到以太网上的功能。通信控制模块由Winbond公司的32位ARMTDMI核的微处理器W90N740、Lattice公司的FPGA  LFXP3C-5T组成。其原理图如图4所示。

                图4:通信控制模块框图

2.2.1.W90N740的特点
    W90N740是台湾华邦电子公司的一款基于ARM7TDMI核的32位微处理器,内部功能框图如图5所示。

    该处理主要针对路由器网络产品而设计,采用ARM7TDMI核,最高工作频率可达80MHz。提供2个10/100M的以太MAC(媒体访问控制器)、EBI(外部总线接口)总线、4个独立可编程的外部中断源、2个24位的定时计数器和一个24位的看门狗定时器,以及21个可编程通用I/O和一个UART接口。

    内置的两个以太网MAC控制器,每个MAC都有支持IEEE802.3以太网协以引擎和含有DMA控制器和收/发FIFO,支持媒质独立接口MII(Media Inde-pendent Interface)精简媒质独立接口RMII(Reduced MII)。以太网MAC也支持长帧(长度大于1518字节)和短帧(长度小于64字节)两种帧结构。

    EBI控制器支持访问片外SDRAM、RAM/SRAM、ROM/FLASH和I/O设备。提供支持达32M字节的ROM空间、2个最大为32M字节的SDRAM和4个32M的I/O设备空间。

    4个可编程的外部中断源,可独立配置电平触发或者边沿触发方式。

    W90N740的特点非常适合于在MPEG-2 over IP产品中担当通信控制模块的处理器。

2.2.2.MPEG-2编码模块的通信/控制
    MPEG-2编码模块和通信控制模块的通信/控制设计为SPI接口。MPEG-2编码模块为从SPI,通信控制模块为主SPI。W90N740本身没有SPI总线接口。设计时,采用W90N740的通用I/O来模拟一个SPI的主控制器。

    同时,为了保证MPEG-2编码模块和通信控制模块的同步,通行控制模块为编码模块提供一个由W90N740的通用I/O控制的复位引脚,在通信控制模块复位的情况下,让编码模块也能复位。

2.2.3.TS流的采集
    在编码机系统中,TS流的采集是一个重点。设计时使用FPGA设计异步FIFO将MB86391的输出数据流和W90N740的EBI总线连接起来,实现TS流的采集。
其FPGA中的TS流采集部分如图6所示。

    图6的左端是异步FIOF的输入控制部分。它与MPEG-2编码模块的MB86391的图像数据流接口相连。MB86391工作在27M同步并行模式。其输出压缩编码数据流的时序如图7所示:BCLK为同步数据时钟,频率是图像数据流的码率的1/8;STEN是图像数据流数据有效指示;TSPSSUNC是图像数据流同步指示,当一个TS流包(188字节)的第一个字节是0x47时,它为高电平;STDATA是图像数据流的数据。它们分别与图6的TS clk、TS vaild、TS sync、TS D[7..0]相连,8位并行的TS流进过“8bit to 32bit”部分转换输入到32位宽度的异步FIFO进行缓存。

    图6的右端是通信控制模块获取TS流的部分,它占用W90N740的EBI I/O设备接口bank0资源。EBI I/O设备接口bank0配置在32位宽度,以提高W90N740的采集数据的能力。当FIFO中的数据缓存到设定的临界值后,FIFO的flag信号将变为高电平。通过FIFO的flag信号产生送给W90N740的中断申请nIRQ0,通知W90N740图像数据准备好了。

    W90N740的EBI I/O总线时序如图8所示。利用W90N740的系统时钟MCLK作为异步FIFO的读时钟rd clk;通过片选信号nECS0和读选通信号nOE来产生异步FIFO的读允许rd en。

    同时,图6中“控制部分”除了根据W90N740的EBI I/O设备时序产生FIFO的读时序外,它还用W90N740的EBI I/O设备接口和TS vaild信号来产生FIFO的复位,reset信号。 

    采用异步FIFO采集MPEG-2 TS流的设计,降低了图像数据采集占用CPU的时间。为提高整个编码机的性新能起到非常大的作用。

2.3.编码机的软件结构
2.3.1.存储器分配
    大多数的嵌入式系统,采用Flash或者ROM等存储器来存储系统的软件,为了提高系统的运行速度,一般将程序软件放入SDRAM、SRAM或者RAM等快速存储器中运行。

    在我们设计编码机的也采用上面的方式来存储和运行程序代码。为了降低对ROM存储器的容量要求,将程序代码采用压缩方式都放置在16Mbit的FLAS中。其分配使用如表1所示。

2.3.2.软件设计
    Linux操作系统是源代码开放的多任务操作系统,它具有完善的TCP/IP协议栈,支持多任务,成为软件设计的主选对象。

    uClinux是针对没有MMU(内存管理单元)的微处理器而设计的Linux操作系统。它继承了Linux的绝大多功能,支持进程、线程,TCP/IP协议栈功能强大。因此,软件设计选用uClinux操作系统。

    在uClinux操作系统下,将软件分为驱动和上层应用两个部分来设计。驱动负责提供上层应用程序访问底层硬件的接口。应用软件完成编码机的功能。

    在uClinux中进程和线程都是并行运行的,设计时软件按功能划分为模块,设计为进城或者线程。考虑到进程占用内存资源渐多,而线程占用内存资源少,因此、系统软件结构如图9所示应用软件采用进程和线程来设计。应用软件功能模块如图9所示。

                  图9:编码机软件结构   

    划分进程和线程是软件设计的一个关键。分析Linux进程和线程的特点,结合编码机需要用软件实现的功能,将初始化工作(如MPEG-2编码模块的初始化、以太网参数初始化)、条件工作功能(如编码机参数配置、远程升级)设计为辅助进程,这些进程的运行的时间短,只有在系统复位初始化或者条件控制下才运行,并且会退出运行。

    主进程将是一个永远运行的进程,在这个进程中将实现编码的主要功能,如图像数据流在网络的传输、远程控制、用于与其它设备通信的RS-485/RS-232低速数据传输、编码机的状态监测等。这些功能之间相互有着联系,如远程控制可以查询编码机的状态,而编码机的状态随时由编码机的监测更新。因此,将这些功能用线程来实现,在主进程中用全局变量来实现各个功能之间的联系。

    编码机的核心功能——TS流传输线程和远程控制命令处理线程的流程如下图10所示。

                       图10:部分线程流程
结  语
    通过实际设计表明,在MPEG-2 over IP编码机设计中,采用W90N740作为CPU和uClinux操作系统,使得设计简单,灵活,已于维护。实际效果明显,能实时传输10路4M码率的MPEG-2图像给不同的目的IP。

参考文献
1.    Winbond electronics Corp.  W90N740CD/W90N740CDG data sheet.
2.    日本富士通.  MPEG2 1chip Audio/Video Encoder MB86391 Product Specification.
3.    马忠梅、徐英慧.  ARM嵌入式处理器结构与应用基础(第2版).   北京航空航天大学出版社.
4.    余兆明、李晓飞.  MPEG标准及其应用.  北京邮电大学出版社.
5.    张辉.  GNU/Linux编程指南(第二版).  清华大学出版社.
6.    詹俊鹄、于卫译.  实战Linux Socket 编程.  西安电子科技大学出版社








 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭