基于逻辑语言编写的信迈科技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 |
4 开发资料
(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 通信案例
5 电气特性
工作环境
环境参数 |
最小值 |
典型值 |
最大值 |
核心板工作温度 |
-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 资源使用率
6 机械尺寸
表 4
核心板 |
评估底板 |
|
PCB 尺寸 |
62mm*100mm |
142.75mm*260mm |
PCB 层数 |
14 层 |
8 层 |
PCB 板厚 |
1.6mm |
1.6mm |
安装孔数量 |
4 |
4 |
图 12 核心板机械尺寸图
图 13 评估底板机械尺寸图
7技术服务
- 协助底板设计和测试,减少硬件设计失误;
- 协助解决按照用户手册操作出现的异常问题;
- 协助产品故障判定;
- 协助正确编译与运行所提供的源代码;
- 协助进行产品二次开发;
- 提供长期的售后服务。
8增值服务
- 主板定制设计
- 核心板定制设计
- 嵌入式软件开发
- 项目合作开发
- 技术培训
更多信息,请联系深圳信迈科技。