MIPI DSI-2 协议解析

2023-11-11

前言

  • MIPI(移动行业处理器接口)是Mobile Industry Processor Interface的缩写。是MIPI联盟发起的为移动应用处理器定制的开放标准,常用到的是DSI和CSI接口,其中DSI是显示接口,CSI是摄像接口。主要用于手机行业,比如手机处理器与摄像头、显示屏幕的连接,采用的都是MIPI接口。
  • DSI 它是一种显示技术的串行接口,兼容DPI(显示像素接口Display Pixel Interface), DBI(显示总线接口Display Bus Interface)和DCS(显示命令集中Display Command Set), 以串行的方式发送像素信息和指令外设,并且从外设中读取状态信息或像素信息。
  • DSI在传输过程中享有独立的通信协议,包括数据包格式和纠错检错机制。它有两种工作模式:一是高速模式(HS),而是低速模式(LS)。
  • DSI共有两种类型通道,一个是Data Lane数据通道,一个是Clock Lane时钟通道
  • DSI 包类型有两种,长包和短保。其中Data ID表示由虚拟通常ID和数据类型组成,数据类型信息是指应用层所需要的数据格式;Data表示命令或者数据或者0;ECC表示可以纠正一位错误,可以检测两位错误;CheckSum 表示真的payload数据的校验和,起到检错的作用。
    在这里插入图片描述
  • DSI数据通道:数据通道最多为4个,并且全部的数据通道都可以用于单向的高速传输,但是只有第一个数据通道才可以用于低速双向传输,从属端的状态信息、像素等格式通过该通道返回。
  • DSI时钟通道:专用于在高速传输数据的过程中传输同步时钟信号。此外一个主机端可以与多个丛机端进行通信。
  1. DSI-2 定义了两个高速串行数据传输接口。第一个高速数据传输接口是指的D-Option (The implementation of DSI-2 using D-PHY as the physical layer), 它一个高速差分接口,具有一个双线时钟通道和一个或多个双线数据通道。该物理层接口由MIPI联盟规范为D-PHY [MIPI04] 或[MIPI08]。图1说明了Host设备和外围设备之间D Option的连接。
    在这里插入图片描述
    2.第二种是C Option(The implementation of DSI-2 using C-PHY as the physical layer)。包含了一个或者多个3线串行数据通道,每一个数据通道都有内嵌的时钟,图二表示的是Host设备和外围设备之间的C Option连接。外围设备通常是一个应用程序处理器和一个显示模块,这是移动电话引擎的一部分。当Lane 0处于LP模式时,Data0_B将被正在驱动Data0_A 和Data0_C的链路的同一端驱动为LP状态。
    在这里插入图片描述
    本文将以D Option为例,做简单介绍。C Option请参考对应的Spec。

一、DSI-2 简单介绍

1.1 DSI 层次定义

1.物理层Physical Layer: PHY层指定了传输介质(电导体),以及串行bit流0/1机制。信号的电器参数、时钟和数据通路的时序关系等
  在接收到低速发送请求时,逻辑电路将待发送的指令或数据串行化,并控制输出高摆幅低功耗点评进行低功耗传送,随后将指令或者数据串行的加载到通道,接收端则识别传送模式完成串并转换。
  在接收到高速请求后,电路发送高摆幅低功耗电平进行高速传送请求,然后将待发送数据经过串行转换之后驱动差分驱动模块,以低摆幅信号在通道上传送,接收端识别高速模式后正确地检测其同步信号完成串并转换。
  除此之外,总线控制权可在主机端与从属端之间交换,发送端发送放弃总线请求,接收端接收请求之后控制总线发起应答,总的过程为TA(turn around)操作。当主机端需要获取从属端接收数据的状况或者读取显示模块的参数或显示数据的时候,主机端发起TA操作,在从属端发送数据完毕之后自动发起TA操作,归还总线控制权。
2.通道管理层Lane Management: Lane是指一对差分对,数据线可以有1~4个Lane, 所以发送端需要把上层打包好的数据按照顺序一次发送到不同的Lane上,而在接收端要从不同的Lane上依次接收不同的数据并拼接起来,恢复原始数据。
3.协议层Protocal Layer: 采用数据包的形式进行传送,分为短数据包长数据包两种格式,发送数据时,将数据按照信息类型和内容进行压包,完成ECC码生成和CRC添加,接收数据时,依据ECC和CRC码将整个数据包解析进行检错和纠错,完成对包头和数据内容的译码然后传送到应用层。
4.应用层: 描述了高层协议中对数据流进行编码和解码,其格式和内容主要按照显示子系统类型决定。可以由规定格式的像素组成或者是显示控制器发送的控制指令。
在这里插入图片描述

1.2 Command和Video模式

兼容DSI接口的外围设备至少要支持两种模式:command 模式和Video模式。至于实际使用的是哪种模式是外围设备来决定的。通常,外围设备兼容Command和Video模式,一些支持Video模式的显示模式也包含一个Command模式,从而可以用低分辨率图像来刷新屏幕和屏幕部分显示,关闭MIPI接口等。

1.2.1 Command模式

  • 主控制器和外围显示设备交换数据主要是通过发送命令和数据到外围设备的显示模块,该模块包含一个显示控制器,显示控制器包含本地寄存器和帧存储器,系统通过Command模式来读写本地寄存器和帧存储器。这样主控制器通过发送命令,参数和数据到显示控制器从而间接的来控制外围设备的显示。
  • 主控制器也可以读取显示模块的状态信息以及帧存储器的内容。所以Command模式下需要一个双向的数据接口
  • 既可以是HS 模式也可以是LS传输模式,数据Lane_0是双向的,其他数据Lane是单向的

1.2.2 Video 模式

  • 主控制器到外围设备的数据传输是以实时像素流的方式进行的。在正常操作模式下,主控制器必须以足够的带宽发送图像数据给显示模块,否则会出现闪屏,花屏等不良现象。video信息只能以高速HS模式进行发送
  • 数据Lane0既可以是单向也可以是双向,其他Lane为单向的
  • 在支持Video 模式的一些设备结构中,有的有一个简单的时序控制器和部分帧缓存器。有了这两个模块就可以使显示设备能维持部分屏幕显示或在待机时显示低分辨率图像以及处于Low Power Mode (低功耗模式)。这样就可以关闭MIPI接口以节约能耗。
  • 为了降低成本以及接口复杂度,系统只在Video 模式使用时,数据接口或许会被做成单向接口。

1.2.3 Virtual Channel Capability 虚拟通道特性

用来使一个主控制器可以同时连接多个物理显示模块。

二、DSI Physical物理层

2.1 DSI 物理层D Option

该部分主要介绍DSI物理层发送数据包格式,主控制器和外设之间的数据交换是用一个或多个串行数据信号和一个随路时钟进行传输,通过总线发送高速串行数据方式叫 HS transmission 或 burst。
当数据Lane没有收到数据时,接口进入LPS(Low Power State)状态。如下图数据结构,N代表发送数据的字节个数,每帧起始都有一个SoT, 随后发送N个字节数据,数据发完后发送EoT表示数据发送完成。
在这里插入图片描述

2.1.1 D-PHY 数据流向

DSI的物理链路层由1~4个数据lane和1个时钟lane组成。

  • Command模式系统中,数据lane0 是双向的,其它的数据lane是单向的;
  • Video 模式的系统中,数据lane0 既可以是双向的也可是是单向的,其它的数据lane是单向的。

不管是Command模式 还是Video 模式,时钟lane都是由主控制器驱动的,不能由外围设备驱动。正向由主控制器到外围设备Low Power 数据传输只用lane0,反相在数据lane0上的传输只能在Low Power 模式。外围设备必须能在Low Power和high speed下接收数据。

2.1.2 D-PHY Command模式接口

主控制器在command 模式下,物理层最低要求:

  • Data Lane Module: CIL-MFAA(HS-TX, LP-TX, LP-RX, and LP-CD)
  • Clock Lane Module: CIL-MCNN (HS-TX, LP-TX)

DSI外设操作在Command模式下,物理层最低要求:

  • Data Lane Module: CIL-SFAA (HS-RX, LP-RX, LP-TX, and LP-CD)
  • Clock Lane Module: CIL-SCNN (HS-RX, LP-RX)

双向链路应支持数据通道Lane_0的 Escape 模式,以支持读取数据的LPDT,以及外设发出的ACK和TE触发消息。在正向方向上,数据通道Lane_0应支持[MIPI04]或[MIPI08]中所述的LPDT。所有触发消息应通过数据通道Lane_0进行通信。

2.1.3 D-PHY Video 模式接口

主控制器在Video Mode,物理层最低要求是:

  • Data Lane Module: CIL-MFAN(HS-TX,LP-TX)
  • Clock Lane Module: CIL-MCNN(HS-TX,LP-TX)

外围主控制器在Video Mode,物理层最低要求是:

  • Data Lane Module: CIL-SFAN(HS-RX,LP-RX)
  • Clock Lane Module: CIL-SCNN(HS-RX,LP-RX)

2.1.4 D-PHY 时钟管理

DSI的时钟是由主控制器产生并发送到外围设备的,在某些系统中,它可以有多个用处:

  • DSI Bit Clock: 在数据接收侧,PHY Layer用该时钟来作为捕获串行数据的源同步时钟。在传输数据的时候,该时钟有效。
  • Byte Clock: 字节时钟,由DSI Bit Clock分频得到,用作协议层和应用层间数据交换时的字节时钟。在HS transmission,每个字节的数据都伴随有一个字节时钟。
  • Application Clock: 应用层时钟,同样由DSI Bit Clock分频得到,可以用来作为外围设备某些模块的时钟。

2.2 Multi-Lane数据合并与分发

Multi-Lane Distribution and Merging N条数据lane时,数据的分发与合并。为了传输不同带宽数据,最多有4条Lane可以分发数据,这样当有多条数据lane时,就涉及到把上层low level protocol中打包好的数据 怎么分发到多条lane进行传输,而DSI层级中的Lane Management就是做这个数据分发到不同lane的工作的。
发送端:
数据通过该模块分发到各lane的操作如下图所示:
在这里插入图片描述
接收端:
Lane分发器接受一个任意字节长度的HS传输,缓冲N字节(其中N是接口中实现的Lanes),并在N个Lanes上并行发送一组N个字节的分组。所有的lane并行执行SoT序列,以便向它们对应的接收单元指示数据包的第一个字节开始。在SoT之后,Lanes从开始并行发送第一个包(N个字节),遵循一个循环过程。例如,在双通道系统中,0字节进入0通道,1字节进入1通道,2字节进入0通道,3字节进入1通道,以此类推。
在这里插入图片描述

2.2.1 D-PHY 多条lane 互操作和Lane number 匹配性

所使用的Lanes的数量应该是一个静态参数。在系统设计或初始配置时确定,不得动态更改。通常,外围设备的带宽需求及其相应的Lane配置决定了系统中使用的Lane的数量。主机处理器应配置为支持外设所需的相同数量的通道。具体来说,具有N通道能力的主机处理器(N >1)应能够使用较少的Lanes,以确保与拥有M个Lanes的外围设备的互操作性,其中N > M。图9说明了对于双通道接收端要求。
在这里插入图片描述

2.2.2 SoT 和EoT in multi-Lanes

因为HS transmission 的长度是任意多个字节,所以长度有可能不是lane的整数倍,某些lane可能会先发送完数据。因此,在Lane Management Layer这一层,它会把数据填充到长度为Lane的整数倍长度同时把valid拉低,表示此时发送的数据无效。比如: HS发送长度178字节的包,3条数据lane, 这样lane management Layer就会填充两个字节的数据,使Lane的长度是lane条数的整数倍。

尽管所有的Lane都是同时发送SoT并行发送数据,因为每条Lane都是独立的发送数据,这样就有可能有一些Lane是先发送完数据。早一个周期发送EoT,下图是2个Lane不同HS transmission 方式:
在这里插入图片描述

2.3 Multi-DSI Receiver 配置与DSI子链路

2.3.1 Multi-DSI 接收器配置结构

通过D选项或C选项的DSI子链路拆分DSI链路(split Link)。这个配置选项允许一个DSI发射器分裂成两个、三个或四个子链路,共享一个共同的逻辑时钟。使用一个通用的逻辑时钟通常可以使单独的子链路和一个DSI 发射器之间的偏差最小化,并增加一个DSI发射器支持的DSI链路连接的数量。在一个应用程序处理器中,分割DSI链路可以增加连接到一个DSI发射器的DSI接收器的数量。随着面板分辨率的增加,需要多个DSI链路,以便在不添加单独的DSI链路的情况下将显示流路由到面板的单独的部分。不同于第4节,图1中DSI发射器和DSI接收器之间有一对一的关联,多接收器配置通常用于连接一个DSI发射器到一个显示面板,面板模块包含多个DSI接收器,由于扇出原因,将显示数据路由到面板的不同部分。实施者可以持这样一个面板,既可以在发射器中使用多个单独的DSI链路,也可以更灵活地使用一个 DSI发射器块创建DSI子链路(见图18)。
在这里插入图片描述
多接收器的配置如图19、图20、图21和图22所示。

  1. 具有两个lane的DSI链路可以只分裂成两个DSI子链路;每个子链路有一个DSI Lane,共享公共逻辑DSI时钟。图19演示了这个带有两个DSI Receiver的多个DSI Receiver配置。请注意,图19中显示的Lane号引用了DSIReceiver。如果子链路中的DSI发射器和DSI接收器包括LP模式Lane reversal,则该子链路的Lane0 也支持Lane reversal。

在这里插入图片描述

  1. 4个Lane的DSI link 可能分成并行的两个lane,每一个lane共用同一个DSI Clock
    在这里插入图片描述

2.3.2 D Option Lane mapping

字节到lane映射适用于子链路。单Lane子链路以字节顺序传输字节流,双Lane子链路以与双Lane DSI链路相同的方式,将奇字节和偶数字节交替传输到 Lanes 0和1。
在这里插入图片描述
在子链接上映射bit流遵循相同的准则,就像DSI链接。应用程序处理器将未压缩的像素数据或压缩的bit流发送到适当的DSI 发送器或配置了DSI子链路的DSI发送器。DSI发送器上游应用处理器内的消息和控制信号不在本规范的范围之内。
在这里插入图片描述

三、DSI Protocal协议层

在DSI接口的发送端,并行图像数据都是在Protocol Layer被转换成数据包形式的。同时,会添加上包协议信息,包头。然后通过Lane Management Layer 层把它发送到PHY Layer。然后PHY Layer把数据串行化,通过lane发送到外围设备。外围设备采样跟发送端相反的方式把数据解析出来。如果用多条lane传输数据,Lane Management Layer 会把数据包分发到多个PHY Layers,一个PHY Layer对应一条数据lane。图像数据打包的协议和格式跟使用几条lane传输是没有关系的。lane只是一个物理传输介质而已。

3.1 Multiple Packets per Transmission

最简单的传输模式是 一个Transmission 只包含一个数据包,但当有多个数据包要发送时,还是一个Transmission 发送一个包,这样发送时,在LPS和HS 模式频繁地切换会严重地限制发送带宽。

DSI Protocol 允许把多个数据包连接起来放在一个Transmission中发送,这样就会显著地提升有限带宽。PHY Layer有HS和LP两种数据传输模式,在一个HS Transmission开始前,PHY Layer先发送一个SoT序列到接收端,之后,数据或命令包才能在HS mode下传输。在一个Transmission 发送中有可能有多个数据包,这时,在结束传输时,PHY Layer发送一个专用的EoT结束信号,表示传输结束。

为了增强整个系统的健壮性,DSI在Protocol Layer中定义了一个专用的EoT包(EoTp),用来表示一个Transmission的结束。为了兼容早起的DSI系统,产生和解释EoTp的功能可以使能和不使能。下图是EoTp不使能的情况,上半部分是3个数据包被分开发送的情况,下半部分是3个数据包在一个Transmission发送的情况。下图为EoTp disable情况:
在这里插入图片描述
下图是EoTp使能的情况,上半部分是3个数据包被分开发送的情况,下半部分是3个数据包在一个Transmission发送的情况。红色圈出来的就是EoTp包。
在这里插入图片描述

3.2 Packet Composition & Packet 结构

数据包分为短数据包和长数据包两种类型。
1.短数据包:长度为4个字节,主要用于传输命令、读写寄存器,结构如下图所示。

  • DI: 数据标识符,1个字节,[B7:B6]表示虚拟通道(0-3),由于一个主控制器可以外接多个外围设备(最多4个),所以用虚拟通道来表示外接的不同的外围设备。
  • Data0,Data1:2个字节,表示要传输的数据
  • ECC: 1个字节,误差校正码
    在这里插入图片描述

2.长数据包,有效负载长度为0-65535个字节,主要用用于传输大量图象数据或部分控制命令,结构如下图所示。

  • DI:数据标识符,1个字节,[7:6]表示虚拟通道对应数据lane编号(0-3),[5:0]表示数据类型。
  • WC:word count ,2个字节,包中有效负载长度,由于位宽是16位,所以,最大可以表示65535个字节长度,接收方就是通过该数据长度进行计数,判断一个包是否接收完成。
  • Data 0,1……: 有效负载。
  • ECC:1个字节,误差校正码。
  • CHECKSUM:2个字节,校验码
    所以帧长度为4+(0-65535)+2=6~65541字节
    在这里插入图片描述

3.3 Endian Policy

所有数据包数据都以字节的形式遍历接口。发送器依次先发送数据LSB,后发送msb。对于具有多字节字段的数据包,最低有效字节应首先传输,除非另有规定。图32显示了一个完整的长数据包数据传输。注意,该图以标准位置表示法显示字节值,而bit则按时间顺序显示,LSB在左边,MSB在右边,时间从左到右递增。
在这里插入图片描述

3.4 处理器到外设接口的Packet Data Types

下面是给出的6位宽的data type含义,用来表示该包传输的数据类型或命令等,比如data type=0x01,发送该类型的包,就表示场同步信号开始标志。
在这里插入图片描述
在这里插入图片描述
下图中的(0x1E)Packed Pixel Stream 18-Bit Format (Packed)是一个长数据包。用于将RGB像素格式的图像数据传输到显示18位像素的Video Mode显示模块。该数据包由DI字节、两个字节的WC字节、一个ECC字节、一个长度为WC字节的Payload字节和一个两个字节的Checksum组成。像素格式按此顺序是红色(6位)、绿色(6位)和蓝色(6位)。在颜色组件中,LSB先发送,MSB最后发送。
在这里插入图片描述

参考资料

MIPI alliance Specification for Display Serial Interface 2 (DSI-2)
https://blog.csdn.net/caihaitao2000/article/details/80224976
https://blog.csdn.net/huan09900990/article/details/78269370

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MIPI DSI-2 协议解析 的相关文章

  • 一、MM Segmentation 介绍与安装

    时间 2022年4月1日 内容 学习MM Segmentation MM Segmentation 介绍和理解 MM Segmentation 利用注册器和配置文件 实现了 可拓展性 和 易用性 它是一个封装了许多语义分割深度神经网络的框架
  • 第五章-数字水印-1-位平面

    数字水印概念 数字水印是一种将特定数字信息嵌入到数字作品中从而实现信息隐藏 版权认证 完整性认证 数字签名等功能的技术 以图片水印为例 水印嵌入过程 版权信息水印A嵌入到图像B中 得到含有水印的图像C 图像C与图像B在外观上基本一致 肉眼无
  • python批量处理

    python opencv图像二值化批量处理 from skimage import data dir io transform color filters import numpy as np import cv2 def convert
  • MIPI DSI的linux kernel驱动原理

    为了点亮一块MIPI屏幕 我们除了要了解MIPI DSI的工作原理之外 大前提是要了解整个MIPI DSI图显系统的组成 更需要清楚点亮一块MIPI屏幕需要做哪些事情 本文会捋顺各个环节所实现的功能以及基于RK3399来分析各个环节实现的原
  • 运放稳定性连载21:电容性负载的稳定性——具有双通道反馈的RISO(2)

    现在 我们必须测量如图10 6所示的Zo 小信号AC开环输出阻抗 该Tina SPICE测试电路将测试空载OPA177的Zo R2和R1以及LT为低通滤波器函数提供了一条AC通道 这样 使得我们能将DC短路和AC开路一起并入反馈电路 DC工
  • 使用python实现简单全连接神经网络

    最近在学习神经网络的相关知识 特在此做一个笔记 python语言的功能很强大 可以使用很少的代码实现很多功能 因此大家如果想研究深度学习的话 一定要懂得python语言 这篇笔记记录我的第一次使用python编写神经网络代码的过程 其中代码
  • 保姆级使用PyTorch训练与评估自己的ConvNeXt网络教程

    文章目录 前言 0 环境搭建 快速开始 1 数据集制作 1 1 标签文件制作 1 2 数据集划分 1 3 数据集信息文件制作 2 修改参数文件 3 训练 4 评估 5 其他教程 前言 项目地址 https github com Fafa D
  • 第三方支付API支付宝支付申请流程 支付宝新老版本

    新版本 Maven 引入jar包
  • 深度特征融合---高低层(多尺度)特征融合

    目录 概述 基本概念 典型方法概述 相关工作 多尺度模型设计 Deep Feature Fusion for VHR 高分辨率图像 Remote Sensing Scene Classification DCA特征融合方法 基于神经网络的目
  • SeetaFace编译成功(有windows及Android源码)

    声明 由于本人水平有限 所提供的代码 dll so等必然存在很多问题 仅用于学习 不适合工业级使用 请谨慎使用 如果造成损失 责任自负 对齐 这张照片第3个人的特征点检测有点问题 研发人员很快修正了 赞一个 下面是人脸比对 准确率还是可以接
  • 九宫格人车识别

    一 原理 通过霍夫检测圆的个数来识别小人位置 二 过程 1 二值图像 2 去掉宫格内容 便于分割 3 对二值图填补 减少纹理 4 分割九宫格 依次检测每个宫格中圆个数 5 最终显示小人所在宫格图片 在img6 jpg中 详细程序运行结果 三
  • 关于统计变换(CT/MCT/RMCT)算法的学习和实现,也称为局部二进制模式(LBP)

    原文地址 http blog sina com cn s blog 684c8d630100turx html
  • 【Matlab图片剪裁】

    标题Matlab剪裁图片 提取感兴趣部分 问题描述 当需要从一幅图片中提取一些感兴趣的内容时 比如一些细小的文字 图案等 如果从整个图片中直接提取 必然会大大增加计算量 导致处理时间很长 而且多数计算都是无效计算 进而非常消耗资源 解决办法
  • UDIMM、LRDIMM、RDIMM三种内存的区别

    目前使用的内存条类型 DIMM 主要有三种 UDIMM RDIMM和LRDIMM UDIMM UDIMM 全称Unbuffered DIMM 即无缓冲双列直插内存模块 指地址和控制信号不经缓冲器 无需做任何时序调整 直接到达DIMM上的DR
  • PCB设计笔记

    系列文章目录 1 元件基础 2 电路设计 3 PCB设计 4 元件焊接 5 板子调试 6 程序设计 7 算法学习 8 编写exe 9 检测标准 10 项目举例 11 职业规划 文章目录 前言 一 PCB板上的 地 1 详解电路设计中单点接地
  • 【图像处理】非线性滤波

    非线性滤波 图像处理中滤波分线性滤波和非线性滤波两种 其中常见的线性滤波有 方框滤波 中值滤波 高斯滤波等 其主要原理就是每个像素的输出值是输入像素的加权和 所以像素的输入与输出成线性关系 线性滤波器易于构造 并且易于从频域响应角度进行分析
  • cv2.minAreaRect()

    功能 求出在点集下的最小面积矩形 输入 格式 points array shape n 1 2 解释 其中points是点集 数据类型为ndarray array x1 y1 x2 y2 xn yn 输出 格式 rect tuple x y
  • 计算机科学丛书(2014-2018.Q1)

    ISBN 名称 作者 出版时间 978 7 111 53451 8 数学设计和计算机体系结构 原书第2版 美 戴维 莫尼 哈里斯 莎拉 L 哈里斯著 978 7 111 44075 8 嵌入式计算系统设计原理 美 Marilyn Wolf著
  • 【FMC141】基于VITA57.4标准的4通道2.8GSPS 16位DA播放子卡(2片DAC39J84)

    FMC141是一款基于VITA57 4标准的4通道2 8GSPS 2 5GSPS 1 6GSPS采样率16位DA播放FMC子卡 该板卡为FMC 标准 符合VITA57 4与VITA57 1规范 16通道的JESD204B接口通过FMC 连接
  • Matlab图像处理系列——图像复原之噪声模型仿真

    微信公众号上线 搜索公众号 小灰灰的FPGA 关注可获取相关源码 定期更新有关FPGA的项目以及开源项目源码 包括但不限于各类检测芯片驱动 低速接口驱动 高速接口驱动 数据信号处理 图像处理以及AXI总线等 本节目录 一 图像复原的模型 二

随机推荐

  • 阿里测开的性能测试技术笔记:如何快速上手压测工作

    新年第一个工作日 继续整理之前的技术笔记 前面通过三篇的内容 将自动化测试相关的技术笔记做了整理汇总 这篇内容 主要是我刚开始做性能测试时的一些记录 对新手或者刚进入一个新项目的同学 应该有所帮助 一般我们在刚介入一个项目时 我认为可以从如
  • 基于视觉重定位的室内AR导航APP的大创项目思路(3)手机相机内参数据获取和相机标定

    文章目录 相机内参 为什么要获取相机的内参数据 获取相机内存数据的方法 棋盘格标定 自动相机标定 前情提要 是第一次做项目的小白 文章内的资料介绍如有错误 请多包含 相机内参 相机内参是本身的物理数据 包括焦距f和缩放c 一般以矩阵K的形式
  • Lattice Diamond 3.12下载与安装(免费获取license.dat)

    Lattice Diamond 3 12下载 安装与激活 免费获取license dat Lattice Diamond是LATTICE半导体公司推出的一款免费的FPGA开发软件 其实这个软件具体的下载与安装过程在其配套文档里有比较详细的说
  • STM32Cube MX USB双设备MSC+CDC 实现虚拟U盘+虚拟串口

    前言 在上一篇文章实现USB虚拟U盘之后 项目需要用同一个USB口同时实现MSC和CDC功能 既能进行串口通信又能读取片外FLASH虚拟U盘 对于USB通用串行总线如果要真正搞明白这个协议还是比较困难的 需要用不少时间来了解驱动原代码 但是
  • IDA动态调试动态注册native函数流程

    安卓 手游逆向交流群963612891 IDA动态调试动态注册native函数流程1 编写目的 记录IDA动态调试步骤 2使用工具 逆向工具 IDA 7 0 Jadx 运行环境 Nexus 5 Android 4 4 3 原字符串信息 4
  • Vue - 使用Lodash进行深拷贝

    文章目录 深浅拷贝的理解 使用lodash 深浅拷贝的理解 浅拷贝 只是将数据中所有的数据引用下来 依旧指向同一个存放地址 拷贝之后的数据修改之后 也会影响到原数据的中的对象数据 例如 Object assign 扩展运算符 深拷贝 将数据
  • 利用xpath解析器爬取豆瓣电影top250

    首先声明需要用的库 当然我还用到了os库 将工作路径修改到了我指定的路径 os chdir r C Users from lxml import etree import requests import time import json 豆
  • 潘建伟在量子纠缠领域获新突破;特斯拉起诉小米持股公司;WPS AI面向社会开放;腾讯或将发布混元大模型丨每日大事件...

    大数据产业创新服务媒体 聚焦数据 改变商业 企业动态 TikTok在爱尔兰开设数据中心 TikTok 9月5日发布声明 宣布位于爱尔兰都柏林的首个数据中心现已投入运营 开始向该中心迁移欧洲用户数据 TikTok表示 位于挪威和爱尔兰的另外两
  • PyCharm入门教程——自动导入(下)

    查看 PyCharm入门教程 自动导入 上 PyCharm 是一种Python IDE 其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具 此外 该IDE提供了一些高级功能 以用于Django框架下的专业Web开发 PyC
  • 面试过程中应注意的问题与禁忌

    面试过程中应注意的问题与禁忌 一 面试中应注意的问题 应试者要想在面试答辩中获得成功 必须注意以下几个问题 一 淡化面试的成败意识 一位面试者在面试前自认为各方面都比别人优秀 因此 他认为自己可以高枕无忧了 谁知主考官在面试中出其不意 提了
  • layui日期多选

    先引入layui的css和js html部分 div class layui inline div
  • Eclipse快捷键的使用

    ctrl 2 L这个快捷键可自动补全代码 极大提升编码效率 注 ctrl和2同时按完以后释放 再快速按L ctrl 1提示快捷键 能快速的实现光标所在行的问题 并给出一些修改方案 按键盘上的ALT 方向键 或者 就能上下移动
  • 【路径规划】基于前向动态规划算法在地形上找到最佳路径(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 汽车必须尽可能靠近目标坐标 旅行时间应尽可
  • Pycharm连接远端服务器配置【保姆级教程】

    提示 需要提前安装Pycharm专业版 可以用破解版或者学生认证一年试用期 网上有教程 文章目录 前言 软硬件环境 一 配置SSH连接服务器 1 立马遇到bug 没有出现以下问题可以跳过 2 配置本地与服务器文件同步 3 同步代码到服务器上
  • React基础教程(二):React的基本使用

    React基础教程 二 React的基本使用 1 HelloReact 1 1 引入react基础依赖包 注意点 必须要在 之前引入
  • 利用unordered_map特性求交集

    unordered map 是关联容器 含有带唯一键的键 值 pair 搜索 插入和元素移除拥有平均常数时间复杂度 元素在内部不以任何特定顺序排序 而是组织进桶中 元素放进哪个桶完全依赖于其键的哈希 这允许对单独元素的快速访问 因为一旦计算
  • 什么是Three.js?(一)

    Three js是一款运行在浏览器中的 3D 引擎 基于WebGL的API的封装 你可以用它来创造你所需要的一系列3D动画场景 如最近比较火的在线试衣间 医疗设备可视化等等 如果你第一次接触Three js 那么就跟着我们的文章一起学习就好
  • VSCode手记

    设置为中文 如何将VSCode设置成中文语言环境 vscode设置中文 z975821109的博客 CSDN博客 快捷键 跳转声明代码 F12 撤销 Ctrl Z 重做 Ctrl Y 查找 Ctrl F 删除当前行 Ctrl Shift K
  • Vue3 reactive丢失响应式问题

    问题描述 使用 reactive 定义的对象 重新赋值后失去了响应式 改变值视图不会发生变化 测试代码
  • MIPI DSI-2 协议解析

    文章目录 前言 一 DSI 2 简单介绍 1 1 DSI 层次定义 1 2 Command和Video模式 1 2 1 Command模式 1 2 2 Video 模式 1 2 3 Virtual Channel Capability 虚拟