共2条
1/1 1 跳转至页
际踅涣?乒乓操作/机制是啥意思啊?

问
看USB的时候不明白这个词。BAIDU了一下全是打乒乓球的……
PS:貌似USB用的是双DATA线传输? 答 1: 估计你说的打乒乓在原文里对应Toggle,查查这个英文词就知道了 答 2: 以前有人给我做过简单的讲解意思是对传输线中的反射波所做的处理技术。详细我不太清楚,后来也没追究,估计那个厂家当时也不是很清楚的,但可以说明的是:当时的问题对象是用电话线做64k速度的数字电话机的传输线(我们是买了两部以及外加的接口板,估计后来都没用上,大约是留给了技术人员做认识性的实验用吧----没在最后详细过问过)。
能告诉你就这么多了,抱歉! 答 3: 就是有A和B两模块,当A处理x时,B处理y,A处理y时,B处理x变相增加了处理速度 答 4: 乒乓球啊乒乓的英语准确的说不应该是TOGGLE!
在USB传输里面,因为数据缓冲的关系,在某些协议应用的时候就需要采用乒乓机制来处理数据的快速,大量的传输.例如MASS STORAGE CLASS.
你的USB的硬件能处理乒乓操作是指你的USB硬件层其实有两个数据缓冲区(A和B),当你ENABLE该机制的时候,你在操作USB数据缓冲区(假设为A)的时候,USB的另一个缓冲区(假设为B)自动地和你的HOST在进行数据传输. 当USB的缓冲区B和HOST交换数据完成时, USB就会自动切换到缓冲区A和HOST进行数据传递. 你的应用模块再对USB进行数据写的时候,你就是在填的USB的缓冲区B了.
这样的话,其实就可以很容易地处理在两个不同处理速度的设备之间进行数据的批量传递.不会发生不可预料的追尾(还没有发送出去的数据被重新覆盖)和无效数据传递(读取指针超过写入指针). 答 5: 在USB的数据包中,有两种:DATA0和DATA1。这在命令中就决定了当数据长度大于缓冲长度时,就必须分成多个包进行传输。为了保证传输的可靠和错误恢复处理,就使用了DATA0包和DATA1包交替这样的方法。数据包必须以DATA0包开始,然后交替切换,依次发送DATA0,DATA1,DATA0,DATA1…………
如此在0和1之间交替,像打乒乓球一样,所以叫做乒乓模式。
我记得USB协议中是这么写的(中文版,是否翻译有误就不得而知了)。 答 6: 乒乓=Bit toggling? 乒乓=Double buffering?Confuse me 答 7: 咱是一知半解…… 答 8: 谢谢mylovetus看了看是这个意思
而且好象不只在电子里面有这个词,其他领域也用到了,生物,化学都有类似的操作。 答 9: Oh, it is called "Double buffering"This a common software technic. 答 10: 如 dellric所说。 答 11: 一种硬件中常用的面积换速度的手段假设数据输入线速度为T0,每帧长度为K个BYTE,处理每帧需要的时间为T1,若采用通常手段开辟一个1KBYTE的缓冲区,则输出线速度为T0+T1.
而乒乓操作则是建立一个2KBYTE的缓冲区,当接受第N+1个数据帧的同时处理第N帧,这样输出线速度为max(T0,T1)<(T0+T1)
以上的结论建立在这么个假设之上,那就是该处理器能并行的处理数据流,而硬件的基本特性就是并行处理,因此一般乒乓操作是对硬件而言。当然,对于数据速率远小于指令周期的处理器来说,该操作也可认为是以并行方式执行的。
PS:貌似USB用的是双DATA线传输? 答 1: 估计你说的打乒乓在原文里对应Toggle,查查这个英文词就知道了 答 2: 以前有人给我做过简单的讲解意思是对传输线中的反射波所做的处理技术。详细我不太清楚,后来也没追究,估计那个厂家当时也不是很清楚的,但可以说明的是:当时的问题对象是用电话线做64k速度的数字电话机的传输线(我们是买了两部以及外加的接口板,估计后来都没用上,大约是留给了技术人员做认识性的实验用吧----没在最后详细过问过)。
能告诉你就这么多了,抱歉! 答 3: 就是有A和B两模块,当A处理x时,B处理y,A处理y时,B处理x变相增加了处理速度 答 4: 乒乓球啊乒乓的英语准确的说不应该是TOGGLE!
在USB传输里面,因为数据缓冲的关系,在某些协议应用的时候就需要采用乒乓机制来处理数据的快速,大量的传输.例如MASS STORAGE CLASS.
你的USB的硬件能处理乒乓操作是指你的USB硬件层其实有两个数据缓冲区(A和B),当你ENABLE该机制的时候,你在操作USB数据缓冲区(假设为A)的时候,USB的另一个缓冲区(假设为B)自动地和你的HOST在进行数据传输. 当USB的缓冲区B和HOST交换数据完成时, USB就会自动切换到缓冲区A和HOST进行数据传递. 你的应用模块再对USB进行数据写的时候,你就是在填的USB的缓冲区B了.
这样的话,其实就可以很容易地处理在两个不同处理速度的设备之间进行数据的批量传递.不会发生不可预料的追尾(还没有发送出去的数据被重新覆盖)和无效数据传递(读取指针超过写入指针). 答 5: 在USB的数据包中,有两种:DATA0和DATA1。这在命令中就决定了当数据长度大于缓冲长度时,就必须分成多个包进行传输。为了保证传输的可靠和错误恢复处理,就使用了DATA0包和DATA1包交替这样的方法。数据包必须以DATA0包开始,然后交替切换,依次发送DATA0,DATA1,DATA0,DATA1…………
如此在0和1之间交替,像打乒乓球一样,所以叫做乒乓模式。
我记得USB协议中是这么写的(中文版,是否翻译有误就不得而知了)。 答 6: 乒乓=Bit toggling? 乒乓=Double buffering?Confuse me 答 7: 咱是一知半解…… 答 8: 谢谢mylovetus看了看是这个意思
而且好象不只在电子里面有这个词,其他领域也用到了,生物,化学都有类似的操作。 答 9: Oh, it is called "Double buffering"This a common software technic. 答 10: 如 dellric所说。 答 11: 一种硬件中常用的面积换速度的手段假设数据输入线速度为T0,每帧长度为K个BYTE,处理每帧需要的时间为T1,若采用通常手段开辟一个1KBYTE的缓冲区,则输出线速度为T0+T1.
而乒乓操作则是建立一个2KBYTE的缓冲区,当接受第N+1个数据帧的同时处理第N帧,这样输出线速度为max(T0,T1)<(T0+T1)
以上的结论建立在这么个假设之上,那就是该处理器能并行的处理数据流,而硬件的基本特性就是并行处理,因此一般乒乓操作是对硬件而言。当然,对于数据速率远小于指令周期的处理器来说,该操作也可认为是以并行方式执行的。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 |