時間:2012年3月3日 來源:互聯(lián)網(wǎng) 關鍵詞:USB接口,串口設備,嵌入式 

  由于USB接口具有即插即用的特性,現(xiàn)已出現(xiàn)只有USB口而沒有傳統(tǒng)接口的PC,那么在這樣的計算機上如何使用舊式基于串行接口的設備呢本文介紹了三種方法,并對各自的優(yōu)缺點進行了詳細的討論。過去PC用戶在接入新設備時還需要安裝相應的驅動程序,對于非專業(yè)用戶來講不僅麻煩而且容易出錯,他們一直希望在連接新外設時能減少這些讓人困惑的難題。通過去除串口、并口以及PS2口等老式端口,然后用諸如USB之類即插即用端口加以替代,最終用戶現(xiàn)在終于能夠體驗到這一方面的顯著改善(圖1)?! SB為消費類電子產(chǎn)品提供了輕松的擴展功能,許多設備操作系統(tǒng)本身就可以提供支持,不要求外設開發(fā)人員提供驅動程序,從而使添加外設變得更為簡單。同時通過集線器擴展總線功能使普通用戶能夠方便地添加更多外設,無傳統(tǒng)接口的PC目前已成為現(xiàn)實,正在向普通用戶提供著種種便利。但是,許多業(yè)界專業(yè)人士或嵌入式應用人員卻并不像普通用戶那樣對無傳統(tǒng)接口PC的出現(xiàn)這么振奮。許多應用一直采用各種UART接口,既不需要也不希望有什么改變。不管是RS-232、RS-422還是RS-485,UART連接方式數(shù)十年來一直是低帶寬通信的主流。就控制、監(jiān)控與小容量數(shù)據(jù)傳輸而言,UART連接提供了一種成本低廉使用方便的解決方案,應用系統(tǒng)開發(fā)人員在上面已耗費了大量時間與金錢,同時對其性能也感到滿意?! ♂槍Χㄖ茖S卯a(chǎn)品系統(tǒng)級設計與實施,技術人員創(chuàng)建出多年來一直穩(wěn)定的系統(tǒng)架構,可提供所有必需的功能與性能,為系統(tǒng)處理器實現(xiàn)這些功能而開發(fā)的固件也都假定采用UART連接來傳輸數(shù)據(jù),此外在產(chǎn)品整個生命周期中還開發(fā)并優(yōu)化了主機應用軟件,也是假定采用UART連接。因此上述任何一項如要改變都需巨額投資,而且對專業(yè)用戶而言,無傳統(tǒng)接口PC的優(yōu)勢并不明顯?! ≡O計人員的選擇  那么面對目前不斷涌現(xiàn)的新型無傳統(tǒng)接口PC,嵌入式設計人員有什么對策呢答案是可采用三種基本方法調(diào)整系統(tǒng),使之適應無傳統(tǒng)接口PC?! 〉谝环N方法是進行全面的系統(tǒng)再設計,使設備本身能夠支持USB連接;第二種方法是使用目前市面上出現(xiàn)的USB至RS-232適配器;第三種方法則是采用為系統(tǒng)應用定制的USB至UART適配器。我們下面不妨分別看看這三種方式的優(yōu)缺點。全面系統(tǒng)再設計方法將涉及很多工作。例如很可能需要新的系統(tǒng)處理器或微控制器,轉為本身具備USB支持的新控制器,或選用新端口橋接方案,包括存儲器映射接口或并行主機處理器接口。采用本機具備USB支持方案的好處在于可使數(shù)據(jù)傳輸量提高?! 〕擞布淖冎猓€需進行軟件方面的改動。采用新處理器很可能要新的固件,因為處理器或微控制器固件必須適應新的數(shù)據(jù)發(fā)送與接收方法;還要修改主機用戶應用軟件,以適應新的連接方法,目前接到串口的軟件要直接接到新端口。除了應用軟件之外,無論是USB還是其它端口連接改變,主機驅動程序也應相應修改。如果應用程序可調(diào)整為適用于本機具備USB支持所提供的驅動程序,外設OEM廠商就不必再為其設備提供安裝盤,而且如果基本功能無需特定用戶應用軟件的話,它還可以兼容于新型PC實現(xiàn)即插即用?! 〉诙N方法是采用眾多市面上現(xiàn)有的USB至串行轉接口(dongle)或線纜。許多不同供應商均可提供這類設備,它能夠迅速連接到無傳統(tǒng)接口的PC,并創(chuàng)建虛擬COM口(VCP)。假定應用軟件可映射至任何COM端口,則只需簡單對應用重新映射即可訪問新的VCP。每種接口都可提供VCP驅動程序,驅動程序必須安裝在PC上才能啟用端口,許多接口經(jīng)調(diào)整均能適用于諸如PDA托架(cradles)或串行調(diào)制解調(diào)器等特定應用。盡管這種方法能夠幫助盡快將產(chǎn)品投放市場,但設計人員還應考慮對產(chǎn)品總體戰(zhàn)略方面的影響。使用現(xiàn)成產(chǎn)品將使設計人員在兼容性、質(zhì)量或與其產(chǎn)品結合使用的配件品牌控制上受到限制,可能導致維修服務增加,并使客戶對產(chǎn)品產(chǎn)生負面評價,與控制成本或持續(xù)提供所選接口相關的供貨問題也應在考慮之列。最后,這種方法就每單個產(chǎn)品而言成本也是相當高的?! 〉谌N方法則是設計自己的專用USB至串行接口或嵌入式連接橋。這能最大限度利用現(xiàn)有可選設備的優(yōu)勢,并克服其諸多缺點,這種方法有助于讓連接橋對外部系統(tǒng)與主機應用軟件看起來都像是VCP。它同樣需要VCP驅動程序,但可調(diào)整適應于具體應用。構建本機接口或嵌入式連接橋將有助于實現(xiàn)對兼容性、質(zhì)量、品牌、成本與供應的控制。嵌入式連接橋方式要求對主板進行更改,但其BOM成本低于外部接口。我們可以更進一步來看看下面兩種方法?! S猛獠拷涌凇 S猛獠拷涌诜桨概c購買市場上現(xiàn)有接口很像,但可以克服后者所有的缺點?,F(xiàn)有系統(tǒng)實現(xiàn)方案不需要改變,硬件也無需修改,只需將串行接口與設備的現(xiàn)有串行接口相對應即可。通過設計自身接口,還可針對諸如RS-232、RS-422、RS-485、LVDS等具體的應用需求優(yōu)化線路驅動器或收發(fā)器。大多數(shù)商用接口都局限于RS-232,且不能用于其它串行接口。同樣,主機應用軟件也不需要任何更改。唯一的潛在問題就是應用是否會映射至不同的COM口,或其是否會一直映射至特定的COM口。如果它一直映射至特定的COM端口,則我們建議改變軟件,讓最終用戶來修改COM端口映射。由于上述方法確實在計算機上創(chuàng)建了新的VCP,因此要為產(chǎn)品提供VCP驅動程序。通過設計并構建自己的接口而不是使用現(xiàn)有接口,可使設備具有根據(jù)具體應用需求定制驅動程序的能力,這將實現(xiàn)更好的功能,并在最終設備與接口間實現(xiàn)更好的兼容性?! ∩鲜龇椒ǖ牧硪粌?yōu)勢在于能夠讓一種終端設備盒既用于帶傳統(tǒng)接口的PC,又可用于新型無傳統(tǒng)接口PC,它最大的劣勢在于總體實施成本。如果根據(jù)每個單元來分攤開發(fā)成本,并加到外部接口實際BOM成本中,那么這很可能是總體實施成本最高的一種方法?! ∏度胧綐蚪印 ∏度胧綐蚪臃椒▽⒔涌诜胖糜诮K端設備線路板上,基本屬于外部接口的板級實現(xiàn)方式。將USB至串行口橋接嵌入到“盒”中,盡管它仍是VCP連接但看上去卻像是本機USB器件(圖2)。對系統(tǒng)處理器與主機PC而言它看上去像VCP,就像專用外部接口,所以軟件所需更改極小,任何改變都應與專用外部接口一樣。  通過將橋接器件置于板上,不但可以大大節(jié)約單位器件成本,還能避免與外部接口附件相關的諸如印刷電路板、機箱或封裝、連接器等硬件方面的費用,此外還可通過將橋接器件置于板上節(jié)省電子元器件。橋接器件與系統(tǒng)處理器或微控制器之間不再需要任何諸如RS-232、RS-422、RS-485等串行線纜收發(fā)器。顯然,具有系統(tǒng)處理器的板級橋接器要求更改線路板布局,但即使將開發(fā)成本一起分攤到產(chǎn)品使用壽命中,它很可能仍然是成本最低的實施方案。此方法的總開發(fā)成本低于整個系統(tǒng)再設計的成本,單位成本也低于任何一種外部接口方法。  選擇新型驅動程序  所有USB至串行端口橋接法的共同問題是需要新的虛擬COM口驅動程序,這種過濾器驅動程序將用戶應用程序生成的COM命令轉換為橋接器件在USB端口上接收的USB協(xié)議,橋接器件隨后負責將上述USB命令轉換回串行命令,驅動程序使USB器件對操作系統(tǒng)(OS)看起來像是COM口器件。這會使得用戶忽略實際是通過USB連接進行通信這一事實,而為應用軟件給出標準的COM口通信指令。設計人員如不希望對應用軟件及系統(tǒng)透明,就無需VCP過濾器驅動程序。如果可以接受上面任何一項更改,系統(tǒng)重新設計中給出的方法(本機驅動程序)則可作為一種專用方法,不可用于市面上現(xiàn)有的接口。