Digital-electronics 简明教程

Digital Electronics - Finite State Machines

Finite State Machines 是各种数字和计算机系统的基本构建块。它们提供了一种系统方法来模拟顺序电路的行为。它们还可以帮助控制数字系统中的各种过程。

阅读本章以了解有限状态机的组成、类型、优点和应用。

What is a Finite State Machine?

Finite State Machine (FSM) 是一个数学模型,用于解释和理解数字系统。更具体地说,它是一个结构化系统模型,有助于理解给定时刻存在的有限状态数顺序电路的行为。

更简单地说,如果一个同步顺序电路具有有限数量的状态,那么它也称为有限状态机 (FSM)。

这些有限状态的转换基于内部或外部输入进行,导致系统行为的可预测和系统性变化。

Components of a Finite State Machine

一个典型的有限状态机由以下主要组件组成:

Finite States

有限状态只不过是给定系统中的不同模式或条件。这些有限状态中的每一个都代表一种特定的行为。在数字系统表示中,这些有限状态通常通过符号或标签来表示。

State Transitions

就有限状态机而言,状态转换可以定义为从一个状态到另一个状态的变化。状态或状态转换的这种变化是基于一些特定输入或条件进行的。这些状态转换通常由与某些规则或条件关联的事件触发,并确定系统的下一状态。

State Diagram

状态转换和有限状态机的行为可以用图形形式表示,称为有限状态机的状态图。

Inputs

有限状态机的输入是触发系统中状态转换的外部信号。这些输入应该使用传感器、麦克风、键盘等用户输入设备输入到有限状态机中。

Outputs

系统根据输入和当前状态生成的结果称为输出。这些系统输出可用于触发事件、控制执行器或向外部环境提供反馈。

Types of Finite State Machine

有两种类型的有限状态机,即:

  1. Mealy State Machine

  2. Moore State Machine

现在让我们详细讨论这两种类型的有限状态机。

Mealy State Machine

如果有限状态机的输出取决于当前输入和当前状态,则称该状态机为 Mealy 状态机。 block diagram of the Mealy state machine 如以下图表所示:

mealy state machine

如该图表所示,Mealy 状态机中有两个主要部分。它们是组合逻辑电路和存储器元件。存储器元件对于将部分先前输出和当前状态作为输入提供给组合逻辑电路很有用。

Mealy 状态机根据当前输入和当前状态生成输出。因此,输出仅在时钟信号的正或负转换时有效。

Mealy 状态机的状态图如以下图表所示。

state diagram

在上图中,有三个状态,即 A、B 和 C。这些状态标记在圆圈内,每个圆圈对应一个状态。这些状态之间的状态转换用有向线来表示。这里,0/0、1/0 和 1/1 表示输入/输出。在上图中,从每个状态都有两个状态转换,具体取决于输入值。

通常,Mealy 状态机中所需的状态数少于或等于 Moore 状态机中所需的状态数。每个 Mealy 状态机都有一个等效的 Moore 状态机。

Moore State Machine

如果有限状态机的输出仅取决于当前状态,则该状态机称为 Moore 状态机。

block diagram of the Moore state machine 如以下图表所示:

moore state machine

如上图所示,Moore 状态机中有两部分。它们是组合逻辑和存储器。在这种情况下,当前输入和当前状态确定下一个状态。因此,基于下一个状态,Moore 状态机生成输出。因此,输出仅在状态转换之后有效。

下图显示了穆尔状态机的状态图 −

state diagram of moore state machine

在上图中,有四个状态,即 A、B、C 和 D。这些状态及其各自的输出都在圆圈内标记。在此,仅在每个转换上标记输入值。在上图中,每个状态有两种转换,取决于输入值。

通常,穆尔状态机中所需的状态数大于或等于米利状态机中所需的状态数。每个穆尔状态机都有一个等效的米利状态机。因此,我们可根据需求选择其中之一。

Advantages of Finite State Machine

在数字电子领域,有限状态机具有若干优势。所有这些优势使它们成为建模和实现各种数字系统的关键工具。有限状态机的一些主要优势如下所示 −

  1. 有限状态机提供了一种简单且系统的方法,用于建模和理解具有离散有限状态及其之间转换的数字系统的行为。

  2. 有限状态机支持模块化设计,这种设计有助于将复杂的数字系统分解为更小的组件。有限状态机的每个组件可以表示整个系统的一个特定任务。这有利于简化设计、测试和维护。

  3. 有限状态机易于扩展,允许在不改变其基本结构或操作的情况下,向现有系统添加新的状态、转换和逻辑。当系统需求不断演变或扩展时,这一点非常重要。

  4. 从根本上讲,有限状态机具有 deterministic or predictable behavior 。这意味着我们可以轻松确定其当前状态和输入系统的下一状态。这种可预测的行为有助于我们确保系统的可靠和一致操作。它还使有限状态机最适合实时和安全关键应用。

  5. 有限状态机在硬件和软件实现方面被认为非常高效,因为它们需要最少的硬件和软件资源,如逻辑门、内存和其他处理资源。

  6. 有限状态机 support parallelism 。此技术允许系统内同时出现多个状态和状态转换。它还优化了性能并提高了系统的响应能力。

  7. 有限状态机是数字电子和计算机科学领域的多功能工具,因为它们在各种领域中都有应用,如数字系统设计、控制系统设计、软件开发、人工智能开发等。

Applications of Finite State Machine

在数字电子和计算机科学领域,有限状态机由于其有效建模顺序逻辑系统的能力而用于各种应用。以下是有限状态机应用的一些示例 −

  1. 有限状态机通常用于设计和实现不同类型的顺序逻辑电路,如数字计数器、计时器、控制单元等。

  2. 有限状态机用于数字控制系统,以控制和调节复杂自动化系统的行为,如机器人、工业控制和自动化系统等。

  3. 有限状态机用于通信协议的实现,如网络协议和基于状态的数字系统,如数据传输和协议转换器。

  4. 有限状态机还用于软件开发领域,用于建模和定义应用程序中基于状态的系统的行为,以便创建用户界面、实现游戏机制和开发工作流管理系统。

Conclusion

总之,有限状态机是用于在数字电子领域对基于状态的数字系统和同步顺序电路进行建模、设计和分析的重要且强大的工具。

有限状态机允许工程师和系统设计人员设计和实现高效、可靠且可扩展的系统,这些系统能够处理数字电子和计算机工程领域中复杂的基于状态的逻辑和过程。