在平时的工作中,经常会接触到各种差分电平的转换,网上也有很多这样的资料,但发现有些混乱,所以找了TI的这份文档进行翻译,一是系统的归类一下,二是自己也能通过这个来加深理解和学习。这个文档对于各个电平的结构讲解的一般,很多是根据TI的器件来说的。但是其后半部分连接方式的讲解是非常有价值的,通过这部分可以从原理上了解匹配和偏置电路的搭建,强烈建议大家一读。

1概要

随着通讯速度的提升,出现了很多差分传输接口,以提升性能,降低电源功耗和成本。早期的技术,诸如emitter-coupled logic(ECL),使用不变的负电源供电,在当时用以提升噪声抑制。随着正电压供电技术发展,诸如TTL和CMOS技术,原先的技术优点开始消失,因为他们需要一些-5.2V或-4.5V的电平。 
在这种背景下,ECL转变为positive/pseduo emitter-coupled logic (PECL),简化了板级布线,摒弃了负电平供电。PECL要求提供800mV的电压摆幅,并且使用5V对地的电压。LVPECL类似于PECL也就是3.3V供电,其在电源功耗上有着优点。 
当越来越多的设计采用以CMOS为基础的技术,新的高速驱动电路开始不断涌现,诸如current mode logic(CML),votage mode logic(VML),low-voltage differential signaling(LVDS)。这些不同的接口要求不同的电压摆幅,在一个系统中他们之间的连接也需要不同的电路。 
本应用手册主要内容为:TI的不同的SERDES器件,输入输出结构,多种高速驱动器,以及偏置和终端电路。 
在不同的接口之间,往往采用交流耦合的方式(ac-coupling),从而可以独立的对驱动器和接收器进行处理。 
1. 不同接口之间的转换 
2. 不同信号电平的转换 
3. 不同地之间的转换

2各信号电平

第一步首先是理解各个接口点逻辑电平,主要讨论LVPECL,CML,VML,以及LVDS。 
表一为这些接口的输出电平。

项目 LVPECL CML VML LVDS
VOH 2.4V 1.9V 1.65V 1.4V
VOL 1.6V 1.1V 0.85V 1V
输出电压(单端) 800mV 800mV 800mV 400mV
共模电压 2V 1.5V(VCC-0.2V)1 1.25V 1.2V

表一,各接口电平规范

图一

3输入输出结构

在上文中提到了关于LVPECL,CML,VML以及LVDS驱动器,这些都是基于CMOS技术的。这个部分介绍各个种类的输入输出结果。

3.1 LVPECL接口

LVPECL由ECL和PECL发展而来,使用3.3V电平。

3.1.1 LVPECL 输出结构

LVPECL的典型输出为一对差分信号,他们的射击通过一个电流源接地。这一对差分信号驱动一对射极跟随器,为Output+与Output-提供电流驱动。50欧姆电子一头接输出,一端接VCC-2V。在射级输出级电平为VCC-1.3V。这样50欧姆的电阻两端电势差为0.7V,电流为14mA。(这一部分电路的计算方法我个人理解为,VCC过通过射级跟随器,等效于两个二极管,约为1.3V的电势下降,此时的射级跟随器的基极电压为VCC-1.3V+0.7V。电流源的作用是提高速度。)

3.1.2 输入结构

输入部分如图三,输入差分对直流偏置电平也需要在VCC-1.3V。在这里要特别注意,关于连接的方式和匹配,在下文详细论述。

3.2 CML 接口结构

CML电路驱动器有这样几个特点,包括高速能力,可调整逻辑输出摆幅,电平调整,可调slew rate.

3.2.1 CML输出结构

CML驱动器基于开漏输出和压控电流源使用NMOS晶体管。输出需要通过电阻上拉至VDD,这是因为NMOS只能驱动下降沿。因为输出电压摆幅是由负载决定,压控电流源用于改变电流值从而驱动负载。负载电阻和外部参考电阻可以靠近放置以优化输出电压摆幅。(这里说的比较简单,从其他的文献上查得的资料,上拉电阻一般选用50欧姆,电流源的电流为16mA,这样就会有差分800mV的电压摆幅)

3.2.2 CML输入结构

输入部分需要有上拉电阻将共模电压拉至正常的值。在这里为1.5V当上拉电阻没有包含在芯片中时,就需要特别小心这部分的电路设计。上拉电阻要尽可能的靠近器件。NMOS晶体管在这里作为一个latch(锁存器),配合一个高速时钟,用来锁存数据。(这里好像是针对TI的某个器件来说的,和典型的CML电路有些不同。)

3.3 VML 接口结构

德州仪器公司的voltage-mode logic (VML)电平与LVPECL兼容。和CML一样,VML基于CMOS工艺,但VML不需要上拉电阻,以为其内部使用了NMOS与PMOS用以驱动上升沿和下降沿。该电平使用不多,所以不详细论述了。

3.4 LVDS接口结构

ANSI TIA/EIA-644和IEEE1596.3-1996定义了LVDS接口标准。LVDS的电压摆幅和速度低于LVPECL,CML和VML,然而LVDS也有其优势,即更低的功耗。许多LVDS驱动器基于恒定电流所以功耗与传输频率并不匹配。(这句话没明白)

3.4.1 LVDS输出结构

LVDS输出结构与VML类似,只是TI的LVDS SERDES输出结构使用了反馈回路来调整共模电压值。如图8所示,一个电流源与NMOS的漏极链接用来控制输出电流,典型值为3.5mA,通过终端的100欧姆匹配电阻,得到350mA的电压摆幅。

3.4.2 LVDS 输入结构

TI的基于LVDS的SERDES芯片使用差分信号,使用NMOS晶体管,输入必须使用100欧姆的终端电阻跨接于两个差分电平。并且共模电平约为1.2V。匹配电阻必须尽量靠近接收端摆放。电流源用来给差分线提供小电流。

tips:

1、按照标准,CML的共模电压为VCC-0.2V,这个计算是基于电流源电流为16mA,上拉电阻值为50欧姆。为什么Ti这个表格里的这个共模电压是1.5V?这里需要再查阅一些文献看。

4 各个端口的连接

直流耦合用于当共模电压不造成问题,且为了避免电容造成的阻抗不连续。 
交流耦合用于消除共模电压,主要用于不同的逻辑电平,并假定一个直流平衡的信号模式。

4.1 LVPECL

4.1.1 LVPECL驱动器——直流耦合

直流耦合时,LVPECL需要VCC-2V的终端。当VCC为3.3V时,该电压为1.3V。终端电阻Rt必须和传输阻抗Z0相同。 

4.1.2 LVPECL驱动器——交流耦合

在交流耦合的情况下,由于没有直流路径供给下降沿信号,所以LVPECL驱动器输出需要通过一个电阻连接至地,这个电阻的大型约在140~220欧姆。在接收端,终端电平必须为VCC-1.3V(5V为3.7V,3.3V为2V)

Rt与Z0一致。

4.2 CML

4.2.1 CML的直流耦合

CML的匹配只要加上一个上拉(芯片内未射开漏上拉),上拉电阻等于传输线阻抗Z0。如果芯片内都有上拉,则直接连接即可。

4.2.2 CML的交流耦合

在AC耦合时,需要上拉电阻提供上升沿电平。

4.4 LVDS

因为LVDS是电流驱动器,所以只能通过DC耦合,电流通过跨接的终端电阻转化为电压信号。典型的来说,差分匹配电阻Rt为100欧姆,但是这个还要根据传输阻抗Z0。(在PCB上Z0一般为50欧姆)

5 偏置和终端电路

5.1 偏置

最简单的偏置电压使用分压电阻网络即可。 

举个LVPECL的例子(原文是VML的例子)。3.3V的LVPECL的偏置电压为2V,所以:

3.3*(R2/(R1+R2))=2

可以根据这个算式,算出R1与R2的关系,R1=0.65R2

5.2 终端匹配

对于差分电路,有四种典型的终端和偏置方式,他们有各自的优缺点。

5.2.1 差分匹配

这是最简单的一种,R1和R2用以分压,他们的值在k级别,使得输入共模电平在接收端允许的范围。

该方式的主要的缺点是元器件的数量以及电源的消耗通过分压网络。然而,这种方式可以通过选择更大阻值的R1,R2来降低功耗。

5.2.2 带有去耦电容的差分匹配

第二种方法是和第一种很相似,但终端匹配电阻采用50欧姆,且两个匹配电阻间通过一个去耦电容接地。 

这种差分匹配,主要的缺点在于元器件数量和电源消耗;然而,电源消耗可以通过调整R1,R2的值。优点在于,当出现传输线造成的信号歪斜时,比如差分信号并不是同时到达时,该电容可以成为一个对小信号的低阻对地路径。

5.2.3 简化电路

第三种方法如下图22.

理想的配置是使得R1||R2等于Z0。同时满足电阻分压。 
可以继续举LVPECL的例子。 
算得R1||R2 = 50 又根据上文的关系,可得,R1=82,R2=130 
显然,在这个例子里,有更少的R1和R2,但是由于R1和R2的电阻较小,所以功耗比较大。

5.2.4 带一个偏置电阻网络的差分匹配

最后一种方式将偏置网络合并为一个,如图24. 

这是一个非常简洁的电路,易于只存在一个分压网络用于两个差分线,减少了电源消耗。去耦电容和匹配电阻消减了电路噪声,和信号歪斜。 
当芯片不存在内部的偏置电路时,这种方法是最好的终端和偏置电路之一。 
R1和R2在k级的电阻中选,Z0等于传输阻抗。

这种配置时,匹配电阻靠近芯片摆放,偏置电路远离该部分。去耦电容同样必须靠近芯片摆放。

加个补充,来源于网上,提到CML和LVDS的速度问题。

1、CML和(P)ECL他们的Driver不是工作在开关状态(饱和、截至),而是工作在临界状态,因此他们右low到high的切换过程是很迅速的,同时也正是因为其工作在临界状态,它的静态损耗比LVDS要大,说白了也就是发热大。 
2、swing大小的问题,其实这个主要是针对接受器来说,当receiver的容限变大的时候,其允许的传输速度也将会更大。一个很好的例子就是SATA 1.0和PCIE 1.0,其PHY的Driver部分是相类似的,不过PCIE定义的接受电平为85mV(但愿我没记错)而SATA的接收电平为250mV,这样在传输时,PCIE允许的传输速度就大于SATA。

在平时的工作中,经常会接触到各种差分电平的转换,网上也有很多这样的资料,但发现有些混乱,所以找了TI的这份文档进行翻译,一是系统的归类一下,二是自己也能通过这个来加深理解和学习。这个文档对于各个电平的结构讲解的一般,很多是根据TI的器件来说的。但是其后半部分连接方式的讲解是非常有价值的,通过这部分可以从原理上了解匹配和偏置电路的搭建,强烈建议大家一读。

1概要

随着通讯速度的提升,出现了很多差分传输接口,以提升性能,降低电源功耗和成本。早期的技术,诸如emitter-coupled logic(ECL),使用不变的负电源供电,在当时用以提升噪声抑制。随着正电压供电技术发展,诸如TTL和CMOS技术,原先的技术优点开始消失,因为他们需要一些-5.2V或-4.5V的电平。 
在这种背景下,ECL转变为positive/pseduo emitter-coupled logic (PECL),简化了板级布线,摒弃了负电平供电。PECL要求提供800mV的电压摆幅,并且使用5V对地的电压。LVPECL类似于PECL也就是3.3V供电,其在电源功耗上有着优点。 
当越来越多的设计采用以CMOS为基础的技术,新的高速驱动电路开始不断涌现,诸如current mode logic(CML),votage mode logic(VML),low-voltage differential signaling(LVDS)。这些不同的接口要求不同的电压摆幅,在一个系统中他们之间的连接也需要不同的电路。 
本应用手册主要内容为:TI的不同的SERDES器件,输入输出结构,多种高速驱动器,以及偏置和终端电路。 
在不同的接口之间,往往采用交流耦合的方式(ac-coupling),从而可以独立的对驱动器和接收器进行处理。 
1. 不同接口之间的转换 
2. 不同信号电平的转换 
3. 不同地之间的转换

2各信号电平

第一步首先是理解各个接口点逻辑电平,主要讨论LVPECL,CML,VML,以及LVDS。 
表一为这些接口的输出电平。

项目 LVPECL CML VML LVDS
VOH 2.4V 1.9V 1.65V 1.4V
VOL 1.6V 1.1V 0.85V 1V
输出电压(单端) 800mV 800mV 800mV 400mV
共模电压 2V 1.5V(VCC-0.2V)1 1.25V 1.2V

表一,各接口电平规范

图一

3输入输出结构

在上文中提到了关于LVPECL,CML,VML以及LVDS驱动器,这些都是基于CMOS技术的。这个部分介绍各个种类的输入输出结果。

3.1 LVPECL接口

LVPECL由ECL和PECL发展而来,使用3.3V电平。

3.1.1 LVPECL 输出结构

LVPECL的典型输出为一对差分信号,他们的射击通过一个电流源接地。这一对差分信号驱动一对射极跟随器,为Output+与Output-提供电流驱动。50欧姆电子一头接输出,一端接VCC-2V。在射级输出级电平为VCC-1.3V。这样50欧姆的电阻两端电势差为0.7V,电流为14mA。(这一部分电路的计算方法我个人理解为,VCC过通过射级跟随器,等效于两个二极管,约为1.3V的电势下降,此时的射级跟随器的基极电压为VCC-1.3V+0.7V。电流源的作用是提高速度。)

3.1.2 输入结构

输入部分如图三,输入差分对直流偏置电平也需要在VCC-1.3V。在这里要特别注意,关于连接的方式和匹配,在下文详细论述。

3.2 CML 接口结构

CML电路驱动器有这样几个特点,包括高速能力,可调整逻辑输出摆幅,电平调整,可调slew rate.

3.2.1 CML输出结构

CML驱动器基于开漏输出和压控电流源使用NMOS晶体管。输出需要通过电阻上拉至VDD,这是因为NMOS只能驱动下降沿。因为输出电压摆幅是由负载决定,压控电流源用于改变电流值从而驱动负载。负载电阻和外部参考电阻可以靠近放置以优化输出电压摆幅。(这里说的比较简单,从其他的文献上查得的资料,上拉电阻一般选用50欧姆,电流源的电流为16mA,这样就会有差分800mV的电压摆幅)

3.2.2 CML输入结构

输入部分需要有上拉电阻将共模电压拉至正常的值。在这里为1.5V当上拉电阻没有包含在芯片中时,就需要特别小心这部分的电路设计。上拉电阻要尽可能的靠近器件。NMOS晶体管在这里作为一个latch(锁存器),配合一个高速时钟,用来锁存数据。(这里好像是针对TI的某个器件来说的,和典型的CML电路有些不同。)

3.3 VML 接口结构

德州仪器公司的voltage-mode logic (VML)电平与LVPECL兼容。和CML一样,VML基于CMOS工艺,但VML不需要上拉电阻,以为其内部使用了NMOS与PMOS用以驱动上升沿和下降沿。该电平使用不多,所以不详细论述了。

3.4 LVDS接口结构

ANSI TIA/EIA-644和IEEE1596.3-1996定义了LVDS接口标准。LVDS的电压摆幅和速度低于LVPECL,CML和VML,然而LVDS也有其优势,即更低的功耗。许多LVDS驱动器基于恒定电流所以功耗与传输频率并不匹配。(这句话没明白)

3.4.1 LVDS输出结构

LVDS输出结构与VML类似,只是TI的LVDS SERDES输出结构使用了反馈回路来调整共模电压值。如图8所示,一个电流源与NMOS的漏极链接用来控制输出电流,典型值为3.5mA,通过终端的100欧姆匹配电阻,得到350mA的电压摆幅。

3.4.2 LVDS 输入结构

TI的基于LVDS的SERDES芯片使用差分信号,使用NMOS晶体管,输入必须使用100欧姆的终端电阻跨接于两个差分电平。并且共模电平约为1.2V。匹配电阻必须尽量靠近接收端摆放。电流源用来给差分线提供小电流。

tips:

1、按照标准,CML的共模电压为VCC-0.2V,这个计算是基于电流源电流为16mA,上拉电阻值为50欧姆。为什么Ti这个表格里的这个共模电压是1.5V?这里需要再查阅一些文献看。

4 各个端口的连接

直流耦合用于当共模电压不造成问题,且为了避免电容造成的阻抗不连续。 
交流耦合用于消除共模电压,主要用于不同的逻辑电平,并假定一个直流平衡的信号模式。

4.1 LVPECL

4.1.1 LVPECL驱动器——直流耦合

直流耦合时,LVPECL需要VCC-2V的终端。当VCC为3.3V时,该电压为1.3V。终端电阻Rt必须和传输阻抗Z0相同。 

4.1.2 LVPECL驱动器——交流耦合

在交流耦合的情况下,由于没有直流路径供给下降沿信号,所以LVPECL驱动器输出需要通过一个电阻连接至地,这个电阻的大型约在140~220欧姆。在接收端,终端电平必须为VCC-1.3V(5V为3.7V,3.3V为2V)

Rt与Z0一致。

4.2 CML

4.2.1 CML的直流耦合

CML的匹配只要加上一个上拉(芯片内未射开漏上拉),上拉电阻等于传输线阻抗Z0。如果芯片内都有上拉,则直接连接即可。

4.2.2 CML的交流耦合

在AC耦合时,需要上拉电阻提供上升沿电平。

4.4 LVDS

因为LVDS是电流驱动器,所以只能通过DC耦合,电流通过跨接的终端电阻转化为电压信号。典型的来说,差分匹配电阻Rt为100欧姆,但是这个还要根据传输阻抗Z0。(在PCB上Z0一般为50欧姆)

5 偏置和终端电路

5.1 偏置

最简单的偏置电压使用分压电阻网络即可。 

举个LVPECL的例子(原文是VML的例子)。3.3V的LVPECL的偏置电压为2V,所以:

3.3*(R2/(R1+R2))=2

可以根据这个算式,算出R1与R2的关系,R1=0.65R2

5.2 终端匹配

对于差分电路,有四种典型的终端和偏置方式,他们有各自的优缺点。

5.2.1 差分匹配

这是最简单的一种,R1和R2用以分压,他们的值在k级别,使得输入共模电平在接收端允许的范围。

该方式的主要的缺点是元器件的数量以及电源的消耗通过分压网络。然而,这种方式可以通过选择更大阻值的R1,R2来降低功耗。

5.2.2 带有去耦电容的差分匹配

第二种方法是和第一种很相似,但终端匹配电阻采用50欧姆,且两个匹配电阻间通过一个去耦电容接地。 

这种差分匹配,主要的缺点在于元器件数量和电源消耗;然而,电源消耗可以通过调整R1,R2的值。优点在于,当出现传输线造成的信号歪斜时,比如差分信号并不是同时到达时,该电容可以成为一个对小信号的低阻对地路径。

5.2.3 简化电路

第三种方法如下图22.

理想的配置是使得R1||R2等于Z0。同时满足电阻分压。 
可以继续举LVPECL的例子。 
算得R1||R2 = 50 又根据上文的关系,可得,R1=82,R2=130 
显然,在这个例子里,有更少的R1和R2,但是由于R1和R2的电阻较小,所以功耗比较大。

5.2.4 带一个偏置电阻网络的差分匹配

最后一种方式将偏置网络合并为一个,如图24. 

这是一个非常简洁的电路,易于只存在一个分压网络用于两个差分线,减少了电源消耗。去耦电容和匹配电阻消减了电路噪声,和信号歪斜。 
当芯片不存在内部的偏置电路时,这种方法是最好的终端和偏置电路之一。 
R1和R2在k级的电阻中选,Z0等于传输阻抗。

这种配置时,匹配电阻靠近芯片摆放,偏置电路远离该部分。去耦电容同样必须靠近芯片摆放。

加个补充,来源于网上,提到CML和LVDS的速度问题。

1、CML和(P)ECL他们的Driver不是工作在开关状态(饱和、截至),而是工作在临界状态,因此他们右low到high的切换过程是很迅速的,同时也正是因为其工作在临界状态,它的静态损耗比LVDS要大,说白了也就是发热大。 
2、swing大小的问题,其实这个主要是针对接受器来说,当receiver的容限变大的时候,其允许的传输速度也将会更大。一个很好的例子就是SATA 1.0和PCIE 1.0,其PHY的Driver部分是相类似的,不过PCIE定义的接受电平为85mV(但愿我没记错)而SATA的接收电平为250mV,这样在传输时,PCIE允许的传输速度就大于SATA。

转自:http://share.yioumu.com/tech/2777/LVDS,CML,LVPECL,VML接口详细介绍

IEEE、万方文献及国内外专利下载,请关注微信公众号IEEE

LVDS,CML,LVPECL,VML接口详细介绍相关推荐

  1. LVDS,CML,LVPECL,VML之间接口电平转换(来自TI文档)

    在平时的工作中,经常会接触到各种差分电平的转换,网上也有很多这样的资料,但发现有些混乱,所以找了TI的这份文档进行翻译,一是系统的归类一下,二是自己也能通过这个来加深理解和学习.这个文档对于各个电平的 ...

  2. 计算机串口接spi,SPI串口模块-SPI接口详细介绍

    SPI串口模块-SPI接口详细介绍 1. SPI串口模块-概述 SPI = Serial Peripheral Interface,是串行外围设备接口,是一种高速,全双工,同步的通信总线.常规只占用四 ...

  3. MII,RMII,GMII接口详细介绍

    MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是IEEE-802.3定义的以太网行业标准.它包括一个数据接口和一个MAC和PHY之间的管理接口. ...

  4. PCM接口详细介绍--TDM方式

    1. 概述 PCM = Pulse Code Modulation  是通过等时间隔(即采样率时钟周期)采样将模拟信号数字化的方法.图为4 bit 采样深度的PCM数据量化示意图: PCM数字音频接口 ...

  5. Linux中的lo回环接口详细介绍

    1.linux的网络接口之扫盲 (1)网络接口的命名 这里并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的.例如: eth0: ethernet的简写,一般用于以太网接口. wifi0: ...

  6. fmc接口定义_FPGA的FMC接口详细介绍

    FMC ( FPGA Mezzanine Card ) FPGA中间层板卡,整个FMC模块由子板模块.载卡两部分构成.子板模块和载卡之间由连接器连接,子板模块上连接器使用公座(male),载卡上连接器 ...

  7. java 万年历接口_接口详细介绍-万年历查询

    /** *点睛数据:万年历查询,使用JAVA方式调用接口简单示例 * @author 点睛数据 * djapi.cn */ import java.io.BufferedReader; import ...

  8. 笑话大全api_接口详细介绍-笑话大全

    /** *点睛数据:笑话大全,使用JAVA方式调用接口简单示例 * @author 点睛数据 * djapi.cn */ import java.io.BufferedReader; import j ...

  9. iTOP-4418嵌入式开发板接口基本介绍

    iTOP-4418嵌入式开发板是迅为电子设计研发的一款四核Cortex-A9开发板,可广泛适用于工控.智能家居.医疗.多媒体.安防.车载.金融.消费电子.手持设备.显示控制.教学.电力.通讯等领域. ...

最新文章

  1. 处理字符串_1_生成自增值
  2. feignclient对象找不到_成都附近有什么相亲活动?为什么有些人就是找不到对象?梨子游玩...
  3. 内核态与用户态【转载】
  4. vue-cli的webpack模版,相关配置文件dev-server.js与webpack.config.js配置解析
  5. nginx log response_nginx优化配置大全
  6. 偷天换日?公众号广告新骗局 被坑的多是运营
  7. 【礼仪大赛策划方案常识】 什么是正装
  8. 什么是大数据,模式识别和人工智能算法实现
  9. 韩国瑜:打造高雄全台首富 3月内完成施政总体检
  10. 制作简易的牛顿摆锤模型
  11. OA系统是什么意思?企业为什么要用OA办公系统软件?
  12. Python爬虫——王者荣耀全皮肤拉取
  13. Java中的数据类型转换
  14. 一场 Chat 拥有自己的博客
  15. 服务器 地址 域名 ip ??从输入url地址到客户端见到网页的大致过程,连接好服务器以后将网页挂上去的具体操作
  16. 又一个加密PHP脚本的解码方法
  17. php网站为微信发信息,PHP发送微信模版消息代码
  18. 《无间道》中的“盲签字”
  19. 武汉理工计算机学院吧,告诫那些想到武汉理工大学计算机学院读书的同学们!...
  20. 博途v15模拟量转换_基于博途V15 西门子S7-1200 + 模拟量SM 1234 正反转变频调速实例...

热门文章

  1. PyQt5系列-网红辞职小程序-[1]
  2. gpj文件怎么转化成html,001.html
  3. I420到UYVY的转换
  4. 【NYOJ 289 】
  5. zabbix5.0的安装与实现
  6. Android TV UI开发常用知识
  7. 【HAL库】Proteus+VSPD实现仿真stm32虚拟串口
  8. Java中方法的重载详解
  9. 微信朋友圈广告怎么投放,有那些推广渠道
  10. 超越指尖陀螺?这款产品火了-跨境知道