基于DM642的嵌入式网络视频服务器的设计

时间:2016-09-12来源:网络

(10) 视频编码器端口 。本系统设计视频端口2被用来驱动视频编码器。它通过FPGA U8发送,以实现高级功能,例如OSD。但它在默认方式下是直接通过视频,连接到SAA7105视频编码器。这个编码器可以进行RGB、HD合成视频,NTSC/PAL复合视频的编码,也可对依靠SAA7105内部寄存器进行编程的S-Video进行编码。SAA7105的内部编程寄存器通过 DM642的I2C总线进行配置。 编码器连接到合成的或RGB显示单元。通过标准的RCA插座J2、J3和J4提供RGB图像。J3的绿色输出也可以被用于接口到合成显示单元。4针的低噪声S-VideoJ1也可用。15针的高密度DB接口允许系统驱动VGA种类的监视器。本系统设计高清晰TV输出,但要求更换一些支持HDTV的特殊过滤器。

(11)FPGA视频功能 。本系统设计使用Xilinx XC2S300E系列FPGA来实现增强视频功能和其他的一些连带功能。默认模式下,FPGA通过DM642的视频端口2输出视频到Phillips SAA7105视频编码器。对于HDTV,FPGA提供增强的时钟;对于OSD功能,FPGA提供了FIFOs,将视频端口2的数据与FIFOs端口的数据进行混合。FPGA的FIFOs在通过CE3空间的同步模式下,通过DM642的EMIF进行存取。

(12)以太网端口。在独立的模式下,DM642的以太网MAC被自动选择,并通过CBT发送给PHY。本系统设计使用的是Intel LXT971 PHY。10/100Mbit的端口被隔离,输出至RJ-45标准的以太网接口,J8。PHY直接连接到DM642。在制作过程中,以太网的地址存储在 I2C的连续ROM中。 RJ-45接口具有2个指示灯,使它成为一个完整的端口。2个指示灯分别是绿灯和黄灯,用来指示以太网的连接状态。绿灯亮,指示已连接,绿灯一闪一闪,指示连接正在活动;黄灯亮,指示满双方模式。

二.系统的软件设计。

1.数据流程。(1)输入设备提供的一帧图象被采集到输入缓存,由YUV 4:2:2 格式进行重抽样变为YUV 4:2:0 格式。

(2)图象数据由输入任务模块通过一个SCOM序列提供给处理模块。

(3)提供图象数据给JPEG 编码库程序,动态检测即与以前图象作比较,动态部分被压缩成JPEG 图象并通过SCOM 消息发送到网络任务模块。

(4)网络任务模块建立JPEG 副本,当网上有一个对等端点连接到网络并申请“记录”,网络任务模块发送这些图象到对等端点。

(5)如果网上有一个对等端点请求“回放”连接,网络任务模块将从那个对等端点接收新的JPEG 图象,并发送原始和更新的图象到处理任务模块,消息通过SCOM 序列发送。解码产生的YUV 4:2:0 格式的图象被重新采样成YUV 4:2:2 格式的图象。

(6)JPEG 图象被作为解码器的输入,解码的图象通过SCOM 序列进行传输到输出任务模块。

(7)输出任务模块转换YUV 4:2:0 格式的解码图象成YUV 4:2:2 格式图象并送交显示。显示设备显示输出的图象。

2.数据流图。

3.程序流程。

(1)实验程序采用RF-5来整合JPEG 的编码、解码库。程序使用了6 个任务模块结构。其中4 个任务上图中已描述。第5 个任务是一个控制任务,它使用一个邮箱发送消息给处理任务模块。处理任务模块从邮箱接收消息,并根据消息中指定的图象质量调节图象帧率。第6 个任务模块是网络初始化模块,它由CDB 文件定义处理网络环境的初始化。当网络准备好后,上图中的网络任务模块就被建立。在进入DSP/BIOS 的调度程序之前,程序初始化了多个要使用的模块。包括:

①处理器和系统板的初始化:初始化BIOS 环境和CSL,设置使用128K 的二级高速缓存,设置二级高速缓存可映射到EMIF 的CE0 和CE1 空间,设置DMA 优先级序列长度取最大值,设置二级高速缓存的请求优先级最高,DMA 管理器用内部的和扩展堆初始化。

②RF-5 模块的初始化:系统初始化RF-5 的通道模块,系统初始化RF-5 框架中用于内部单元通讯和传递消息的ICC 和SCOM 模块,各通道建立在内部的和扩展的堆上。

③建立摄入和显示通道:建立和启动一个摄入通道的实例。

(2)在完成初始化工作之后,系统进入DSP/BIOS 调度程序管理下的6 个任务系统。6 个任务通过RF-5 的SCOM 模块互相发送消息。以下是这6 个任务:(A)输入任务。输入任务从输入设备驱动程序获得视频图象。它使用驱动程序提供的FVID_exchange调用从输入设备获得一帧最新视频图象。获得的图象是YUV 4:2:2 格式的,它被重采样成YUV 4:2:0。输入任务接着发送消息到处理任务,消息中包含图象数据指针。接着等待处理任务发送来的消息以继续处理。

(B)处理任务。处理任务包含两个单元。第一个单元是一个JPEG 编码单元,它接受YUV 4:2:0 格式的图象,产生用户定制压缩质量的JPEG 图象。第二个单元是一个JPEG 解码单元,它接收JPEG 压缩图象并生成解压缩图象。解码的图象格式是YUV 4:2:0 的。首先,如果激活标注,则处理任务模块在输入的图象上加注时间码。然后图象被传输给编码算法单元。当JPEG 图象生成后,原始图象将进行动态检测,方法是在固定网格点上进行象素比较。JPEG 图象同动态检测结果都传输给网络任务模块供后续处理。当网络任务模块完成处理后,它将返回一个JPEG 图象给处理任务模块供解码显示。此图可以是刚才传输给网络任务模块的图象或是刚从网络上得到的图象。解码完成后,如果设置标注网格,处理任务模块在图象上标注网格。通过发送一个SCOM 消息,输出的图象接着发送给输出任务。

(C)输出任务。输出任务将图象显示在显示设备上。它使用输出驱动程序提供的FVID_exchange 调用实现图象的显示。它得到的图象的格式是YUV 4:2:0 的,需要重新采样成YUV 4:2:2 格式。然后等待处理任务发来的消息以继续运行。

(D)控制任务。控制任务管理可选参数,可以控制JPEG 图象帧率和压缩质量。控制任务检测参数的改变,这些参数定义在一个全局结构“External Control”,同时将更新的参数复制到任务自定义的结构“External Control_prev”中,并向处理任务模块的邮箱中发送消息。处理任务模块定时检测这些消息并调用相应单元的控制函数。

1 2 3

关键词: DM642 网络视频 服务器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版