资讯详情

Zynq FPGA低时延H.264设计方案(编码+解码)

基于逻辑语言编写的信迈科技H.264视频编解码IP核的形式,在FPGA基于设备运行FPGA使用解决方案FPGA实现核心设备H.264编解码的IP核,这个解决方案是纯硬件解决方案,启动时间可以忽略,编码延迟为0.5ms.

ASSP基于结构不灵活FPGA虽然微处理器组合的系统尺寸大但灵活,但设计师一直在创建它PCB占地面积小的基础IP除了在两者之间反复权衡,流式视频系统别无选择。集成软核微处理器FPGA,不需要单独的处理器和DRAM,但最终系统的性能可能无法与外部相比ARM?以处理器为核心,可能包括USB、与以太网等有用的外设解决方案相当。随着赛灵思Zynq?-7000AllProgrammableSoC和小型H.264核的问世现在只用一组DRAM超小PCB在板上建造一个有用的高速公路AXI4总线连接ARM高性能系统(见图1)由双核和高速外设实现。

虽然针对FPGA的H.264核已经问世很久了,但是还没有一个H.264核足够快,足以转换1080p30帧视频水平,仍适用于小型低成本设备。将XinmaiTechnologies公司的最新微型H.264核与ZynqSoC结合使用,可以构建15-60的低延迟系统fps720的不同帧速率p-4K编辑/解码之间的各种视频流。将Xinmai TechnologiesH.264核集成到ZynqSoC在设备中,板级空间可以大幅减少,组件数量可以显著减少ZynqSoC集成ARM双核还可以避免使用单独的微处理器及其必须连接的存储器。

图1-基于单芯片ZynqSoC视频压缩系统基于双芯片处理器和FPGA视频压缩系统对比

这样可以构建一个Linux驱动程序和实时流协议(RTSP)以服务器为核心的完整流视频系统,可对两个摄像头的1080进行处理p压缩30帧视频,端到端时延长约10毫秒。Xinmai TechnologiesH.264核提供纯编码版和编/解码版两个版本。此外,还有一个低延迟版本,可以将编码延迟降低到5毫秒以下。1080p30纯编码版需要1万个搜索表(LUT),或占用ZynqZ7020FPGA建筑资源约为25%,而编辑/解码版需要11000个搜索表。

基于ZynqSoC具体应用标准产品的产品比(ASSP)构建的产品灵活性更高。例如,通过在FPGA内置4个架构H.264核连接到每个摄像头的输入端FPGA,很容易建立一个支持1080p30输入系统。许多ASSP产品只有两个输入端,这使得设计师不得不想办法将多个视频复用到输入端。每个Xinmai TechnologiesH.264核能处理6个VGA分辨率摄像头或1080p30分辨率摄像头。因此,有可能建立一个双核系统双核系统VGA压缩摄像头输入的视频。

ASSP产品通常只为已解码视频提供屏幕视控(OSD)这迫使设计师使用功能OSD作为元数据发送或使用信息ARM检测视频帧时间,编程OSD将数据写入视频缓冲区。在FPGA在视频压缩前添加OSD如同访问IP模块一样简单。同时,在压缩引擎前添加鱼眼镜头校正等处理模块相对容易。此外,FPGA还支持功能的现场和未来升级,如添加H.265压缩功能。图2中有两个1080p30摄像头输入H.264压缩引擎方框图,其中OSD适用于未压缩图像。

一些应用程序,如遥控飞机(RPV)控制是基于遥控器返回的流媒体图像反馈。为了控制遥控器,从传感器发送视频到压缩引擎到解码图像显示(称为玻璃对玻璃)之间的延迟通常小于100毫秒。一些设计师将延迟规定在50毫秒内。总延迟如下:

视频处理时间(ISP、鱼眼镜头校正等)

?延迟填充帧缓冲

?压缩时间

?发送数据包引起的软件延迟

?网络延迟

?接收数据包引起的软件延迟

?视频解码时间

许多系统使用硬件编码视频,但最终使用标准的视频播放器进行解码PC上运行的VLC。即使媒体播放器的缓冲延迟可以从一般的500-1000毫秒大大降低,延迟仍然远远超过50毫秒。为了真正控制延迟并保持在绝对最低水平,有必要解码压缩视频流,并要求最小缓冲。

H.264编码器的延迟通常用帧来表示,例如,一个完整帧的时间必须在压缩开始前缓冲。假设编码器速度可以提高,编码延迟只能通过加倍帧速率来降低,即帧速率为30fps每帧延迟33毫秒,帧速率为60fps每帧时延为16.5毫秒。

很多时候,由于相机和编码器的性能限制,该方案无法实施。因此,该解决方案是专门为低延伸编码器设计的。而最新Xinmai Technologies在压缩开始前,只有16条视频线需要缓冲低延迟编码器。对于1080p30视频流而言,时延不足500微秒(μs)。而对于480p就视频流而言,时延小于1毫秒。采用这种低延迟编码器,设计师可以构建一个低延迟预测系统。

为了最大限度地减少总延迟,必须同时减少编码侧和解码侧缓冲、网络协议栈、RTSP服务器/客户端等引起的时延,因为软件路径会产生很长的时延,而在这种情况下采用低时延编码器毫无意义。RTSP服务器通常用于在服务器(摄像头)与客户端(解码/记录)设备之间创建流视频连接。连接建立后,RTSP服务器将压缩视频传输到客户端进行显示或存储。

通常,服务器和客户端的软件组件只需要与带宽匹配,以便于传输压缩视频,而不是最小化延迟。而如Linux非实时操作系统很难保证延迟。典型的解决方案是为服务器和客户创建低延迟自定义协议。但这种方法的缺点是不符合行业标准。另一种方法是使用类似的方法RTSP该标准通过修改软件的低层来最小化延迟,并确保符合所有标准。

但也可以采取措施尽量减少内核与用户空间的复制操作,从而减少相关延迟。

图3解码系统的码系统方框图

就整个软件路径而言,为了减少延迟,需要减少延迟RTSP分离服务器和压缩信息转发任务Linux替换驱动程序RTSP发送任务由服务器执行。

为了减少延迟,我们对Xinmai Technologies低时延RTSP两次修改服务器。首先,移除转发路径RTSP服务器。RTSP服务器仍采用实时控制协议(RTCP)维护统计数据,并遵循网络目标地址(即IP或MAC定期(或异步)更新目的地地址的内核驱动。第二,内核驱动程序附加必要的数据头(基于RTSP通过直接输入网络驱动程序(如服务器提供的信息)udp_send)立即转发数据包,以免在内核和用户空间之间复制内存。

图3显示了基于H.264IP总时延不到50毫秒的完整编/解码系统。该系统是基础ZynqSoC、Xinmai Technologies低时延H.264编/解码器和Xinmai Technologies低时延RTSP建立服务器/客户端。需要注意的是,从硬件的角度来看,编码与解码系统唯一真正的区别在于,编码侧必须连接到摄像头/传感器,而解码侧必须能够驱动平板显示。您可以轻松设计具有编码和解码所需的所有必要硬件功能的电路板。

设计师需要频压缩/解压缩在实时控制应用中的延迟,设计师需要特殊的编码器和优化软件。使用赛灵思ZynqSoC和Xinmai Technologies的H.264低时延编码器和优化RTSP服务器/客户端可以是小的PCB在板上创建一个时延极低、高度可配置的系统。

信迈科技 XM-ZYNQ7045-EVM 是一款基Xilinx Zynq-7000 系列 XC7Z045/XC7Z100 高性能处理器设计的高端异构多核 SoC 评估板,处理器集成 PS 端双核 ARM Cortex-A9 PL 端 Kintex-7 架构 28nm 可编程逻辑资源,评估板由核心板和评估底板组成。核心板是专业的 PCB Layout 稳定可靠,能满足各种工业应用环境。

评估板接口资源丰富,导致双路千兆网口、四路 SFP 光口、CameraLink、HDMI、F

MC HPC、GTX、PCIe、USB、Micro SD 等接口,方便用户快速评估产品方案和技术

预研。

图 1 Xilinx Zynq-7000 处理器功能框图

图2

图3

图4

 图5

  • 软件无线电
  • 雷达探测
  • 光电探测
  • 视频追踪
  • 图像处理
  • 水下探测
  • 定位导航
  • 深度学习

表1

CPU

CPU:Xilinx Zynq-7000 XC7Z045/XC7Z100-2FFG900I

2x ARM Cortex-A9,主频 800MHz,2.5DMIPS/MHz Per Core

1x Kintex-7 架构可编程逻辑资源

ROM

PS 端:8GByte eMMC

PS 端:128/256Mbit SPI NOR FLASH

RAM

PS:单通道 32bit DDR 总线,1GByte DDR3

PL:单通道 32bit DDR 总线,1/2GByte DDR3

Logic Cell

XC7Z045:350K,XC7Z100:444K

OSC

PS 端:33.33MHz

B2B Connector

2x 140pin 公座高速 B2B 连接器,2x 140pin 母座高速 B2B 连接器,共 560pin,

间距 0.5mm,合高 7.0mm

LED

2x 电源指示灯(核心板 1 个,评估底板 1 个)

1x PL 端 DONE 灯(核心板 1 个)

3x PS 端用户可编程指示灯(核心板 2 个,评估底板 1 个)

2x PL 端用户可编程指示灯(评估底板 2 个)

KEY

1x 电源复位按键

1x 系统复位按键

1x PS 端用户输入按键

1x PL 端用户输入按键

SD

1x Micro SD 接口(PS 端)

XADC

1x 排针接口,2x 2pin 规格,2.54mm 间距,单通道专用差分输入,1MSPS

Ethernet

1x PS RGMII,RJ45 接口,10/100/1000M 自适应(PHY 位于核心板上)

1x PL RGMII,RJ45 接口,10/100/1000M 自适应

Watchdog

1x Watchdog,3pin 排针方式,2.54mm 间距,通过跳线帽配置

UART

1x Debug UART,Micro USB 接口(PS 端)

1x RS232 UART,DB9 接口(PL 端)

1x RS485 UART,3pin 3.81mm 绿色端子方式(PL 端)

CAN

2x CAN,3pin 3.81mm 绿色端子方式(PL 端)

USB

4x USB 2.0 HOST 接口,使用 HUB 扩展(PHY 位于核心板上)

PCIe

1x PCIe,由两组 GTX 引出,共两通道,x4 金手指连接方式(PL 端)

IO

1x 400pin FMC 连接器,1.27mm 间距,HPC 标准

SATA

1x 7pin SATA 接口,150MHz LVDS 差分时钟(PL 端)

HDMI

1x HDMI OUT(PL 端)

1x HDMI IN(PL 端)

DISPLAY

1x LCD RES 电阻触摸屏,40pin FFC 连接器,间距 0.5mm(PL 端)

CAMERA

2x CAMERA,2x 10pin 排母方式,间距 2.54mm(PL 端)

CameraLink

2x CameraLink Base 接口,支持 Full 模式(PL 端)

SFP+

4x SFP+光口,支持万兆光模块,由高速串行收发器(GTX)引出

LVDS

1x 排针接口,2x 15pin 规格,可接通用 LVDS 显示屏,间距 2.00mm(PL 端)

SMA

1x GTX CLK

1x GTX RX

1x GTX TX

RTC

1x RTC 座,适配纽扣电池 ML2032(3V 可充)、CR2032(3V 不可充)

FAN

1x FAN,3pin 排针端子,12V 供电,间距 2.54mm

JTAG

1x 14pin JTAG 接口,间距 2.0mm

BOOT SET

1x 6bit 启动方式选择拨码开关

SWITCH

1x 电源摆动开关

POWER

1x 12V6A 直流输入 DC-005 电源接口,可接外径 5.5mm、内径 2.1mm 电源插头

表 2

ARM 端软件支持

裸机,FreeRTOS,Linux-4.9.0

Vivado 版本号

2017.4

软件开发套件提供

PetaLinux-2017.4,Xilinx SDK 2017.4,Xilinx HLS 2017.4

驱动支持

SPI NOR FLASH

DDR3

USB 2.0

eMMC

LED

KEY

RS485

MMC/SD

Ethernet

CAN

7in Touch Screen LCD(Res)

XADC

I2C

USB 4G

USB WIFI

RS232

(1)提供核心板引脚定义、可编辑底板原理图、可编辑底板 PCB、芯片 Datasheet,缩短

硬件设计周期;

(2)提供系统固化镜像、内核驱动源码、文件系统源码,以及丰富的 Demo 程序;

(3)提供完整的平台开发包、入门教程,节省软件整理时间,让应用开发更简单;

(4)提供详细的 PS + PL SoC 架构通信教程,完美解决异构多核开发瓶颈。

开发案例主要包括: Ø

  • 基于 Linux 的开发例程
  • 基于裸机的开发案例
  • 基于 FreeRTOS 的开发案例
  • 基于 PS + PL 的异构多核开发案例
  • 基于 OpenAMP 的 Linux + 裸机/FreeRTOS 双核 ARM 通信开发案例
  • 基于 PL 端的 HDL、HLS 开发案例
  • Qt 开发案例
  • CameraLink、SDI、HDMI、PAL 视频输入/输出案例
  • 高速 AD(AD9613)采集 + 高速 DA(AD9706)输出案例
  • AD9361 软件无线电案例
  • UDP(10G)光口通信案例
  • Aurora 光口通信案例
  • PCIe 通信案例

工作环境

环境参数

最小值

典型值

最大值

核心板工作温度

-40°C

/

85°C

核心板工作电压

/

5.0V

/

评估板工作电压

/

12.0V

/

功耗测试

类别

工作状态

电压典型值

电流典型值

功耗典型值

核心板

状态 1

5.0v

0.40A

2.00W

状态 2

5.0v

1.85A

9.25W

评估板

状态 1

12.0v

0.43A

5.16W

状态 2

12.0v

1.19A

14.28W

备注:功耗基于 CPU 为 XC7Z045 的核心板测得。功耗测试数据与具体应用场景有关,测试数据仅供参考。

状态 1:评估板不接入外接模块,PS 端启动系统,不执行额外应用程序;PL 端运行 LED 测试程序。

状态 2:评估板不接入外接模块,PS 端启动系统,运行 DDR 压力读写测试程序,2 个 ARM Cortex-A9核心的资源使用率约为 100%;PL 端运行 IFD 综合测试程序。

图 11 状态 2 资源使用率

表 4

核心板

评估底板

PCB 尺寸

62mm*100mm

142.75mm*260mm

PCB 层数

14 层

8 层

PCB 板厚

1.6mm

1.6mm

安装孔数量

4

4

图 12 核心板机械尺寸图

图 13 评估底板机械尺寸图

  1. 协助底板设计和测试,减少硬件设计失误;
  2. 协助解决按照用户手册操作出现的异常问题;
  3. 协助产品故障判定;
  4. 协助正确编译与运行所提供的源代码;
  5. 协助进行产品二次开发;
  6. 提供长期的售后服务。

  • 主板定制设计
  • 核心板定制设计
  • 嵌入式软件开发
  • 项目合作开发
  • 技术培训

 更多信息,请联系深圳信迈科技。

标签: 缓冲小电阻2rjh连接器端子

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台