共2条
1/1 1 跳转至页
CLK 关于CLK上升沿和下降沿的问题,有图
问
请问大虾们,从一下两个图中,怎么分析是上升沿写数据还是下降沿写数据呢?
类似的时序图怎么分析呢?谢谢! 答 1: 还有一张图如下:还有一张图如下:
http://www.21icsearch.com/buzi/upimage/upfile2005/img/200509/20059291310310411.gif 答 2: 一般有文字描述的,在上升沿还是下降沿。文字是最可靠的。如果实在没有,那只好从图上来推测了。
对于这两个图,写数据时,都是在时钟(CL)的上升沿写进数据,因为这时数据线上的数据已经稳定了。
不同的地方只是在数据写完之后,时钟线(CL)最后所处的状态不一样。一个为低,一个为高。 答 3: 这是基础问题楼上分析的很好
我要顶一下 答 4: 上升沿的时候数据线上的数据已经很稳定这是LC75854的datasheet上面的图,没有关于上升沿或下降沿的文字描述。
为什么上升沿的时候数据线上的数据已经很稳定了呢?
怎么看出来的?
多谢指教! 答 5: 再问还有个疑惑就是,既然是上升沿写数据,那时序就应该是
CL=0;
写数据;
CL=1;
这样的话,写完数据之后CL就是高了啊
为什么写完之后CL一个为高,一个为低呢? 答 6: 从图上可以看得出来啊,你看DI那条线,那些有交叉的地方,就表示数据可能在变化(或者说是切换点),
而稳定的地方是没有交叉的。
这个数据手册中有写的,我专门去下了个数据手册来看看了,就在第六页那张表格中。
你看下面这个图片,注意图中我画红圈那里,不是画了一个上升沿表示有效么?
答 7: 那是因为人家把CL=0放在后边了啊。for()
{
CL=0;
写数据;
CL=1;
}
那倒过来也行啊,
for() //进入循环前,CL=0。
{
写数据;
CL=1;
CL=0;
} //退出循环后,CL=0。
这样写完后就是低了。
答 8: 再问谢谢!
再问,datasheet在描述serial data input和serial data output的时候没有说明是上升沿还是下降沿读取,只是分别列出了CL停在高电平和低电平的状态。
第六页那里标出了CL是上升沿有效,那是不是说input和output都是上升沿有效呢?如果这样,分别列出读和写的时候CL的高低状态,其意图是什么呢?
谢谢! 答 9: 晕,眼睛看花,跟帖错位了。 答 10: 注意看时序图上 时钟 跟 数据 之间的对应变化
你看这个图中,当时钟下降沿出现时,数据线(DO)上的数据将发生改变。
也就是说,你先将时钟线拉低,那么,经过一段时间后(具体是多少,一般
会有一张表给出),数据线上将出现新的数据。待数据稳定后,MCU即可采样
数据线。当然,这里你也可以先将时钟线CL拉高后再读取数据,有时可以利用
将CL拉高的这点时间来保证数据的稳定。这里,你只要是在CL变低一段时间之后、在
CL再次变低之前,这中间的任意时刻采样数据线都可以。
有两种状态,可能他的意思是想说明,时钟线最后的状态是高或者低都可以吧。 答 11: 再问谢谢!
再看一个时序:
JRC的NJU6535。
第十二页,(6-2)Data output timing 中
他的图跟LC75854的output时序基本上相同的,但是图上标的却是下降沿的时候读取,按你上面说的,不是应该等待CL再次置低之前读取吗。就是说下降沿的时候SO数据线上的值是变化的,所以应该在数据再次更新前读取啊。
现在图传不上来,不知道你能否找到这个datasheet... 答 12: 你这个跟前面的不是一样的么?都是在下降沿打出数据看图:
当时钟线下降沿时,出现新的数据。新的数据稳定后,就可以读取它了,然后再产生
下一个下降沿,打出下一个数据。 答 13: 谢谢!总算有些眉目,多谢指教!
不过我实在是不懂,它这个地方(CL下降沿)标出的箭头是下降沿,这是时刻SO口的数据发生变化,并不是说要在这个时刻读数据。
但是在前面(4)Datainput timing的时候,标的箭头却在上升沿,这个时候的箭头不是数据变化的时刻,应该是写数据的时刻?
这样不是混淆了读者么?
不知道我这样理解对了没?请指点! 答 14: 数据是在时钟的上升沿写进去,所以在上升沿产生时,数据必须得稳定而读数据时,数据是在时钟线的下降沿后才打出来,在下降沿这个时刻,是不能同时
读数据的,而是应该等下降沿过后一段时间后,才能读数据,这样刚出来的数据
才能稳定,明白么?
归纳一下就是:①写数据时,应该先准备好数据,待数据在数据线上稳定后,
再发出时钟上升沿,将数据写入,然后可继续写下一位数据。
②读数据时,先产生一个时钟下降沿,设备收到该下降沿后,才
将数据放到数据线上。因此,MCU应该要等待一定的时间,
等数据线上的数据出现并稳定后,才能采样数据线上的数据。
注:以上只针对前面你所举例的芯片。不同的片子,写入和打出数据的方式是不一样的。
答 15: 再问这次请看PT8300第六页:
根据它的时序图上看,DI数据线和DO数据线上的数据都是在时钟下降沿的时候发生改变。
那应该是等待稳定之后,在下一个时钟下降沿之前读数据和写数据啊,但是它的手册里面却说在时钟下降沿的时候output,在上升沿的时候input。
下降沿的时候数据不是变化的吗?这个时候读不是很危险的吗?
谢谢!
类似的时序图怎么分析呢?谢谢! 答 1: 还有一张图如下:还有一张图如下:
http://www.21icsearch.com/buzi/upimage/upfile2005/img/200509/20059291310310411.gif 答 2: 一般有文字描述的,在上升沿还是下降沿。文字是最可靠的。如果实在没有,那只好从图上来推测了。
对于这两个图,写数据时,都是在时钟(CL)的上升沿写进数据,因为这时数据线上的数据已经稳定了。
不同的地方只是在数据写完之后,时钟线(CL)最后所处的状态不一样。一个为低,一个为高。 答 3: 这是基础问题楼上分析的很好
我要顶一下 答 4: 上升沿的时候数据线上的数据已经很稳定这是LC75854的datasheet上面的图,没有关于上升沿或下降沿的文字描述。
为什么上升沿的时候数据线上的数据已经很稳定了呢?
怎么看出来的?
多谢指教! 答 5: 再问还有个疑惑就是,既然是上升沿写数据,那时序就应该是
CL=0;
写数据;
CL=1;
这样的话,写完数据之后CL就是高了啊
为什么写完之后CL一个为高,一个为低呢? 答 6: 从图上可以看得出来啊,你看DI那条线,那些有交叉的地方,就表示数据可能在变化(或者说是切换点),
而稳定的地方是没有交叉的。
这个数据手册中有写的,我专门去下了个数据手册来看看了,就在第六页那张表格中。
你看下面这个图片,注意图中我画红圈那里,不是画了一个上升沿表示有效么?
答 7: 那是因为人家把CL=0放在后边了啊。for()
{
CL=0;
写数据;
CL=1;
}
那倒过来也行啊,
for() //进入循环前,CL=0。
{
写数据;
CL=1;
CL=0;
} //退出循环后,CL=0。
这样写完后就是低了。
答 8: 再问谢谢!
再问,datasheet在描述serial data input和serial data output的时候没有说明是上升沿还是下降沿读取,只是分别列出了CL停在高电平和低电平的状态。
第六页那里标出了CL是上升沿有效,那是不是说input和output都是上升沿有效呢?如果这样,分别列出读和写的时候CL的高低状态,其意图是什么呢?
谢谢! 答 9: 晕,眼睛看花,跟帖错位了。 答 10: 注意看时序图上 时钟 跟 数据 之间的对应变化
你看这个图中,当时钟下降沿出现时,数据线(DO)上的数据将发生改变。
也就是说,你先将时钟线拉低,那么,经过一段时间后(具体是多少,一般
会有一张表给出),数据线上将出现新的数据。待数据稳定后,MCU即可采样
数据线。当然,这里你也可以先将时钟线CL拉高后再读取数据,有时可以利用
将CL拉高的这点时间来保证数据的稳定。这里,你只要是在CL变低一段时间之后、在
CL再次变低之前,这中间的任意时刻采样数据线都可以。
有两种状态,可能他的意思是想说明,时钟线最后的状态是高或者低都可以吧。 答 11: 再问谢谢!
再看一个时序:
JRC的NJU6535。
第十二页,(6-2)Data output timing 中
他的图跟LC75854的output时序基本上相同的,但是图上标的却是下降沿的时候读取,按你上面说的,不是应该等待CL再次置低之前读取吗。就是说下降沿的时候SO数据线上的值是变化的,所以应该在数据再次更新前读取啊。
现在图传不上来,不知道你能否找到这个datasheet... 答 12: 你这个跟前面的不是一样的么?都是在下降沿打出数据看图:
当时钟线下降沿时,出现新的数据。新的数据稳定后,就可以读取它了,然后再产生
下一个下降沿,打出下一个数据。 答 13: 谢谢!总算有些眉目,多谢指教!
不过我实在是不懂,它这个地方(CL下降沿)标出的箭头是下降沿,这是时刻SO口的数据发生变化,并不是说要在这个时刻读数据。
但是在前面(4)Datainput timing的时候,标的箭头却在上升沿,这个时候的箭头不是数据变化的时刻,应该是写数据的时刻?
这样不是混淆了读者么?
不知道我这样理解对了没?请指点! 答 14: 数据是在时钟的上升沿写进去,所以在上升沿产生时,数据必须得稳定而读数据时,数据是在时钟线的下降沿后才打出来,在下降沿这个时刻,是不能同时
读数据的,而是应该等下降沿过后一段时间后,才能读数据,这样刚出来的数据
才能稳定,明白么?
归纳一下就是:①写数据时,应该先准备好数据,待数据在数据线上稳定后,
再发出时钟上升沿,将数据写入,然后可继续写下一位数据。
②读数据时,先产生一个时钟下降沿,设备收到该下降沿后,才
将数据放到数据线上。因此,MCU应该要等待一定的时间,
等数据线上的数据出现并稳定后,才能采样数据线上的数据。
注:以上只针对前面你所举例的芯片。不同的片子,写入和打出数据的方式是不一样的。
答 15: 再问这次请看PT8300第六页:
根据它的时序图上看,DI数据线和DO数据线上的数据都是在时钟下降沿的时候发生改变。
那应该是等待稳定之后,在下一个时钟下降沿之前读数据和写数据啊,但是它的手册里面却说在时钟下降沿的时候output,在上升沿的时候input。
下降沿的时候数据不是变化的吗?这个时候读不是很危险的吗?
谢谢!
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |