最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

如何減少無線 USB 網(wǎng)絡(luò)應(yīng)用程序中的數(shù)據(jù)包丟失

出處:維庫電子市場(chǎng)網(wǎng) 發(fā)布于:2023-03-31 15:22:05

    SB 是一種非??煽康木W(wǎng)絡(luò)介質(zhì),不會(huì)發(fā)生沖突。這意味著幾乎沒有數(shù)據(jù)包丟失或損壞。因此,互操作性測(cè)試從未在數(shù)據(jù)包丟失時(shí)檢測(cè)到 cornercases。
    然而,對(duì)于新興的無線 USB 連接,情況有所不同。由于無線介質(zhì)中存在沖突的可能性,因此在將應(yīng)用程序從有線 USB 遷移到無線 USB 時(shí)必須小心。
    本文解決了有線和無線 USB 中都可能發(fā)生的問題。但是因?yàn)樵跓o線介質(zhì)中丟失數(shù)據(jù)包的機(jī)會(huì)要大得多,所以問題更可能發(fā)生在無線 USB中而不是有線 USB中。問題是“丟失一個(gè)數(shù)據(jù)包的危險(xiǎn)”。
    當(dāng)開發(fā)人員忽視這個(gè)問題時(shí),即使丟失一個(gè)數(shù)據(jù)包也會(huì)導(dǎo)致嚴(yán)重的問題。本文旨在幫助無線 USB 開發(fā)人員了解問題并為實(shí)施解決方案提供一些線索。

    它首先對(duì)問題進(jìn)行了詳細(xì)描述,然后分析了為什么它在無線 USB 中成為問題,而在有線 USB 中不是問題。文末會(huì)給出解決這個(gè)問題的一些線索。

    圖 1:當(dāng)設(shè)備需要向主機(jī)發(fā)送完整的數(shù)據(jù)緩沖區(qū),而主機(jī)為一個(gè)數(shù)據(jù)包發(fā)送的握手丟失時(shí),可能會(huì)出現(xiàn)實(shí)現(xiàn)問題。
    當(dāng)它發(fā)生時(shí)當(dāng)設(shè)備需要向主機(jī)發(fā)送完整的數(shù)據(jù)緩沖區(qū)并且主機(jī)為傳輸中的一個(gè)數(shù)據(jù)包(或突發(fā)中的幾個(gè)數(shù)據(jù)包)發(fā)送的握手被破壞或在空中丟失時(shí),就會(huì)出現(xiàn)這個(gè)特殊問題。
    由于主機(jī)必須發(fā)送握手的短次數(shù),因此設(shè)備端可能看不到那些包含數(shù)據(jù)包中一個(gè)批量(或突發(fā)中的幾個(gè)數(shù)據(jù)包)的握手的微調(diào)度管理命令 (MMC)。
    在這種情況下,設(shè)備必須將那部分?jǐn)?shù)據(jù)保存在緩沖區(qū)中,直到它看到握手(如果有的話)以保持?jǐn)?shù)據(jù)完整性。這種情況將導(dǎo)致實(shí)施中出現(xiàn)問題,如上圖 1 所示。
    在這種情況下,設(shè)備將不會(huì)引發(fā)任何中斷或任何事件來向更高層軟件指示數(shù)據(jù)已被主機(jī)正確接收。事實(shí)上,它不應(yīng)該,因?yàn)樵O(shè)備認(rèn)為本次傳輸?shù)囊徊糠謹(jǐn)?shù)據(jù)沒有成功傳輸?shù)街鳈C(jī)端,主機(jī)可以再次輪詢數(shù)據(jù)。
    如果更高層協(xié)議的狀態(tài)機(jī)(例如類驅(qū)動(dòng)程序)需要這種顯式的握手/中斷才能進(jìn)入下一階段,那么整個(gè)狀態(tài)機(jī)將被卡住。這將導(dǎo)致死鎖情況,并且整個(gè)設(shè)備實(shí)現(xiàn)將無法處理這種情況。

    請(qǐng)記住,丟失一個(gè)數(shù)據(jù)包的問題在無線 USB 中并不常見,在有線 USB 中也可能發(fā)生。設(shè)計(jì)師在設(shè)計(jì)有線 USB 時(shí)也必須注意這一點(diǎn)。不同之處在于,無線媒體的可靠性遠(yuǎn)低于有線媒體。

    圖 2:顯示了一些軌跡以說明當(dāng)設(shè)備未看到 IN 的握手時(shí)發(fā)生的大容量存儲(chǔ)問題。
    與數(shù)據(jù)包幾乎從不丟失的有線 USB 相比,數(shù)據(jù)包會(huì)經(jīng)常丟失。萬一設(shè)計(jì)人員忽視了這個(gè)問題,在有線系統(tǒng)中發(fā)現(xiàn)的可能性非常低,但在無線 USB 中卻相當(dāng)高。讓我們舉一個(gè)實(shí)際的例子。在大容量存儲(chǔ)設(shè)備實(shí)現(xiàn)的情況下,以下序列總是發(fā)生多次:
    CBW—BULKOUT—31 字節(jié)數(shù)據(jù)階段—BULK IN或 BULK OUT—數(shù)據(jù)包大小的多個(gè)事務(wù)CSW – IN—13 字節(jié)特別是對(duì)于大容量存儲(chǔ),當(dāng)設(shè)備未看到 IN – 13 字節(jié)的握手時(shí),可能會(huì)出現(xiàn)此問題。上面的圖 2中顯示了一些軌跡 來說明這個(gè)問題。

    在下面的圖 3中,無線 USB 數(shù)據(jù)包 291 是來自主機(jī)的 MMC,其中包括一個(gè) WdtCTA,用作對(duì)先前 In 數(shù)據(jù)包(無線 USB 數(shù)據(jù)包 288)的確認(rèn)。只有當(dāng)設(shè)備收到此 MMC 時(shí),它才能聲明特定的數(shù)據(jù)包已被主機(jī)接收。在這種特殊情況下,設(shè)備在接收到嵌入在數(shù)據(jù)包 291 中的確認(rèn)之前,無法聲稱 CSW 數(shù)據(jù)包已成功傳送到主機(jī)。但是如果此數(shù)據(jù)包在空中丟失怎么辦?從這個(gè)特定的主機(jī)實(shí)現(xiàn)中,我們可以看到它只會(huì)發(fā)送帶有確認(rèn)的 MMC。在無線世界中,丟失此數(shù)據(jù)包的可能性不容忽視。

    圖 3:在無線世界中,丟失數(shù)據(jù)包 291 的可能性——來自主機(jī)的 MMC,其中包括一個(gè) WdtCTA,用作對(duì)先前 In 數(shù)據(jù)包的確認(rèn)——不可忽略。
    在一些為大容量存儲(chǔ)編寫的傳統(tǒng) USB 類驅(qū)動(dòng)程序中,類驅(qū)動(dòng)程序內(nèi)部的狀態(tài)機(jī)只有在收到狀態(tài)完成事件時(shí)才會(huì)被觸發(fā)(在大多數(shù)情況下,它是來自設(shè)備控制器的中斷或來自較低級(jí)別堆棧的事件)。
    更具體地說,在大容量存儲(chǔ)狀態(tài)機(jī)中,類驅(qū)動(dòng)程序總是期望在 IN 管道上完成接收 CSW 的 13 個(gè)字節(jié),然后再進(jìn)行進(jìn)一步的操作,例如,將狀態(tài)機(jī)移至 CBW 階段,并對(duì)設(shè)備控制器進(jìn)行編程以在出管。
    如果 CSW 的 ACK 被破壞,雖然它實(shí)際上被無線 USB 主機(jī)接收到,但主機(jī)端和設(shè)備端的類驅(qū)動(dòng)程序狀態(tài)機(jī)之間將存在不匹配。主機(jī)會(huì)將類狀態(tài)機(jī)移至 CBW 階段,如果發(fā)現(xiàn)特定的 OUT 管道處于活動(dòng)狀態(tài),則隨時(shí)準(zhǔn)備發(fā)送 CBW。
    但不幸的是,OUT 管道使能操作通常是由設(shè)備類狀態(tài)機(jī)的 CBW 階段的一些軟件操作觸發(fā)的。這意味著在總線上不會(huì)有任何用于 EPxOUT 的 DN_EPRdy 被發(fā)送出去以指示管道處于活動(dòng)狀態(tài)。同時(shí),設(shè)備類狀態(tài)機(jī)將保持在 CSW 階段,等待 CSW 完成(設(shè)備無法知道 CSW 數(shù)據(jù)包已被主機(jī)接收,除非已從設(shè)備安排進(jìn)一步傳輸)。由于這種不匹配,產(chǎn)生了死鎖。
    設(shè)備端管理設(shè)備端的類驅(qū)動(dòng)程序需要仔細(xì)管理這種情況,考慮到“丟包”的情況。大容量存儲(chǔ)中此問題的典型解決方案是更改狀態(tài)機(jī),以便 CBW 的 OUT 管道將在設(shè)備類狀態(tài)機(jī)的 CSW 階段內(nèi)激活,因此設(shè)備端不會(huì)阻塞下一個(gè) CBW 的總線活動(dòng)。該解決方案適用于解決大容量存儲(chǔ)類和其他情況下 CSW 丟失的 ACK。
    在無線 USB 世界 - 甚至是有線 USB 世界 - 設(shè)備端的任何類驅(qū)動(dòng)程序定義了一個(gè)協(xié)議,該協(xié)議在 IN 端點(diǎn)傳輸完成后將數(shù)據(jù)包發(fā)送到 OUT 端點(diǎn)必須注意它在編程后啟用 OUT 數(shù)據(jù)包的接收。在轉(zhuǎn)移。它必須等到看到 IN 傳輸完成中斷后才能啟用 OUT 數(shù)據(jù)的接收。
關(guān)鍵詞:無線 USB 網(wǎng)絡(luò)  

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!