亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

有限状态机

反馈是一个引人入胜的工程原理。它可以将一个相当简单的设备或过程变成更复杂的东西。我们已经看到了有意将反馈集成到电路设计中的效果,并产生了一些相当惊人的效果:

在过程仪表领域,反馈用于将简单的测量系统转变为能够控制的系统:

反馈,无论是正面的还是负面的,都倾向于为设备或系统的操作添加全新的动态。有时,这些新动态会找到有用的应用,而有时它们只是有趣。

通过将查找表编程到存储设备中,从数据输出返回地址输入的反馈创建了一种全新类型的设备:有限状态机 , 或 FSM :

上述电路说明了基本思想:存储在每个地址的数据成为 ROM 寻址的下一个存储位置。随着时间的推移,结果是输出端的特定二进制数序列(遵循编程到 ROM 中的序列)。

但是,为了避免信号时序问题,我们需要通过一个 4 位 D 型触发器将数据输出连接回地址输入,以便序列按照受控时钟脉冲的节拍逐步进行:

这种设备的工作原理可以类比为一组邮局信箱,每个信箱的门上都有一个识别号码(地址),每个信箱都包含一张纸,上面写着另一个邮政信箱的地址。盒子上写着(数据)。一个人,打开第一个 P.O.框,会在其中找到下一个邮政信箱的地址。打开盒子。

通过在 P.O. 中存储特定的地址模式。盒子,我们可以规定每个盒子被打开的顺序,从而决定阅读哪张纸的顺序。

在 ROM 中有 16 个可寻址的内存位置,这个有限状态机将有 16 个不同的稳定“状态”,它可以锁存。在这些状态中的每一个状态下,下一个状态的标识都会被编程到 ROM 中,等待下一个时钟脉冲的信号作为地址反馈到 ROM。

这种 FSM 的一个有用应用是生成任意计数序列,例如格雷码:

地址 -----> 数据格雷码计数序列: 0000 -------> 0001 0 0000 0001 -------> 0011 1 0001 0010 -------> 0110 2 0011 0011 -------> 0010 3 0010 0100 -------> 1100 4 0110 0101 -------> 0100 5 0111 0110 -------> 0111 6 0101 0111 -------> 0101 7 0100 1000 -------> 0000 8 1100 1001 -------> 1000 9 1101 1010 -------> 1011 10 1111 1011 -------> 1001 11 1110 1100 -------> 1101 12 1010 1101 -------> 1111 13 1011 1110 -------> 1010 14 1001 1111 -------> 1110 15 1000 

尝试遵循 FSM 所做的格雷码计数序列:从 0000 开始,按照存储在该地址 (0001) 的数据到下一个地址,依此类推 (0011),依此类推 (0010),依此类推on (0110) 等。结果,对于所示的程序表,寻址序列以一种看似随意的方式从一个地址跳转到另一个地址,但是当您检查每个访问的地址时,您会发现它遵循 4 位格雷码的正确顺序。

当 FSM 到达其最后一个编程状态(地址 1000)时,存储在那里的数据为 0000,整个序列在地址 0000 处与下一个时钟脉冲同步重新开始。

我们可以通过使用具有更多地址线的 ROM 并添加更多编程数据来扩展上述电路的功能:

现在,就像我们通过使用更多地址线作为“功能控制”输入将查找表加法器电路变成算术逻辑单元(+、-、x、/ 函数)一样,这个 FSM 计数器可用于生成更多除了一个计数序列之外,还为两个功能控制线输入组合(A4 =0 或 1)中的每一个的四个反馈位(A0 到 A3)编程了不同的序列。

地址 -----> 数据地址 -----> 数据 00000 -------> 0001 10000 -------> 0001 00001 -------> 0010 10001 -------> 0011 00010 -------> 0011 10010 -------> 0110 00011 -------> 0100 10011 -------> 0010 00100 -------> 0101 10100 -------> 1100 00101 -------> 0110 10101 -------> 0100 00110 -------> 0111 10110 -------> 0111 00111 -------> 1000 10111 -------> 0101 01000 -------> 1001 11000 -------> 0000 01001 -------> 1010 11001 -------> 1000 01010 -------> 1011 11010 -------> 1011 01011 -------> 1100 11011 -------> 1001 01100 -------> 1101 11100 -------> 1101 01101 -------> 1110 11101 -------> 1111 01110 -------> 1111 11110 -------> 1010 01111 -------> 0000 11111 -------> 1110 

如果 A4 为 0,则 FSM 以二进制计数;如果 A4 为 1,则 FSM 以格雷码计数。在任何一种情况下,计数顺序都是任意的:由程序员的心血来潮决定。就此而言,计数序列甚至不必有 16 步,因为程序员可能决定让序列在任何一步循环到 0000。它是一个完全灵活的计数装置,其行为严格由ROM中的软件(编程)决定。

通过使用带有附加地址输入和数据输出线的 ROM 芯片,我们可以进一步扩展 FSM 的功能。以如下电路为例:

这里,D0 到 D3 数据输出专门用于反馈到 A0 到 A3 地址线。日期输出行 D4 到 D7 可以编程为输出 FSM 的“状态”值以外的其他内容。由于四个数据输出位被反馈到四个地址位,这仍然是一个16态设备。

然而,让输出数据来自其他数据输出线,让程序员比以前更自由地配置功能。换句话说,这个设备能做的远不止数数!该 FSM 的编程输出不仅取决于反馈地址线(A0 到 A3)的状态,还取决于输入线(A4 到 A7)的状态。

D 型触发器的时钟信号输入也不必来自脉冲发生器。为了让事情变得更有趣,触发器可以连接到某个外部事件的时钟,这样 FSM 只有在输入信号告诉它时才会进入下一个状态。

现在我们有一种设备可以更好地满足“可编程”一词的含义。写入 ROM 的数据是真正意义上的程序:输出遵循基于设备输入的预先建立的顺序,以及设备按其顺序执行的“步骤”。

这与图灵机的操作设计非常接近 ,一种由艾伦图灵发明的理论计算设备,在数学上证明能够解决任何已知的算术问题,只要有足够的内存容量。


工业技术

  1. 脑电图机
  2. 自动售货机
  3. 投票机
  4. 缝纫机
  5. 到机器钛
  6. 加工石墨
  7. 什么是车床?
  8. 5 技术颠覆制造业
  9. 1 铣床
  10. 18 第 8 章:CNC
  11. 22 单元 5:CNC 操作
  12. JW机器