精华内容
下载资源
问答
  • 【题目】一个信道的比特速率为4Mbps,信号的传播延迟为20ms,数据的大小为10^4比特,采用滑动串口协议,不考虑生成时间,支持捎带应答,那么序号应为多少bit? 【答案】 以上答案为本人考研时,整理的...

    【题目】一个信道的比特速率为4Mbps,信号的传播延迟为20ms,数据帧的大小为10^4比特,采用滑动串口协议,不考虑帧的生成时间,支持捎带应答,那么帧序号应为多少bit?

    【答案】

    以上答案为本人考研时,整理的答案。其他历年考研真题答案请见本人上传的真题和答案,希望能够帮助考研的小伙伴~

    考研真题和答案下载链接:https://download.csdn.net/download/weixin_40065609/15602011

     

    展开全文
  • VR技术标准报告名 称 : VR刷新率,帧数,延迟的关系 姓 名 : 殷松 时 间 : 2017年5月27日 目 录一、fps帧数,刷新率,延迟概念 ...帧数:为帧生成数量的简称。fps为帧率,即画面改变的速度,也就是说一个动画的

    VR技术标准报告

    名 称 : VR刷新率,帧数,延迟的关系
    姓 名 : 殷松
    时 间 : 2017年5月27日

    目 录

    一、fps帧数,刷新率,延迟概念
    二、VR三大技术标准
    三、三大主流VR分辨率分析

    VR技术报告
    一、帧数,刷新率,延迟概念:
    帧数:为帧生成数量的简称。fps为帧率,即画面改变的速度,也就是说一个动画的帧率为60fps,那么他在一秒钟的帧数为60帧,2秒钟内的帧数为120帧。帧数是由显卡所决定的。
    人眼的视觉残留:
    【说法1】是因为人眼的视觉残留特性:是光对视网膜所产生的视觉在光停止作用后,仍保留一段时间的现象,其具体应用是电影的拍摄和放映。原因是由视神经元的反应速度造成的。其时值是二十四分之一秒。是动画、电影等视觉媒体形成和传播的根据。
    【说法2】当物体在快速运动时, 当人眼所看到的影像消失后,人眼仍能继续保留其影像1/24秒左右的图像,这种现象被称为视觉暂留现象。是人眼具有的一种性质。人眼观看物体时,成像于视网膜上,并由视神经输入人脑,感觉到物体的像。但当物体移去时,视神经对物体的印象不会立即消失,而要延续1/24秒左右的时间,人眼的这种性质被称为“眼睛的视觉暂留”。
    刷新率:是指电子束对屏幕上的图像重复扫描的次数。刷新频率分为垂直刷新率和水平刷新率,垂直刷新率表示屏幕的图象每秒种重绘多少次。也就是指每秒钟屏幕刷新的次数,以Hz(赫兹)为单位。VESA组织于97年规定85Hz逐行扫描为无闪烁的标准场频水平刷新率,水平刷新率又称行频,它表示显示器从左到右绘制一条水平线所用的时间,以kHz为单位。水平和垂直刷新率及分辨率三者是相关的,所以只要知道了显示器及显卡能够提供的最高垂直刷新率,就可以算出水平刷新率的数值。所以一般提到的刷新率通常指垂直刷新率。刷新率的高低对保护眼睛很重要,当刷新率低于60Hz的时候,屏幕会有明显的抖动,而一般要到72Hz以上才能较好的保护你的眼睛。刷新率是由显示器决定的。
    VR延迟:VR“延迟”(delay)是指从人的头部移动开始一直到头显设备(HMD)的光学信号映射到人眼上面全部的等待时间(latency time)。其中需要经过的全步骤如下图所示:
    延迟会影响玩家的注意力,延迟较大的时候会产生晕动症(motion sickness),也就是俗称的晕车晕船。其原理是视觉接受的自身的身体状态,与负责感知身体状态的中耳前庭器官不一致,中枢神经对这一状态的反馈就是恶心,来提醒身体状态的异常。简单来说,戴上VR头显移动头部的时候,由于延迟,视觉观察到的变化比身体感觉到的慢慢,产生冲突继而造成晕眩。
    根据研究,这个延迟只有控制在20ms以内,人体才不会有排斥反应。同时超过20ms也不一定就会造成晕眩恶心,就像有些人晕车有的人不晕,每个人的体质对延迟的敏感度和排斥反应的大小不同。具体延迟主要分为四种:
    1. 位置跟踪系统造成的延时。位置跟踪器通过六自由读数决定用户头部的位置和朝向。这些数据用于计算用户在虚拟环境中的视点和视角,从而实时更新虚拟现实设备所显示的虚拟场景。位置跟踪器需要一定的时间来采集和处理这些数据,必然就会出现一定的延时情况发生。
    2. 应用系统造成的延时问题。应用系统造成的延迟包括接受和处理各种外部输入数据(如处理数据手套传感器数据)、仿真过程执行时间(如各种碰撞检测等)。
    3. 生成图像造成的延时问题。虚拟现实系统需要生成虚拟现实左眼和右眼的图像。在基于虚拟现实设备的虚拟现实系统中,生成什么样的图像由头部位置跟踪数据和具体的仿真应用共同决定。由于虚拟现实应用系统图像计算复杂,就会导致延时。
    4. 显示图像造成的延时问题。生成的图像需要在虚拟现实设备中显示,就会由此造成一定的延迟。
    VR设备主要取决于四大因素:显示延时、计算延时、传输延时和传感器延时。其中,显示屏是延时的最主要因素,延时占比达 69%。显示延时主要在于帧间延时和帧内延时,AMOLED显示屏在这两个方面都有出色的表现,能够有效地减少显示屏延迟问题。降低屏幕显示延时的最简单方法就是提高刷新率,减少帧间延时,AMOLED 的响应时间是LCD 的千分之一,显示运动画面绝对不会有拖影的现象,恰恰是解决屏幕显示延时的最好解决方案之一。此外,VR 设备还可以通过降低余晖的方法来减少帧内延时。LCD 显示屏的显示原理是通过液晶翻转来选择性透过光线,而液晶翻转的响应时间最快也有 2-4ms,而 AMOLED 每个像素都是主动发光的,可以做到低余晖,进一步降低延时,减少眩晕。目前,Oculus Rift CV1 和 和 HTC Vive 采用了90hz刷新率,而Sony Project Morpheus是采用的是120hz刷新率,都是采用 AMOLED。
    VR三大技术标准
    2016年11月至2017年4月形成了三大标准:
    VR的体验实际上需要复杂的技术处理流程,从传感器采集、传输、游戏引擎处理、驱动硬件渲染画面、液晶像素颜色切换,最后到人眼看到对应的画面,中间经过的每一个步骤都会产生一个Latency我们称之为延迟。由此,衍生出VR产品必须支持的三个关键参数指标——20ms毫秒延时、75Hz以上画面刷新率及1K以上陀螺仪刷新率。
    VR延时指VR设备头部运动与视觉感知的匹配程度,人类生物研究表明,人类头动和视野回传的延迟须低于20ms毫秒,否则将产生视觉拖影感从而导致强烈眩晕。按照以上三大指标的算法VR标准解析如下:
    目前TFT屏幕延时本身都高于20ms毫秒,故VR产品硬件只考虑OLED或更好屏幕,我们先来看一下通常OLED屏幕刷新率在60Hz的情况,用公式1秒/60Hz =16.67ms毫秒再除以2只眼睛来推算,每只眼的延时为8.3毫秒是该VR设备无法绕开的硬延时,若要达到较好VR体验,还需考虑“OLED屏幕延时2ms毫秒”+“反畸变和反色散算法延时”的3ms毫秒+“1K刷新率陀螺仪本身延时1m精度加数据上报延时1ms”的2ms毫秒,则VR产品的GPU性能速度必须在20ms-8.3ms-2ms-3ms-2ms也就是4.7ms毫秒内做完各种渲染回传至人眼;依据目前芯片GPU性能推算,当屏幕刷新率在75Hz或以上时, VR产品的体验效果则愈发流畅,故芯片GPU的能力以及配套的深度算法是决定VR产品体验的关键因素。
    提高刷新率是提升VR体验的大势所趋,刷新率越高VR延时越小,屏的闪烁感以及延时也会得到改善,体验也越好;而采用低于60Hz刷新率屏幕甚至是TFT屏幕的VR产品在延时方面无法提升,体验极为糟糕且眩晕感强烈,被业内定义为缺陷级VR产品。故当前支持刷新率在75Hz~90Hz区间的VR设备为入门级标准指标;高于90Hz的VR设备为中阶VR产品。

    三 大主流VR分辨率分析
    PSVR的120帧刷新率支持三种模式,分别是:
    60Hz渲染(游戏,体验),异步二次投影,120Hz显示
    90Hz渲染,90Hz显示
    120Hz渲染,120Hz显示
    Asynchronous Reprojection(异步投影技术)的实现:layStation VR的1000hz传感器,在每一毫秒里都会提供新的位置信息。Asynchronous Reprojection利用每两帧之间画面几乎非常接近的特点,用尽量小的机能消耗来生成对应当前人眼位置的画面。用户则能够在下一帧画面刷新之前,看到扭曲过的和最新的位置数据最接近的一帧画面,以暂时对应头部数据。
    所谓异步,就是将上述线程和图像渲染处理线程分离开,是把这个线程和图像渲染线程分离开来。因为如果这两个线程顺序进行,由于可能出现画面渲染尚未完成的情况,造成Reprojection也被延后,但帧同步是固定时刻进行的,那么Asynchronous Reprojection就失去意义了。也就是说,所谓异步重投影,就是一帧是真实的,而下一帧是根据上一帧画面扭曲生成的。
    虽然异步重投影有效的解决了帧率不够的问题,但并不是说完美的,这种方式有其本身的缺陷。
    而HTC vive和Oculus Rift均是90Hz分辨率,Oculus Rift运行在90赫兹的2016×1200的双屏幕上,每秒需要为2.33亿像素着色。Oculus Rift的第二代采用了OLED 1080p显示器,这明显标志着分辨率需要得到增强。新月湾也提高了本身的分辨率,但Oculus VR对其具体规格参数仍处于保密中。相比之下,PS4版的Project Morpheus拥有1080p的OLED显示器,并且它还拥有120赫兹的刷新率。

    展开全文
  • 一种生成中间技术,异步时间扭曲(Asynchronous Timewarp) 翻译: https://www.oculus.com/blog/asynchronous-timewarp/  异步时间扭曲(Asynchronous Timewarp 时间扭曲,即调整时

    http://www.myexception.cn/other/1883027.html

    一种生成中间帧技术,异步时间扭曲(Asynchronous Timewarp)

    翻译: https://www.oculus.com/blog/asynchronous-timewarp/


       异步时间扭曲(Asynchronous Timewarp 时间扭曲,即调整时长)调查

     

    关于作者:迈克尔·安东诺夫他是Oculus的首席软件工程师,领导SDK团队,在来Oculus之前,他是ScaleformCTO,在那里他领导硬件加速Flash矢量图形引擎项目,这个引擎被用到上百个视频游戏中,在他的职业生涯里,他主要关注复杂的多线程体系结构,计算机图形学,编程语言设计领域。

     

    导言: 异步时间扭曲(Asynchronous Timewarp简称ATW)是一种生成中间帧的技术,当游戏不能保持足够帧率的时候,ATW能产生中间帧,从而有效减少游戏画面的抖动,但是,ATW不是灵丹妙药,有一定局限性(局限性在后面介绍),开发人员也应该意识到。

     

    简介: 近一年来,围绕着ATW这项技术已经有了许多令人兴奋的进展,ATW技术让虚拟现实设备保持较低帧率运行看到了希望,在虚拟现实穿戴设备中应用ATW,人为地填充中间帧,即使在帧率下降的情况下,也不会使渲染质量有显著的下降。 

     

    Gear VR(三星的一款虚拟现实穿戴设备)中,ATW是其重要组成部分,并积累了宝贵的经验, 但是很不幸,经验表明,在PC机上ATW通过位置跟踪方法来解决虚拟现实系统抖动问题是有限的和有技术挑战的,就像Oculus Rift虚拟现实眼镜)一样。在一些情况下,在虚拟现实中应用ATW后的效果和由跳帧引起的抖动效果一样糟糕。 

     

    在这篇博客中,我们分析了这些限制和导致特殊困难的原因,您将看到,ATW有时是有用的,但是还不能让虚拟现实引擎满帧运行,没有达到完美体验的程度。

     

    时间扭曲(Timewarp),异步时间扭曲(Asynchronous Timewarp),和抖动(Judder)的概念:

     

    时间扭曲是一种图像帧修正的技术,在使用虚拟现实眼睛设备时,由于头部运动过快,而造场景渲染的延迟,即头已经转过去了,但是图像还没有渲染出来,或者渲染的是上一帧的图像, 时间扭曲它通过扭曲一副被送往显示器之前图像,来解决这个延迟问题。 最基础的时间扭曲是基于方向的扭曲,这种只纠正了头部的转动变化姿势这种扭曲对于2D图像是有优势的,它合并一副变形图像不需要花费太多系统资源。对于复杂的场景,它可以用较少的计算生成一个新的图像帧。

     

    异步时间扭曲是指在一个线程(称为ATW线程)中进行处理,这个线程和渲染线程平行运行(异步),在每次同步之前,ATW线程根据渲染线程的最后一帧生成一个新的帧。 

     

    抖动和其具体细节在迈克尔·亚伯拉什的一篇文章中有详细介绍(参见我翻译的Ramblings in Value Time.

     

    在虚拟现实设备中,为了正确在虚拟世界里呈现一个人们的感知,必须要在显示器上的定时更新图像,然而,如果渲染时间太长,一帧就会丢失了,产生的结果就是抖动,这是由于新的一帧图像还没有被渲染出来,显示器显示了上一帧的图像,如果一帧图像被两次渲染就会产生下面结果,如图:


    Timewarp5

    这里,眼睛转向左侧,这时图像又被渲染一次,图像落在视网膜的不同部分,导致双影抖动。 

    当然,双影并不是唯一的结果,如果同样的帧显示三次,就会产生三重影,以此类推。 

     

    基于方向的时间扭曲可以解决上午位置重影抖动问题,如果游戏渲染帧没有和头部运动达成同步, 时间扭曲可以介入并产生一个图像替代还没有被渲染出来的帧。 自从最后一帧被渲染,通过扭曲最后一帧来反馈头部运动, 所以相比原始的帧加入ATW显示会减少抖动,如果不加ATW不知道会发生什么事情。 

     

    在某些情况下,简单的渲染扭曲处理可以工作的很好,这种技术已经在Gear VR 中实现了,当游戏不能满足帧率的时候ATW就会自动填充帧,这使得帧很平滑,但有许多细不太明显的小瑕疵,因为 GearVR 缺乏位置跟踪,并且避开了近场对象。下面讨论的许多瑕疵应该怎样减少或避免。

     

    这也就是说,为什么说相比ATWGear VR而言,ATWPC是更有意义和更有挑战性的,让我从Oculus Rift所支持的位置跟踪开始探讨。 

     

    位置抖动(Positional Judder): 

    位置抖动是最明显的用基于方向的时间扭曲带来瑕疵之一,在使用虚拟现实设备时,当头部移动了, 如果在ATW产生图像帧时只考虑了旋转分量,那么任何头部平移分量都将被忽略了。这就意味着当你的头部从一边移动到另一边时,甚至是旋转你的头并且你的转动眼睛,你讲看见离你很近的物体会有多个图像的抖动,这种效果是非常明显的,在临近场空间中,比如下面的这个潜艇截图。 

    timewarp1

    近场对象多重抖动的图像示例。 

     

    那么,这种影响有多严重? 

    这个颤抖的程度取决于玩家的运动方式,如果你保持你的头部相对静止并且只看风景,这种颤动将并不显著,可以忽略不计。

     

    注意:上述现象在Gear VR 中是非常常见的, 它没有包含位置跟踪, 然而,头部模型产生虚拟的旋转,所以当用Gear VR 在半速率玩游戏的时候, 你仍然可以观察到近场物体的抖动。 

     

    如果看远处物体, 头部运动不太可能引起明显抖动。 在这种情况下。ATW可以使你自由的看中远处场景,并且没有明显的抖动。 

     

    换句话说, 如果你离场景非常的近,当你头部移动的时候,位置抖动将会相当明显,就像没有ATW一样,这种抖动也会出现在当你近距离看带纹理的地面的时候,这个场景离你非常近并没有产生中间帧, 由此产生的感觉是一个让人望而生畏,不稳定的世界, 让人非常迷茫和不舒服。 

     

    位置扭曲(Positional Timewarp):

    解决位置颤抖的一个可能的方法是实现全位置扭曲,它应用平移和旋转两个分量来修正原始帧,位置扭曲,位置扭曲需要考虑原始帧的深度信息,由不同的量替代图像的一部分。 然而,这样产生的中间帧会使物体边缘不闭合,由于没有原始帧中的数据,会导致中间帧某些区域不能被覆盖。 

    此外,位置扭曲代价更高, 不容易处理半透明,处理反走样比较麻烦。位置扭曲并不能解决下面要讨论的情形。 

     

    运动的物体和动画:

    使用ATW时,动画或者移动的物体引起另外一个瑕疵, 因为一个新的图像是只是根据原始图像生成的,原始图像上并没有物体的运动信息, 对于所有ATW产生的中间帧都好像是被冻结了一样,这个伪影表现为这些移动的物体,即抖动的多幅图像。 

    Timewarp2

    场景中移动物体产生的抖动效果。 

     

    这个伪影的影响取决于场景中物体数量投影面积,运动速度,如果数量或大小的物体很小或不快多个图像可能不是特别明显然而,当移动物体或动画覆盖屏幕很大一部分,那将令人不安的。 

     

    此外,帧率比,即游戏帧率和显示设备刷新率的比值会对运动的抖动效果造成影响,根据我们的经验,ATW应该允许在一个固定的帧率区间内,例如,对于90赫兹的刷新率,我们应该在45赫兹区间使用ATW, 这将导致图像增加一倍,但在视网膜的双图像的相对位置将保持稳定渲染在一个中间帧率,比如65赫兹,这将导致在视网膜上的图像数目和位置不断变化,这是一个糟糕的中间帧。

     

    镜面反射: 

    计算镜面反射需考虑眼睛的方向, 或摄像机的方向, 由此生成一个图片。 

     Timewarp3Timewarp4

     

    由于眼睛或头部运动,镜面反射不再是正确的,这可能导致镜面反射抖动。

     

    像镜面高光和反射依赖于眼睛位置一样,还有许多其他依赖于眼睛位置的着色技巧也有类似的问题, 例如,视差贴图和浮雕纹理映射将有类似的效果。 

     

    实现:  

    实现ATW是有挑战性的,主要有两个原因: 

    1: 它需要GPU硬件支持合理的抢占粒度。

    2: 它要求操作系统和驱动程序支持使GPU抢占。 

    让我们从抢占粒度开始,在90赫兹,帧之间的间隔大约是11ms(1/90),这意味着为了使ATW有机生成一帧,它必须能够抢占渲染线程并且运行时间少于11ms,然而11ms实际上不够好,如果ATW在一帧时间区间内任意随机点开始运行,那么起潜伏期(执行和帧扫描之间的时间)也将随机, 我们需要确保我们不跳跃任何游戏渲染的帧。 

     

    我们真的期望ATW运行一直非常的短,短到在视频卡产生新的一帧之前结束,刚好有足够的时间来完成中间帧的生成,缺少自定义的同步ATW中断例程,我们可以获得高优先级抢占粒度和调度, 在最长2ms或更少的时间内。

     

    原来,对现在的图形卡和驱动实现来说,2ms抢占是一个艰巨的任务,虽然许多GPU支持有限的形式的抢占,但执行存在显著差异。 

     

    1: 一些显卡实现厂商和驱动程序允许抢占任一批处理或回执调用粒度,虽然有帮助,但不是十分完美(举一个极端的例子,一个复杂的并包含很多绘制指令着色器可以很容易在10ms完成)。

    2: 其他显卡实现厂商和驱动程序允许抢占计算着色器, 但需要特定扩展来支持。 

     

    如果抢占操作不是很快,则ATW将无法抢在画面同步之前生成中间帧。  这样,最后一帧将会再显示,将导致抖动,这意味着一个正确的实现应该能够抢占和恢复任意渲染操作,和管线状态。 理论上讲,甚至三角抢占(triangle-granularity) 不够好,因为我们不知道一个复杂着色器执行将花多长时间。 我们正与GPU制造商来实现更好的抢占,但是在这之前确实要因为这个问题花费一定时间。

     

    另外一方面是操作系统对抢占的支持,在Windows8之前,Windiows显示驱动模型(WDDM)支持使用“批处理队列”粒度的有限抢占,对于内奸的图形驱动程序,很不幸,图形驱动程序趋向于大批量渲染效率, 导致支持ATW太粗糙。  

     

    对于Windows8,改善了WDDM1.2支持更细的抢占粒度,然而,这些抢占模式不被图形驱动程序普遍支持,渲染管线将在Windows 10 或 DirectX12中得到显著提升。 这为开发人员提供了较低级别的渲染控制,这是一个好消息, 但直到Windows10变为主流之前,我们还是没有标准的方式来支持渲染抢占, 造成的结果是,ATW需要特定显卡驱动的扩展。

     

     

    ATW是有用的,但不是万能的。 

    一旦我们普遍实现了GPU渲染管线管理和任务抢占, ATW可能成为另一种工具来帮助开发人员提高性能和减少虚拟现实的抖动, 然而,由于我们这里列出的挑战的问题,ATW不是万能的, VR的应用本身最好是维持较高的帧率,以提供最好的渲染质量。 最坏的情况,ATW生成的中间帧也可以导致用户有不舒服的感受,换句话说,ATW无法根本解决这种不舒服。

     

    根据生成中间帧的复杂性来说, ATW很显然表明, 甚至是位置时间扭曲, ATW不会成为一个完美的通用的解决方案,这意味着只有方向ATW和位置ATW还算是可以的, 填充帧时偶尔会有跳跃。 为了产生一个舒适,令人信服的虚拟现实,开发人员仍然需要保持帧率在90赫兹。 

     

    试图支持传统显示器和VR双模式将会面临很大性能困难,这种巨大的性能要求是对引擎的伸缩性的考验,对于开发人员遇到的这种情况, ATW可能看起来很有吸引力, 如果达到90赫兹的频率,将使VR具有很好的舒适性,这是VR存在的真正魅力。 

    展开全文
  • 最近在研究CAN总线的驱动,需要详细了解数据/标准/扩展/远程/错误这几种的详细组成格式,于是收集了一下,统一放在这里进行对比和记录,以便日后需要时查阅

    最近在研究CAN总线的驱动,需要详细了解数据帧/标准帧/扩展帧/远程帧/错误帧这几种帧的详细组成格式,于是收集了一下,统一放在这里进行对比和记录,以便日后需要时查阅。

    1、数据帧-标准帧

    CAN 标准数据帧如下图所示。与其他所有帧一样,帧以起始帧 (SOF)位开始, SOF 为显性状态,允许所有节点的硬同步。

    SOF之后是仲裁字段,由12个位组成,分别为11个标识位和一个远程发送请求(Remote Transmission
    Request, RTR)位。 RTR 位用于区分报文是数据帧(RTR 位为显性状态)还是远程帧 (RTR 位为隐性状态)。

    仲裁字段之后是控制字段,由 6 个位组成。控制字段的第一位为标识扩展(Identifier Extension,IDE)位,该位应是显性状态来指定标准帧。标识扩展位的下一位为零保留位(RB0),CAN 协议将其定义为显性位。控制字段的其余 4 位为数据长度码 (Data Length Code,DLC),用来指定报文中包含的数据字节数 (0 到 8 字节)。

    控制字段之后为数据字段,包含要发送的任何数据字节。数据字段长度由上述 DLC 定义 (0 到 8 字节)。数据字段之后为循环冗余校验(CRC)字段,用来检测报文传输错误。CRC 字段包含一个 15 位的 CRC 序列,之后是隐性的 CRC 定界位。

    最后一个字段是确认字段 (ACK),由 2 个位组成。在确认时隙(ACK Slot)位执行期间,发送节点发出一个隐性位。任何收到无错误帧的节点会发回一个显性位(无论该节点是否配置为接受该报文与否)来确认帧收到无误。确认字段以隐性确认定界符结束,该定界符可能不允许被改写为显性位。
    在这里插入图片描述

    2、数据帧-扩展帧

    在扩展 CAN 数据帧中(如下图所示),紧随 SOF 位的是 32 位的仲裁字段。仲裁字段的前 11 位为 29 位标识符的最高有效位(Most Significant bit,MSb)(基本lD) 。紧随这 11 位的是替代远程请求(Substitute Remote Request, SRR)位,定义为隐性状态。 SRR位之后是 lDE 位,该位为隐性状态时表示这是扩展的CAN 帧。

    应该注意的是,如果发送完扩展帧标识符的前 11 位后,总线仲裁无果,而此时其中一个等待仲裁的节点发出标准 CAN 数据帧 (11 位标识符),那么,由于节点发出了显性 lDE 位而使标准 CAN 帧赢得总线仲裁。另外,扩展 CAN 帧的 SRR 位应为隐性,以允许正在发送标准CAN 远程帧的节点发出显性 RTR 位。

    SRR和lDE位之后是标识符的其余18位(扩展lD)及一个远程发送请求位。

    为使标准帧和扩展帧都能在共享网络上发送,应将29位扩展报文标识符拆成高 11 位和低 18 位两部分。拆分后可确保 lDE 位在标准数据帧和扩展数据帧中的位置保持一致。

    仲裁字段之后是 6 位控制字段。控制字段前两位为保留位,必须定义为显性位。其余 4 位为 DLC,用来指定报文中包含的数据字节数。

    扩展数据帧的其他部分 (数据字段、 CRC 字段、确认字段、帧结尾和间断)与标准数据帧的结构相同。
    在这里插入图片描述

    3、远程帧

    通常,数据传输是由数据源节点(例如,传感器发出数据帧)自主完成的。但也可能存在目标节点向源节点请求发送数据的情况。要做到这一点,目标节点需发送一个远程帧,其中的标识符应与所需数据帧的标识符相匹配。随后,相应的数据源节点会发送一个数据帧以响应远程帧请求。

    远程帧 与数据帧存在两点不同:

    1)远程帧的 RTR 位为隐性状态;
    2)远程帧没有数据字段。

    当带有相同标识符的数据帧和远程帧同时发出时,数据帧将赢得仲裁,因为其标识符后面的 RTR 位为显性。这样,可使发送远程帧的节点立即收到所需数据。
    在这里插入图片描述

    4、主动错误帧

    当错误主动节点检测到一个总线错误时,这个节点将产生一个主动错误标志来中断当前的报文发送。主动错误标志由 6 个连续的显性位构成。这种位序列主动打破了位填充规则。所有其他节点在识别到所生成的位填充错误后,会自行产生错误帧,称为错误反射标志。

    错误标志字段因此包含 6 到 12 个连续显性位 (由 1 个或多个节点产生)。错误定界字段 (8 个隐性位)为错误帧划上句号。在错误帧发送完毕后,总线主动恢复正常状态,被中断的节点会尝试重新发送被中止的报文。
    在这里插入图片描述

    5、过载帧

    过载帧与主动错误帧具有相同的格式。

    但是,过载帧只能在帧间间隔产生,因此可通过这种方式区分过载帧和错误帧 (错误帧是在帧传输时发出
    的)。过载帧由两个字段组成,即过载标志和随后的过载定界符。过载标志由 6 个显性位和紧随其后的其他节点产生的过载标志构成 (而主动错误标志最多包含 12个显性位)。过载定界符包含 8 个隐性位。节点在两种情况下会产生过载帧:

    1)节点在帧间间隔检测到非法显性位。在 IFS 的第三位期间检测到显性位除外。这种情况下,接收器会把它看作一个 SOF 信号。
    2)由于内部原因,节点尚无法开始接收下一条报文。节点最多可产生两条连续的过载帧来延迟下一条报文的发送。
    在这里插入图片描述

    展开全文
  • 视频流中的 I P B .

    千次阅读 2016-08-28 08:23:40
    视频流中的I,P,B介绍 首先我们需要理解,每一个都代表着一个静止的图像。在我们实际传输视频流中,我们会想尽办法,通过各种算法来减少数据的容量,这里最为常见的为IPB(Intra coded frames, Predicted ...
  • 线程根据渲染线程的最后一帧生成一个新的帧。    抖动和其具体细节在 迈克尔 · 亚伯拉什 的一篇文章中有详细介绍(参见我翻译的 Ramblings in Value Time. )   在虚拟现实设备中,为了正确在...
  • AVS2的GB与s

    2018-09-17 14:47:17
    GB:  为了支持长期参考技术, AVS2引入了背景(GB) 。考虑到背景主要包含场景中的背景区域,其作用是提供参考,而不是观看,因此背景是一种不应输出的内解码场景图像。当然,如果背景图像确实需要输出,...
  • iOS之深入探究动画渲染降

    千次阅读 2021-10-16 20:50:40
    一、为什么要对动画降? 众所周知,刷新频率越高体验越好,对于 iOS app 的刷新频率应该是越接近越 60fps 越好,主动给动画降,肯定会影响动画的体验。但是另一方面,我们也知道动画渲染的过程中需要消耗大量的...
  • 同步

    千次阅读 2018-03-13 09:44:25
    同步什么是同步:同步常被RTS(即时战略)游戏常采用。在游戏中同步的是玩家的操作指令,操作指令包含当前的索引。一般的流程是客户端上传操作到服务器, 服务器收到后并不计算游戏行为, 而是转发到所有...
  • unity 实现同步

    万次阅读 多人点赞 2019-02-09 17:14:18
    此框架为有同步需求的游戏做一个简单的示例,实现了一个精简的框架,本文着重讲解同步游戏开发过程中需要注意的各种要点,伴随框架自带了一个小的塔防sample作为演示. 目录: 哪些游戏需要使用同步 如何实现一个...
  • 一些VR延迟优化方法

    万次阅读 2016-02-15 15:10:02
    VR中的”延迟”, 特指”Motion-To-Photon Latency”, 指的是从用户运动开始到相应画面显示到屏幕上所花的时间. 这中间经过了大概这么几个步骤: 传感器采集运动输入数据 采集到的数据进行过滤并通过线缆传输到主机...
  • 视频压缩中,每代表一幅静止的图像。而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的。 Intra coded frames, Predicted pictures, and Bi-directional predictive pictures。 I是关键...
  • 二、 后退 N 协议 滑动窗口、 三、 后退 N 协议 运行过程、 四、 后退 N 协议 发送方数据分类、 五、 后退 N 协议 发送方 需要 响应的事件、 六、 后退 N 协议 接收方 需要 响应的事件、 七、 后退 N...
  • ZigBee之结构

    万次阅读 2016-09-05 09:31:43
    IEEE 802.15.4/ZigBee结构的设计原则为在保证网络在有噪音的信道上以足够健壮性的传输的基础上将网络的复杂性降到最低。每一后继的协议层都是在其前一层添加或者剥除了头和尾而形成,IEEE 802.15.4的MAC层定义...
  • 卡马克揭开VR延迟背后的真相

    千次阅读 2015-11-16 00:39:03
    原文:http://oculusrift-blog.com/john-carmacks-message-of-latency/682/延迟是OculusVR所...整个系统保持在50ms已经很快了, 但是还是可以感觉到延迟20ms是可接受的最大延迟传感器数据的推导预测可以缓解部分的系
  • 生成树协议STP、RSTP和MSTP原理的理解

    万次阅读 多人点赞 2018-12-20 22:15:17
    在组网中,很可能会...生成树协议(STP、RSTP、MSTP)就可以实现这样的功能。 STP(802.1D,SpanningTreeProtocol,生成树协议) 基本思想 将网络的拓扑修剪为树形拓扑,拓扑图形状与一棵树相似,这样就不会...
  • unity-shader-延迟渲染

    千次阅读 2019-04-11 16:40:00
    title: unity-shader-延迟渲染 categories: Unity3d tags: [unity, shader, deferred] date: 2019-04-11 15:13:19 comments: false unity-shader-延迟渲染 前篇 相关资料 延迟着色法 - ...
  • Mp3分析(数据

    千次阅读 2018-03-16 17:23:56
     头后面可能有两个字节的CRC 校验,这两个字节的是否存在决定于FRAMEHEADER 信息的第16bit, 为0 则头后面无校验,为1 则有校验,校验值长度为2 个字节,(后面是可变长度的附加信息,对于标准的MP3文件来说,其...
  • 捕获-每20毫秒从画布捕获一个新(请注意20毫秒是每秒50的默认延迟,这是默认的FPS) 处理-处理每个捕获的以确定该的最佳调色板以及每更改的内容。 这是在网络工作者中发生的,一旦捕获到,就会立即在...
  • 多媒体会议系统中的延迟

    千次阅读 2007-11-02 08:33:00
    多媒体会议系统中的延迟 端 对端的音频延迟在任何语音通信系统中都是极其重要的特性。用户感觉交谈和会议中的自然性与交互性都强烈依赖于系统的音频延迟。如果系统延迟太长使得会谈各方不方便或者很困难交互,这样的...
  • 使用python使用平面波总和生成准晶体的gif动画 如果您喜欢准晶体脚本/笔记本,请分叉存储库并提供帮助,或者给它加星号! 用法 假设您的路径中有python并且安装了所有依赖项: python quasicrystals.py -fn qc.fig...
  • 延迟是AR/VR体验的基础

    千次阅读 2015-12-15 23:37:31
    译者注: 原文发表于2012年, 虽然当时的一些硬件条件限制现在已经没有了, 但我们可以从中学习到AR/VR的延迟解决思路. 另外, 译文略过了显示器的发展史如果没有足够低的延迟, 根本不可能带来好的体验, 也就说大脑不会...
  • OpenGL 4.0 GLSL 延迟渲染 Deferred shading

    千次阅读 2014-02-18 15:00:58
    Deferred shading 是把应用光照或shading推迟到第二来做。这样可以避免了不必要的像 素计算。 如下图只用了漫反射光照 基本算法思想如下: 1. 在第一渲染时,我们只渲染场景,而不计算反射模型来确定片元的...
  • [我认为这是由于编码器的延迟,对于例如,如果计算机录制视频负载过大,则会出现在较慢]。 如果通常比预期慢一点(经验帧率 < 标称帧率),问题在视频过程中变得复杂: 如果用户采用固定帧率,则视频末尾的...
  • 二、 选择重传协议 ( SR ) 分类、 三、 发送方 事件 ( 确认、超时事件 )、 四、 接收方 事件 ( 接收 )、 五、 滑动窗口长度、 五、 选择重传协议 SR 重点、 六、 选择重传协议 SR 计算示例、
  • 网游中针对网络延迟的优化

    万次阅读 2017-05-23 16:14:12
    在网络游戏中,由于延迟或者网络状况的抖动,可能会将客户端效果产生一定的扭曲和卡顿。影响玩家体验以及进一步的操作。要降低因为延迟带来的体验问题,有两种策略,一种为客户端预测,一种为延迟补偿。 1.客户端...
  • 网络游戏之同步物理模拟

    千次阅读 2017-07-25 19:36:09
    笔者介绍:姜雪伟,IT公司技术合伙人,IT...CSDN视频网址:http://edu.csdn.net/lecturer/144 本篇博客我们将用网络中的同步技术进行物理模拟,同步是通过仅发送控制该系统的输入而不是该系统的状态将系统从一
  • 包含客户端服务器端,运行即用 ip端口全部写好了 也没多少代码, 游戏逻辑完全没有实现(只写了一个简易的测试用的第三人称控制器,完全不适合同步) ,还有很多逻辑需要完善,就像断线重连和单位生成逻辑,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,199
精华内容 12,079
关键字:

帧生成延迟