<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 三種方式解決USB接口與串口設備之間互連問(wèn)題

三種方式解決USB接口與串口設備之間互連問(wèn)題

作者: 時(shí)間:2012-02-01 來(lái)源:網(wǎng)絡(luò ) 收藏
  由于具有即插即用的特性,現已出現只有USB口而沒(méi)有傳統接口的PC,那么在這樣的計算機上如何使用舊式基于串行接口的設備呢?本文介紹了三種方法,并對各自的優(yōu)缺點(diǎn)進(jìn)行了詳細的討論。

  過(guò)去PC用戶(hù)在接入新設備時(shí)還需要安裝相應的驅動(dòng)程序,對于非專(zhuān)業(yè)用戶(hù)來(lái)講不僅麻煩而且容易出錯,他們一直希望在連接新外設時(shí)能減少這些讓人困惑的難題。通過(guò)去除串口、并口以及PS2口等老式端口,然后用諸如USB之類(lèi)即插即用端口加以替代,最終用戶(hù)現在終于能夠體驗到這一方面的顯著(zhù)改善(圖1)。

  USB為消費類(lèi)電子產(chǎn)品提供了輕松的擴展功能,許多設備操作系統本身就可以提供支持,不要求外設開(kāi)發(fā)人員提供驅動(dòng)程序,從而使添加外設變得更為簡(jiǎn)單。同時(shí)通過(guò)集線(xiàn)器擴展總線(xiàn)功能使普通用戶(hù)能夠方便地添加更多外設,無(wú)傳統接口的PC目前已成為現實(shí),正在向普通用戶(hù)提供著(zhù)種種便利。

  但是,許多業(yè)界專(zhuān)業(yè)人士或嵌入式應用人員卻并不像普通用戶(hù)那樣對無(wú)傳統接口PC的出現這么振奮。許多應用一直采用各種UART接口,既不需要也不希望有什么改變。不管是RS-232、RS-422還是RS-485,UART連接方式數十年來(lái)一直是低帶寬通信的主流。就控制、監控與小容量數據傳輸而言,UART連接提供了一種成本低廉使用方便的解決方案,應用系統開(kāi)發(fā)人員在上面已耗費了大量時(shí)間與金錢(qián),同時(shí)對其性能也感到滿(mǎn)意。

  針對定制專(zhuān)用產(chǎn)品系統級設計與實(shí)施,技術(shù)人員創(chuàng )建出多年來(lái)一直穩定的系統架構,可提供所有必需的功能與性能,為系統處理器實(shí)現這些功能而開(kāi)發(fā)的固件也都假定采用UART連接來(lái)傳輸數據,此外在產(chǎn)品整個(gè)生命周期中還開(kāi)發(fā)并優(yōu)化了主機應用軟件,也是假定采用UART連接。因此上述任何一項如要改變都需巨額投資,而且對專(zhuān)業(yè)用戶(hù)而言,無(wú)傳統接口PC的優(yōu)勢并不明顯。

設計人員的選擇

  那么面對目前不斷涌現的新型無(wú)傳統接口PC,嵌入式設計人員有什么對策呢?答案是可采用三種基本方法調整系統,使之適應無(wú)傳統接口PC。第一種方法是進(jìn)行全面的系統再設計,使設備本身能夠支持USB連接;第二種方法是使用目前市面上出現的USB至RS-232適配器;第三種方法則是采用為系統應用定制的USB至UART適配器。我們下面不妨分別看看這三種方式的優(yōu)缺點(diǎn)。

  全面系統再設計方法將涉及很多工作。例如很可能需要新的系統處理器或微控制器,轉為本身具備USB支持的新控制器,或選用新端口橋接方案,包括存儲器映射接口或并行主機處理器接口。采用本機具備USB支持方案的好處在于可使數據傳輸量提高。

  除了硬件改變之外,還需進(jìn)行軟件方面的改動(dòng)。采用新處理器很可能要新的固件,因為處理器或微控制器固件必須適應新的數據發(fā)送與接收方法;還要修改主機用戶(hù)應用軟件,以適應新的連接方法,目前接到串口的軟件要直接接到新端口。除了應用軟件之外,無(wú)論是USB還是其它端口連接改變,主機驅動(dòng)程序也應相應修改。如果應用程序可調整為適用于本機具備USB支持所提供的驅動(dòng)程序,外設OEM廠(chǎng)商就不必再為其設備提供安裝盤(pán),而且如果基本功能無(wú)需特定用戶(hù)應用軟件的話(huà),它還可以兼容于新型PC實(shí)現即插即用。

  第二種方法是采用眾多市面上現有的USB至串行轉接口(dongle)或線(xiàn)纜。許多不同供應商均可提供這類(lèi)設備,它能夠迅速連接到無(wú)傳統接口的PC,并創(chuàng )建虛擬COM口(VCP)。假定應用軟件可映射至任何COM端口,則只需簡(jiǎn)單對應用重新映射即可訪(fǎng)問(wèn)新的VCP。每種接口都可提供VCP驅動(dòng)程序,驅動(dòng)程序必須安裝在PC上才能啟用端口,許多接口經(jīng)調整均能適用于諸如PDA托架(cradles)或串行調制解調器等特定應用。

  盡管這種方法能夠幫助盡快將產(chǎn)品投放市場(chǎng),但設計人員還應考慮對產(chǎn)品總體戰略方面的影響。使用現成產(chǎn)品將使設計人員在兼容性、質(zhì)量或與其產(chǎn)品結合使用的配件品牌控制上受到限制,可能導致維修服務(wù)增加,并使客戶(hù)對產(chǎn)品產(chǎn)生負面評價(jià),與控制成本或持續提供所選接口相關(guān)的供貨問(wèn)題也應在考慮之列。最后,這種方法就每單個(gè)產(chǎn)品而言成本也是相當高的。

  第三種方法則是設計自己的專(zhuān)用USB至串行接口或嵌入式連接橋。這能最大限度利用現有可選設備的優(yōu)勢,并克服其諸多缺點(diǎn),這種方法有助于讓連接橋對外部系統與主機應用軟件看起來(lái)都像是VCP。它同樣需要VCP驅動(dòng)程序,但可調整適應于具體應用。構建本機接口或嵌入式連接橋將有助于實(shí)現對兼容性、質(zhì)量、品牌、成本與供應的控制。嵌入式連接橋方式要求對主板進(jìn)行更改,但其BOM成本低于外部接口。我們可以更進(jìn)一步來(lái)看看下面兩種方法。

專(zhuān)用外部接口

  專(zhuān)用外部接口方案與購買(mǎi)市場(chǎng)上現有接口很像,但可以克服后者所有的缺點(diǎn)?,F有系統實(shí)現方案不需要改變,硬件也無(wú)需修改,只需將串行接口與設備的現有串行接口相對應即可。通過(guò)設計自身接口,還可針對諸如RS-232、RS-422、RS-485、LVDS等具體的應用需求優(yōu)化線(xiàn)路驅動(dòng)器或收發(fā)器。大多數商用接口都局限于RS-232,且不能用于其它串行接口。

  同樣,主機應用軟件也不需要任何更改。唯一的潛在問(wèn)題就是應用是否會(huì )映射至不同的COM口,或其是否會(huì )一直映射至特定的COM口。如果它一直映射至特定的COM端口,則我們建議改變軟件,讓最終用戶(hù)來(lái)修改COM端口映射。由于上述方法確實(shí)在計算機上創(chuàng )建了新的VCP,因此要為產(chǎn)品提供VCP驅動(dòng)程序。通過(guò)設計并構建自己的接口而不是使用現有接口,可使設備具有根據具體應用需求定制驅動(dòng)程序的能力,這將實(shí)現更好的功能,并在最終設備與接口間實(shí)現更好的兼容性。

  上述方法的另一優(yōu)勢在于能夠讓一種終端設備盒既用于帶傳統接口的PC,又可用于新型無(wú)傳統接口PC,它最大的劣勢在于總體實(shí)施成本。如果根據每個(gè)單元來(lái)分攤開(kāi)發(fā)成本,并加到外部接口實(shí)際BOM成本中,那么這很可能是總體實(shí)施成本最高的一種方法。

嵌入式橋接

  嵌入式橋接方法將接口放置于終端設備線(xiàn)路板上,基本屬于外部接口的板級實(shí)現方式。將USB至串行口橋接嵌入到“盒”中,盡管它仍是VCP連接但看上去卻像是本機USB器件(圖2)。

  對系統處理器與主機PC而言它看上去像VCP,就像專(zhuān)用外部接口,所以軟件所需更改極小,任何改變都應與專(zhuān)用外部接口一樣。

  通過(guò)將橋接器件置于板上,不但可以大大節約單位器件成本,還能避免與外部接口附件相關(guān)的諸如印刷電路板、機箱或封裝、連接器等硬件方面的費用,此外還可通過(guò)將橋接器件置于板上節省電子元器件。橋接器件與系統處理器或微控制器之間不再需要任何諸如RS-232、RS-422、RS-485等串行線(xiàn)纜收發(fā)器。顯然,具有系統處理器的板級橋接器要求更改線(xiàn)路板布局,但即使將開(kāi)發(fā)成本一起分攤到產(chǎn)品使用壽命中,它很可能仍然是成本最低的實(shí)施方案。此方法的總開(kāi)發(fā)成本低于整個(gè)系統再設計的成本,單位成本也低于任何一種外部接口方法。

選擇新型驅動(dòng)程序

  所有USB至串行端口橋接法的共同問(wèn)題是需要新的虛擬COM口驅動(dòng)程序,這種過(guò)濾器驅動(dòng)程序將用戶(hù)應用程序生成的COM命令轉換為橋接器件在USB端口上接收的USB協(xié)議,橋接器件隨后負責將上述USB命令轉換回串行命令,驅動(dòng)程序使USB器件對操作系統(OS)看起來(lái)像是COM口器件。

  這會(huì )使得用戶(hù)忽略實(shí)際是通過(guò)USB連接進(jìn)行通信這一事實(shí),而為應用軟件給出標準的COM口通信指令。設計人員如不希望對應用軟件及系統透明,就無(wú)需VCP過(guò)濾器驅動(dòng)程序。如果可以接受上面任何一項更改,系統重新設計中給出的方法(本機驅動(dòng)程序)則可作為一種專(zhuān)用方法,不可用于市面上現有的接口。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>