热度 18
2017-6-6 22:04
5155 次阅读|
0 个评论
2、数据信号的处理 一般数据传输时不能采用上面的方式,原因是上面的都是针对控制信号,一般都是单根信号,而数据一般都是1bit的以上的,例如一般的bus传输,都会有rqst,data,ack这三种信号,通常这种传输都是利用下面的方式。当然,下面的方式也是可以用于控制信号的同步。 握手机制的电路图 2.1)握手处理 2.1.1)全握手传输机制,这种机制最为保险,但是会花费很多的之间,在考虑系统性能时需要进行评估。 一般rqst下面会带有数据,也就是请求传输数据,ack端检测到rqst时可以将其下的数据latch住,这时肯定能采样住数据,同时ack继续拉高,rqst端检测到ack时,可以选择将rqst拉低,同时数据也不用继续hold了,ack端检测到rqst拉低后也就不用再继续保持为高了。 事实上,当ack端回的ack拉高的时间足够让rqst端采样到的时候,那么交互过程不用这么的复杂,也不用这么久,只不过这种方式是最为保险和不会出错的。 2.1.2)半握手机制,这种机制和上面的差不多,只是可以节省蛮多的时间。 这个过程省去了全握手流程里面的最后一步,也就是ACK信号自动会把自己de-assert,而不是要等检测到REQ信号de-assert之后了。 2.1.3)上面的半握手机制可以再进一步简化 Rqst端拉高一段时间自动拉低,ack端检测到rqst时ack拉高一段时间然后自动拉低,这里面的时间要依据同步器的情况进行调节,否则rqst和ack不能被互相检测到。 以上三种握手信号搭配不同的同步器,在使用的时候要注意一些地方,如下表是最后给出的总结。