一、Type-C简介以及历史

自1998年以来,USB发布至今,USB已经走过20个年头有余了。在这20年间,USB-IF组织发布N种接口状态,包括A口、B口、MINI-A、MINI-B、Micro-A、Micro-B等等接口形态,由于各家产品的喜好不同,不同产品使用不同类型的插座,因此悲剧来了,我们也要常备N中不明用途的接口转接线材。

图1 USB协议发布时间节点

而对于Type-C来说,看起来USB标准化组织也是意识到统一和标准化问题,在定义标准时,除了硬件接口定义上,还增加了一部分“个性化”特点。分别是什么呢?

1.1 定义了全新的接口形态(Pin Assignments)

接口大小跟Micro USB相近,约为8.3mm x 2.5mm,支持正反插,同时也规范了对应的线材,接口定义如下(线材端只有一对USB2.0 DATA):

图2 Type-C端口的PIN定义-1

图3 Type-C端口的PIN定义-2

在插座定义上,定义了如下两种插座:

a)全功能的Type-C插座,可以用于支持USB2.0、USB3.1、等特性的平台和设备。

b)USB 2.0 Type-C插座,只可以用在支持USB2.0的平台和设备上。

在插头定义上,定义了如下三种插头:

a)全功能的Type-C插头,可以用于支持USB2.0、USB3.1、等特性的平台和设备。
b)USB 2.0 Type-C插头,只可以用在支持USB2.0的平台和设备上。
c)USB Type-C Power-Only插头,用在那些只需要供电设备上(如充电器)。

在线缆定义上,定义了如下三种线缆:

a)两端都是全功能Type-C插头的全功能Type-C线缆。
b)两端都是USB 2.0 Type-C插头的USB 2.0 Type-C线缆。
c)只有一端是Type-C插头(全功能Type-C插头或者USB 2.0 Type-C插头)的线缆。

还定义了N种为了兼容旧设备的线缆:

a)一种线缆,一端是全功能的Type-C插头,另一端是USB 3.1 Type-A插头。
b)一种线缆,一端是USB 2.0 Type-C插头,另一端是USB 2.0 Type-A插头。
c)一种线缆,一端是全功能的Type-C插头,另一端是USB 3.1 Type-B插头。
d)一种线缆,一端是USB 2.0 Type-C插头,另一端是USB 2.0 Type-B插头。
e)一种线缆,一端是USB 2.0 Type-C插头,另一端是USB 2.0 Mini-B插头。
f)一种线缆,一端是全功能的Type-C插头,另一端是USB 3.1 Micro-B插头。
g)一种线缆,一端是USB 2.0 Type-C插头,另一端是USB 2.0 Micro-B插头。
h)一种适配器,一端是全功能的Type-C插头,另一端是USB 3.1 Type-A插座。
i)一种适配器,一端是USB 2.0 Type-C插头,另一端是USB 2.0 Micro-B插座。

以上这些线材,我们知道,Type-A接的是HOST,所以转接线中,CC引脚需要接上拉电阻。Type-B接的是Device,因此CC引脚需要接下拉电阻。

其中,具备全功能的Type-C应该具备E-Marker功能,由于具备E-Marker,线缆能够被读到其带电流的能力、特性、线材ID等等。E-Marker的供电电源来自于VCONN,如何知道线缆需要VCONN呢?线缆会通过下拉的电阻Ra,Source检测到之后会提供VCONN。

以上的定义均为标准的插拔端子以及线材,对于固定的连接器,而进行不同的状态连接的描述,分为C/D/E Pin Assignments

其中C表示4lane,即4对差分对均传输DP,定义如下,用于连接有源线材时的定义。D表示2lane传输,2对差分对传输DP信号,2对差分对传输USB3.0信号,E也是4lane,定义如下

图4 Type-C的PIN ASSIGNMENT

1.2传输速率,供电效能

最大传输速度10Gb/s,即是USB 3.1 Gen2标准,也支持4 Lane DP模式,传输高清图像,在供电部分,最大可以支持100W(20V/5A)

图5 USB端口的供电能力

1.3 “个性化”协商机制

由于端口一致,线材两端接口也一直,为了能够区分两端USB设备的角色(Host/Device),必须有一套协商机制,便于进行角色确认,这部分通过CC(Configuration Channel)管脚进行设置。后面随着PD规范的面世,CC脚开始被用来做简单的半双工通信,用来完成POWER供给的协商

1.4 强悍的一统天下的态势

由于Type-C的扩展功能(SBU1/SBU2),大部分配件诸如耳机、视频接口、Debug接口等等都可以实现兼容设计,成功逆袭以往所有的USB标准,成功上位!

二、Type-C Port的Data Role、Power Role

2.1 Type-C的 Data Role

在USB2.0端口,USB根据数据传输的方向定义了HOST/Device/OTG三种角色,其中OTG即可作为HOST,也可作为Device,在Type-C中,也有类似的定义,只是名字有了些许修改。如下所示:

(1)DFP(Downstream Facing Port):

下行端口,可以理解为Host或者是HUB,DFP提供VBUS、VCONN,可以接收数据。在协议规范中DFP特指数据的下行传输,笼统意义上指的是数据下行和对外提供电源的设备。其中DFP-U表示USB的Host,DFP-D表示DP的Source

(2)UFP(Upstream Facing Port):

上行端口,可以理解为Device,UFP从VBUS中取电,并可提供数据。典型设备是U盘,移动硬盘。其中UFP-U表示USB的Device,UFP-D表示DP的Sink

(3)DRP(Dual Role Port):请注意DRP分为DRD(Dual Role Data)/DRP(Dual Role Power)

双角色端口,类似于以前的OTG,DRP既可以做DFP(Host),也可以做UFP(Device),也可以在DFP与UFP间动态切换。典型的DRP设备是笔记本电脑。设备刚连接时作为哪一种角色,由端口的Power Role(参考后面的介绍)决定;后续也可以通过switch过程更改(如果支持USB PD协议的话)。

2.2 Type-C的Power Role

根据USB PORT的供电(或者受电)情况,USB Type-C将port划分为Source、Sink等power角色

如下图显示常用设备的Data Role和Power Role

图6 Type-C设备的分类

Power Role 详细可以分为:

a)Source Only

b)默认Source,但是偶尔能够通过PD SWAP切换为SINK模式

c)Sink Only

d)默认SINK,但是偶尔能够通过PD SWAP切换为Source模式

e)Source/SINK 轮换

f)Sourcing Device (能供电的Device,显示器)

g)Sinking Host(吃电的Host,笔记本电脑)

三、Type-C的Data/Power Role识别协商/Alt Mode

USB Type-C的插座中有两个CC脚,以下的角色检测,都是通过CC脚进行的,但是对于插头、或者线缆正常只有一个CC引脚,两个端口连接在一起之后,只存在一个CC引脚连接,通过检测哪一个CC有连接,就可以判断连接的方向。如果USB线缆中有需供电的器件,其中一个CC引脚将作为VCONN供电。

3.1 CC引脚有如下作用:

a)检测USB Type-C端口的插入,如Source接入到Sink

b)用于判断插入方向,翻转数据链路

c)在两个连接的Port之间,建立对应的Data Role

d)配置VBUS,通过下拉电阻判断规格,在PD协商中使用,为半双工模式

e)配置VCONN

f)检测还有配置其他可选的配置模式,如耳机或者其他模式

3.2 连接方向、Data Role、Power Role角色检测

3.2.1 SourceSink Connection

图7 Source和Sink的连接示范

图8 Source和Sink的端接电阻连接示意

如图所示,Source端CC引脚为上拉,Sink端CC引脚为下拉。握手过程为接入后检测到有效连接(即一端为Host一端为Device),随后检测线材供电能力,再进行USB枚举。

如下图指示了Source端,在连接SINK之前,CC1和CC2的框图模型:

图9 CC1&CC2在连接前的状态

a)Source端使用一个MOSFET去控制电源,初始状态下,FET为关闭状态

b)Source端CC1/CC2均上拉至高电平,同时检测是否有Sink插入,当检测到有Rd下拉电阻时,说明Sink被检测到。Rp的阻值表明Host能够提供的功率水平。

c)Source端根据Cable中哪一个CC引脚为Rd下拉,去翻转USB的数据链路,同时决定另外一个CC引脚为VCONN

d)在此之后,Source打开VBUS,同时VCONN供电

e)Source可以动态调整Rp的值,去表示给Sink的电流发送变化,告知SINK最大可以使用的电流

f)Source会持续检测Rd的存在,一旦连接断开,电源将会被关闭

g)如果Source支持高级功能(PD或者Alternate Mode),将通过CC引脚进行通信

如下图指示了SINK端CC1和CC2框架:

图10 Sink端的CC1/CC2状态

a)SINK的两个CC引脚均通道Rd下拉到GND

b)SINK通过检测VBUS,来判断Source的连接与否

c)SINK通过CC引脚上拉的特性,来检测目前的USB通信链路(翻转)

d)SINK可选地去检测Rp的值,去判断Source可提供的电流。同时管理自身的功耗,保证不超过Source提供的最大范围

e)同样的,如果支持高级功能,通过CC引脚进行通信。

如下图指示DRP的CC引脚在链接之前的架构:

图11 DRP设备的CC状态

a)当作为Source存在的时候,DRP使用MOSFET控制VBUS供电与否

b)DRP使用Switch去切换自身身份作为Source,或者是SINK

c)DRP存在一套机制,分三种情况,去决定自身是SINK或者是Source,去建立两者间彼此的角色。

情况1:不使用PD SWAP,随机变成Source/SINK中的任意一个,CC脚波形为方波

图12 CC引脚上的方波

情况2:自身倾向于作为Source,执行Try.SRC,问对面能不能做SINK呀,我做Source

情况3:与情况2相反,自身倾向作为SINK,执行Try.SNK,你做Source,我做小弟

图13 Type-C 端口的角色转换

当然还存在Source&Source,SINK&SINK这种搞基模式,唯一的结果就是一直停留在Unattached.SNK/Unattached.SRC,无法终成眷属。

那如果CC波形插入的时候同时都为高电平呢?

(1)同时插入为高电平,但是由于不一定是完全同步,所以一定会有一个先拉高、或者先拉低

(2)如果波形完完全全理想同步,那么就是SINK/SOURCE/SINK/SOURCE如此重复下去

另外需要注意的是,Try.SNK/Try.SRC这两个动作,是不需要用到PD协议的,通常在最初插入时发生

3.3 Type-C的其他模式

3.3.1 Display Port Alternate Mode

系统会通过USB PD协议中VDMs的信息通信(CC引脚通信),去告知支持Display Port模式。在这个模式当中,USB SuperSpeed 信号允许部分传输USB,部分传输DP信号。

图14 Type-C端口的Alternate Mode

3.3.2 Audio Adapter Accessory Mode

如下图,为3.5mm音频输入口转Type-C端口,USB2.0链路被用来传输模拟音频信号,若带MIC,MIC信号则连接在SBU引脚上,在这个模式当中,电源可以提供到500mA电流。

Host端如何识别到音频模式呢?把CC引脚和VCON连接,并且下拉电阻小于Ra/2(则小于400ohm),或者分别对地,下拉电阻小于Ra(小于800ohm),则Host会识别为音频模式。

图15 音频类应用框图

3.3.3 Debug Accessory Mode (DAM)

在DAM下,连接软体和硬体提供可视化调试和控制的系统,使用较少。

四、如何进行数据链路的切换

4.1 纯USB3.0

以TUSB546(DFP),TUSB564(UFP)为例子

前者的使用例子如笔记本电脑、后者的使用例子如Monitor

如下图,两端设备会根据插入方向,切换数据链路。图X插入连接为CC1,因此TUSB564切换到TX1/RX1

图16 2lane USB应用

图17插入连接为CC2,因此TUSB564切换到TX2/RX2,也就是根据CC引脚插入,识别插入方向

图17 2lane USB应用

4.2 USB3.1和2 LANE of DisplayPort

切换原理如上,需要注意的是,DP信号是使用SBUx进行传输

图18 2lane USB+ 2lane DP应用

图19 2lane USB+ 2lane DP应用

4.3 纯DP模式 4 lane

图20 4lane DP应用

问题思考:如何确定是DP 4 lane模式或者是DP 2 lane+USB3.0 模式?

通过CC引脚,利用PD协议沟通,协商,PD Controler 发起请求,并得到回应




细谈Type-C、PD原理(下)

嘻嘻~有催更就有动力~(虽然只有一个人催)

第二部分主要是一些专业名词的解释,另外就是PD原理的介绍,PD流程的分解、释义(有波形)

五、相关参数/名词解释

5.1 上拉电阻Rp

Rp有6个参数(5V档位和3.3V档位各3个),指示着不同的供电能力。

图1 不同的Rp值代表不同的供电能力

5.2 下拉电阻Rd

都是5.1K电阻下地,能否检测电源供电能力,取决于电阻的精度。

图2 不同的Rd值代表能否检测电源的能力

5.3 线材中的下拉电阻Ra

最小值800 ohm,最大值1.2K

图3 线材中的Ra下拉电阻

5.4 名词/连接状态解释

名词:

Alternate Mode Adapter(AMA):支持PD USB交替模式的设备,作为UFP存在

Alternate Mode Controller (AMC):支持PD USB交替模式的主机,作为DFP存在

Augmented Power Data Object(APDO):体现Source端的供电能力或者Sink的耗电能力,是一个数据对象

Atomic Message Sequence(AMS):一个固定的信息序列,一般作为PE_SRC_Ready, PE_SNK_Ready or PE_CBL_Ready的开始或者结束

Binary Frequency Shift Keying (BFSK):二进制频移键控

Biphase Mark Coding(BMC):双相位标识编码,通过CC通信

Configuration Channel (CC):配置通道,用于识别、控制等

Constant Voltage (CV):恒定电压,不随负载变化而变化

Current Limit (CL):电流限制

Device Policy Manager(DPM):设备策略管理器

Downstream Facing Port(DFP):下行端口,即为HOST或者HUB下行端口

Upstream Facing Port(UFP):上行端口,即为Device或者HUB的上行端口

Dual-Role Data (DRD):能作为DFP/UFP

Dual-Role Power (DRP):能做为Sink/Source

End of Packet (EOP):结束包

IR Drop:在Sink和Source之间的电压降

Over-Current Protection(OCP):过流保护

Over-Temperature Protection(OTP):过温保护

Over-Voltage Protection(OVP):过压保护

PD Power (PDP):Source的功耗输出,由制造商在PDOs字段中展示

Power Data Object (PDO):用来表示Source的输出能力和Sink的消耗能力的数据对象

Programmable Power Supply (PPS):电源输出受程序控制

PSD:一种吃电但是没有数据的设备,如充电宝

SOP Packet:Start of Packet,所有的PD传输流程,都是以SOP Packet开始,SOP*代表SOP,SOP’,SOP’’

Standard ID(SID):标准ID

Standard or Vendor ID(SVID):标准或产商ID

System Policy Manager(SPM):系统策略管理,运行在Host端。

VCONN Powered Accessory(VPA):由VCONN供电的附件

VCONN Powered USB Device(VPD):由VCONN供电的设备

Vendor Data Object (VDO):产商特定信息数据对象

Vendor Defined Message(VDM):产商定义信息

Vendor ID (VID):产商ID

状态:

Disabled State:从CC引脚移除终端,如果不支持该状态,那么该端口在上电后直接是Unattached.SNK或Unattached.SRC,该状态端口不会驱动VBUS或VCONN,CC1和CC2会呈现高阻到地
ErrorRecovery State:从CC1和CC2引脚移除终端,接下来会根据端口类型转化为Unattached.SNK或Unattached.SRC,这相当于强制断开连接事件,并寻找一个新的连接。如果该状态不支持,则转化为支持的disabled状态,如果disabled状态也不支持,则转化Unattached.SNK或Unattached.SRC。,该状态端口不会驱动VBUS或VCONN,CC1和CC2会呈现高阻到地
Unattached.SNK State:端口等待检测到Source的出现,一个端口Dead Battery不供电时候进入这个状态,端口不能驱动VBUS和VCONN,CC1和CC2分别地通过Rd终止到地,当Source连接检测到会转化为AttachWait.SNK,意味着在一个CC引脚上有SNK.Rp。USB 2.0不支持USB PD可能在VBUS检测到直接转化到Attached.SNK
AttachWait.SNK State:端口检测到SNK.Rp状态在一个CC引脚上,并等待VBUS。端口不驱动VBUS或VCONN
Attached.SNK State:端口连接上了,并作为Sink操作,如果初始化进入这个状态同样作为UFP操作,Power和Data的状态改变可以通过USB PD Command。直接从Unattached.SNK转化过来是通过检测VBUS,不确定方向和可用的高于默认的USB Power
Try.SRC State:端口查询决定伙伴端口是否支持Sink,不驱动VBUS和VCONN,端口要在CC1和CC2上分别Source电流
TryWait.SNK State:端口成为Source失败,准备连接成Sink,不支持VBUS或VCONN,CC1和CC2分别通过Rd终止
Try.SNK State:端口查询决定伙伴端口是否支持Source
TryWait.SRC State:端口成为Sink失败,准备连接成Source

六、PD协议简介

6.1 PD协议概况和通信过程

PD协议是Power Delivery,简单来说是一种快速充电标准。

包含PD协议的Type-C 系统从Source到SINK的系统框图大致如下:

Source和Sink各有一个PD芯片:

图4 PD的系统框图

在Source的内部包含了一个电压转换器,且受到PD控制器控制,他会根据输入电压的条件以及最高可输出规格需求,此电压转换器可以是BUCK、Boost、Buck-Boost或者反激转换器。整个通信过程都在PD控制器的管控之下,USB PD还有一个开关,用于切换VCONN电源(电缆包含电子标签时用到)。

当电缆接通之后,PD协议的SOP通信就开始在CC线上进行,以此来选择电源传输的规格,此部分由Sink端向Source端询问能够提供的电源配置参数(5V/9V/12V/15V/20V)。

SOP是DFP到UFP之间的通信包,SOP'是DFP和线材头部,SOP''是和线材尾部,统称为SOP*

图5 线缆中的SOP信号

如下波形为SINK 控制器申请一个9V电压输出的例子。

图6 CC波形(5V->9V->5V)

(1)SINK端发起SOP,申请获取Source能提供的规格资料

(2)Source回复能提供的规格列表

(3)SINK回复选择的电压规格,并带上所需要的电流参数,并发出相应的请求

(4)Source接受请求,并且把VBUS由5V抬升到9V

(5)在电压变化期间,SINK的电流会保持尽可能小,Source端VBUS到达9V并稳定之后,会发出Ready信号

(6)SINK端电流逐步抬升,若SINK需要降低电压,会重复以上过程

需要注意的是,在电压下降期间,Source为了让电压快速降低,Source会打开放电电路,达到额定值之后,Source会等待一段时间,电压稳定之后再发出Ready信号给SINK。

这种沟通方式的好处就是能确保任何电源的变化都能在SINK和SOURCE的规格范围内,避免出现不可控情况。

PD协议的通信编码为Bi-phase Mark Coded (BMC),通过CC脚进行通信,如下图。

图7 CC通信的BMC控制器

BMC码是一种单线通信编码,数据1的传输,需要有一次高/低电平之间的切换过程,而0的传输则是固定的高电平或者低电平。每一个数据包都包含有0/1交替的前置码,起始码(SOP),报文头,数据位,CRC以及结束码(EOP)

图8 BMC编码

如下图所示,展开后的CC脚PD通信波形

图9 CC引脚的信号图

BMC编码的通信,也可以使用分析仪进行分析,用来抓取每个数据包,并且获得数据包的作用,如电压电流等。

图10 Type-C协议(PD+AUX)的LOG

大家可以下载这个软件,我可以发一份LOG供学习参考,可以看到很多细节哦。

PD3.0规范中,定义了以下电源配置清单:

图11 Type-C PD规格

对于5V/9V/15V来说,最大的电流为3A,在20V的配置当中,如果是普通的电流,则最大能够支持20V/3A,即60W,如果使用的是带了E-Marker的线缆,则供电能达到20V5A,即100W。

支持超高速数据传输(USB3.1)或者是供电电流超过3A,电缆都必须使用E-Marker进行标识。线缆中有IC,他们需要从VCONN获得电源。

图12 E-Marker在线材中的架构

我们注意到,线缆中有1K的下拉电阻Ra,这样在线缆插入的时候,Source会识别到CC1和CC2电压下降的情况,具体的电压会告诉主机那个端子被Sink的5.1K下拉,那个端子被线缆的1K电阻下拉。因此线缆的插入方向也可以被识别到。Source就可以通过开关,给E-Marker提供VCONN。

如下图为带E-Marker的情况:

图13 插入后CC引脚的变化

(1)电缆接通之后,Source的一根CC线被来自VCONN的1K拉低

(2)Source检测到此电压,知道电缆中有E-Marker,因此切换VCONN到对应的CC引脚

(3)在之后,PD通信将会包含Source和E-Marker之间的通信(SOP'&SOP'')Source和Sink之间为SOP

图14 SOP*的通信

当设备为DRP时,设备的CC1和CC2为方波,一旦连接,CC端都会发生改变。

图15 CC引脚插入后的变化

在本次连接当中,左边的DRP做了Source,右边的DRP作为SINK,也有可能翻转过来。也可以本来就设定SOURCE或者SINK优先。

连接之后,想翻转也是允许的,只要发起角色变换请求就可以了。

图16 角色翻转时的波形示意

6.2 PD握手解析

如下是LOG的解析

图17 LOG解析

以下过程为Macbook2017+PD FL7102的通信过程,不同的PC和不同的PD由于自身配置的不同,过程会有所差异

(1)由于线材使用的为有源线材,带有E-Marker,因此通过SOP'对线材的Capability进行确认,此动作由PC发出,方向为OUT

(2)随后由于PD默认为RD,因此PC先发出Source Capability,声明能力为5V/3A,此时PC为Source,整机为SINK,整机请求5V/3A

(3)PC告知整机Power准备好了,并同时获取整机的SINK以及Source的能力

(4)PC通过Discover,获取PD的身份,并且从ACK中知道PD为AMA

(5)通过获取SVID得知其为Displayport

(6)此时PD会ACK PC,告知其支持的模式2lane,4lane或者是其他的定义接口

(7)PC在此沟通过程会在整机提供的多种模式中选择其中一种,一般选择2lane模式

(8)根据不同Source的不同角色需求,PD此时请求PRS(Power-Role-Swap),请求由SINK转为Source,PC Accept

(9)整机通过Source Capabality,发送PDO给PC(5V/3A 9V/3A 12V/3A 15V/3A 20V/3A)

(10)PC选出一个电压,并且返回一个电流给整机

(11)整机PsRdy,且发出中断,请求AUX通信,进入DP握手过程

细谈Type-C、PD原理(上/下)相关推荐

  1. 细谈Type-C、PD原理(一)

    第一部分包含:一.二.三.四 第二部分包含:五.六 目录 一.Type-C简介以及历史 二.Type-C Port的Data Role.Power Role 三.Type-C的Data/Power R ...

  2. 细谈Type-C、PD原理(二)

    目录 一.Type-C简介以及历史 二.Type-C Port的Data Role.Power Role 三.Type-C的Data/Power Role识别协商/Alt Mode 四.如何进行数据链 ...

  3. Java学习系列(十四)Java面向对象之细谈线程、线程通信(上)

    线程与进程的关系: 进程 --运行中的程序.进程有如下特征: 1).独立性.拥有自己的资源,拥有自己独立的内存区. 通常来说,一个进程的内存空间,是不允许其他进程访问的. 但像Windows,如A进程 ...

  4. 细谈Struts2 详解

    (一)自己实现struts2框架 Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages .Servlet.标 ...

  5. 浅谈 git 底层工作原理

    浅谈 git 底层工作原理 系统复习到这里也快差不多了,大概就剩下两三个 sections,这里学习一下 git 的 hashing 和对象. 当然,跳过问题也不大. config 文件 这里还是会用 ...

  6. 深入浅谈,CPU设计原理

    首先,声明这是一篇转载文,这篇文章是,从卡饭论坛 看到的一篇文章<深入浅谈,CPU设计原理>,是一篇连载,文章,卡饭论坛,是我高中的时候,经常去的论坛,里面有很多好的文章,推荐给大家.也许 ...

  7. android技术控,技术控必看,专业人士细谈USB Type-C

    原标题:技术控必看,专业人士细谈USB Type-C [导读]自从Apple发布了新MacBook,就一堆人在说USB Type-C.我来从硬件角度解析下这个USB Type-C,顺便解惑.尺寸小,支 ...

  8. 从控制理论的根轨迹法和稳定性分析谈到舵机PD控制代码实现

    在上一次谈到基于MPU6050的基于一阶互补滤波算法实现后,本来想接着就自适应一阶互补滤波和卡尔曼滤波再写一篇的,但是卡尔曼滤波算法我自己写出来并进行姿态解算后发现效果不很好,才疏学浅,等我调好了再写 ...

  9. windows server 2003 DNS 细谈系列之(二)记录类型、数据库

    windows server 2003 DNS 细谈系列之(二)记录类型.数据库<?xml:namespace prefix = o ns = "urn:schemas-microso ...

最新文章

  1. 汇总|目标检测中的数据增强、backbone、head、neck、损失函数
  2. centos7下使用yum安装mysql并创建用户,数据库以及设置远程访问
  3. 重庆两江新区将建国内最大“云计算”数据基地
  4. 2018.12.15
  5. C++Template 模版的本质
  6. 作者:周园春(1975-),男,博士,中国科学院计算机网络信息中心研究员、博士生导师。...
  7. Bitmap文件格式+生成一个BMP文件
  8. [转] 应聘Java笔试时可能出现问题及其答案(第五部分)
  9. ajax框架怎么学,Ajax框架之DWR学习(文件上传案例)
  10. printf 输出字符串 需要加上 c_str()
  11. LintCode—合并两个排序链表(165)
  12. 【python中级】通过ISAPI协议接口获得海康IPC云台的PTZ
  13. 一个bug看一天,写代码像cxk
  14. 新手入门、HTML制作简易导航条方法,解释每行代码意思,小白入门也能懂!实现html导航栏的多种方法
  15. CSP模测(一)A卷
  16. 一键自动完成 2021 京东/淘宝双 11 活动
  17. 黑苹果双系统安装教程macOS High Sierra 10.13.x
  18. java判断白天黑夜,获取Java中的所有夜晚时间
  19. Echarts水滴图
  20. springboot如何解析邮箱

热门文章

  1. (一)SDN基本架构
  2. SafePoint是什么
  3. vue 禁止input输入框输入特殊字符和汉字
  4. (2)马裤分:七分裤(长度为 70cm
  5. 设计模式_简单工厂模式(Simple Factory)
  6. hadoop文件读写示例
  7. nextdate函数 c语言,【Nextdate|Nextdate函数的黑盒测试】
  8. html %3cstyle%3e 添加css,从网站适应CSS样式到一个Django香脆形式复选框
  9. xp显示桌面很慢,解决办法
  10. 商业分析师应如何构建一个商业故事