献给初学者的时序图D触发器74hc595等的精彩问答.docx

上传人:b****7 文档编号:9176549 上传时间:2023-02-03 格式:DOCX 页数:48 大小:322.96KB
下载 相关 举报
献给初学者的时序图D触发器74hc595等的精彩问答.docx_第1页
第1页 / 共48页
献给初学者的时序图D触发器74hc595等的精彩问答.docx_第2页
第2页 / 共48页
献给初学者的时序图D触发器74hc595等的精彩问答.docx_第3页
第3页 / 共48页
献给初学者的时序图D触发器74hc595等的精彩问答.docx_第4页
第4页 / 共48页
献给初学者的时序图D触发器74hc595等的精彩问答.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

献给初学者的时序图D触发器74hc595等的精彩问答.docx

《献给初学者的时序图D触发器74hc595等的精彩问答.docx》由会员分享,可在线阅读,更多相关《献给初学者的时序图D触发器74hc595等的精彩问答.docx(48页珍藏版)》请在冰豆网上搜索。

献给初学者的时序图D触发器74hc595等的精彩问答.docx

献给初学者的时序图D触发器74hc595等的精彩问答

消息记录

消息分组:

大学组

消息对象:

陈博士

 

日期:

2010-8-26

12:

56:

54

清空移位寄存器,并行输出为高阻状态  

 并行输出为高阻状态 是什么意思

陈博士

14:

00:

30

在吗

14:

00:

36

陈博士

14:

00:

50

问题搞清楚了吗

14:

00:

54

没有

陈博士

14:

01:

40

电信号接口粗略的可以划分为三种状态,0 1 高阻

陈博士

14:

01:

53

高阻用 Z表示

陈博士

14:

02:

36

高阻可以认为是 断路 

14:

03:

03

14:

03:

12

你看看这个芯片的资料

14:

03:

24

他说的那个高阻状态是怎么产生的

14:

03:

33

是芯片内部中断?

陈博士

14:

04:

19

具体到芯片的话 只需要把OE置无效 就输出高阻了

14:

04:

51

输出高阻有什么用

陈博士

14:

05:

20

其实主要是在总线设计中应用比较多

陈博士

14:

05:

36

比如pci isa usb中

14:

05:

40

陈博士

14:

06:

02

总线中一般要挂很多个设备

14:

06:

03

1

这边是输出端吧

陈博士

14:

07:

37

应该是

14:

07:

54

输出端高阻,让出总线是什么意思

14:

08:

18

这边有总线吗

14:

08:

44

这个电路里哪地方时总线

14:

09:

01

是DS还是   15,1,2,3,4,5。

6这几个

陈博士

14:

09:

27

这个是串并转换芯片吧

14:

09:

46

是的

陈博士

14:

10:

42

从这个电路的设计上来说 74hc595 并不能输出高阻状态

陈博士

14:

10:

56

只能输出0 和 1

14:

11:

08

你有没有输出高阻状态的资料

14:

11:

12

电路

陈博士

14:

11:

42

没有 我给你画个示意图吧

14:

12:

17

一会你看看这里边的程序,好像牵涉到时序

陈博士

14:

18:

06

 

14:

18:

12

14:

18:

12

成功发送文件“03 74HC595串入并出芯片应用.rar”(30.00KB)。

 

    

陈博士

14:

18:

28

三态一般都是这样的连接

14:

18:

48

如果是刚才那个芯片的话,高阻状态是什么样子

陈博士

14:

18:

49

左边可以看做是三个输入

陈博士

14:

19:

23

刚才那个芯片输出高阻的话 需要把oe置成高电平

陈博士

14:

19:

49

不过那个电路已经把oe接地了 所以不可能输出高阻了

14:

19:

56

14:

20:

18

如果有两个那样的芯片接到总线上,高阻才有意义是吧?

陈博士

14:

20:

56

一般来说是这样的 

陈博士

14:

21:

23

如果只有一个芯片设计成高阻也有点意义 

14:

21:

43

什么意义

陈博士

14:

21:

59

高阻也就是说 不输出电平 就像把闸刀断开一样

陈博士

14:

22:

17

可能有时候特殊情况需要这样的输出

14:

22:

34

稍微知道了点了

14:

22:

40

看刚才那个程序

14:

23:

01

void In_595()

{

 uchar i;

for(i=0;i<8;i++)

{

 temp <<= 1;

DS   = CY;

SH_CP = 0;

_nop_();

_nop_();

SH_CP = 1;

}

}

void Out_595()

{

 ST_CP = 0;

_nop_();

ST_CP = 1;

_nop_();

ST_CP = 0;

}

陈博士

14:

23:

06

14:

23:

42

SH_CP=0

SH_CP=1

我感觉应该是根据那个

功能表得出来的吧

陈博士

14:

25:

40

sh_cp是时钟输入吧

陈博士

14:

25:

58

上升沿有效 应该是从功能表过来的

14:

26:

27

是时钟输入

14:

26:

36

移位寄存器的时钟输入

陈博士

14:

26:

53

对 是595的时钟

14:

27:

07

那个存储时钟和这个有什么区别

陈博士

14:

27:

39

哪个存储时钟啊

14:

27:

59

陈博士

14:

29:

50

存储时钟 就是输出时钟

陈博士

14:

30:

15

sh的上升沿 把数据锁入到 595中

陈博士

14:

30:

37

st的上升沿 把595的数据 输出到8位并行口上

陈博士

14:

31:

09

你自己能理解就行了 也不一定把它叫做时钟

14:

31:

28

通过这个function能看出来什么时候输入什么时候输出不能

14:

31:

39

陈博士

14:

32:

20

能啊 这个表的描述很清楚 呵呵

陈博士

14:

32:

45

陈博士

14:

32:

56

看这个吧 比较专业点

陈博士

14:

33:

35

是不是明白了啊

14:

33:

53

把数据锁入到 595对应哪一行

陈博士

14:

34:

31

void In_595()

{

 uchar i;

for(i=0;i<8;i++)

{

 temp <<= 1;

DS   = CY;

SH_CP = 0;

_nop_();

_nop_();

SH_CP = 1;

}

}

陈博士

14:

34:

47

这个是把数据串行输入到595

14:

34:

49

对应那个表中的哪一行

陈博士

14:

35:

24

你看到 FUNCTION TABLE了吗

14:

35:

31

看到了

陈博士

14:

36:

10

第4和第6行是说数据串行输入到595的时序

陈博士

14:

36:

38

第5和第6行是说从595输出到数码管的时序

陈博士

14:

37:

16

parallel output stage

14:

37:

23

第6行对应两个?

陈博士

14:

38:

25

第6行是输入端进数 同时 输出端出数

陈博士

14:

39:

09

但是输出端的数据不包括输入端的当前数据

陈博士

14:

39:

21

这点可能有点拗口

14:

39:

38

怎么取这两种数据

陈博士

14:

39:

39

我说的最后一句话 你可以先不理解 也不影响使用芯片

14:

39:

41

区分

陈博士

14:

40:

27

区分哪两种数据啊

陈博士

14:

40:

32

输入和输出吗

14:

40:

36

陈博士

14:

41:

43

输入和输出还用区分吗

陈博士

14:

41:

59

都不在一个端口上

陈博士

14:

42:

38

 不理解你想怎么区分

14:

43:

02

DS是输入数据用的吧

14:

44:

28

串转并从这输入,从另一边的8条线输出

14:

44:

49

那是不是还可以读到那边的8条线状态呢

陈博士

14:

54:

53

可以读8条线的状态

陈博士

14:

56:

32

你想明白了吗 呵呵

陈博士

14:

56:

51

找本数字电路的书再复习一遍吧 呵呵

14:

57:

02

读出的时候应该也和那个功能表有关系吧

陈博士

14:

57:

15

有关系

14:

57:

25

和第几个有关系呢

陈博士

14:

57:

28

st

14:

58:

24

第几行呢

陈博士

14:

59:

09

我给你发的那个文件中的fig.5能看懂吗

陈博士

14:

59:

22

你要是能把这个图看懂 就不用看表格了

陈博士

14:

59:

25

呵呵

陈博士

15:

00:

34

从 Q7'中都出的数据和ds的输入数据保持同步,也就是说这两根线上的数据始终相同

15:

01:

02

也就是说随时都可以取数据?

陈博士

15:

01:

12

嗯 可以这么理解

15:

02:

21

这个还需要移位寄存器一个一个读出吧

陈博士

15:

02:

35

读取数据和功能表中的第五和第六行有关系

15:

03:

44

好,我再看看

15:

04:

46

对哪个fig.5不是很明白,不过至少得先会使用Function表。

陈博士

15:

05:

06

嗯 先把表看明白了吧

陈博士

15:

05:

22

熟悉几个器件后 就好了

15:

05:

44

这个器件你以前用过没

陈博士

15:

05:

46

各种器件都差不多 无非就是把时序组合变一下

陈博士

15:

05:

55

没用过

15:

06:

11

不错啊,已经能学以致用了

陈博士

15:

06:

35

我靠 这也叫致用啊

陈博士

15:

07:

04

等你用过几个器件后 就知道这是多么简单的事情了

陈博士

15:

14:

16

那个Q7'引脚 是sh上升沿以后才有效

15:

14:

49

程序不对?

陈博士

15:

14:

53

从fig.6可以看出来 经过了一级触发器

陈博士

15:

14:

57

程序没问题

陈博士

15:

15:

14

你现在也没用Q7'这个管脚吧

陈博士

15:

15:

28

我是说探讨一下芯片的工作原理

15:

16:

16

没有用

陈博士

15:

16:

18

你看看fig.6 ds 到 Q7' 这条路径 经过了两个触发器

陈博士

15:

16:

37

这两个触发器都是用sh作为时钟出发的

陈博士

15:

16:

44

触发的

陈博士

15:

17:

16

也就是Q7'的数据要比DS的数据晚一个stage

15:

17:

42

你看看fig.6 ds 到 Q7' 这条路径 经过了两个触发器

陈博士

15:

17:

45

具体可以找一个触发器的工作原理参考一下

15:

17:

50

你怎么看出是2个触发器的

陈博士

15:

18:

07

ff0 ff7都是触发器

陈博士

15:

18:

23

latch是锁存器

15:

18:

25

ff0,ff7?

15:

18:

34

figure6里没有啊

陈博士

15:

18:

57

FF0

陈博士

15:

19:

02

没有嘛

陈博士

15:

19:

06

FF7

15:

19:

33

15:

19:

36

是这个图吗

陈博士

15:

19:

39

你看看和Q7'相连的那个东西是什么

陈博士

15:

20:

24

我刚才说的好像还有问题 是经过7个stage

陈博士

15:

20:

26

哈哈

陈博士

15:

20:

32

陈博士

15:

20:

40

看这个里面的fig.6

陈博士

15:

20:

57

FF0上面标示的是 stage0

15:

21:

06

陈博士

15:

21:

08

FF7上面标示的是 stage7

15:

21:

11

这个图吧

陈博士

15:

21:

31

嗯 是这个图

15:

22:

05

就是为啥Q7和Q1到Q6不一样恩

15:

22:

06

陈博士

15:

23:

15

Q0~Q7是一样的,Q7'单独考虑

15:

23:

43

Q7'你估计是干什么用的

陈博士

15:

23:

57

串行输出啊 呵呵

陈博士

15:

24:

23

可以做时延用

陈博士

15:

25:

07

ds 到 q7' 有8个stage的延时

15:

25:

53

我先看看触发器的原理,大学时这块都没学好

陈博士

15:

26:

15

嗯 触发器和锁存器是 数字电路的基础

15:

26:

40

能具体点,这个触发器是什么类型的触发器

陈博士

15:

26:

55

内部结构 不一定要钻研很深  只把工作原理看懂就行了

陈博士

15:

27:

03

你就找D触发器看吧

陈博士

15:

27:

11

这个就是一个典型的D触发器

15:

27:

20

15:

28:

21

我先看看

陈博士

15:

28:

34

行 有问题再讨论吧

16:

12:

57

16:

14:

38

那个latch应该也有个这样的表吧

陈博士

16:

14:

55

应该是有

16:

16:

55

16:

17:

05

这两种都是非门,有什么区别

陈博士

16:

17:

17

没区别吧

陈博士

16:

17:

28

我觉得就是画法不一样

陈博士

16:

17:

52

逻辑上没啥区别

16:

23:

17

你再说一下中午说的那个Q7'与DS的关系吧

16:

24:

11

CP上升沿时FF0到FF7 D和Q是一样的?

16:

25:

15

STAGES1 to 6这个是什么东西

陈博士

16:

50:

17

ds到q7' 经过了8个触发器,你琢磨一下吧

16:

52:

32

那个R是什么,我在网上找的怎么就没这个脚呢

陈博士

16:

52:

58

哪个r啊

陈博士

16:

53:

07

d触发器上的吗

16:

53:

08

16:

53:

10

陈博士

16:

53:

39

r是reset的意思

陈博士

16:

53:

51

有的触发器上还有s

陈博士

16:

53:

57

s是set的意思

16:

53:

59

16:

54:

09

那我说下我现在的理解吧

16:

54:

49

CP上升时,D 1 Q 1; D 0 Q 0;

16:

55:

14

这个时候这个D端是和DS一样的。

16:

56:

35

不知道那个STAGES1 to 6是什么东西

陈博士

16:

56:

54

就当成是6个触发器吧

陈博士

16:

57:

43

你现在可能有直观印象了 不过还可以再深入理解

16:

57:

58

那也就是上升沿的时候FF7右边的Q和DS是一样了

陈博士

16:

58:

53

不是一样的

16:

59:

16

为啥不一样

陈博士

17:

00:

02

你能不能理解这句话:

D的数据是CP上升沿之前DS的数据

17:

00:

32

好像能理解

17:

00:

58

那上升沿过程中的呢

陈博士

17:

01:

27

上升沿的时候 你可以简单理解为传递过程中

17:

02:

02

这个时候DS对D不影响是吧

陈博士

17:

02:

31

姑且认为不影响吧

17:

02:

59

17:

03:

15

这些Q1。

Q6和D有啥关系

陈博士

17:

03:

28

我再给你画个图吧 看来你对D触发器工作原理还没有完全理解

17:

03:

38

陈博士

17:

03:

59

q1   q6都和触发器有关系

陈博士

17:

04:

11

你可以认为是6个触发器并行工作

17:

05:

09

第一个上升沿前的数据放Q1,第二放Q2。

陈博士

17:

14:

25

陈博士

17:

14:

36

看这个图

陈博士

17:

15:

07

不好意思 画颠倒了

陈博士

17:

15:

09

陈博士

17:

15:

13

看这个吧

17:

15:

15

你给我发过来

17:

15:

21

速度太慢

17:

15:

38

看到了

 

17:

16:

08

17:

16:

08

成功接收文件 

 

打开文件   打开所在文件夹 

    

陈博士

17:

16:

39

下面的时序图是图d1 d2 d3的初始化

17:

16:

42

为啥D2,D3一直是0

陈博士

17:

17:

01

在第一个时钟周期假设其值依次为 1 0 0

17:

17:

23

17:

17:

48

这个时候是上电状态是吧?

陈博士

17:

17:

58

对 你可以这么理解

17:

18:

12

然后需要Reset?

陈博士

17:

18:

23

reset先不考虑

陈博士

17:

18:

33

就考虑它的核心功能

陈博士

17:

18:

38

d q clk

陈博士

17:

19:

06

这个图我只画了一个时钟周期的数据

17:

19:

31

这个之后,d2,d3都应该为1了吧

陈博士

17:

19:

32

你考虑一下第二个时钟周期 d1 d2 d3的值是多少

陈博士

17:

20:

03

上升沿有效

17:

20:

30

17:

20:

36

d2为1

17:

20:

41

d3继续为0

陈博士

17:

20:

41

我接着给你再画一个周期的数据 你看看和你想的一样不

陈博士

17:

20:

53

嗯 这次说对了

17:

20:

59

第三个上升沿时

d3才为1

陈博士

17:

21:

35

是的 现在能明白怎么传递数据了吗

17:

21:

39

知道了

17:

21:

52

是不是所有设备都是上升沿有效?

陈博士

17:

22:

10

也就是说前一个触发器要想把数据传递给下一个触发器 需要一个时钟周期的时间

陈博士

17:

22:

15

不是

陈博士

17:

22:

24

很多下降沿有效的设备

17:

22:

30

陈博士

17:

22:

34

spi设备大部分都是下降沿

17:

22:

54

如果时钟频率太快的话呢

陈博士

17:

23:

05

太快就错了啊

陈博士

17:

23:

07

呵呵

17:

23:

23

我看例子里加NOP

17:

23:

27

是怎么回事

陈博士

17:

23:

29

这就可以解释为什么 说有的设备能跑多少兆了

陈博士

17:

23:

38

nop是空指令

17:

23:

42

是为了等时钟周期的吧

陈博士

17:

23:

44

等待吧

陈博士

17:

23:

54

一般是为了等待设备

陈博士

17:

24:

10

怕指令太快了 设备还没来得及建立 保持

17:

24:

19

就是一个周期传送不了?

到下个周期的话,NOP?

陈博士

17:

24:

52

一个周期传送不了就废了

陈博士

17:

24:

58

没下个周期了 呵呵

陈博士

17:

25:

26

也就是说必须保证 在clk的两个上升沿之间把数据从d传到q

陈博士

17:

25:

39

否则就失败了

17:

25:

59

中间那么多设备它也能传过去?

陈博士

17:

26:

12

我只是说触发器

17:

26:

16

假如再串几个触发器的话

陈博士

17:

26:

28

我指的是单个触发器

17:

26:

39

陈博士

17:

26:

45

触发器串联可以提高系统工作频率

陈博士

17:

27:

07

你要想理解这句话 估计还得再仔细琢磨琢磨

17:

27:

16

恩,为啥能提高?

陈博士

17:

28:

05

你可以想象一下流水线

陈博士

17:

28:

50

比如 只有一个人把砖头从火车站搬到郑大 他搬砖头的频率很慢

陈博士

17:

28:

57

因为路上要耗费很多时间

17:

29:

24

如果只有一个触发器能实现的东西,用多个触发器那不是变慢了吗?

陈博士

17:

29:

44

如果在火车站和郑大中间多加几个人 每个人运输一段距离 传送砖头的速度就快了

陈博士

17:

30:

13

我刚才这个例子中的人 就相当于触发器

陈博士

17:

30:

30

能理解了吗

17:

31:

19

不太理解,火车站到郑大是人必须跑这么远

电路这是一瞬间就到了啊

陈博士

17:

31:

38

你要想理解数字电路里的这个理论 还得去了解 setup; hold; path delay这些概念

陈博士

17:

32:

05

一瞬间是多少时间呢

陈博士

17:

32:

11

=0?

17:

32:

21

如果是纯粹导线的话,应该肯定比触发器快吧

陈博士

17:

32:

49

这个说不好

陈博士

17:

33:

00

所以就需要综合考虑了

陈博士

17:

33:

29

如果瓶颈在触发器的话 那就得想办法减少setup时间

17:

33:

53

什么时候需要用到多级触发器串联

陈博士

17:

33:

59

大部分设计中 都是线延时比较大

陈博士

17:

34:

48

我刚才举那个例子中就需要触发器串联

陈博士

17:

35:

22

如果传输路径短的话 就无所谓了

陈博士

17:

35:

29

可以考虑不用优化

17:

35:

47

哪些电路用多级串

17:

35:

51

一般

陈博士

17:

37:

03

一般的数字电路都需要串

陈博士

17:

37:

12

很少不使用这个方法的

陈博士

17:

37:

27

我说的是规模电路了

17:

37:

30

既然会导致延迟,那不是减慢速度了

陈博士

17:

37:

59

延迟和速度是完全不同的概念

陈博士

17:

38:

12

学计算机的时候学过流水线吧

陈博士

17:

38:

20

有延迟 但是 速度快

陈博士

17:

38:

58

有时候延迟对我们来说没啥影响 而速度却很关键

陈博士

17:

39:

21

延迟可能只是发生在加电的一瞬间

陈博士

17:

39:

36

而速度是在整个工作周期内都有的

17:

40:

17

我先想想

陈博士

17:

40:

18

呵呵 你这慢慢就成数字电路专家了啊 

17:

40:

42

靠,还是你强啊,我们单位他们肯定不知道这

17:

40:

47

博士就是不一样啊

陈博士

17:

41:

08

和博士没啥关系 平时看点书就知道了

17:

41:

50

不是学单片机,我还真提不起兴趣学这个东西。

陈博士

17:

42:

03

多了解一点 没坏处

17:

42:

38

主要是书上太多了,不知道啥重要了,看完就忘

陈博士

17:

42:

44

其实你只要能把D触发器理解的透彻了 数字电路也就基本上没问题了

17:

43:

09

今天听你一讲比我上一年大学了

陈博士

17:

43:

18

陈博士

17:

43:

34

吹大了

17:

43:

48

真的,我学了一年数点还是啥也不会

17:

43:

53

陈博士

17:

44:

16

呵呵 我大学也没学会

陈博士

17:

44:

23

这也是后来学的

陈博士

17:

45:

05

不过你要是感兴趣 还可以再深入研究一点 现在说的这些也就是基础知识

17:

45:

27

好,肯定以后写单片机会遇到更深的

陈博士

17:

45:

50

单片机能遇到啥深的啊

17:

46:

10

难道这个已经

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1