yinhe 发表于 2008-2-20 10:54:41

到底什么是状态机?

网上解释:
"状态机就是指定系统的所有可能的状态及状态间跳转的条件,然后设一个初始状态输入给这台机器,机器就会自动运转,或最后处于终止状态,或在某一个状态不断循环"

这种解释对吗?

我个人认为其本质就是指<<数字电路>>中状态图的实现.

lhlmm 发表于 2008-2-20 11:10:22

<<数字系统设计>>中的比 <<数字电路>>中状态图更复杂的流程图,可以很方便地设计数字系统中的控制器.

sdmmqy 发表于 2008-2-20 11:13:37

关键是输入,输出,和状态。感觉优点是思路清晰,完整。缺点可能有点麻烦

lhlmm 发表于 2008-2-20 11:26:36

可以看<<数字系统设计>>方面的书.数字电路主要是门级设计.数字系统设计主要是中规模集成电路级设计,也就是说在进行数字系统设计时,以中规模集成电路为主要元件,不象数字电路是以门为主要元件.在数字电路设计中,如果同时用几个中规模集成电路,用状态图无法描述.

ilymy 发表于 2008-2-20 12:08:49

我觉得就是一个故弄玄虚的名字而已

yinhe 发表于 2008-2-20 13:06:49

谢谢两位的精彩回答,
"<<数字系统设计>>中的比 <<数字电路>>中状态图更复杂的流程图",是不是隐含"状态机本质就是状态图的高级版"的意思?
从这个名称的出处来讲,也有可能是对英文的"机械性"翻译造成的,大家觉得呢?
例如,循环地正序和倒序一个8位序列,用VHDL编写,曾有剑客建议:
"1. CPLD引入一个时钟.
2. 写一个状态机,在时钟驱动下输出3个序列"

详细请见:
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=919050&bbs_page_no=1&search_mode=3&search_text=yinhe&bbs_id=9999

yinhe 发表于 2008-2-20 13:09:14

补充:
可否有人告诉我怎样将上述网址弄成链接

lhlmm 发表于 2008-2-20 17:16:11

to4楼:不是故弄玄虚,状态图对含有中规模集成电路(如计数器等)的数字系统无法描述,只能描述由触发器构成的数字电路.数字系统由控制器和处理器组成,其中控制器可以用状态机描述并设计.

yinhe 发表于 2008-2-21 08:41:25

谢谢

yinhe 发表于 2008-2-21 13:20:36

请看清华大学出版的<<数字系统设计-CPLD应用与VHDL编程>>的目录:

第1章 数字系统的基本原理
1.1 数字电子学与模拟电子学
1.2 数字逻辑电平
1.3 二进制系统
1.4 十六进制系统
1.5 数字波形
1.6 小结
1.7 术语
1.8 习题
1.9 思考题答案
第2章 逻辑函数与逻辑门
2.1 基本逻辑函数
2.2 逻辑开关和发光二极管指示器
2.3 导出的逻辑函数
2.4 德摩根(DeMorgan)定理和逻辑门的等效形式
2.5 逻辑门的使能和禁止特性
2.6 集成电路逻辑门
2.7 小结
2.8 术语
2.9 习题
2.10 思考题答案
第3章 布尔代数和组合逻辑
3.1 布尔表达式、逻辑图和真值表
3.2 SOP和POS模式
3.3 布尔代数定理
3.4 化简SOP和POS表达式
3.5 用卡诺图方法化简
3.6 小结
3.7 术语
3.8 习题
3.9 思考题答案
第4章 可编程逻辑器件和MAX+PLUS II简介
4.1 什么是可编程逻辑器件
4.2 用MAX+PLUS II对PLD进行编程
4.3 图形设计文件
4.4 编译MAX+PLUS II文件
4.5 层次化设计
4.6 文本设计文件(VHDL)
4.7 创建物理设计
4.8 小结
4.9 术语
4.10 习题
第5章 组合逻辑函数
5.1 译码器
5.2 编码器
5.3 多路选择器
5.4 多路输出选择器
5.5 数值比较器
5.6 奇偶产生器和校验器
5.7 小结
5.8 术语
5.9 习题
5.10 思考题答案
第6章 数字运算与运算电路
6.1 数字运算
6.2 有符号二进制数的表示
6.3 有符号二进制运算
6.4 十六进制运算
6.5 数字和字符代码
6.6 二进制加法器和减法器
6.7 BCD码加法器
6.8 MAX+PLUS II中的进位产生
6.9 小结
6.10 术语
6.11 习题
6.12 思考题答案
第7章 时序逻辑电路
7.1 锁存器
7.2 NAND/NOR锁存器
7.3 门控锁存器
7.4 边沿触发D触发器
7.5 边沿触发的JK触发器
7.6 边沿触发的T触发器
7.7 时序参数
7.8 小结
7.9 术语
7.10 习题
7.11 思考题答案
第8章 可编程逻辑电路
8.1 可编程SOP阵列
8.2 PAL熔丝矩阵和组合输出逻辑
8.3 极性可编程的PAL输出
8.4 寄存器输出的PAL器件
8.5 通用PAL和通用阵列逻辑(GAL)
8.6 MAX7000S CPLD
8.7 FLEX10K CPLD
8.8 小结
8.9 术语
8.10 习题
第9章 计数器与移位寄存器
9.1 数字计数器的基本概念
9.2 同步计数器
9.3 同步计数器的设计
9.4 二进制计数器的VHDL编程
9.5 同步计数器的控制选项
9.6 采用VHDL编写可预置双向计数器
9.7 移位寄存器
9.8 用VHDL编写移位寄存器
9.9 移位寄存计数器
9.10 小结
9.11 术语
9.12 习题
9.13 思考题答案
第10章 状态机设计
10.1 状态机
10.2 不带控制输入的状态机
10.3 带控制输入的状态机
10.4 常开按键的开关反跳器
10.5 状态机的无用状态
10.6 交通灯控制器
10.7 小结
10.8 术语
10.9 习题
10.10 思考题答案
第11章 逻辑门电路
11.1 逻辑门电路的电特性
11.2 传输延时
11.3 扇出
11.4 功耗
11.5 噪声容限
11.6 TTL与CMOS门的交互
11.7 TTL门内部电路
11.8 MOS逻辑门内部电路
11.9 TTL和CMOS的变体
11.10 小结
11.11 术语
11.12 习题
11.13 思考题答案
第12章 模拟电路与数字电路的连接
12.1 模拟信号和数字信号
12.2 数模转换
12.3 模数转换
12.4 数据采集
12.5 小结
12.6 术语
12.7 习题
12.8 思考题答案
第13章 存储器件与系统
13.1 存储器的基本概念
13.2 随机存取存储器
13.3 只读存储器(ROM)
13.4 顺序存储器:FIFO和LIFO
13.5 动态RAM模块
13.6 存储系统
13.7 小结
13.8 术语
13.9 习题
13.10 思考题答案
附录A 奇数题号习题答案

1http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_217275.jpg
可以看出,内容是"数字电子+maxplusII+ 少量的VHDL"
从整体上判断,我实在看不出"状态机"和"状态图"的本质区别

yinhe 发表于 2008-2-22 09:57:33

没人回答了吗?

ecat 发表于 2008-2-22 17:41:49

9楼的那本书我也有,超级的贵,那么厚的书,习题占了很大比重。初学者看看挺不错。
状态机在我上学时没听说过,只有状态图。现在看来就那么回事,本质没什么区别,出现这个名词可能是VHDL等的普及,在编程方面好描述。

passerby 发表于 2008-2-22 18:21:15

状态机就是有几个状态的一个东西.
概念本身是实在的,只是部分学者,写书译书的人给弄得玄虚了.

比如一扇门,可以认为
它有3种状态,打开,关闭,开关之间.
也可以认为它有5种状态,打开,关闭,正在开,正在关,在开关之间静止(也就是异常).
怎么定义根据设计者的需要来定.
另外一个常见的例子是,厢式电梯.

状态图是状态机的一种表达方式.
状态机不仅仅用于数字电路,在程序里面也经常会用到.
比如在本论坛上经常看到的,iic中断方式的程序,
里面有一个长长的swtich的语句,这就是一个状态机.

yinhe 发表于 2008-2-25 17:25:23

谢谢各位的精彩回答,基本认定:"状态机"与"状态图"无本质区别.

bingyuanxue 发表于 2008-2-29 17:09:07

看看马潮老师写的《AVR嵌入式系统原理与应用》就知道了

shalixi 发表于 2008-3-5 10:27:13

没有学过<<数字系统设计>>,从这个帖子里<<数字系统设计>>的目录,体会到“数字系统设计”就是“数字电路”+“数字电路”的接口电路和程序,这样就由电路到了系统。

yinhe 发表于 2008-3-5 11:32:04

基本同意15楼观点
页: [1]
查看完整版本: 到底什么是状态机?