tag 标签: fpga

相关博文
  • 2024-11-1 16:38
    212 次阅读|
    0 个评论
    1.引言 随着网络视频平台的发展,用户对于4K高清画质的需求日益增长。然而,许多用户发现,即使购买了视频平台的会员,观看4K内容时画质却不如预期,有时甚至还会出现模糊、卡顿的情况。这种现象背后涉及到视频编码、网络带宽、和视频传输的诸多因素。 近期“影视飓风”发布的视频《清晰度不如4年前!视频变糊是你的错觉吗?》因讨论视频平台降低码率和改变编码格式以压缩视频画质,影响了内容表达。 4K视频清晰度下降的一个主要原因是平台为了节省带宽而压缩视频流,有时导致比特率降低,无法发挥4K分辨率的全部潜力。 在这种背景下,如何 高效地压缩和传输4K视频成为了一个关键技术难题 。本文将探讨如何通过 米尔电子的ZU4EV MPSoC平台, 接入真4k 60UHD-SDI视频源后,使用VCU进行高效H.265编解码,再通过 SGMII万兆以太网 实现 网络推流,以确保高质量4K视频的流畅传输。 2.视频质量下降的原因与优化方法 1) 带宽瓶颈 :在用户数量增加的情况下,服务器和网络的带宽常常无法满足4K视频流的需求。 2) 压缩算法不足 :传统的视频压缩技术在高分辨率内容上表现不佳,容易导致画面模糊。 3) 视频流传输的优化 在推流过程中,网络带宽和视频压缩效率直接决定了视频播放的清晰度与流畅度。为了确保4K视频在万兆以太网上的高效传输,本设计采用以下优化措施: 合理的码率控制 :在保证视频清晰度的前提下,调整H.265编码的目标码率,避免过低的码率影响视频质量或过高的码率导致带宽浪费或。通过CBR或VBR模式可以根据网络情况动态调整码率。 低延时模式 :VCU支持低延时编码模式,确保视频在压缩和传输过程中保持尽可能低的延迟,提升用户的观看体验。 网络传输协议选择 :根据应用场景选择合适的传输协议。对于实时性要求较高的场景,可选择UDP传输,而对于数据可靠性要求较高的场景,则推荐使用TCP协议。 3.MPSoC与VCU架构在4K UHD音视频广播领域的优势 1. 高性能与低功耗的结合 :Zynq UltraScale+ MPSoC采用了16nm FinFET工艺,集成了多核处理器和可编程逻辑,能够在提高性能的同时降低功耗,这对于音视频广播领域来说至关重要,因为它可以在保证高清晰度视频传输的同时,减少能源消耗。 2. 实时压缩与解压缩能力 :集成的VCU支持H.264/AVC和H.265/HEVC标准,能够实现高达4K UHD分辨率的视频的实时压缩和解压缩。这意味着在广播应用中,可以利用VCU进行高效的视频编码,减少存储空间和带宽的需求,同时保持视频质量。 3. 多视频流处理能力 :VCU能够同时处理多达八个不同的视频流,这对于需要同时广播多个视频源的4K UHD广播应用来说非常有用。这种多任务处理能力使得MPSoC成为多媒体中心和视频服务器的理想选择。 4. 灵活性和可扩展性 :MPSoC的可编程逻辑(PL)提供了任意到任意高速视频/音频接口的灵活性,可以为多媒体管道带来定制图像及视频处理功能的差异化效果。这种可编程性使得系统能够适应不断变化的音视频广播需求。 5. 专用硬件加速 :MPSoC提供了专用的处理引擎,如基于ARM Cortex A53的APU、Mali图形处理单元等,这些专用硬件能够加速图形和视频处理任务,提高系统的整体性能。 6. 支持多种视频格式 :VCU支持高达4:2:2 10位UHD-4K的视频格式,适合专业和高端消费级的制作与后期制作解决方案。这种广泛的格式支持使得MPSoC可以应用于各种不同的音视频广播场景。 7. 集成的多媒体框架支持 :MPSoC结合常见的多媒体框架GStreamer,可以开发硬件加速型多媒体应用。这种集成支持简化了开发过程,使得开发者能够快速实现复杂的音视频处理任务。 8. 优化的功耗管理 :Zynq UltraScale+ MPSoC将处理引擎、硬件编解码器等组件放置在具有独立电轨的不同电源域中,这种配置可用于为整个系统设计优化功耗管理方案,进一步降低系统功耗。 9. 高速互联外设 :MPSoC提供高速互联外设,如集成式DisplayPort接口模块,支持高达6 Gb/s的工作速率,这有助于处理来自PS或PL的实时音视频流,进一步降低系统BOM成本。 10. 支持新一代地面数字电视广播技术 :随着超高清电视时代的到来,MPSoC与VCU架构能够支持新一代地面数字电视广播技术,如DVB-T2、ATSC 3.0和DTMB-A等,这些技术支持更高的视频质量和新的广播应用模式。 综上所述,MPSoC与VCU架构在4K UHD音视频广播领域提供了高性能、低功耗、实时压缩解压缩、多视频流处理、灵活性、硬件加速、广泛格式支持、多媒体框架集成、优化的功耗管理和高速互联外设等多重优势,使其成为该领域理想的解决方案。 4.系统架构概述 在本设计中,我们使用Zynq UltraScale+ MPSoC平台(具体型号为MYIR XCZU4EV),通过FPGA实现对SDI视频的H265压缩,并通过SGMII接口推送到万兆以太网上。系统架构主要包括以下几个部分: 1. 视频输入 :输入源可以是SDI摄像机、SDI信号发生器或通过HDMI转SDI设备从电脑接入的HDMI信号。视频信号通过TI公司的LMH1219芯片做均衡处理,并将单端信号转换为差分信号后输入FPGA。 2. SDI视频解码 :FPGA中的UHD-SDI GT IP核用于SDI视频的解串,并将视频信号转换为AXI4-Stream格式供后续处理。通过SMPTE UHD-SDI RX SUBSYSTEM IP核,SDI视频被解码为RGB格式。 3. 视频帧缓存与处理 :解码后的视频信号存储在PS侧的DDR4中,通过Xilinx提供的Video Frame Buffer Write IP核实现。在这一阶段,可以对视频帧进行颜色转换、缩放等处理。 4. H.265视频压缩 :使用Zynq UltraScale+ VCU IP核对存储的RGB视频帧进行H.265编码压缩。VCU支持YUV420格式的视频,编码分辨率最高可达到4K@60fps。 5. SGMII万兆以太网传输 :经过H.265压缩后的视频流通过SGMII接口推送至万兆以太网。通过PetaLinux系统,利用TCP/UDP协议将压缩后的码流传输到PC或服务器端,用户可以通过VLC播放器等软件实时播放接收到的H.265码流。 5.工程设计主要流程 1. SDI输入 :通过LMH1219进行信号均衡,SDI信号转换为AXI4-Stream格式。 通过HDMI转SDI盒子,通过12G UHD-SDI输出4K 60FPS视频给FPGA,用户也可以使用SDI 工业相机; 2. 视频解码 :UHD-SDI GT IP核完成视频解串,SMPTE UHD-SDI RX SUBSYSTEM IP核将视频解码为RGB信号。 3. 视频缓存 :使用Video Frame Buffer Write IP核将视频写入DDR4。 用户可以选择在这里做出customer ISP,例如图像缩放,拼接 4. 视频压缩 :通过Zynq UltraScale+ VCU IP核对视频进行H265压缩。 5. 网络传输 :通过SGMII万兆以太网接口,将压缩后的H265视频流通过UDP协议推送至PC端,使用VLC播放器播放。 6.结论 在视频内容不断向4K发展的大背景下, 通过Zynq UltraScale+ MPSoC平台,基于VCU实现的SGMII万兆以太网视频压缩推流方案,不仅能够高效地压缩和传输4K视频,还可以确保较低的延迟和高质量的图像输出。该方案适用于视频监控、医疗影像、工业自动化等对高分辨率视频有需求的应用场景。 对于希望在网络视频平台上获得更好观看体验的用户来说,视频平台和服务提供商则需要在视频编码、网络传输等方面进行优化,以满足用户对于4K视频的画质需求。 7.互动环节 在SGMII网兆以太网推流到PC端,因为是万兆网,CPU无法负担这里的高速吞吐率,这里我们需要用到网络卸载,米尔电子的MYC-J7A100T双芯设计核心板可通过SFP采集SGMII万兆以太网数据后,PC通过PCIE读取视频源,实现万兆网口数据包卸载,我们会在后续系列文章中做出分享基于米尔MYC-J7A100TSFP采集后PCIE XDMA中断读取。
  • 热度 1
    2024-8-23 11:00
    65 次阅读|
    0 个评论
    本文主要介绍瑞芯微RK3562J的实时性测试,开发环境如下: U-Boot:U-Boot-2017.09 Kernel:Linux-RT-5.10.198 LinuxSDK: LinuxSDK- (基于RK3562_LINUX_SDK_RELEASE_V1.1.0_20231220) RK3562J实时性测试数据 本文使用Cyclictest延迟检测工具测试Linux系统实时性,分别在CPU空载、满负荷(运行stress压力测试工具)、满负载-隔离CPU3核心(运行stress压力测试工具)三种情况下运行指令测试12小时。 图 1 RK3562J实时性测试数据 根据3种状态的测试结果可知,当程序指定至隔离的CPU3核心上运行时,Linux系统延迟最低,可有效提高系统实时性。故推荐对实时性要求较高的程序(功能)指定至隔离的CPU核心运行。 RK3562J典型应用领域 图 2 Cyclictest系统实时性测试 本文通过创龙科技TL3562-EVM工业评估板(基于RK3562J)的硬件平台进行演示。为了简化描述,本文仅摘录部分方案功能描述与测试结果, 本次测试以隔离CPU3核心为例,通过降低系统上所运行的其他进程对隔离CPU3产生的延迟影响,确保CPU3进程的正常运行,进而评估Linux-RT内核的系统实时性。 评估板上电启动后,在U-Boot倒计时结束之前按下空格键进入U-Boot命令行模式,执行如下命令,修改环境变量,隔离CPU3核心。 U-Boot# setenv bootargs storagemedia=sd androidboot.storagemedia=sd androidboot.mode=normal isolcpus=3 U-Boot# saveenv U-Boot# reset 图 3 评估板重启后,执行如下命令,查看环境变量。 Target# cat /proc/cmdline 图 4 进入评估板文件系统,执行如下命令,修改内核printk日志等级,避免内核打印信息影响实时测试。 Target# /proc/sys/kernel/printk 调整内存分配策略为“2”,禁用内存过度使用。避免出现OOM(Out-of-Memory) Killer攻击某些进程而产生延迟,影响测试结果。 Target# /proc/sys/vm/overcommit_memory 图5 执行如下命令,运行stress压力测试工具,使得CPU处于满负荷状态。再使用taskset工具将Cyclictest测试程序运行在CPU3核心,测试CPU3核心满负荷状态下的系统实时性能。测试指令需运行12小时,请保持评估板长时间稳定工作,测试完成后将生成统计结果iso_overload_output文件。 Target# stress-ng --cpu 4 --cpu-method=all --io 4 --vm 4 --vm-bytes 64M --timeout 43200s & Target# iso_overload_output 图 6 对测试结果文件的数据进行分析,使用脚本生成直方图,得到隔离CPU核心状态下的统计结果如下所示。本次测试中,CPU1核心Max Latencies值最大,为244us,隔离CPU3核心的Max Latencies值最小,为33us。 图7 表 1
  • 热度 1
    2024-8-2 11:38
    268 次阅读|
    0 个评论
    数字芯片设计验证经验分享:将ASIC IP核移植到FPGA上——明了需求和详细规划以完成充满挑战的任务
    作者:Philipp Jacobsohn,SmartDV首席应用工程师 Sunil Kumar,SmartDV FPGA设计总监 本文从数字芯片设计项目技术总监的角度出发,介绍了如何将芯片的产品定义与设计和验证规划进行结合,详细讲述了在FPGA上使用IP核来开发ASIC原型项目时,必须认真考虑的一些问题。文章从介绍使用预先定制功能即IP核的必要性开始,通过阐述开发ASIC原型设计时需要考虑到的IP核相关因素,用八个重要主题详细分享了利用ASIC所用IP来在FPGA上开发原型验证系统设计时需要考量的因素。 本篇文章是SmartDV数字芯片设计经验分享系列文章的第一篇,作为全球领先的验证解决方案和设计IP提供商,SmartDV的产品研发及工程应用团队具有丰富的设计和验证经验。 在国产大容量 FPGA 新品不断面市的今天, SmartDV 及其中国全资子公司“智权半导体”愿意与国内 FPGA 芯片开发商合作,共同为国内数字芯片设计公司开发基于本地 FPGA 的验证与设计平台 。 明了设计需求 半导体IP核提供商支持复杂的ASIC项目,其中一些项目在时钟速度、片芯面积占用、功耗、可靠性、功能安全和可重用性方面有极高的要求,所有这一切都带来了对半导体IP这种预先定制的电路部件的很高期望。一旦有人决定自己不去开发某项功能,而是通过合作伙伴获得该功能,都会将购买该组件的功能视为必然结果。如果所使用的IP核来自诸如SmartDV这类信誉良好的供应商,该过程将顺利进行。 由于同一IP核的最终应用领域可能完全不同,因此IP核提供商必须将所有可能的应用领域考虑在内,以避免让客户失望。例如像MIPI CSI-2接收器/发射器IP或USB接口这样的预定制功能,在用于一款已经被销售数百万次的消费性产品中时,它的要求就与该功能被用于数量有限的喷气战斗机这样的“热点领域”有所不同。 对一位用户来说,成功的产品定义可能是片芯面积的缩小。而对另一位用户来说,它也可能意味着即使在恶劣的运行条件下,也可以实现最低的功耗或最高的可靠性。在大多数情况下,还有另外一个关键点需要考虑。IP核不仅应该只在ASIC上“实现功能”,而且还可用作基于FPGA的原型设计的一部分。众所周知,在开发ASIC的过程中需要非常谨慎,但遗憾的是,我们常常低估了FPGA也需要非常特别的关注,并且还有其独特的集成方式。 SmartDV 的部分已获车规或航规认证的设计 IP 和 VIP 坦率地来讲,将ASIC IP核移植到FPGA中并不是一件容易的任务,但如果这个过程有条不紊,成功是可以实现的!本文全面讲述了将ASIC IP核移植到FPGA中时必须考虑到的所有要点,并通过使用SmartDV的USB3.2 Gen2x1 Device IP实例来进一步说明这些要点。 对于芯片设计工程师的关键价值 • 将一款IP核部署到ASIC和FPGA两种架构中具有挑战性,但值得一试。 • 将ASIC IP移植到FPGA中时,需要考虑的相关因素包括在需求、性能、时钟、功能等方面的差异。 • 最佳的芯片设计解决方案是用FPGA来作为原型工具,以及它和经过流片验证的IP核的结合,以保证正确无误地实现设计。 • 无论目标是ASIC还是FPGA,快速且成功完成项目的一个关键因素是涉及该项目的专家团队的经验水平,因此选择一个可靠的IP合作伙伴也是设计团队取得成功的又一关键! 使用预先定制功能即 IP 核的必要性 集成电路设计团队的最终目标是能够更快速地交付一款有效用的最终产品,以便于不错过更早进入市场的机会,并确保在竞争对手面前建立自己的竞争优势。多年来,使用IP核一直是最大限度地缩短复杂电路的开发时间,以及减少验证电路组件所需工作量的一种通用方法。 使用预先定制的电路组件消除了“重新创造轮子”的需要,但是IP核需要能够在提高可靠性和避免错误这两个方面之外提供额外的优势,因为它们(通常)已经被其他工程师们部署在其项目中。一段时间以来,业内已经用了一个恰当的术语“左移”来描述这一现象,即在产品生命周期的早期阶段就执行测试。从产品规格的创建到ASIC模块设计的流片,时间窗口在整个时间轴上都朝着项目开始的方向移动。 同样,在设计过程中使用FPGA早已被确立为一种标准方法,以便能够在可提供ASIC之前就对数字电路进行测试。这个理念导致了使用一个现成可用的、可重新编程或可重新配置的FPGA硬件组件来以实时速度运行设计,以在设计流程的早期阶段检测出错误。 与最终的ASIC相比,FPGA绝不是成本低廉的解决方案,但它可为设计团队带来实实在在的价值,从而支持设计团队去有效地发现在电路创建过程中已经产生的错误,这些错误无法通过仿真或其他基于软件的验证方法检测到。通过扩展,它还支持在验证过程中发现和消除缺陷。 此外,在ASIC芯片开始供货之前,通常希望有一个可用的功能平台,以便能够在开发硬件的同时,去实现和测试运行所需的软件和固件。因此,可以安全地假设IP核的使用和FPGA的使用都是经过验证的电路实现和验证方法,其应用不会造成任何困难。然而,实际设计过程也经常是“细节决定成败”。 面向 ASIC 原型验证的 IP 核考量因素 实际上,提供一款IP并将其无缝地用于ASIC和FPGA是一项极具挑战性的任务。在本节中,我们将讨论在考虑原型设计任务时就开始出现的最普遍的问题。 原型设计:各种考量因素的总体概述 主题 1 :一款原型和最终 ASIC 实现之间的要求有何不同? 主题 2:当使用FPGA进行原型设计时会立即想到哪些基本概念? 主题3:在将专为ASIC技术而设计的IP核移植到FPGA架构上时通常会遇到哪些困难? 主题4:为了支持基于FPGA的原型,通常需要对ASIC IP核进行哪些更改? 主题5:我们如何确保在FPGA上实现所需的性能? 主题6:在时钟方面必须加以考量的因素有哪些? 主题7:如果目标技术是FPGA,而不是ASIC,那么需要如何测试IP核的功能? 主题8:设计团队还应该牢记什么? 图1:在电路设计中嵌入IP核经常被误解为与搭乐高®积木的原理相同,其中的道理就是简单地组装预先定制的构建模块——然而在实际工作中,这只说出了事实的一半(图片来源:iStock/Getty Images) 认为只需要将打算实例化的IP模块和集成该模块的实例之间的物理接口进行匹配就行的这种理念就是不现实的。为了能够成功地集成预先定制的电路功能,需要考虑更多的问题。 事实上,嵌入IP核远非易事!有各种各样的参数可能需要调整:例如,必须确保时钟信号与频率匹配,还必须特别注意复位的分布规律。输入和输出信号必须与电路的其余部分同步;甚至可能需要应用带有延迟的时钟和数据信号。IP核的集成也改变了整个系统的延迟,额外的功能也影响电路的时序行为,逻辑门利用以及诸如存储单元的使用等等。 事实是一款IP核必须为不同的目标架构提供相同的功能——例如,来自不同制造商的ASIC和FPGA产品,它们具有不同的工艺节点和结构,这给功能实现的质量提出了特殊挑战;同时,也对IP供应商用于验证和物理确认电路功能的方法提出了特殊挑战。 主题 1 :一款原型和最终 ASIC 实现之间的要求有何不同? 通常,与基于FPGA的原型设计相比,在ASIC设计的后期会提出各种不同的要求。例如,除了提供实际的电路功能之外,ASIC规范的主要关注点可以是降低功耗,也可能是占用最小的片芯面积,甚至是实现最高的时钟频率。此外,必须提供测试结构方案来支持功能测试,重点是能识别已流片的ASIC的物理缺陷。 所有这些要求都与在原型设计期间如何在FPGA中使用IP几乎无关,进一步的解释如下所述: • 片芯面积占用(使用逻辑门数量)在原型设计中扮演着次要的角色。当然,我们希望所使用的FPGA器件的复杂度越低越好,这样原型的性价比更高且可减少总体支出。然而,在许多情况下,从一开始就有一个“尽可能大”的可重构的模块是非常明智的,这样就能够覆盖可能导致面积占用量增加的电路变化,而不需要在原型设计进行期间将FPGA器件切换到更复杂的FPGA。切换很可能需要重新设计,或者在使用预先定制的FPGA开发板的情况下,重新购买一个基于FPGA的原型验证平台。 • 功耗对于一个目标仅为实现单一功能的原型设计来说根本不重要,但是开发人员也期望部署专为ASIC降低功耗开发的方法,并将其包含在原型设计中则可能是明智的做法。关于该话题的更详细的讨论,可以在接下来的主题8的答案下找到:我们还应该牢记什么? • ASIC RTL可能包含测试结构,以实现数字部件的大规模量产测试,目的是找出有缺陷的单元。为了支持相关的测试,需要实现测试结构。然而,这些类型的测试结构通常不在FPGA中实现,因为根本不需要它们。FPGA组件已经经过了充分的测试。 本系列文章的目标是全面分享如何利用 ASIC IP来实现完美的FPGA验证原型的经验,本篇在讲述了如何了解ASIC IP与FPGA验证原型的区别并提前做相应规划之后,还将详细介绍与之相关的另外七大主题。下一篇将介绍使用FPGA进行原型设计时会立即想到哪些基本概念?在将专为ASIC技术而设计的IP核移植到FPGA架构上时通常会遇到哪些困难?以及为了支持基于FPGA的原型,通常需要对ASIC IP核进行哪些更改?欢迎关注SmartDV全资子公司“智权半导体”微信公众号继续阅读。 最后,SmartDV在相关介绍和分析之后,还提供实际案例:用基于FPGA的方法来验证USB 3.2 Gen2x1 Device IP USB 3.2 Gen2x1 Device IP:实现、验证和物理验证 USB 3.2 Gen2x1 Device IP的实现挑战 关于作者 Philipp Jacobsohn Philipp Jacobsohn是SmartDV的首席应用工程师,他为北美、欧洲和日本地区的客户提供设计IP和验证IP方面的支持。除了使SmartDV的客户实现芯片设计成功这项工作,Philipp还是一个狂热的技术作家,乐于分享他在半导体行业积累的丰富知识。在2023年加入SmartDV团队之前,Philipp在J. Haugg、Synopsys、Synplicity、Epson Europe Electronics、Lattice Semiconductors、EBV Elektronik和SEI-Elbatex等担任过多个管理和现场应用职位。Philipp在瑞士工作。 Sunil Kumar Sunil Kumar是SmartDV的FPGA设计总监。作为一名经验丰富的超大规模集成电路(VLSI)设计专业人士,Sunil在基于FPGA的ASIC原型设计(包括FPGA设计、逻辑综合、静态时序分析和时序收敛)和高速电路板设计(包括PCB布局和布线、信号完整性分析、电路板启动和测试)等方面拥有丰富的专业知识。在2022年加入SmartDV团队之前,Sunil在L&T Technology Services Limited担任过项目经理和项目负责人职位。Sunil在印度工作。 关于智权半导体 智权半导体科技(厦门)有限公司是SmartDV Technologies™在华设立的全资子公司,其目标是利用SmartDV全球领先的硅知识产权(IP)技术和产品,以及本地化的支持服务来赋能中国集成电路行业和电子信息产业。目前,SmartDV在全球已有300家客户,其中包括十大半导体公司中的七家和四大消费电子公司。 通过将专有的SmartCompiler™技术与数百位专家工程师的知识相结合,SmartDV可以快速、经济、可靠地定制IP,以实现您独特的设计目标。因此,无论您是为下一代SoC、ASIC或FPGA寻找基于标准的设计IP,还是寻求验证解决方案(VIP)来测试您的芯片设计,您都会发现SmartDV的IP非常容易集成,并在性能上可力助您的芯片设计实现差异化。 了解更多关于SmartDV和智权半导体的信息,请浏览:www.smart-ip.cn,或发邮件到: chinasales@smart-ip.cn
  • 2024-7-11 14:40
    0 个评论
    创龙科技已发布支持OpenWRT的T113-i Tina系统啦!有些小伙伴可能会有疑问什么是OpenWRT,它有什么优势?今天,创龙科技带您一文读懂OpenWRT,以及它的三大优势。 什么是OpenWRT OpenWRT是嵌入式设备上运行的Linux文件系统。OpenWRT的文件系统是可写的,开发者无需在每一次修改后重新编译,这令它更像一个小型的Linux电脑系统,也加快了开发速度。您会发现无论是ARM、PowerPC或MIPS的处理器,它都有很好的支持。并且附带超过3000个软件包,用户可方便的使用自定义功能来制作固件。亦可方便的移植各类功能到OpenWRT下。 OpenWRT还是一个高度模块化、高度自动化的Linux文件系统,它拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。 (图1) OpenWRT的优势 可扩展性 OpenWRT提供了许多以往只在高端设备上才提供的各种功能。它提供超过3000个适用于网关的组件,让您可以轻松地将他们应用于各种支持的设备。 高性能、高稳定性 OpenWRT由专注网络性能的网络专家等专业人士设计,整合了许多最新研究的算法,因此其性能远远优于供应商提供的固件。 OpenWRT相当稳定,经受住了长时间运行的考验。无线网络优化让设备间支持更高的数据速率和均衡的通信时长。 OpenWRT使用缓冲池控制算法在减少延迟(或滞后)的同时增加网络吞吐量。 高安全性 OpenWRT是一个开源软件,来自全世界的许多开发者在发布前反复检查它的源码。 OpenWRT无硬件供应商隐藏的后门程序。得益不受常见攻击影响的Linux操作系统,OpenWRT可抵抗常见漏洞。 OpenWRT能延长您路由器的使用寿命。虽然许多供应商只会在更新型号发布之前为您的路由器或设备提供更新,但只要其内存或闪存可以接纳新版本,OpenWRT就能支持兼容型号。 OpenWRT的应用场景 OpenWRT的应用场景十分广泛,涵盖工业数据网关、通讯管理机、工业机器人、工业PLC等领域。创龙科技的全志T113-i平台支持OpenWRT系统后,性价比将进一步提升。 (图2) 全志Tina系统介绍 全志科技基于OpenWRT构建的软件开发包 Tina是全志科技基于OpenWRT构建的软件开发包,它包含了Linux系统开发用到的内核源码、驱动、工具、系统中间件与应用程序包等。 Tina同时支持OpenWRT与buildroot Tina支持OpenWRT以及buildroot两套编译构建系统,在这之上加入了我们的build环境对接编译系统,可方便进行选择构建,可满足不同软件工程师的开发习惯。 创龙科技T113-i平台已发布适配支持OpenWRT的Tina系统,如需详细资料或源码,可与我司技术服务人员联系。
  • 热度 2
    2024-7-10 15:43
    370 次阅读|
    0 个评论
    测试数据汇总 备注: (1)当TLP header size =16Byte时,PCIe理论传输速率为:782.50MB/s; (2)当TLP header size =12Byte时,PCIe理论传输速率为:803.09MB/s; FSPI、PCIe总线介绍 FSPI(Flexible Serial Peripheral Interface)是一种高速、全双工、同步的串行通信总线,在RK3568J处理器中就有FSPI控制器,可用来连接FSPI设备。它具备如下特点: (1)支持串行NOR FLASH、串行NAND FLASH; (2)支持SDR模式; (3)支持单线、双线以及四线模式。 图1 FSPI数据传输波形图 PCIe,即PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准。主要用于扩充计算机系统总线数据吞吐量以及提高设备通信速度。 图2 PCIe数据传输图 硬件平台介绍 硬件方案: 创龙科技TL3568F-EVM评估板(瑞芯微RK3568J + 紫光同创Logos-2)。 TL3568F-EVM评估板简介: 创龙科技TL3568F-EVM是一款基于瑞芯微RK3568J/RK3568B2四核ARM Cortex-A55处理器 + 紫光同创Logos-2 PG2L50H/PG2L100H FPGA设计的异构多核国产工业评估板,由核心板和评估底板组成,ARM Cortex-A55处理单元主频高达1.8GHz/2.0GHz。核心板ARM、FPGA、ROM、RAM、电源、晶振、连接器等所有元器件均采用国产工业级方案,国产化率100%。同时,评估底板大部分元器件亦采用国产工业级方案。 Tronlong创龙科技 ,赞 39 (点击视频,1分钟解锁RK3568J + Logos-2工业核心板高光时刻!) RK3568J + FPGA典型应用场景 RK3568J + FPGA应用场景十分广泛,涵盖小电流选线、继电保护测试仪、运动控制器、医疗内窥镜、血液分析仪、目标识别跟踪等领域,可满足多种工业应用要求。 图3 案例测试 下文主要介绍基于瑞芯微RK3568J与紫光同创Logos-2(硬件平台:创龙科技TL3568F-EVM评估板)的FSPI、PCIe通信案例,按照创龙科技提供的案例用户手册进行操作得出测试结果。 基于RK3568J + FPGA的FSPI通信案例 (1)案例说明 ARM端运行Linux系统,基于FSPI总线对FPGA DRAM进行读写测试。 图4 ARM端程序流程图 ARM端实现SPI Master功能,原理说明如下: a)打开SPI设备节点,如:/dev/spidev4.0。 b)使用ioctl配置FSPI总线,如FSPI总线极性和相位、通信速率、数据长度等。 c)选择模式为单线模式、双线模式或四线模式。当设置FSPI为四线模式时,发送数据为四线模式,接收数据为四线模式。 d)发送数据至FSPI总线,以及从FSPI总线读取数据。 e)校验数据,然后打印读写速率、误码率。 FPGA端实现SPI Slave功能,原理说明如下: a)FPGA将SPI Master发送的数据保存至DRAM。 b)SPI Master发起读数据时,FPGA从DRAM读取数据通过FSPI总线传输至SPI Master。 (2)测试结果 ARM通过FSPI总线(四线模式)写入2048Byte随机数据至FPGA DRAM,然后读出数据、进行数据校验,同时打印FSPI总线读写速率和误码率。 从下图可知,本次实测写速率为11.035MB/s,读速率为24.414MB/s,误码率为0.00%。 图5 若设置FSPI总线通信时钟频率为150MHz,ARM通过FSPI总线写入1MByte随机数据至FPGA DRAM,然后读出数据,循环100次,不做数据检验,最后打印FSPI总线读写速率和误码率。 最终,本次测试设置FSPI总线通信时钟频率为150MHz,则FSPI四线模式理论通信速率为:(150000000 / 1024 / 1024 / 8 x 4)MB/s ≈ 71.53MB/s。从下图可知,本次实测写速率为52.638MB/s,读速率为67.452MB/s,比较接近理论通信速率。 备注:本案例设计FPGA BRAM大小2048Byte,一次写入1MByte数据量会导致BRAM数据溢出,因此误码率较高。配置一次写入1MByte数据量只是为了验证FSPI的最大通信速率,不考虑误码率。 图6 基于RK3568J + FPGA的PCIe通信案例 (1)案例说明 ARM端基于PCIe总线对FPGA DRAM进行读写测试。应用程序通过ioctl函数发送命令开启DMA传输数据后,等待驱动上报input事件;当应用层接收到input事件,说明DMA传输数据完成。 图7 程序流程图 ARM端原理说明如下: a)采用DMA方式; b)将数据写至dma_memcpy驱动申请的连续内存空间(位于DDR); c)配置DMA,如源地址、目标地址、传输的数据大小等; d)写操作:通过ioctl函数启动DMA,通过PCIe总线将数据搬运至FPGA DRAM; e)程序接收驱动上报input事件后,将通过ioctl函数获取DMA搬运数据耗时,并计算DMA传输速率(即写速率); f)读操作:通过ioctl函数启动DMA,通过PCIe总线将FPGA DRAM中的数据搬运至dma_memcpy驱动申请的连续内存空间(位于DDR); g)程序接收驱动上报input事件后,将数据从内核空间读取至用户空间,然后校验数据,同时通过ioctl函数获取DMA搬运数据耗时,并计算DMA传输速率(即读速率)。 FPGA端原理说明如下: a)实现PCIe Endpoint功能; b)处理PCIe RC端发起的PCIe BAR0空间读写事务; c)将PCIe BAR0读写数据缓存至FPGA DRAM中。 (2)测试结果 将随机数据先写入FPGA DRAM,再从FPGA DRAM读出。测试完成后,程序将会打印最终测试结果,包含读写平均传输耗时、读写平均传输速率、读写错误统计等信息。 图8 表 2 测试结果说明
相关资源