0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式系統(tǒng)中實(shí)現(xiàn)對USB接口微小變化的測控

PCB線路板打樣 ? 來源:LONG ? 2019-08-08 09:22 ? 次閱讀

隨著臺式機(jī)和筆記本電腦串口的消失,USB已成為最常見的外圍設(shè)備接口。此外,USB的嵌入式應(yīng)用正在增加。但是,在嵌入式系統(tǒng)中實(shí)現(xiàn)USB接口的開發(fā)團(tuán)隊(duì)可以輕松地產(chǎn)生微小的變化,這可能使與其他嵌入式USB設(shè)備的互操作性成為不確定的結(jié)果。

我們的團(tuán)隊(duì)處理USB 3.0主機(jī)接口開發(fā)的方式之一是檢查我們的主機(jī)與許多不同供應(yīng)商的USB設(shè)備的兼容性。我們最終投入了大量時(shí)間來調(diào)查和調(diào)試出現(xiàn)的問題。我們發(fā)現(xiàn)了導(dǎo)致大多數(shù)這些問題的兩個(gè)重要問題。

第一個(gè)問題是系統(tǒng)電源管理工作的結(jié)果。在嵌入式系統(tǒng)中,可能需要讓USB主機(jī)動(dòng)態(tài)關(guān)閉連接的USB設(shè)備,作為其電源管理方案的一部分。問題是,當(dāng)主機(jī)VBUS電源關(guān)閉時(shí),USB 2.0/3.x規(guī)范沒有在主機(jī)/設(shè)備側(cè)提供放電機(jī)制。在主流臺式PC和Linux系統(tǒng)中,VBUS電源始終保持開啟狀態(tài)。

在主機(jī)電源斷開后,連接設(shè)備放電所需的時(shí)間差異很大。圖1顯示了USB存儲器件的典型放電事件。這種特定設(shè)備需要6-8秒才能放電,但來自不同供應(yīng)商的設(shè)備可能會顯示不同的放電特征。

嵌入式系統(tǒng)中實(shí)現(xiàn)對USB接口微小變化的測控

嵌入式USB系統(tǒng)想要循環(huán)主機(jī)的VBUS電源不接受規(guī)范的指導(dǎo),關(guān)于主機(jī)在重新斷電之前關(guān)閉電源以使連接的設(shè)備放電多長時(shí)間。所以,他們選擇了自己的延遲時(shí)間。不幸的是,開發(fā)人員往往只在其軟件中插入10到150毫秒的延遲;他們不愿意延遲幾秒鐘,這可能是實(shí)際需要的。

當(dāng)主機(jī)軟件關(guān)閉VBUS電源只有幾百毫秒時(shí),由于連接的設(shè)備可以出現(xiàn)問題處于一個(gè)未知的狀態(tài)。這種不確定的情況通常會導(dǎo)致在電源恢復(fù)后設(shè)備連接或連接階段出現(xiàn)故障。如果主機(jī)軟件關(guān)閉VBUS電源,則必須將電源線接地并保持足夠長的時(shí)間以完全放電并重置連接的設(shè)備。

因?yàn)橐?guī)范沒有說明和供應(yīng)商通常不提供最小“關(guān)閉”時(shí)間的值,開發(fā)人員需要為自己定義一個(gè)。通用工程實(shí)踐表明,開發(fā)人員測量許多設(shè)備的放電時(shí)間,以達(dá)到“安全”的關(guān)閉時(shí)間。該結(jié)果將基于有限數(shù)量的實(shí)驗(yàn),但可以證明是足夠的。從圖1可以看出,幾乎所有連接的USB設(shè)備都可以使用10秒左右的關(guān)閉時(shí)間。

作為這種不確定的經(jīng)驗(yàn)方法的替代方案,可以有硬件解決方案。問題。為主機(jī)硬件提供一個(gè)有時(shí)間限制地正確釋放VBUS電源的措施。這樣,軟件可以使用保證正確的延遲值。增加的放電機(jī)制甚至可以根據(jù)其他平臺設(shè)計(jì)選擇,允許系統(tǒng)控制,在VBUS放電時(shí)間內(nèi)選擇性地啟用放電機(jī)制,并在VBUS打開時(shí)禁用機(jī)制。

我們實(shí)施了這樣的放電在發(fā)現(xiàn)我們在測試各種USB設(shè)備時(shí)看到的枚舉錯(cuò)誤的原因后,我們的主機(jī)設(shè)計(jì)中的機(jī)制。一旦機(jī)制到位,先前在電源循環(huán)期間失敗的設(shè)備就會開始正確枚舉。

在測試以數(shù)據(jù)速率為中心的USB主機(jī)兼容性時(shí)經(jīng)常出現(xiàn)的第二個(gè)問題。 USB規(guī)范要求主機(jī)通過發(fā)送命令和數(shù)據(jù)請求來初始化和配置任何連接的設(shè)備。不幸的是,我們發(fā)現(xiàn)市場上的某些設(shè)備在高速接收協(xié)議兼容的請求時(shí)不會表現(xiàn)出來。設(shè)備出現(xiàn)故障,最終將不間斷的NAK發(fā)送給主機(jī),導(dǎo)致主機(jī)超時(shí)。在枚舉期間或稍后在數(shù)據(jù)傳輸期間,設(shè)備可能會失敗,具體取決于設(shè)備邏輯無法處理主機(jī)請求的位置。

Windows和Linux系統(tǒng)似乎通過微調(diào)主機(jī)/設(shè)備來解決此問題握手。它們將吞吐率降低到大多數(shù)或所有設(shè)備可以工作的水平。嵌入式USB開發(fā)人員需要測量他們打算使用的設(shè)備可以處理的命令間請求時(shí)間。

嵌入式系統(tǒng)中實(shí)現(xiàn)對USB接口微小變化的測控

這種速度的一個(gè)例子圖2中顯示了與記憶棒相關(guān)的故障。在枚舉期間,主機(jī)的大容量存儲驅(qū)動(dòng)程序會發(fā)出設(shè)備必須確認(rèn)和處理的設(shè)置令牌。該圖顯示,如果設(shè)置后的命令間隙大約為9μs,則設(shè)備的邏輯無法確認(rèn)“獲取字符串描述符”命令。設(shè)備使用NAK連續(xù)響應(yīng)命令,導(dǎo)致主機(jī)超時(shí)。圖3顯示了設(shè)置后的命令間隙增加到27μs時(shí)的結(jié)果。通過這個(gè)時(shí)間,設(shè)備可以正常工作。

嵌入式系統(tǒng)中實(shí)現(xiàn)對USB接口微小變化的測控

主機(jī)需要添加額外的命令間延遲才能適應(yīng)某些USB設(shè)備的惡意功能,甚至雖然9μs的命令間隙是有效的USB請求。但是,只有在枚舉階段或控制轉(zhuǎn)移中才需要這種延遲。在正常數(shù)據(jù)交易(批量輸入/輸出)期間不會出現(xiàn)此計(jì)時(shí)問題。

我們的研究結(jié)果是,嵌入式USB主機(jī) - 設(shè)備互操作性問題可能來自兩個(gè)來源:電源循環(huán)和命令/數(shù)據(jù)流量速率。由于這些因素沒有明確的規(guī)范,開發(fā)人員希望不同供應(yīng)商能夠看到其實(shí)施的許多變化。為確保廣泛的互操作性,開發(fā)人員應(yīng)確保其USB主機(jī)設(shè)計(jì)“慷慨”,以滿足設(shè)備的處理能力。此外,這些問題也應(yīng)作為澄清USB標(biāo)準(zhǔn)的基礎(chǔ),以便設(shè)備供應(yīng)商在未來針對統(tǒng)一的要求。

Ritika Sharma畢業(yè)于NIT的電子通信工程專業(yè)賈朗達(dá)爾,旁遮普邦,印度。她目前正在與飛思卡爾半導(dǎo)體印度公司合作。有限公司(恩智浦集團(tuán)公司)作為IP設(shè)計(jì)和驗(yàn)證領(lǐng)域最近3年的設(shè)計(jì)工程師。

Parul具有模擬設(shè)計(jì)背景和該公司致力于模擬PHY(如1394a,USB2.0和HDMI)的設(shè)計(jì)和芯片開發(fā),采用0.35um至28nm的各種技術(shù)。 Parul還擁有多項(xiàng)與USB設(shè)計(jì)有關(guān)的專利。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18974

    瀏覽量

    302062
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7877

    瀏覽量

    263713
  • PCB打樣
    +關(guān)注

    關(guān)注

    17

    文章

    2968

    瀏覽量

    21622
  • 華強(qiáng)PCB
    +關(guān)注

    關(guān)注

    8

    文章

    1831

    瀏覽量

    27698
  • 華強(qiáng)pcb線路板打樣

    關(guān)注

    5

    文章

    14629

    瀏覽量

    42946
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式系統(tǒng)USB總線接口電路圖

    詳細(xì)闡述了一種用于嵌入式系統(tǒng)USB總線接口電路,該電路是基于USB專用芯片CH375
    發(fā)表于 09-22 14:13 ?4858次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的<b class='flag-5'>USB</b>總線<b class='flag-5'>接口</b>電路圖

    基于嵌入式系統(tǒng)USB接口的虛擬示波器的開發(fā)與實(shí)現(xiàn)

    基于嵌入式系統(tǒng)USB接口的虛擬示波器的開發(fā)與實(shí)現(xiàn)
    發(fā)表于 08-06 12:59

    嵌入式系統(tǒng)開發(fā)的串行和USB接口有何作用

    嵌入式開發(fā)板中有幾大類接口呢?嵌入式系統(tǒng)開發(fā)的串行接口有何作用?
    發(fā)表于 12-27 07:57

    USB接口嵌入式設(shè)備的應(yīng)用和設(shè)計(jì)

    論述了USB接口嵌入式設(shè)備可能的應(yīng)用方式,并對USB接口的軟硬件設(shè)計(jì)方法進(jìn)行了比較全面的分析
    發(fā)表于 05-08 17:11 ?17次下載

    嵌入式系統(tǒng)USB接口的研究及設(shè)計(jì)

    本文針對嵌入式系統(tǒng)USB 接口進(jìn)行了研究,提出了MCU+USB
    發(fā)表于 06-13 11:29 ?15次下載

    基于LPC2290嵌入式系統(tǒng)USB接口的設(shè)計(jì)

    基于LPC2290嵌入式系統(tǒng)USB接口的設(shè)計(jì):為嵌入式系統(tǒng)設(shè)計(jì)并
    發(fā)表于 12-31 17:07 ?30次下載

    嵌入式系統(tǒng)USB虛擬串口設(shè)計(jì)

    嵌入式系統(tǒng)USB虛擬串口設(shè)計(jì) 現(xiàn)代嵌入式系統(tǒng),異步串行通信
    發(fā)表于 09-27 16:07 ?1050次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>USB</b>虛擬串口設(shè)計(jì)

    嵌入式系統(tǒng)USB接口設(shè)計(jì)

    嵌入式系統(tǒng)USB接口設(shè)計(jì) 引言1.1研究背景     USB(UniversalSerialBus
    發(fā)表于 11-24 10:39 ?1308次閱讀

    FPGA的嵌入式系統(tǒng)USB接口設(shè)計(jì)

    FPGA的嵌入式系統(tǒng)USB接口設(shè)計(jì) 摘要:設(shè)計(jì)基于FPGA的IP-BX電話應(yīng)用系統(tǒng),用于傳統(tǒng)的電話網(wǎng)絡(luò)(PSTN)與PC機(jī)之間的
    發(fā)表于 04-03 10:52 ?1899次閱讀
    FPGA的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>USB</b><b class='flag-5'>接口</b>設(shè)計(jì)

    基于LPC2214的嵌入式系統(tǒng)USB接口模塊設(shè)計(jì)

    本文為基于LPC2214的 嵌入式系統(tǒng) USB接口模塊設(shè)計(jì),實(shí)現(xiàn)了與PC機(jī)之間的通信。
    發(fā)表于 06-29 15:22 ?61次下載
    基于LPC2214的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>USB</b><b class='flag-5'>接口</b>模塊設(shè)計(jì)

    嵌入式USB MiniHost系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)嵌入式USB主機(jī)系統(tǒng)的硬件和軟件,用于解決USB設(shè)備不能脫離PC主機(jī)的問題。并在設(shè)計(jì)的硬件和軟件基礎(chǔ)上利用
    發(fā)表于 04-12 15:04 ?47次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>USB</b> MiniHost<b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    基于mClinux的嵌入式USB接口設(shè)計(jì)

    引言 越來越多的嵌入式設(shè)備與外部連接要求更簡潔、方便、智能化,所以,USB接口嵌入式設(shè)備的應(yīng)用會越來越廣泛。本文是信息家電網(wǎng)絡(luò)控制平臺技
    發(fā)表于 07-20 15:54 ?1050次閱讀

    嵌入式系統(tǒng)USB接口的虛擬示波器的開發(fā)與實(shí)現(xiàn)

    嵌入式系統(tǒng)USB接口的虛擬示波器的開發(fā)與實(shí)現(xiàn)
    發(fā)表于 10-31 10:28 ?14次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>USB</b><b class='flag-5'>接口</b>的虛擬示波器的開發(fā)與<b class='flag-5'>實(shí)現(xiàn)</b>

    基于STM32的嵌入式測控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    本文主要介紹了基于STM32的嵌入式測控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),以STM32F103芯片為核心控制器,移植了有多任務(wù)、實(shí)時(shí)性特點(diǎn)的嵌入式
    發(fā)表于 12-23 17:03 ?8496次閱讀
    基于STM32的<b class='flag-5'>嵌入式</b><b class='flag-5'>測控</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    嵌入式測控系統(tǒng)數(shù)字濾波算法的實(shí)現(xiàn)

    嵌入式測控系統(tǒng)數(shù)字濾波算法的實(shí)現(xiàn)(嵌入式開發(fā)用啥語言)-
    發(fā)表于 07-30 12:43 ?9次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>測控</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>數(shù)字濾波算法的<b class='flag-5'>實(shí)現(xiàn)</b>