tag 标签: 协议

相关帖子
相关博文
  • 热度 28
    2021-6-2 16:35
    12984 次阅读|
    0 个评论
    HDCP 2.x技术总览
    HDCP (High-Bandwidth Digital Content Protection) 是由Intel制订的加密技术,可运用在HDMI或是DisplayPort等数字接口传输高分辨率影音时,进行数字内容加密以防止影音信息被盗录。 各家厂商如果要让多媒体芯片具有上述功能,则需先向Intel的子公司DCP LLC购卖HDCP密钥授权,之后才能将该技术实作于芯片上。 而消费者如果要观赏具有HDCP保护的影音信息:如蓝光光盘、Netflix 影片,播放端(Blu-Ray Player)以及接受端(TV)均须购买有HDCP授权的产品,才能观赏到最高分辨率画质。如果有一方不支持,则会导致影片画质下降,或甚至无法拨放。 目前在于HDMI接口中,可支持的HDCP协议分为HDCP 1.4以及最新的HDCP 2.3(批注一),分别对应于FHD(1920x1080p), UHD4K(3840x2160 or 4096x2160)不同分辨率的影音保护。以当前消费市场的趋势,4K影片以及显示器逐渐普及,甚至近期各家厂商推出的支持8K分辨率的HDMI 2.1消费性电子产品,可预期将有越来越多的产品将采用HDCP 2.3协议, 因此本文将着重于HDCP 2.3协议的介绍 。 HDCP 2.3 介绍 图1:HDCP系统树形图(取自HDCP2.3 on HDMI Specification) 首先介绍HDCP 2.3实体架构,请参考图一,HDCP Transmitter 可透过输出口与下游装置连接:这些下游装置可为HDCP Receiver 或 HDCP Repeater,而该连接的HDCP Repeater 还能透过其下行输出口再连接其余装置,形成装置链接的树形图。但此树形图并非无限延伸,HDCP 2.3规范最多只能下接4层HDCP Repeater,且下接装置数量上限为32台。 接着再看HDCP 2.3协议层,其核心理念可分为三个部分。第一为认证(Authentication),传送装置会透过认证协议,确认下游是否为HDCP合法接受装置。第二,确认完双方的合法性后,再透过双方共享的密钥对影音进行加密/解密,避免外界被盗录。第三,由于HDCP装置中的密钥有可能被破解,因此传送装置会更新(Renewability)遭撤销的HDCP装置名单,确保不会传送HDCP加密信息给不合法的装置。 HDCP 2.3 协议介绍 第二章节提到的认证(Authentication),将细分为几个步骤进行介绍,以下内容仅介绍协议的名词以及概念,加密算法并不在本文讨论范围。 –Authentication and key exchange (AKE) 此流程(可参考图2、图2)目的是Tx确认Rx是否为合格HDCP装置,其中信息皆使用HDMI中的I2C接口传输,以下为流程介绍: 当双方装置链接后,Tx 会传送AKE_Init,内容包含一组64bit的伪随机码 rtx 以及 TxCaps (Tx HDCP 版本信息)给Rx,代表开始进行HDCP认证流程。 Tx在发送完AKE_Init后,Rx需在100ms内回传AKE_Send_Cert,如果超出时间则认证失败。AKE_Send_Cert 内容由certrx (包含Receiver ID, Public Key, DCP LLC Signature)、一组64bit的伪随机码 rrx 、RxCaps(RxHDCP 版本信息、Repeater bit)组成。 Tx 确认certrx 内的Receiver ID(相当于Rx的身分证)后,会产生两种分歧流程:如果Tx端没有储存对应该 Receiver ID 的 Master Key(km),则进行 (图2.1)流程-AKE Without stored km,若有则进行 (图2.2)流程。 如果双方装置为第一次链接,会进行 (图2.1)流程,Tx 除了检查ReceiverID外,还会使用 Tx 的Public Key确认certrx内DCP LLC Signature是否合法,如为非法将导致认证失败。 Tx 产生一组128bit的伪随机码作为Master Key(km),使用Rx的PublicKey对其加密产生Ekpub(km),并传送包含Ekpub(km)的AKE_No_Stored_km给Rx。 Rx 使用自己的private key (kprivrx)对Ekpub(km)解碼还原出km。 Tx 检查 System Renewability Message (批注二)的合法性,同样是藉由Tx 的PublicKey确认SRM 内的Signature是否合法。 8确认完SRM合法性后,再确认下游装置的Receiver ID 是否合法。(以上SRM、Receiver ID确认只会由最上游Tx 进行) Tx 与 Rx 进行Keyderivation,将获得的Master Key(km) 运算后得到 kd。 Tx 与 Rx 将双方交换过的信息(rtx, RxCaps, TxCaps) 以及kd再次运算后分别得到 H与H’。 Tx 读取Rx端发送的AKE_Send_H_Prime,如果H与H’值不相等,或是未在规定时间(1秒)内收到,将会导致认证失败。 –Pairing 接续上述步骤,Rx 利用 kprivrx 计算出128bit kh, 再将 km 使用 kh 加密得到Ekh(km) Rx 将包含 Ekh(km) 的 AKE_Send_Paring_Info 传给 Tx Tx在200ms的时间限制内读取 AKE_Send_Paring_Info, 并将对应该次流程的 Receiver ID的 m, km, Ekh(km)储存于内存内。 经过Pairing的双方设备再次认证时,因为Tx有储存对应该 Receiver ID 的 Master Key(km),会直接进入(图2.2)流程,相较于(图2.1)流程省略部分步骤(如Master Key计算),因此可减少HDCP认证时间。 图2(取自HDCP 2.3 on HDMI Specification) 图3(取自HDCP 2.3 on HDMI Specification) –Locality check 此步骤是在 HDCP2.3引入的新机制,目的为确保双方装置距离在合法范围内,若链接距离太远,讯息将不会于时限内收到而导致认证失败,认证流程如下: Tx 传送 LC_Init (包含 64bit伪随机码 rn) 给 Rx。 Tx 与 Rx 分别计算L、L’。 如果 L 与 L’不相同, 或是Tx在 20ms内未收到 L’,则导致认证失败。 认证失败,协议中规定 Tx 可再产生新的 rn, 并在重新尝试最多1023次。 图4(取自HDCP 2.3 on HDMI Specification) –Sessionkey exchange 完成AKE以及Locality check后,代表传输设备双方均为合法装置,可以开始进行影像加密传输,此步骤目的为双方加密/解密钥匙交换,SKE流程如下: Tx 产生一个128bit 的伪随机码Session Key(ks), 64bit 伪随机码 riv。 Tx进行 Key derivation 产生 128bit dkey2,并对ks 加密产生Edkey(ks)。 Tx 传送SKE_Send_Eks(Edkey(ks)、riv)给Rx。 Rx进行 Key derivation 产生 128bit dkey2,并将Edkey(ks) 解译得到ks。 使用Session Key 以及 Secret global constant(lc128,所有设备均为相同值)开始进行影音加密/解密。 –Authentication with repeater 在AKE流程中,如果Rx回传的Rx Caps内的Repeater bit为1时才会进行此流程。目的有两个: Repeater将下游信息,如设备数目、阶层、版本、Receiver ID整理后回传给最上游Tx,如果有信息不合法,如下接设备数目、阶层超过规范(31台、四阶),或是Receiver ID 在撤销名单中,会导致认证失败。 Repeater将Tx要传送的HDCP Content type(批注三)信息传给下游。 批注 批注一:HDCP2.3设计架构与HDCP1.4不同,因此并不向下兼容,但可透过使用 HDCP2.3 to HDCP1.4转换器,将播放端的HDCP2.3内容显示于只支持HDCP1.4的接收端。 批注二:System Renewability Message由Tx端储存,内容包含已被撤销的Receiver ID。因此Tx需确认SRM的合法性后,才能检查下游装置的 Receiver ID。 批注三:HDCP传输时可分为 Type0 & Type1 content,Type0的内容可透过repeater传送给大部分HDCP装置接收,而Type1的内容透过Repeater后,无法被下游HDCP 1.x、 2.x设备接收。 参考文献 Ÿ HDCPon HDMI Specification Rev2_3 作者 GRL 台湾技术工程师 李清宇 Peter Lee 国立成功大学材料系硕士毕业。两年 HDMI 测试经验,熟悉 HDMI2.1 与 HDCP 技术测试。GRL 技术文章作者及演讲讲师。
  • 热度 8
    2020-12-18 17:10
    5715 次阅读|
    2 个评论
    USB4™ 全方位技术剖析
    原创声明 作者: GRL 实验室 林志徽 Caspar Lin USB4™ 介绍 USB4 全名为 Universal Serial Bus Generation 4 。 USB 这个接口在 1996 年发布 USB 1.0 规格 , 传输速度支持低速 1.5 Mbps 与全速 12 Mbps ,以及之后陆续发表支持速度 480 Mbps 、 5Gbps 、 10Gbps 、 20Gbps 等,并在 2019 年 9 月发布最新一代 USB4 规格,支持 20Gbps 与 40 Gbps 。 USB 接口演进及相对应的 logo ,请参考表一。 ( 表一 ) USB4™ 新功能 3 个重点 1. USB4 只采用 USB Type-C 连接器。 USB4 讯号采双信道传输。而过去的连接器如 USB Type-A 或 Micro-B ,仅支持单通道传输,无法支持 USB4。 2. USB 传输速度最快支持 40G (20Gbps x2) ,并可同时传送 DisplayPort 影音。旨在将多种协议组合到单个物理接口,可以动态共享 USB4 架构的整体速度和性能。 3. 向下兼容 USB 2.0 与 USB 3.2 及支持 Thunderbolt 3 。 USB4™ 连接器与线缆 3 个重点 1. USB4 只采用 USB Type-C 连接器。 2. USB4 Cable 被动线缆,可支持的被动线缆长度由 USB 3.2 Gen2 的 1 公尺,降为 USB4 Gen3 的 0.8 公尺。 3. 若需较长的线缆,如连接大尺寸屏幕,或是 VR 应用,可使用主动式线缆。 USB4 主动式线缆为含有 Repeater 组件(如 Re-timer , Re-driver 等主动组件)的线缆,及光纤线缆等。可支持的主动式线缆长度最长为 5 公尺 , 而光纤线缆最长可以支持 50 公尺。 USB4 架构上 3 个重点 USB4 主要构成组件有 Router ( 路由器 ) , Adapter ( 适配器 ) ,以及 TMU (Time Management Unit ,时间管理单元 ) 。 1. Router 是 USB4 的一个主要建构模块, Router 将隧道协议转换成 USB4 封包传送,并透过 TMU 来作时间同步。主要由 USB Host 内建的 Connection Manager 来侦测及管理。 2. Adapter 是内建在 Router 里,主要功能为 Router 与外部组件沟通的媒介,进行协议转换。例如 USB4 Host 在传输 USB3 数据(如下图),由内部 USB3 Host 透过 USB3 Adapter 进行协议封装成 USB4 Tunneled Packet 。一个 Router 内部最多可以支持 64 个 Adapter 。 3. TMU 是内建在 Router 里,使用分布式时间管理单元( TMU ),在 Router 间做时间同步。 USB4 依功能层级分为 5 种 1. Protocol Adapter Layer: 负责 USB4 与不同协议间进行对应 . 并把不同协议封装成 Tunneled Packet 在 USB4 介面内传递。 2. Configuration Layer: 负责处理由 Connection manager 传送来的 Control Packets ,并附加路径中对应的地址 (address) ,确保其可靠的传送机制。 3. Transport Layer: 定义封包格式、路径、流量控制与时序控制,并产生 link management Packets 以提供时间同步封包、流量控制封包等。 4. Logical Layer: 负责建立 2 个装置之间的 USB4 链接,提供数据传送与接收、编码与译码,电源管理,错误侦测及复原机制,并且透过 Sideband Channel 进行通道初始化的沟通,包括速度及双信道沟通。 5. Electrical Layer: 定义 USB4 电气讯号的特性,如电压、抖动,编码等。 如下图,以 USB3 Tunneling 为例, USB4 Host 透过 USB3 Protocol Adaptor ,将 USB3 Protocol 经 USB4 Transport Layer 、 USB4 Logic Layer 、 USB4 Electrical Layer 转 USB4 Link 传送到 USB4 Hub Electrical Layer 。再依下图顺序进行 一连串 USB3/USB4 转换,将讯号传送到 USB4 Device 。 USB3 隧道协定 USB4 讯号由 PCIe 、 USB3 及 DisplayPort 隧道协议组成。此篇幅单就 USB3 隧道协议讲解。 USB3 隧道协议,指的是将原始 USB3 封包经由 Protocol Adapter Layer 封装成 Tunneled 封包 , 藉由以下的图片可以清楚知道 , 红色部分 是 USB3 的封包而蓝色部分是 Tunneled 封包 , UFP 与 DFP 之间会使用 Physical Layer 传输。 Note: UFP: Upstream Facing Port , DFP: Downstream Facing Port USB4 的产品有 4 种类型 1. USB4 Host: 产品有一个以上 DFP 。没有任何的 UFP 。 2. USB4 Hub: 产品有一个 UFP ,并且有一个或多个 DFP 。 3. USB4-Based Dock: 产品有一个 UFP ,并且有一个或多个 DFP ,且产品内还有其他 device 的功能,如储存装置或网络功能。 4. USB4 Device: 产品有一个 UFP ,没有任何的 DFP 。 Note: UFP: Upstream Facing Port , DFP: Downstream Facing Port USB4 支持的隧道协议 依据规格,对 Host/ Hub/Dock/Device 必须支持的隧道协议有不同要求,如下图,打 “V ” 为必须支持,其余则是可选择支持与否。 例如 USB Host 必须支持 USB3 、 DisplayPort 与 Host-to-Host Tunneling ,可以不支持 PCI Express 与 TBT3 Tunneling 。 USB4 支援的传输速率 USB4 支援 USB4 Gen2 的 20Gbps 及 USB4 Gen3 的 40Gbps 速度,是不是宣告支持 USB4 就一定要支持这两个速度? • 对 USB4 Hub 与 USB4-Based Dock 来说,必须同时支持 20Gbps 及 40Gbps 。 • 对 USB4 Host 与 USB4 Device 来说,可以只支持 20Gbps 。( 40Gbps 可列为额外支持,非必要支持速度)。 结论 USB4 传输速率提升到 40 Gbps ,并且可以动态分享带宽 , 当使用一条 USB Type-C 连接线就可以兼容于市面上 Thunderbolt 3 和 Display Port 产品,对于消费者来说是一个更加便利的界面。但对于产品开发者来说, USB4 是一个比较大的挑战,除了产品设计和以往 USB3 的产品在架构上的差异,加上高频信号在 PCB 及连接器上的衰 减,须更关注高频阻抗匹配,在开发阶段确保传输的信号质量。 免责声明 本信息仅为便于参照而提供。本信息不是且不应视为 USB Implementers Forum (USB-IF) 之正式通讯。 USB-IF 之正式通讯可于其网站 usb.org 取 得,或直接自 USB-IF 取得。 参考文献: Universal Serial Bus 4 (USB4™) Specification Version 1.0 August, 2019
  • 热度 18
    2016-3-15 14:12
    2050 次阅读|
    0 个评论
    了解ISP 布线   随着当前在线烧录协议高比特率的逐步发展,工程师们必须考虑到烧录器与烧录/测试设备之间的具体接线。     接线越短,信号传输速度越高   在线烧录 (ISP) 正在成为小型和大型原始设备供应商/电子制造服务商们的首选烧录方案。由于每家半导体制造商均推出其自有的烧录协议,每个器件家族拥有其独有的烧录接口。尽管如此,在这几年里,烧录典型的器件所需的接线数量已经减少了。现代器件只需要极少数的引脚进行烧录,在某些情况下,只需一根线(图一)。     图一   与此同时,非易失性存储器存储容量在迅速地增长(图二)。   图二 为了保持较短的烧录时间,ISP接线必须对应保持较高的通讯比特率,为了满足这一要求,烧录/测试设备内部的ISP接线布线必须谨慎考虑。     治具布线   通常情况下,自动测试设备(ATE)对放在客制化的、指定单元的测试治具内的待测物(UUT)进行参数和功能测试。这台测试治具连接几组ATE控制线到不同的待测物测试点,此台治具也同样用于对待测物上的目标器件(或待烧录器件)进行在线烧录。在线烧录通常在零件参数测试后、功能测试前进行。多连板烧录增加了治具内布线的复杂性,数百个针点也并不罕见(图三)。   图三   虽然电路板测试需要的连接线绝大多数都是低速传输线,但是用于烧录的布线必须作为现代ISP的高速传输加以考虑。     ISP 布线问题   导致ISP布线问题的最重要的因素之一是接线长度。通常(但是测试工程师们并不是都知道),保持ISP信号完整性始于降低接线长度至40-50cm。因此烧录器必须放置在离治具尽可能近的地方,最好在治具内。50cm限制不应被作为最大绝对值:长度由采用的ISP协议决定。异步通讯协议,如UART,允许稍长的接线,Freescale的BDM协议,则由于其高比特率和驱动特性,要求更短的布线。 在电气通讯领域一个重要的角色由传输线担当。由于大量的连接线和其连接类型(通常是绕线),治具布线采用典型的规格为AWG 20至30的单芯绝缘线。 由于几乎所有的可编程器件(串行存储器、微控制器等)具有单端特性,CMOS接线,市场上几乎所有的在线烧录器都具有单端特性,ISP接线采用CMOS驱动(图四)。   图四   这种传输方式比差分输入容易实现,但其排除共模干扰的能力较弱。烧录器和待烧录器件通常共用相同的接地,并且伴随着同时活跃的几路数字信号线,电噪声也随之增加到发送端和接收端,可能导致传输发生错误。图五显示共模干扰对信号的影响。   图五   另一个干扰源便是串扰现象,串扰在一个信号影响另一个附近信号时发生。通常是与最近的信号电容性耦合,但是其它形式的耦合和信号的进一步影响有时也很重要。图六显示治具内两个导体间产生的串扰的示例。     图六                                                           图七 CH1信号被CH2信号影响,CH2信号边沿越陡,CH1线阻越高,串扰越强。ISP协议如I2C, ICC等,在通过开漏驱动获得高逻辑状态的地方,更容易遭受串扰。 为了降低串扰,应该在屏蔽信号(只有一端连接到地,通常在烧录器侧)与主信号布在一起的地方采用双绞线(也可选用同轴电缆),图七显示这样布线的好处,图八显示怎样实现双绞。   图八     高速信号   串扰影响会与现代在线烧录器产生互扰,为了达到如今ISP协议的较高比特率,工程师们采用高速信号端引线驱动。而为了帮助避开串扰,应该在治具针板上覆盖接地平面。此外,接地连接线应该多接几根,所有的烧录器接地线应该分别连接到治具的接地针点上,并且这些线应该互相连通,图九所示。   图九     阻抗匹配   阻抗匹配是可改善信号传送的另一个因素。传输线在当其阻抗特性(Zo)等于传送阻抗特性(ZoTX)和接收阻抗特性(ZoRX)时被称为是“匹配”。当传输匹配时,信号的反射和干扰均为零(图十)。   图十   在真实世界条件下,完美的阻抗匹配是不可能获取的。特别地,烧录器的输出阻抗(ZoTX)的典型值为几百欧姆,与此同时单片机的输入阻抗(ZoRX)通常在成百上千欧姆,被传输线钳制的待测物的外部电路可能会更糟。未匹配传输线示例,见图十一。   图十一   一个强负脉冲在信号上出现,一个加在信号和地之间的下拉电阻弱化了这个现象。一个390欧姆的电阻(根据经验推算)加在接触点和治具地平面之间,图十二显示下拉电阻的影响。   图十二 不管怎样,下拉电阻在传输端引出了一个很大的电流,电流值为I = 5V / 390Ohm = 13mA,这等同于CMOS接线的最大源电流。建议使用无感电阻,如碳膜电阻。     眼图   眼图可以用来评估传输线的质量。用一个示波器跨接在接收滤波器的输出端,然后调整示波器扫描周期,使示波器水平扫描周期与接收码元的周期同步,这时示波器屏幕上看到的图形就称为眼图。一个开眼模式相当于最小的信号失真,由于串扰干扰和噪声的信号波形的失真,出现作为封闭的眼图。图十三显示从SPI烧录协议MOSI信号脚捕获的眼图。   图十三   如果信号太长、太短、系统时钟不同步,太高、太低、太干扰,或变化太慢,或有太多负脉冲或过脉冲,都可以在眼图中观察到。虽然建议使用眼图分析来排除信号故障,但这不是强制的,在ISP过程中,传统的信号捕捉范围已足以评价设备连接的质量。
  • 热度 16
    2015-10-15 19:33
    2316 次阅读|
    1 个评论
    7. CAN 协议及标准规格 7.1 ISO 标准化的 CAN 协议 CAN 协议经 ISO 标准化后有 ISO11898 标准和 ISO11519-2 标准两种。 ISO11898 和 ISO11519-2 标准对于数据 链路层的定义相同,但物理层不同。 (1) 关于 ISO11898 ISO11898 是通信速度为 125kbps-1Mbps 的 CAN 高速通信标准。 目前, ISO11898 追加新规约后,成为 ISO11898-1 新标准。 (2) 关于 ISO11519 ISO11519 是通信速度为 125kbps 以下的 CAN 低速通信标准。 ISO11519-2 是 ISO11519-1 追加新规约后的版本。 图 6 表示 CAN 协议和 ISO11898 及 ISO11519-2 标准的范围。     7.2 ISO11898 和 ISO11519-2 的不同点 (1) 物理层的不同点 如图 6 所示, ISO11898 和 ISO11519-2 在 CAN 协议中物理层的标准有所不同。 CAN 协议的物理层如图 7 所 示,定义了三个子层, ISO11898 和 ISO11519-2 在物理层中的 PMA 层和 MDI 层有所不同。   在物理层( PMA 层、 MDI 层), ISO11898 和 ISO11519-2 的主要不同点如表 4 所示   参考链接中的内容更详细全面: http://www.eet-china.com/ARTICLES/2006SEP/PDF/rcj05b0027_can_intro.pdf?SOURCES=DOWNLOAD  
  • 热度 28
    2014-12-22 17:02
    1168 次阅读|
    0 个评论
    网络出现后,带给人们生活上的改变是,我们可以随时随地在www网络浏览器网页上获取想要的信息。由于www内容丰富,浏览方便,也已经成为互联网重要要的服务。 那么超文本传输协议HTTP(Hypertext transfer protocol),是一种从www服务器传输超文本到本地浏览器的传送协议。简单地说,HTTP协议就是用户通过浏览器访问Web服务器的方式,并具备B/S(Browser/Server )结构。 今天就来与大家分享一下HTTP协议的学习。 在TCP/IP协议栈中的位置 HTTP协议承载于TCP协议之上,是一个应用层协议。有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示: HTTP的请求响应模型 HTTP协议永远都是客户端发起请求,服务器回送响应。HTTP协议是一个无状态的协议,不会记得“上一个请求是什么”。 协议流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 1)建立连接。只要单击某个超级链接,HTTP的工作开始。 2)客户端发送请求。请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。 3)服务器响应。其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 4)连接断开。当服务器的响应信息显示到客户端的浏览器上,一次HTTP操作结束 那么,先来看一下建立连接的过程: 建立连接 HTTP/1.0 每次请求都需要建立新的TCP连接,连接不能复用。HTTP/1.1 新的请求可以在上次请求建立的TCP连接之上发送,连接可以复用。 请求消息格式 请求消息格式如下所示: 请求行   通用信息头 | 请求头 | 实体头  CRLF( 回车换行 )  实体内容 其中“请求行”为:请求行 = 方法 请求URI 版本号 请求方法 HTTP的请求方法常用如下几种: 1、GET:对服务器资源的简单请求,从服务器上获取数据。 2、POST:向服务器传送数据,主要是向服务器提交表单数据,尤其是大批量的数据。 3、HEAD:类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头。 那么,相对应的响应过程也与连接过程类似: HTTP响应 响应消息格式 HTTP响应消息的格式如下所示: 状态行  通用信息头| 响应头| 实体头 CRLF  实体内容 其中:状态行 = 版本号 状态码 原因 继续阅读:http://www.iwiznet.cn/blog/?p=6692
相关资源