24小时联系电话:18217114652、13661815404

中文

您当前的位置:
首页>
电子资讯>
行业资讯>
单线数据传输不同的方...

行业资讯

单线数据传输不同的方式


如果不需要高速,但需要灵活性,则在操作多个分散组件时,单线数据传输很有用。该方法通过减小尺寸和成本来减少电缆中的导体数量。它还可以提高系统可靠性。

让我们从经典的集成RC元素(图1及其属性开始。集成RC元件可用于逻辑和数字电路中以更改脉冲长度,或更准确地说,生成或扩展脉冲持续时间,使用积分定律处理脉冲等。


1.这是典型的集成RC电路。

众所周知,电容器电压不能立即改变。其充电和放电时间取决于电容器C的容量和电阻R的电阻。可以使用根据以下公式计算的RC元件的时间常数来估算该时间:τ= RC

如果将足够长的脉冲发送到积分元件的输入,则电容器将有时间完全充电和放电。但是,如果脉冲短,比时间常数τ短得多,则电容器C的电压几乎不变。

要传输串行代码,我们需要有两条数据线-数据和时钟。如果以宽脉冲传输数据,而脉冲又有时间为RC元件的电容器充电,而时钟以窄脉冲传输而无法通过积分元件,则可以将这两条线合并为一条。因此,积分RC元件将用作信号接收器的分离器(图2


2.显示了为传输而生成的字节10010111(输入信号)的示例。可以很容易地看出,要传输逻辑数据“一零”,必须生成一个相应的“高低”足够宽的脉冲,并在最后加上一个短时钟脉冲。

必须将时钟信号放在RC元素之前,只有上升沿很重要,而数据信号则在RC元素之后。然后,如果正确生成位序列的传输信号,则可以解决该问题。2显示了为传输而生成的字节10010111(输入信号)的示例。

可以很容易地看出,为了传输逻辑数据/,必须生成一个相应的/足够宽的脉冲,并在最后加上短时钟脉冲(图3


3.这显示了一位“ HIGH , LOW”信号。每个都有一个尾随时钟脉冲

在这一点上,一个细心的读者可能会提出一个逻辑问题:为什么可以直接使用经典延迟元件来完成,为什么要使用外部RC元件来分离数据和时钟信号呢?展望未来,我们可以说使用外部RC元件使我们能够大大减少接收器消耗的电流,因为我们停止使用延迟元件运行所需的内部振荡器。

通过RC元件后收到的数据信号电压必须在逻辑一个电压的一定范围内(图2的绿色区域) 时钟信号电压不应通过RC元件,也不应超出逻辑零电压范围(图2的红色区域)  它们之间有一个模糊区域,完全可能存在错误状态。因此,必须选择电容器的容量和电阻器的电阻,以使所有充电/放电瞬态电压值都不会落入该区域。这样做的方法如下:

让我们将1的集成RC元件视为电阻R和电容器C的串联连接。以下电路用于此类电路:

 

鉴于:

 

我们可以针对电容器电压写以下微分方程,实际上是积分元件的输出电压V C = V out

 

这个微分方程的解是众所周知的:

 

其中τ =时间常数。让我们分析这个解决方案。在初始时间t = 0时,当输入脉冲馈入积分元件时,输出电压为out = 0,此后Vout  开始以与τ值成反比的速度增加,并达到以下值(图4


4. RC元件后的数据信号电压。

4. RC元件后的数据信号电压。

如下所述,发射机设计中比特序列传输信号的时间特性如图3所示。接收器的结构中使用了具有以下参数的RC元件:R = 120ΩС= 10 nFτ= 1.2 µs (下面的图1415。因此,可以计算出具有这样持续时间的脉冲通过RC元件时获得的电压值。

持续时间为T1 = 5 µs的数据脉冲将适合t =4τ(更精确地说,t =4.17τ)的情况(图4。在V DD = 3.3 V的电压下,RC元件之后的输出电压将为out = 0.981684·3.3 V≈3.23 V;也就是我们需要的逻辑高电平。但是,短脉冲T2 = 240 ns必须由RC元件滤除。t =τ/ 5的情况对于持续时间T2 = 240 ns的时钟脉冲有效(图4

V DD = 3.3 V的电压下,RC元件之后的输出电压将为out = 0.181269·3.3 V≈0.59 V,因此时钟脉冲将不会通过RC元件。为了进行检查,让我们将获得的合成信号电压电平与特征逻辑/电压电平进行比较。针对电源电压为VDD 0 = 3.3 V的情况进行该比较(图5


5.信号电压电平。

因此,确保获得的数据和时钟信号的逻辑电平电压值对应于所需的逻辑零/一电压值,并且不会落入歧义区域。总结所有上述信息,选择集成RC元素以分离数据和时钟信号有两个主要标准:

所选信号传输频率下的信号持续时间T1应至少为RC元件时间常数τ3倍,在我们的情况下为4.17倍:T1 =3τ

传输信号结束时短时钟脉冲T2的持续时间至少应比RC元件的时间常数τ4倍,在我们的情况下为5倍:T2 =τ/ 4

设计分析


6.此“ Transmitter_170”设计实现了并行-串行转换器。

Transmitter_170的设计(图6包含两个主要组件:

基于2LUT13LUT0÷3LUT53LUT9DFF0÷DFF6和流水线延迟的并行到串行转换器

生成器根据CNT1CNT4DLY2DLY52LUT22LUT33LUT64LUT0FILTER0P DLY生成必要的位序列传输信号

CNT1计数器定义了传输信号时间(如前所述,设置为〜5 µs)。CNT4计数器形成八个这样的时间段的数据包,并使用2LUT3反相器控制2LUT13LUT0÷3LUT53LUT9多路复用器。当来自2LUT3反相器输出的内部开关信号为低电平时(图7中断信号),则通过多路复用器记录来自输入PIN8,#10的信息执行相应的触发器。然后,当“ switch”中断信号)信号变高时,触发器上的数据发生移位,并形成一个串行代码(图7“ Serial_OUT”信号)


7.这些是“ Transmitter_170”传输的示例。通道1(黄色)是Serial_OUT,通道2(浅蓝色)是中断,通道3(品红色)是时钟,通道4(蓝色)是DATA_OUTPUT。这些图像显示当输入信号为00000000a),输入信号为10010011b),输入信号为10010011c)时以及信号值较高的单个周期的缩放视图(d)。

延迟元件DLY5以及3LUT6元件和基于FILTER02LUT2的上升沿检测器允许改变所产生的数据分组之间的持续时间t2 (图7b。即,设置并行数据输出的持续时间。当开关/中断信号为低电平时,在接收转换器的相应设计中会生成并行代码。在我们的设计中,生成数据包的时间t1和生成时间t2大致相同。

来自最后一个Pipe Delay触发器的输出的生成的串行代码被馈送到4LUT0元素,在该元素中,使用延迟元素DLY2和上升沿检测器P DLY,形成了所需的特定形式的输出信号(图7“ DATA_OUTPUT”信号。由FILTER12LUT4组成的上升沿和下降沿检测器设计为使延迟元件DLY2的振荡器时钟频率加倍,以提高最后一个的分辨率。

 

8.“ Receiver_170”设计实现了串行到并行转换器。

Receiver_170的设计(图8执行将串行代码转换为并行代码的相反功能。对于此操作,设计使用:

基于管道延迟(三个触发器),DFF0÷DFF3DFF5的八个触发器链

基于3LUT0÷3LUT7的八个锁存器,用于将并行代码馈入输出PIN

在上升沿检测器P DLY上为触发器链计时的电路;

CNT2计数器和FILTER0反相器上的锁存器控制电路(3LUT0÷3LUT7元素)。

信号由外部RC元件分离后(图14,来自输入PIN(图9的数据信号被馈送到触发链的第一个触发器。然后,我们使用P DLY检测器仅选择时钟信号PIN5的上升沿,并为触发链和计数器CNT2形成时钟信号。当内部CNT2信号为低电平(图9CNT2信号)时,串行代码被解码为触发链上的并行代码,在此触发器由于来自FILTER0反相器输出的高resDFF信号而处于触发状态。


9.这些是“ Receiver_170”接收的示例。通道1(黄色)是CNT2,通道2(浅蓝色)是RC电路之前的外部信号,通道3(品红色)是RC电路之后的外部信号,通道4(蓝色)是CLK。这些图像显示当输入信号为00000000a),输入信号为10010011b),输入信号为10010011c)时以及信号值较高的单个周期的缩放视图(d)。

CNT2信号从低电平变为高电平时,表示每个触发器当前状态的信号将被馈入相应的锁存器并存储。同时,随着resDFF信号从高电平变为低电平,解码链的触发器将重置为初始状态。在“ CNT2”信号为高电平的时间期间,将锁存器存储的信号馈入相应的输出PIN,这又对应于Transmitter_170设计中生成的数据包之间的时间t2

DFF5触发器没有nRESET输出。因此,它具有一个附加的复位逻辑电路,该电路基于AN-1029所述的4LUT02LUT1元素。   

仔细查看启动Transmitter_170Receiver_170设计的初始条件,一个明显的缺点是。如果接收器比发送器晚开始运行,则串行代码到并行的转换可能不是从数据包的开头开始,而是从中间开始。反过来,这将导致数据输出过程发生变化。因此,为了确保发射器-接收器的正确操作,接收器必须与发射器同时开始工作。换句话说,它们必须具有公共电源(下面的图14

消除此缺陷的一种方法是,例如,在每个数据包的开头发送服务辅助信号,以在开始转换串行数据的过程之前重置接收机设计中的所有触发器。这将确保数据转换过程从程序包的开头开始。这样,我们将获得一个可靠的数据传输系统,在该系统中,发送器和接收器可以拥有自己的电源,并可以随时独立于彼此开始运行。为了对此进行测试,创建了另一对Transmitter_533Receiver_533 (图15,进一步在下面)


10.“ Transmitter_533”设计实现了并行-串行转换器。

Transmitter_533的设计(图10也包含两个主要组件:

基于2LUT33LUT14÷3LUT173LUT5÷3LUT7DFF2DFF0DFF5÷DFF9和流水线延迟的并行到串行转换器

生成器根据CNT5CNT6DLY0DLY1DFF43LUT03LUT13EDGE DET0PDLY4LUT22LUT1生成必要的位序列传输信号

此设计的操作原理与上一个没有什么不同。同样,CNT5计数器将传输信号时间定义为5 µs。但是,与先前的设计不同,CNT6计数器形成了10个此类时间段的数据包。即,除了设计用于发送数据的八个时段之外,还使用两个另外的时段S1S0来生成所需的服务信号(图11c


11.这些是“ Transmitter_533”传输的示例。通道1(黄色)是Serial_OUT,通道2(浅蓝色)是中断,通道3(品红色)是时钟,通道4(蓝色)是DATA_OUTPUT。图像显示输入信号为00000000a),输入信号为10010011b),输入信号为10010011c)以及服务信号的前两个周期的缩放视图(d)。

可能有很多方法来创建特殊服务信号,然后在接收器中对其进行检测。我们选择了第一个想到的:使用DFF43LUT0,将服务信号的S1时间段填充为2 MHz的振荡器频率,并使用2LUT1将其与主传输信号混合。留下S0时段而没有任何改变(图11d。其原因将在接收机设计的描述中进行解释。

像以前的发射机设计一样,延迟元件DLY0以及3LUT13元件和下降沿检测器EDGE DET0使得可以更改生成的数据包之间的持续时间。与之前的情况一样,根据DLY14LUT2P DLY创建所需的输出信号特定形式(图3。由于数据包包含10个时间段,因此有必要在链中添加两个触发器以正确生成串行代码。这是在管道延迟上完成的,其中OUT0设置为= 3

因此,除数据字节外,在Transmitter_533的设计中还发送了两个附加位S1S0S1位填充有振荡器频率为2 MHz的周期信号。

与先前的接收器一样,Receiver_533 (图12的设计执行将串行码解码为并行码的逆功能。另外,它在开始转换串行数据的过程之前,会检测到服务信号(由发送器生成)并重置所有触发器。


12.“ Receiver_533”设计实现了串行到并行转换器。

此功能通过DLY5延迟元件执行,其中PIN5用作时钟信号源。RC元素之前的Clock信号。检测器P DLY的两个边沿对周期信号的响应(以2 MHz的频率填充附加的S1位)类似于滤波器响应,这意味着可以为DLY5生成发射信号(图13P_DLY信号)

DLY5是上升沿上的延迟元件,这就是为什么人们可以轻易地看到DLY5仅在附加的S1位到达时才起作用的原因(图13DLY5信号)。反过来,在开始并行到串行转换之前,DLY5延迟元件将始终为CNT6计数器生成一个复位信号。这样,CNT6计数器和两个锁存器(LATCH1LATCH2)将生成必要的信号以重置解码链中的触发器(图13res_DFF信号)。另外,在并行数据输出期间,用于在输出中锁存数据的信号锁存3LUT53LUT63LUT12÷3LUT16 (图13LATCH1信号)

 

13.这些是“ Receiver_533”接收的示例。通道1(黄色)是中断,通道2(浅蓝色)是RC电路之前的外部信号,通道4(蓝色)是RC电路之后的外部信号。信号D8-D13(绿色)分别是P_DLY,CLK,DLY5,CNT6,res_DFF和LATCH1。图像显示输入信号为00000000(a),输入信号为10010011(b),输入信号为10010011(c)以及服务信号的前两个周期的缩放视图(d)。

信号以其2 MHz的频率填充了附加的S1位,满足不通过RC元素的要求。但是,由于它在5 µs内多次重复,因此选择了一位的持续时间,因此它设法将电容器充电到可以识别为逻辑电平的电压电平。随后,为使电容器放电至保证的逻辑零电平且不影响数据信号的位7,我们使用了第二个额外的S0位。

此外,为了提高系统的可靠性,用于触发链和计数器CNT6的时钟信号由上升沿检测器EDGE DET0形成,该信号在P DLY元素之后获取。继而,这将防止在服务S1位的解码期间产生寄生时钟信号CLK (图13“ CLK”信号)

其余元素执行与先前设计相同的功能。

电路分析

如前所述,为了演示所提出的数据传输原理的效率,我们创建了一对收发器设备。

如上所述,Transmitter_170 – Receiver_170(图14具有由使用的78L33线路稳定器确定的公共电源,其电源电压为3.3V。在发射机电路中使用了八个按钮S0÷S7来生成所需的传输信号。 。因此,接收器电路中的八个LED0÷LED7 LED用于可视化接收和解码的信号。

 

14.这是典型的“ Transmitter_170 – Receiver_170”电路。

Transmitter_533-Receiver_533(图15中的发送器和接收器具有独立的电源节点,并且如上所述,它们代表一个独立的数据接收-发送系统。像前面的电路一样,按钮S0÷S7可用于设置所需的传输信号。接收电路中的LED0÷LED7 LED可以监控结果。

 

在不考虑LED消耗的电流的情况下,我们已经测量了在介绍的收发器对(Receiver_170IC1电路和Receiver_533IC2电路)工作期间芯片消耗的电流,以及它们的R1C1元件。事实证明,测得的电流值还取决于在串行信号字节中传输的逻辑电流的数量(这是由于RC元件电容器的充电电流所致)。为了比较,将测量结果汇总在16


16.基于数据值的电流消耗。

测得的电流值表明Receiver_533电路芯片消耗的电流略高于Receiver_170电路的电流。这是因为由于使用了附加的辅助服务位S1S0Receiver_533电路中的传输信号要长两位。因此,可以总结出,带有RC元件的芯片所消耗的电流远小于带有OSC 2 MHz振荡器的芯片所消耗的电流。

17和图18展示了基于上述工作原理的工作数据收发系统。


17.这是完整的“ Transmitter_170 – Receiver_170”系统(来自按钮的输入信号为00000101)。


18.这是一个完整的“ Transmitter_533 – Receiver_533”系统(来自按钮的输入信号为01001100)。

 

 

请输入搜索关键字

确定