共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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |