打印
[51单片机]

关于写选通信号。

[复制链接]
3885|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zkybuaa|  楼主 | 2013-10-24 17:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教大牛。
对外部RAM进行写入操作时,P0口的数据是在WR信号的上升沿还是下降沿送出啊?也就是说,如果我要对P0口送出的数据进行锁存,应该利用WR信号的上升沿还是下降沿?
我看很多书上和例程上都是利用上升沿,如果利用下降沿行不行呢?

相关帖子

沙发
NE5532| | 2013-10-24 19:50 | 只看该作者
51的外部总线是硬件自动控制的,严格正确的时序请参考数据手册,教科书上的内容仅供参考。

所以,你不用去操心在哪个边沿送数据,而且你也无法改变送数据的边沿,应为这个硬件没有控制选项。

使用特权

评论回复
板凳
zkybuaa|  楼主 | 2013-10-24 21:08 | 只看该作者
NE5532 发表于 2013-10-24 19:50
51的外部总线是硬件自动控制的,严格正确的时序请参考数据手册,教科书上的内容仅供参考。

所以,你不用去 ...

谢谢您的热心。比如我要把输出数据,送给一个上升沿锁存的锁存器,读选通信号怎么接?如果送给下降沿锁存的,读选通信号又怎么接呢?

使用特权

评论回复
地板
NE5532| | 2013-10-24 21:30 | 只看该作者
zkybuaa 发表于 2013-10-24 21:08
谢谢您的热心。比如我要把输出数据,送给一个上升沿锁存的锁存器,读选通信号怎么接?如果送给下降沿锁存 ...

数据不是你输出的,是51的片外总线控制器输出的,你没有办法改变人家的设计,读选通信号用于控制外设送出数据到总线,与锁存器无关,51的读选通信号线直接连接到外设的读选通线即可。

使用特权

评论回复
5
zkybuaa|  楼主 | 2013-10-24 21:38 | 只看该作者
NE5532 发表于 2013-10-24 21:30
数据不是你输出的,是51的片外总线控制器输出的,你没有办法改变人家的设计,读选通信号用于控制外设送出 ...

我的意思是,在时序上,P0口上的数据,是在写选通信号的下降沿送出,还是上升沿送出?因为在整个写选通信号有效期间,数据总线上的数据时间是分段的,分为数据建立时间和数据保持时间。

使用特权

评论回复
6
zkybuaa|  楼主 | 2013-10-24 21:40 | 只看该作者
NE5532 发表于 2013-10-24 21:30
数据不是你输出的,是51的片外总线控制器输出的,你没有办法改变人家的设计,读选通信号用于控制外设送出 ...

再比如,输出数据用273锁存和用373锁存,写选通信号接法一样吗?它们一个是上升沿锁存,一个是下降沿锁存。

使用特权

评论回复
7
NE5532| | 2013-10-24 21:45 | 只看该作者
从下降沿开始,数据就往总线上送了,你说的数据建立时间和保持时间,是“送数据”这个动作的两个阶段,其实我们希望数据建立时间等于0,但在现实里不可能。

具体的时序,请参考51单片机数据手册或参考教科书。

我没记错的话,你只能用373,因为总线时序在设计时候已经确定了,你无法改变,只能照做。就像你不能把110V电压下用的电器插入220V的交流电插座一样。

使用特权

评论回复
8
zkybuaa|  楼主 | 2013-10-25 08:14 | 只看该作者
NE5532 发表于 2013-10-24 21:45
从下降沿开始,数据就往总线上送了,你说的数据建立时间和保持时间,是“送数据”这个动作的两个阶段,其实 ...

外设什么时候可以接收数据呢?是在写选通的上升沿还是下降沿?如果用373进行数据锁存,是不是要将写选通信号取反之后再接过去?我看过不少例程中,使用377.273.574等上升沿锁存的片子,是直接将写选通信号接过去。
我还处于理论学习阶段,请多指教。

使用特权

评论回复
9
NE5532| | 2013-10-25 10:19 | 只看该作者
这个取决于所用的单片机外部总线的设计是什么样的,人家设计的是上升沿锁存,你就用上升沿锁存的片子,是下降沿锁存,就用下降沿锁存的片子就可以了。如果实在找不到合适的,可以用反相器取反锁存信号。

使用特权

评论回复
10
zkybuaa|  楼主 | 2013-10-26 15:53 | 只看该作者
NE5532 发表于 2013-10-25 10:19
这个取决于所用的单片机外部总线的设计是什么样的,人家设计的是上升沿锁存,你就用上升沿锁存的片子,是下 ...

再次谢谢版主如此热心。我这样考虑,不知对不对。
单片机向外输出数据,数据总线上的数据,分为两个时间段:数据建立时间和数据保持时间。外设只有在数据保持时间才能得到数据,而在数据建立时间内,虽然数据总线被数据占用,但外设并不能得到数据。

使用特权

评论回复
11
NE5532| | 2013-10-26 20:52 | 只看该作者
不全对,数据建立时间是说数据刚刚上线,还没有稳定下来,读取数据方需在这个时间之后才能正确地读取到总线上的数据(所以总线上的传输速度不可能无线快)至于数据保持时间,先考考你的Google能力再说哈。

使用特权

评论回复
12
zkybuaa|  楼主 | 2013-10-29 16:46 | 只看该作者
NE5532 发表于 2013-10-26 20:52
不全对,数据建立时间是说数据刚刚上线,还没有稳定下来,读取数据方需在这个时间之后才能正确地读取到总线 ...

建立时间(Tsu:set up time)是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器;保持时间(Th:hold time)是指数据稳定后保持的时间,如果保持时间不满足要求那么数据同样也不能被稳定的打入触发器。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
NE5532 + 1
13
zkybuaa|  楼主 | 2013-10-29 19:46 | 只看该作者
搜到一篇文档。

单片机总线设计法全攻略.pdf

328 KB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

648

帖子

0

粉丝