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

发布者:Meshulun最新更新时间:2012-04-06 来源: 安防科技 关键字:DSP  网络  视频服务器 手机看文章 扫描二维码
随时随地手机看文章

引言

目前的安防监控领域的主流产品是DVR(数字硬盘录像机),它的主要特点是适合监控点集中的局域监控应用。但是,随着对于远程分布式监控需求的增长,嵌入式网络视频服务器(以下简称视频服务器)以其可靠性高,组网方便等优点越来越受到安防领域厂商和客户的重视。视频服务器最主要的功能是完成图像和声音的采集、压缩及传输的功能。视频服务器用到的核心技术一般包括视频压缩算法,音频压缩算法,网络传输协议。目前市场上的主流技术主要是MPEG4或H26x 视频压缩算法、AAC 音频压缩算法、G.72x 语音压缩算法(或AAC 音频压缩算法),TCP/IP 协议等。

视频服务器的解决方案有多种选择,但是市场产品的主流一般选择两种方案:(1) CPU+ASIC。该方案选择以ARM 为核的CPU 和专用媒体处理芯片搭建。优点是开发时间相对较短,但由于采用ASIC,灵活性较差,产品一旦定型,很难更改。(2) 采用面向媒体处理的专用DSP。其开发时间不长,优点是由于算法是软件代码,所以可以不断对产品性能进行升级,重复开发成本较低。DM642 是TI 公司推出的一款针对多媒体处理领域应用的DSP,它是在C64x 的基础上,增加了很多外围设备和接口。该DSP 为548 脚BGA 封装,高度集成化。主要外围设备包括:三个可配置的视频接口,可以和视频输入,输出或传输流输入无缝连接。VCXO 内插控制端口(VIC)10/100Mbps 以太网口(EMAC)。数据管理输入输出模块(MDI0)。多通道音频串行端口(McASP)。I2C 总线模块。两个多通道有缓存的串口(McBSPs)。三个32-bit 通用定时器。用户可配置的16-bit 或32-bit 的主端口接口(HPI16/HPI32)。6Mhz32-bit 的PCI 接口。通用I/O 端口(GPIO)。64-bit 的外部存储单元接口,支持和同步或异步存储单元的连接。基于以上几点,本系统采用第二种方案设计。 

系统的硬件设计 

一块TI 公司600MHz 的TMS320DM642 DSP 芯片。独立的、标准的PCI 插卡,3 路视频端口,2 路板上解码器和1路板上编码器,32Mbytes 同步DRAM 通过FPGA 的OSD 4Mbytes Flash memory,10/100 以太网端口通过FPGA 内寄存器执行的板卡软件配置导入加载选项配置。DSP 芯片通过64bit 的EMIF 接口或8/16bit 的3 路视频接口连接板上外围设备。SDRAM、Flash、FPGA 和UART 每一个设备占用其中的一个接口。EMIF 接口也连接扩展背板接口,扩展背板接口用来连接背板。板上的视频解码器和编码器连接到视频端口和扩展连接器上。母板上的2 个编码器和1 个解码器都符合标准规范。McASP 可以通过软件重新设定成为一个扩展接口。可编程逻辑门阵列又被称为FPGA,用来执行板上组合在一起的逻辑程序。FPGA 有基于软件用户端口的寄存器,用户可以通过读写这个寄存器来配置板卡。 

存储器映射 

C64xx 系列DSP 有大量的字节可设定的地址空间。程序代码和数据可被存储在统一标准的32bit 地址空间的任何位置。默认状态下,内部的寄存器从0x00000000 地址空间开始存储。一小部分存储器可由软件重新映射为L2 高速缓存,而不是固定的RAM。EMIF(外部寄存器端口)有4 个独立的可设定地址的区域,称为芯片使能空间(CE0-CE3)。当Flash、UART 和FPGA 映射到CE1 时,SDRAM 占据CE0。背板使用CE2 和CE3。CE3 的一部分被配置给OSD 功能的同步操作和扩展的FPGA 中的其他同步寄存器操作。 

EMIF 端口 

本系统设计一个64bit 长的外部存储器端口。将地址空间分割成了四个芯片使能区,允许对地址空间进行8bit、16bit、32bit 和64bit 的同步或不同步的存取。DM642 板使用芯片使能区CE0、CE1 和CE3。CE0 被发送给64bit 的SDRAM总线。CE1 被8bit 的Flash、UART 和FPGA 功能使用。CE3被设置成同步功能。CE2 和CE3 都被发送给背板接口连接器。 

SDRAM 寄存器端口 

本系统设计在CE0 空间连接了64bit 的SDRAM 总线。这32 兆的SDRAM 空间用来存储程序、数据和视频信息。总线由外部PLL 驱动设备控制,运行在133MHz 的最佳运行状态。SDRAM 的刷新由DM642 自动控制。EMIF 使用的PLL被称为ICS512,PLL 的输入时钟是25MHz。DM642 可以配置EMIF 时钟的原始值。ECLKIN 针脚一般为默认值,但其也可通过分频CPU 时钟,来控制EMIF 的时钟频率。在复位时,通过对ECLKINSEL0 和ECLKINSEL1 针脚的操作进行设置,其与EA19 和EA20 针脚共同分享EMIF 的地址空间。 

Flash 寄存器接口 

本系统设计4M 的Flash,映射在CE1 空间的低位。Flash寄存器主要被用来导入装载和存储FPGA 的配置信息。 

DM642 评估板的CE1 空间被配置成8bit,Flash 寄存器也是8bit。由于CE1 的可利用地址空间小于Flash 的空间,所以利用FPGA 来产生3 个扩展页。这些扩展的线形地址通过FPGA的Flash 的基础寄存器进行定义地址,复位后默认是000。 

UATR 接口 

双重的UART 寄存器被映射在DM642 的CE1 空间的高位,随同FPGA 异步寄存器一起。每一个UART,A 和B 产生8 位的地址。本系统设计将CE1 空间配置成8 位存取。 [page]

FPGA 异步寄存器端口 

FPGA 有10 个定位在CE1 空间高位的异步存储寄存器。这些寄存器实现的各种功能由于篇幅所限不再详叙。FPGA同步寄存器端口FPGA 在CE3 地址空间开设同步寄存器。这些寄存器主要实现OSD 功能和一些评估板连接。 

EMIF 缓冲器/解码器控制 

EMIF 缓冲器和解码器的功能通过GAL16LV8D 普通逻辑数组驱动器实现,U15。驱动器可以对Flash 进行简单的解码处理,UART 与缓冲器共同控制CE1、CE2 和CE3。 

视频端口/McASP 端口 

本系统设计有3 个板上视频端口,这些端口可以根据可选择性功能,进行再分类,例如端口0 和端口1 的McASP和SPDIF 功能。DM642 使用所有的三个视频端口,视频端口0 和视频端口1 被用作输入端口,视频端口2 用作显示端口。在标准配置中,视频端口0 和视频端口1 根据使用在McASP功能下进行再分类,连接到TLV320AIC23 立体声编解码器或连接到SPDIF 输出接口J9。 

视频解码器端口 

本系统设计可再分的视频端口0 和视频端口1 被用作捕获输入端口,命名为捕获端口1 和捕获端口2。这些端口连接到SAA7115H 解码器。视频端口贯穿CBT 开关,所以他们为了背板的使用可以被选择性的禁止。另一半的端口被连接到板上的McASP 端口。捕获端口1 通过一个RCA 类型的视频插座J15 和一个4 针的低噪声S-Video 接口J16,连接到视频源。输入的必须是合成的视频源,例如DVD Player 或视频相机。SAA7115H 是可通过DM642 的I2C 总线进行编程的,并且可以连接所有的主要合成视频标准,例如NTSC,PAL和SECAM,这些都可以通过解码器的内部寄存器进行适当的编程。 

视频编码器端口 

本系统设计视频端口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 的特殊过滤器。 

FPGA 视频功能。本系统设计使用Xilinx 

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

以太网端口。在独立的模式下,DM642 的以太网 

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

系统的软件设计 

数据流程


(1) 输入设备提供的一帧图象被采集到输入缓存,由YUV 4:2:2 格式进行重抽样变为YUV 4:2:0 格式。 
(2) 图象数据由输入任务模块通过一个SCOM 序列提供给处理模块。 
(3) 提供图象数据给JPEG 编码库程序,动态检测即与以前图象作比较,动态部分被压缩成JPEG 图象并通过SCOM 消息发送到网络任务模块。 
(4) 网络任务模块建立JPEG 副本,当网上有一个对等端点连接到网络并申请“记录”,网络任务模块发送这些图象到对等端点。 
(5) 如果网上有一个对等端点请求“回放”连接,网络任务模块将从那个对等端点接收新的JPEG 图象,并发送原始和更新的图象到处理任务模块,消息通过SCOM 序列发送。解码产生的YUV 4:2:0 格式的图象被重新采样成YUV4:2:2 格式的图象。 
(6) JPEG 图象被作为解码器的输入,解码的图象通过SCOM 序列进行传输到输出任务模块。 
(7) 输出任务模块转换YUV 4:2:0 格式的解码图象成YUV 4:2:2 格式图象并送交显示。显示设备显示输出的图象。



图1 数据流程图 [page]

程序流程 

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

① 处理器和系统板的初始化 
a、初始化BIOS 环境和CSL; 
b、设置使用128K 的二级高速缓存; 
c、设置二级高速缓存可映射到EMIF 的CE0 和CE1空间; 
d、设置DMA 优先级序列长度取最大值; 
e、设置二级高速缓存的请求优先级最高; 
 f、DMA 管理器用内部的和扩展堆初始化。
 
② RF-5 模块的初始化 
a、系统初始化RF-5 的通道模块; 
b、系统初始化RF-5 框架中用于内部单元通讯和传递消息的ICC 和SCOM 模块; 
d、各通道建立在内部的和扩展的堆上。 

③ 建立摄入和显示通道 
a、建立和启动一个摄入通道的实例; 
b、建立和启动一个显示通道的实例。 

(2) 在完成初始化工作之后,系统进入DSP/BIOS 调度程序管理下的6 个任务系统。6 个任务通过RF-5 的SCOM 模块互相发送消息。以下是这6 个任务: 

① 输入任务。输入任务从输入设备驱动程序获得视频图象。它使用驱动程序提供的FVID_exchange调用从输入设备获得一帧最新视频图象。获得的图象是 YUV 4:2:2 格式的,它被重采样成YUV 4:2:0。输入任务接着发送消息到处理任务,消息中包含图象数据指针。接着等待处理任务发送来的消息以继续处理。 

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

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

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

⑤ 网络初始化任务。网络初始化任务启动网络环境。当网络准备好后,建立网络任务。 

⑥ 网络任务网络任务用于支持系统中的网络功能调用。当它初始化完成后,它开始监听两个端口(3001 和3002)。3001 端口用于“回放”连接,当客户端希望发送视频流给DSP。端口3002 用于“记录”连接,当客户端希望从DSP 接收视频流。 

网络任务模块接着等待一个从处理模块发来的SCOM消息,其中应包含可供使用的新的JPEG 图象。首先,网络模块用发来的JPEG 图象在RAM中建立一个可由HTTP 服务器识别和可发送到HTTP 客户端的图象文件(IMAGE1.JPG)当一个“记录”连接激活时,网络模块首先检测是否客户端发送过来一些命令。命令包含设置日期和时间、是否显示日期和时间、是否显示网格在输出图象上。然后,接收的JPEG图象要进行活动检测。如果图象有改变,则发送图象到“记录”连接上。否则发送空文件指示以使客户端的图象保持同步。下一步,如果一个“播放”连接被激活,从连接中得到一个新的JPEG 图象。这个新的图象就替代处理模块发来的图象。网络模块回传JPEG 图象给处理模块,通过发送一个SCOM 消息。

关键字:DSP  网络  视频服务器 引用地址:基于DM642的嵌入式网络视频服务器的设计

上一篇:嵌入式多媒体应用中的片上存储器分配
下一篇:基于WinCE的ARM视频监控系统解析

推荐阅读最新更新时间:2024-03-16 12:57

Android Wear已支持移动网络
    据外媒报道,在最新版本的Android Wear中,谷歌为该平台加入了对手机网络连接的支持。今后AndroidWear智能手表即使没有蓝牙或Wi-Fi连接,也能够继续使用完整的功能。 Android Wear已支持移动网络(图片来自cnbeta)     新版Android Wear中,其已经正式加入了对手机网络的支持。也就是说,即使没有蓝牙或Wi-Fi连接,手表也能够继续使用完整的功能,比如Google搜索等应用,而用户甚至能够收发消息和接打电话。   目前只有LG Watch Urbane 2nd Ed LTE支持这一特性,不过来年的新一代智能手表产品有望掀起配备SIM卡槽的潮流。   其实智能手表支持手
[手机便携]
ADI DSP生态系统:一个有关共赢共生的成功故事
就像狄更斯在《双城记》中富有哲理的一段话:“这是最好的时代,这是最坏的时代……这是希望之春,这是失望之冬……”事情总是有它的两面性,与其让经济衰退、裁员浪潮、股市低迷等各种负面消息继续影响你的情绪,不如收拾心情好好研究合作、创新之道,或者充电加油,以便为更惨烈的竞争和下一轮复苏做好准备。 如何更加高效并以更低的成本获得创新、技术营销的启发或培训的机会,IC供应商或许是一个不错的选择。除了日常与他们的销售代表或技术支持人员打交道,你是否真正全面了解一些优秀供应商的整体服务平台/体系架构和营销战略,并为自己所用的呢?事实上,很多日子同样不太好过的IC供应商们从未停止过建设更加健康的产品生态系统的步伐,以求达到与客户共赢共
[嵌入式]
什么是矢量网络分析仪的S参数?
矢量网络分析仪测量时,经常会用到的一个参数就是S参数,S参数是射频通信领域应用的一种测量参数,全称是散射参数,是网络分析的语言。矢量网络分析仪对S参数进行测量时,会有S11、S21、S12、S22四种不同的情况,其中S11和S21是两个比较重要的参数,这两个参数可以表征网络的性能。下面一起来了解一下网络分析仪中的S参数是什么以及矢量网络分析仪S11和S21啥意思吧。 一、网络分析仪中的S参数是什么 网络分析仪测量的是S参数,很多朋友不知道S参数到底指的是什么,其实S参数的全称是散射参数,它是网络分析的语言。 在低频电路上,常用的是Z参数(开路阻抗参数),这一参数用在射频通信领域既不符合习惯,也难以测量,归纳起来,有三个重要
[测试测量]
什么是矢量<font color='red'>网络</font>分析仪的S参数?
使DC/DC变换器限流特性线性化的热敏电阻器网络
最近推出的各种集成式降压 DC/DC变换器均已采取对外接低侧MOSFET同步整流器的电压降采样的方法,无需高侧电流检测电阻器。这种拓扑节省了检测电阻器的成本和印制电路板的空间,也适当提高了电路效率。但是,MOSFET的导通电阻与温度有很大的相关性,它决定了限流大小。所幸的是,某些新型DC/DC变换器(如Maxim公司的MAX1714)可以从外部调整限流阈值。图1的电路显示如何用一只热敏电阻器对电路的输出电流限制作出温度补偿。   MAX1714 IC1第6脚的线性限流(ILIM)输入范围从0.5V至2V,对应的限流阈值分别为 50 mV 至 200mV。在默认限流设置值 100 mV 时,电路在 25℃时的限流大小为7.5A。但是
[电源管理]
IT之家科普:5G移动网络标准是如何出炉的
  本文将尽量以通俗的语言解释上面三个问题。首先是5G的使用场景,与绝大多数读者关系最为密切的是eMMB场景,也就是我们常用的手机移动数据网络,下面我们将围绕这个场景展开叙述。下面就随网络通信小编一起来了解一下相关内容吧。    5G 标准是如何出炉的?    5G 标准的投票有何玄机?    5G 标准最终结果是什么?   本文将尽量以通俗的语言解释上面三个问题。首先是5G的使用场景,与绝大多数读者关系最为密切的是eMMB场景,也就是我们常用的手机移动数据网络,下面我们将围绕这个场景展开叙述。   5G通信分为控制信道和数据信道,控制信道主要传输指令和同步数据参数等,数据信道主要传输数据。对于标准的主导企
[网络通信]
基于无线传感器网络轴温探测系统的设计
  铁路列车在高速运行过程中,车辆走行部分各轴承的温度会不断升高,当轴温过高时,会造成热轴、切轴等现象,严重影响铁路运输安全。现阶段我国铁路列车上主要使用两种轴温探测装置:一种是直接接触式的车载轴温探测系统;另一种是非接触式的红外轴温探测系统。前者是在轴箱部位安装温度传感器对温度进行采集,并通过电缆传送到各个车厢的控制器显示,由专门巡检人员或各车厢乘务员进行巡检。但由于货运列车车厢是无人值守的,且车厢频繁编组,不能靠有线方式传送给有人车厢,所以这种方式在货运列车中很少使用。后者是通过每隔30 km安装红外探头对轴温进行检测。这种方式由于易受外界环境影响、定位困难等原因,使得轴温过高告警兑现率低、误报率高,而且成本很高。随着无线传感
[测试测量]
基于无线传感器<font color='red'>网络</font>轴温探测系统的设计
LED光学无线网络 照明和通信两不误
  相信很多习惯无线上网的人都碰到过一个问题,如果房间里有类似墙壁等物体的阻挡,一些地方难免信号很差,甚至完全没信号。于是,科学家们设想:何不让灯光来发射信号?只要灯亮,就不愁没网上。   这一看似天马行空的想法,如今已成为现实。昨日,一年一度的中国浙江网上技术市场中介服务联盟年会在杭州召开。中科院半导体研究所的科学家带来了这项最新最前卫的成果——利用LED光通信的智能家居系统,实现照明、智能通信、智能控制三者的有机融合。昨日,杭州一家企业现场进行了洽谈,未来这一成果有望在杭州转化,最终改变我们的生活。    LED 光学无线网络照明通信两不误   “半导体智能家居系统,可以通过半导体LED灯,在照明的同时作为光学无线通信的
[电源管理]
Akamai 公布代号为 Gecko 的新计划,将云计算纳入边缘网络
Akamai的 Gecko 新计划将加速打造全球分布广泛的云计算平台 2024年 2月21日 – 负责支持和保护网络生活的云服务提供商阿卡迈技术公司(Akamai Technologies, Inc.,以下简称:Akamai),近日公布了将云计算功能纳入其大规模边缘网络的计划。 Generalized Edge Compute (Gecko) 计划是 Akamai 推进云计算平台战略的关键一步,那些希望在更靠近用户、设备和数据源的位置运行工作负载的企业可借此为用户提供更好的体验。 Akamai 的这一举措对科技行业而言恰逢其时。根据 ClearPath Strategies 在 2023 年进行了一项全球性研究,有三
[网络通信]
Akamai 公布代号为 Gecko 的新计划,将云计算纳入边缘<font color='red'>网络</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved