自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

探究 USB2.0 的真實(shí)傳輸速度是多少?

商務(wù)辦公
103 的外設(shè)號(hào)稱 USB 2.0,但實(shí)際上是全速的 USB 2.0,即傳輸 1 bit 數(shù)據(jù)的速度是 12Mbit/s,類似串口波特率 115200 的概念。

[[432328]]

今天魚鷹簡(jiǎn)單聊聊 STM32F103 USB 外設(shè)實(shí)際傳輸速度的問(wèn)題。

103 的外設(shè)號(hào)稱 USB 2.0,但實(shí)際上是全速的 USB 2.0,即傳輸 1 bit 數(shù)據(jù)的速度是 12Mbit/s,類似串口波特率 115200 的概念。

但是我們知道串口協(xié)議本身也是有開(kāi)銷的,比如 1 bit 起始位,1 bit 停止位,這都是必須的,否則接收方就無(wú)法正確接收。

下圖是 8 位數(shù)據(jù)情況下的傳輸波形圖(來(lái)源STM32官方手冊(cè)):

所以上述情況下,115200 波特率換算字節(jié)單位,實(shí)際傳輸速度為 11.52KB/s ,注意這里的 B 是大寫,代表字節(jié) Byte,小 b 代表位 bit,這里面的區(qū)別很大,別被忽悠了。

比如 10 M 網(wǎng)速寬帶,一般說(shuō)的是 bit 單位,所以實(shí)際傳輸大概在 1 MB 左右。

說(shuō)回 USB 的話題,STM32F103 搭載的 USB 外設(shè)支持 2.0 協(xié)議,但是 2.0 協(xié)議也分兩種,一種是 全速 版本,即 USB1.1 , 12 Mb/s,另外一種是 高速 版本,480 Mb/s,而 103 只支持全速模式。

F4系列在增加外部 USB PHY 芯片才可以達(dá)到高速,否則也只能以全速的方式工作。

那么 F103 的 USB 真實(shí)傳輸速度可以達(dá)到多少呢?

首先說(shuō)說(shuō)為什么想得到這個(gè)值,有些產(chǎn)品要求速率很高,必須 1 s 傳輸 1 M字節(jié)的傳輸速度(1 MB/s)才行,但為了降成本,使用了 103 的芯片,認(rèn)為全速 12 Mb/s 的速度怎么也夠了吧,殊不知,這里的速度單位是 bit,還沒(méi)考慮 USB 協(xié)議的開(kāi)銷。

所以當(dāng)你絞盡腦汁優(yōu)化代碼,你都無(wú)法達(dá)到這個(gè)目標(biāo),因?yàn)樗睦碚撝抵挥?12/8 = 1.5 MB/s ,可能你會(huì)說(shuō),這也夠了啊?

但是 USB 本身是有協(xié)議開(kāi)銷的,就像串口有開(kāi)始、停止位一樣,USB 也有令牌包、數(shù)據(jù)包、CRC校驗(yàn)之類的開(kāi)銷,還有一次傳輸事務(wù)的結(jié)束,一般會(huì)間隔一小段時(shí)間再進(jìn)行下一次傳輸,還有協(xié)議中也會(huì) 1 ms 發(fā)送一次幀號(hào)。

上圖是魚鷹弄的 USB 雙緩沖傳輸波形(一個(gè)白塊代表了一次傳輸事務(wù)),我們可以看到,每傳輸一個(gè)數(shù)據(jù)包之后都會(huì)停頓一段時(shí)間,而每一次事務(wù)里面也不全包含了用戶數(shù)據(jù),這些用戶數(shù)據(jù)被封裝在 USB 協(xié)議包里面。

所以,對(duì)于用戶來(lái)說(shuō),實(shí)際傳輸速度遠(yuǎn)遠(yuǎn)不到 1.5 MB/s,估計(jì)就 1 MB/s(最為理想情況下,即不浪費(fèi)每一次 IN OUT 令牌包的機(jī)會(huì),另外 USB 總線上只有一個(gè)設(shè)備需要傳輸數(shù)據(jù)才可能達(dá)到),而如果在數(shù)據(jù)傳輸過(guò)程中,還加入了上層協(xié)議,比如 模擬 U 盤,里面會(huì)加入?yún)f(xié)議,速度就更低了。

所以,為了盡可能達(dá)到接近 1 MB/s 的用戶數(shù)據(jù)傳輸速度,可以使用如下方式:批量傳輸 + 雙緩沖 + 環(huán)形緩沖(比如 SD 卡的數(shù)據(jù)可以在 USB 傳輸時(shí)同步寫入 FIFO 中)。盡可能的利用帶寬。 

在魚鷹測(cè)試模擬 U 盤的性能時(shí),發(fā)現(xiàn)傳輸速度可以穩(wěn)定在 700 KB /s 以上(單向)。而如果沒(méi)有 U 盤協(xié)議本身開(kāi)銷和加大代碼優(yōu)化(即不浪費(fèi) IN 、OUT 令牌包),估計(jì)能到 900 KB/s,剛好模擬串口就沒(méi)有多少協(xié)議開(kāi)銷,到時(shí)候可以測(cè)試一波數(shù)據(jù)。

 

責(zé)任編輯:武曉燕 來(lái)源: 魚鷹談單片機(jī)
相關(guān)推薦

2023-04-06 09:10:13

設(shè)備移植鴻蒙

2011-12-30 09:04:15

中小企業(yè)云計(jì)算成本

2010-03-23 09:59:52

無(wú)線傳輸速度

2023-08-23 08:58:43

USB 3.0機(jī)械硬盤芯片

2009-08-07 08:39:19

Windows 7性能測(cè)試

2011-10-06 17:10:24

精益掃描儀

2011-10-08 14:38:21

精益掃描儀

2021-08-17 10:31:57

Java JakartaEE Spring

2022-02-08 23:59:12

USB接口串行

2009-01-03 16:17:04

USB3.0CES2009Symwave

2011-02-24 09:42:17

限制傳輸速度

2011-04-27 09:33:11

戴爾XPS 8300

2012-03-30 15:51:52

ibmdw

2011-10-07 17:25:14

筆記本評(píng)測(cè)

2011-09-28 09:28:57

Windows 8USB

2021-03-08 21:57:29

手機(jī)科技數(shù)碼

2021-03-08 09:05:47

數(shù)據(jù)傳輸新線纜數(shù)據(jù)中心

2010-04-23 14:37:17

2011-11-17 14:05:47

筆記本常見(jiàn)問(wèn)題

2011-04-18 09:45:02

USB嵌入式Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)