跳到主要内容

AN-1113安全门锁与键盘条目

内容

参考

对于相关的文件和软件,请访问:

https://www.dialog-semicondoduments.c亚博电竞菠菜om/products/greenpak.

下载我们的免费GreenPak Designer软件[1]打开.gp文件[2]并使用GreenPak开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。

yabo国际娱乐对话框半导体提供完整的应用程序库注意[4],其中包含了设计示例以及对话框IC中的功能和块的说明。

  1. GreenPak Designer软件,软件下载和用户指南,对话框半导体yabo国际娱乐
  2. AN-1113安全门锁与键盘条目.GP,GreenPak设计文件,对话半导体yabo国际娱乐
  3. GreenPak开发工具,GreenPak开发工具网页,对话框半导体yabo国际娱乐
  4. GreenPak应用笔记,GreenPak应用笔记网页,对话框半导体yabo国际娱乐
  5. SLG46620数据表,对话框半导体yabo国际娱乐

介绍

此应用笔记显示如何设计具有基本安全码的门锁。SLG46620V GreenPak IC [5],4x4键盘,驱动器和直流电机用于该项目。该项目包含3个阶段:

  1. 从4x4键盘接收数据
  2. 将安全代码与输入的数据进行比较
  3. 控制开放,等待时间和重新锁定

系统视图

本设计中使用的键盘是4×4键盘,具有4行和4列,带钥匙轴承数字,符号和字母字母。用户按下的按钮关闭了不同的交换机。通过检查这些交换机的状态,我们感觉按钮按下。

要启动扫描过程,我们按顺序将逻辑“1”应用于每个行,并检查来自列的信号以了解哪一个是用户已关闭的开关。要分别向线路提供逻辑“1”,我们使用了解码器。解码器是一个电路,其仅在其输入状态上仅具有一个输出。

图1. 4x4键盘

由于只有一个输出处于活动状态,因此逻辑“1”不能同时将逻辑“1”应用于多行。这使得它是收到的数据。解码器设计为2x4,因为键盘有4行。我们可以使用四个2位LUT制作2x4解码器。解码器的LUT和真理表的设置如图2所示:

图2. LUT的设置

输入

输出

A1

A0

D3

D2

D1

D0.

0.

0.

0.

0.

0.

1

0.

1

0.

0.

1

0.

1

0.

0.

1

0.

0.

1

1

1

0.

0.

0.

图3.解码器的真实表

使用两个计数器设置解码器的输入。以这种方式,连续扫描线。如解码器真值表所示,输入1的变化时间比输入0更长。这就是为什么CNT6计数器的输出周期设置为比CNT5计数器的输出周期大的2倍。

计数器设置如图4所示。

图4.计数器的设置

在设置中,选择“LF OSC CLK”作为时钟。这导致更大的输出周期,因为LF OSC CLK的频率低。需要选择OSC / LF OSC电源模式作为使用LF OSC CLK的力电源。

计数器输出连接到DFFS的时钟,以这种方式,解码器输入在时段时不会改变。这里的重要点是在将计数器输出连接到DFF的时钟之前,使用来自列的信号的反向执行逻辑和操作。按下按钮时,这将确保活动线保持稳定。

检测到按钮按下时停止扫描功能,这进一步确保了所得数据的有效性。

由于机械和物理行为,按钮通常会在按下时创建多个开放/关闭过渡。这些转换可以在很短的时间内读取为多个压力机。为了防止这种情况,使用计时器在短时间内检查两次,以确保按钮绝对按下。为了实现这一点,我们通过向来自列的信号添加延迟来创建去射流功能,并用原始信号对该信号执行逻辑和操作。我们已将CNT9 / DLY9设置为模式延迟,配置设置如图5所示。

图5.诱缝Dly9

每个按钮按下将生成用作安全码检测电路的CLK的信号。我们在该项目中选择的数字为1-5-9。要了解与这些数字相关联的列的信号,来自相关线路和列乘以的信号。所以:

  • 第1行1号线
  • 第2栏和第2行为5号
  • 第9个第3列和第3行乘以。

密码控制单元

我们已检查用户在上一节中输入的信号。在本节中,我们设计了一种电路,该电路与所需的安全密码进行比较,按钮按下输入的数据。输入的按钮数据必须以正确的顺序输入以匹配3位数字安全密码。可以使用有限状态机Macrocell设计能够实现此功能的电路。

状态机是设计计算机程序或数字逻辑的概念。前者包括有限数量的状态,转换和可以用流程图建模的转换和动作,其中可以在满足应燃时检测逻辑路径。

该电路使用了三种不同的状态。当没有输入或输入虚假数据按钮时,状态将成为“空闲状态”。使用正确的值输入第一个按钮按钮后,状态机切换到“第一号状态”。如果输入的数字不是正确的第二个数字,则状态机再次将其切换到“空闲状态”。如果输入的数字是正确的,它会切换到“第二号状态”。如果输入的数字在状态机处于第二个数字状态时,状态机将再次切换回“空闲状态”。如果输入了正确的数字,则密码控制单元的输出将为1.要设计该状态机,则绘制状态图,如图6所示:

图6.密码电路的状态图

我们在设计中使用了2个DFF,因为我们使用的状态机有3个州。2 DFF可以在4个不同的状态中使用。然后使用该图,我们创建了一个状态表,如图7所示。

当前状态

输入

下一个州

输出

Q1

Q0

A2

A1

A0

Q1

Q0

正确密码

0.

0.

X

X

0.

0.

0.

0.

0.

0.

X

X

1

0.

1

0.

0.

1

X

0.

X

0.

0.

0.

0.

1

X

1

X

1

0.

0.

1

0.

0.

X

X

0.

0.

0.

1

0.

1

X

X

0.

0.

1

图7.密码单元的状态表

在创建状态表时,首先写入输入和当前状态。根据给予当前状态的输入,写入相应的下一个州。在下一个状态下,根据当前状态和下一个状态写入DFF的输入。DFF的真理表如图8所示。

输入

下一个州

nreset.

D.

问:

0.

X

0.

1

0.

0.

1

1

1

图8. DFF的TRUTH表
图9.Password电路

如果将1给予DFF的输入,则结果将是1.如果给出0,则它将是0.在CLK的上升沿发生变化,并且DFF的输出保持恒定,直到下一个逻辑变化通过。

在形成状态表之后,我们发现了DFF的DFF的输入方程,借助于该表和DFF的真实表。这些方程如下所示:

d1 = a1 q1'q0

d0 = a0 q1'q0'

正确的密码= A2 Q1 Q0'

在连接DFFS及其时钟的输入后,电路将如图9所示。

这里有一个重要的注意事项是,密码控制电路在锁的打开关闭时间期间将保持在待机模式下。我们可以通过将正确的密码的信号连接到连接到DFFS的NRESET引脚来实现这一目标。当DFF的NRESET引脚为1时,DFF宏小区在正常模式下工作,如果它是0,则将DFF Macrocell设置为复位模式,其输出将为0.正确输入密码时,正如正确的密码信号为1套密码控制电路到待机模式。我们将正确的密码信号连接到DFF的时钟,并将VDD信号连接到该DFF的输入,以保持正确的密码信号在安全锁的打开关闭时间内为1。以这种方式,当正确的密码信号有效时,DFF输出将是1。

最后,在打开关闭过程完成后,锁定状态信号已被发送到该DFF的Nreset引脚,以启动安全码比较的新循环。

图10.State图安全锁电路

安全锁电路

安全锁电路是变得有效的最后阶段(具有来自安全密码电路的正确密码信号),并控制将启动安全锁的驱动程序。该电路中有4个不同的阶段。这些是:

  • 空闲状态 - 这是安全锁电路变为活动之前的初始状态。
  • 打开状态 - 允许通过启用驱动程序打开锁定
  • 等待状态 - 停止驱动程序,并使锁定打开一个设置时段。
  • 关闭状态 - 允许通过反转驱动程序关闭锁定

安全门单元的状态图如图10所示。

与前图不同,此图中的状态的更改根据定时期间而发生,而不是根据输入。此外,各州以一定的顺序移动。安全门单元的状态表如下:

当前状态

下一个州

Q1

Q0

Q1

Q0

0.

0.

0.

1

0.

1

1

1

1

1

1

0.

1

0.

0.

0.

图11.安全门单元的钟表

根据此表,我们可以为DFF的输入写下以下方程。

门状态dff - 1 = k0

门DFF - 0 = K1'

我们使用DLY1和DLY3来设置安全锁的开放式关闭时间。这些单元的设置如图12所示:

图12. DLY1和DLY3的填充剂

这里的一个重要点是将与打开关闭和待机状态相对应的DFF输出连接到DLY电路的销中的DLY。我们将K0和K1信号连接到DLY1的DLY,我们通过使用逻辑和过程为待机状态设置了。In this way, when state machine passes to ‘K1K0=11’ state, DLY IN pin will be 1 and at the end of the delay time, output of the DLY1 will be 1, and sends a signal to the state machine to pass to the next state. After state machine passes to next state, DLY1 is reset because input of DLY1 is going to be 0.

相同的情况也可用于打开关闭状态。因为打开闭合时间将是相同的,所以只使用1个DLY电路就足够了。通过执行逻辑XOR过程,通过执行DLY3单元的引脚,将来自状态机的K1和K0信号连接到DLY3单元,以将开启关闭时间安排在开启状态下。当状态机为K1K0 = 01(打开)或K1K0 = 10(关闭)时,DLY3被激活并在指定时段结束时,激活DLY3单元的输出并将信号发送到状态机以传递到下一个州。这些信号通过执行逻辑或操作连接到状态机的CLK引脚。将启动状态机的第一信号是来自安全密码控制电路的正确密码信号。但在将此信号连接到状态机的时钟之前,我们应该连接到PDLY块。将PDLY块的模式设置为“上升沿检测器”,我们可以通过使用来自其他DLY块的信号进行逻辑或操作来将PDLY输出连接到状态机的时钟。

如果我们不使用PDLY块,逻辑或操作的结果将立即设置为1,因为正确的密码信号是1.使用PDLY块可以防止这种情况。当PDLY块捕获“上升沿”时,它会产生单次脉冲。以这种方式,逻辑或操作的结果并不总是为1,并且其他信号的变化可以影响逻辑或操作的结果。

DC电机用于打开并关闭安全锁定。需要高电流和高电压来运行DC电机,大于SLG46620V GreenPak4设备可以提供的值。因此,从系统中的另一个设备拍摄运行DC电机的单独驱动电路。使用来自SLG46620V的信号控制此驱动器。如果我们将1和0彼此发送到电机驱动器上的控制引脚,电机开始旋转。如果我们想改变电机的旋转,则必须反转给出给电机驱动器的信号。对两个引脚提供0或1以停止电机。在此项目中根据此逻辑设置了用于状态的DFF。01在封闭状态下,封闭状态10,11个待机状态,00处于空闲状态。从状态机输出的信号可以直接连接到电机驱动器。 These signals can be connected in reverse for a second motor. After all connections are made, a security lock unit is shown in Fig. 13.

图13.安全锁定单元的电路

结论

在这个项目中,我们演示了如何完成状态机描述的设计,并用单个GreenPak IC实现它。另外,考虑驱动电机或执行器。可以添加指示器或其他功能,因为该可编程混合信号IC中仍有额外电路仍然可用。