在工業(yè)生產(chǎn)和科學(xué)技術(shù)研究的各行業(yè)中,常常利用PC或工控機(jī)對(duì)各種數(shù)據(jù)進(jìn)行采集。這其中有很多地方需要對(duì)各種數(shù)據(jù)進(jìn)行采集,如液位、溫度、壓力、頻率等。現(xiàn)在常用的采集方式是通過(guò)數(shù)據(jù)采集板卡,常用的有A/D卡以及422、485等總線板卡。采用板卡不僅安裝麻煩、易受機(jī)箱內(nèi)環(huán)境的干擾,而且由于受計(jì)算機(jī)插槽數(shù)量和地址、中斷資源的限制,不可能掛接很多設(shè)備。而通用串行總線(Universal Aerial Bus,簡(jiǎn)稱USB)的出現(xiàn),很好地解決了以上這些沖突,很容易就能實(shí)現(xiàn)低成本、高可靠性、多點(diǎn)的數(shù)據(jù)采集。
1 USB簡(jiǎn)介
USB是一些PC大廠商,如Microsoft、Intel等為了解決日益增加的PC外設(shè)與有限的主板插槽和端口之間的矛盾而制定的一種串行通信的標(biāo)準(zhǔn),自1995年在Comdex上亮相以來(lái)至今已廣泛地為各PC廠家所支持。現(xiàn)在生產(chǎn)的PC幾乎都配備了USB接口,Microsft的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系統(tǒng)都增加了對(duì)USB的支持。
1.1 USB系統(tǒng)的構(gòu)成
USB系統(tǒng)主要由主控制器(Host CONTROLler)、USB Hub 和USB外設(shè)(Peripherals Node)組成系統(tǒng)拓?fù)浣Y(jié)構(gòu),如圖1所示。
1.2 USB的主要優(yōu)點(diǎn)
·速度快。USB有高速和低速兩種方式,主模式為高速模式,速率為12Mbps,另外為了適應(yīng)一些不需要很大吞吐量和很高實(shí)時(shí)性的設(shè)備,如鼠標(biāo)等,USB還提供低速方式,速率為1.5Mb/s。
·設(shè)備安裝和配置容易。安裝USB設(shè)備不必再打開(kāi)機(jī)箱,加減已安裝過(guò)的設(shè)備完全不用關(guān)閉計(jì)算機(jī)。所有USB設(shè)備支持熱拔插,系統(tǒng)對(duì)其進(jìn)行自動(dòng)配置,徹底拋棄了過(guò)去的跳線和撥碼開(kāi)關(guān)設(shè)置。
·易于擴(kuò)展。通過(guò)使用Hub擴(kuò)展可撥接多達(dá)127個(gè)外設(shè)。標(biāo)準(zhǔn)USB電纜長(zhǎng)度為3m(5m低速)。通過(guò)Hub或中繼器可以使外設(shè)距離達(dá)到30m。
·能夠采用總線供電。USB總線提供最大達(dá)5V電壓、500mA電流。
·使用靈活。USB共有4種傳輸模式:控制傳輸(CONTROL)、同步傳輸(Synchronization)、中斷傳輸(interrupt)、批量傳輸(bulk),以適應(yīng)不同設(shè)備的需要。
2 采用USB傳輸?shù)臄?shù)據(jù)采集設(shè)備
2.1 硬件組成
一個(gè)實(shí)用的USB數(shù)據(jù)采集系統(tǒng)包括A/D轉(zhuǎn)換器、微控制器以及USB通信接口。為了擴(kuò)展其用途,還可以加上多路模擬開(kāi)關(guān)和數(shù)字I/O端口。
系統(tǒng)的A/D、數(shù)字I/O的設(shè)計(jì)可沿用傳統(tǒng)的設(shè)計(jì)方法,根據(jù)采集的精度、速率、通道數(shù)等諸元素選擇合適的芯片,設(shè)計(jì)時(shí)應(yīng)充分注意抗干擾的性能,尤其對(duì)A/D采集更是如此。
在微控制器和USB接口的選擇上有兩種方式,一種是采用普通單片機(jī)加上專用的USB通信芯片。現(xiàn)在的專用芯片中較流行的有NATIONAL SEMICONDUCTOR公司的USBN9602、ScanLogic公司的SL11等。筆者曾經(jīng)采用Atmel公司的89c51單片機(jī)和USBN9602芯片構(gòu)成系統(tǒng),取得了良好的效果。這種方案的設(shè)計(jì)和調(diào)試比較麻煩,成本相對(duì)而言也比較高。
另一種方案是采用具備USB通信功能的單片機(jī)。隨著USB應(yīng)用的日益廣泛,Intel、SGS-Tomson、CYPRESS、PHILIPS等芯片廠商都推出了具備USB通信接口的單片機(jī)。這些單片機(jī)處理能力強(qiáng),有的本身就具備多路A/D,構(gòu)成系統(tǒng)的電路簡(jiǎn)單,調(diào)試方便,電磁兼容性好,因此采用具備USB接口的單片機(jī)是構(gòu)成USB數(shù)據(jù)采集系統(tǒng)較好的方案。不過(guò),由于具備了USB接口,這些芯片與過(guò)去的開(kāi)發(fā)系統(tǒng)通常是不兼容的,需要購(gòu)買新的開(kāi)發(fā)系統(tǒng),投資較高。
USB的一大優(yōu)點(diǎn)是可以提供電源。在數(shù)據(jù)采集設(shè)備中耗電量通常不大,因此可以設(shè)計(jì)成采用總線供電的設(shè)備。
2.2 軟件構(gòu)成
Windows98 提供了多種USB設(shè)備的驅(qū)動(dòng)程序,但好象還沒(méi)有一種是專門針對(duì)數(shù)據(jù)采集系統(tǒng)的,所以必須針對(duì)特定的設(shè)備來(lái)編制驅(qū)動(dòng)程序。盡管系統(tǒng)已經(jīng)提供了很多標(biāo)準(zhǔn)接口函數(shù),但編制驅(qū)動(dòng)程序仍然是USB開(kāi)發(fā)中最困難的一件事情,通常采用Windows DDK來(lái)實(shí)現(xiàn)。目前有許多第三方軟件廠商提供了各種各樣的生成工具,象Compuware的driver works,Blue Waters的Driver Wizard等,它們能夠很容易地在幾分鐘之內(nèi)生成高質(zhì)量的USB的驅(qū)動(dòng)程序。
設(shè)備中單片機(jī)程序的編制也同樣困難,而且沒(méi)有任何一家廠商提供了自動(dòng)生成的工具。編制一個(gè)穩(wěn)定、完善的單片機(jī)程序直接關(guān)系到設(shè)備性能,必須給予充分的重視。
以上兩個(gè)程序是開(kāi)發(fā)者所關(guān)心的,用戶不大關(guān)心。用戶關(guān)心的是如何高效地通過(guò)鼠標(biāo)來(lái)操作設(shè)備,如何處理和分析采集進(jìn)來(lái)的大量數(shù)據(jù),因此還必須有高質(zhì)量的用戶軟件。用戶軟件必須有友好的界面,強(qiáng)大的數(shù)據(jù)分析和處理能力以及為用戶提供進(jìn)行再開(kāi)發(fā)的接口。
3 實(shí)現(xiàn)USB遠(yuǎn)距離采集數(shù)據(jù)傳輸
傳輸距離是限制USB在工業(yè)現(xiàn)場(chǎng)應(yīng)用的一個(gè)障礙,即使增加了中繼或Hub,USB傳輸距離通常也不超過(guò)幾十米,這對(duì)工業(yè)現(xiàn)場(chǎng)而言顯然是太短了。
現(xiàn)在工業(yè)現(xiàn)場(chǎng)有大量采用RS-485傳輸數(shù)據(jù)的采集設(shè)備。RS-485有其固有的優(yōu)點(diǎn),即它的傳輸距離可以達(dá)到1200米以上,并且可以掛接多個(gè)設(shè)備。其不足之處在于傳輸速度慢,采用總線方式,設(shè)備之間相互影響,可靠性差,需要板卡的支持,成本高,安裝麻煩等。RS-485的這些缺點(diǎn)恰好能被USB所彌補(bǔ),而USB傳輸距離的限制恰好又是RS-485的優(yōu)勢(shì)所在。如果能將兩者結(jié)合起來(lái),優(yōu)勢(shì)互補(bǔ),就能夠產(chǎn)生一種快速、可靠、低成本的遠(yuǎn)距離數(shù)據(jù)采集系統(tǒng)。
這種系統(tǒng)的基本思想是:在采集現(xiàn)場(chǎng),將傳感器采集到的模擬量數(shù)字化以后,利用RS-485協(xié)議將數(shù)據(jù)上傳。在PC端有一個(gè)雙向RS-485~USB的轉(zhuǎn)換接口,利用這個(gè)轉(zhuǎn)接口接收485的數(shù)據(jù)并通過(guò)USB接口傳輸至PC機(jī)進(jìn)行分析處理。而主機(jī)向設(shè)備發(fā)送數(shù)據(jù)的過(guò)程正好相反:主機(jī)向USB口發(fā)送數(shù)據(jù),數(shù)據(jù)通過(guò)485~USB轉(zhuǎn)換口轉(zhuǎn)換為485協(xié)議向遠(yuǎn)端輸送,如圖3所示。
在圖3的方案中,關(guān)鍵設(shè)備是485~USB轉(zhuǎn)換器。這樣的設(shè)備在國(guó)內(nèi)外都已經(jīng)面市。筆者也曾經(jīng)用NATIONAL SEMICONDUCTOR公司的USBN9602+89c51+MAX485實(shí)現(xiàn)過(guò)這一功能,在實(shí)際應(yīng)用中取得了良好的效果。
需要特別說(shuō)明的是,在485~USB轉(zhuǎn)換器中,485接口的功能和通常采用485卡的接口性能(速率、驅(qū)動(dòng)能力等)完全一樣,也就是說(shuō),一個(gè)485~USB轉(zhuǎn)換器就能夠完全取代一塊485卡,成本要低許多,同時(shí)具有安裝方便、不受插槽數(shù)限制、不用外接電源等優(yōu)點(diǎn),為工業(yè)和科研數(shù)據(jù)采集提供了一條方便、廉價(jià)、有效的途徑。
4 綜合式采集數(shù)據(jù)傳輸系統(tǒng)的實(shí)現(xiàn)
現(xiàn)在的數(shù)據(jù)采集系統(tǒng)通常有分布式和總線兩種。采用USB接口易于實(shí)現(xiàn)分布式,而485接口則易于實(shí)現(xiàn)總線式,如果將這兩者結(jié)合起來(lái),則能夠?qū)崿F(xiàn)一種綜合式的數(shù)據(jù)采集系統(tǒng)。實(shí)現(xiàn)方法是:仍然利用上面提到過(guò)的USB~485轉(zhuǎn)換器實(shí)現(xiàn)兩種協(xié)議的轉(zhuǎn)換。由于USB的數(shù)據(jù)傳輸速率大大高于485,因此在每條485總線上仍然可以掛接多個(gè)設(shè)備,形成了圖4所示的結(jié)構(gòu),其中D代表一個(gè)設(shè)備。
這種傳輸系統(tǒng)適用于一些由多個(gè)空間上相對(duì)分散的工作點(diǎn),而每個(gè)工作點(diǎn)又有多個(gè)數(shù)據(jù)需要進(jìn)行采集和傳輸?shù)膱?chǎng)合,例如大型糧庫(kù),每個(gè)糧倉(cāng)在空間上相對(duì)分散,而每個(gè)糧倉(cāng)又需要采集溫度、濕度、二氧化碳濃度等一系列數(shù)據(jù)。在這樣的情況下,每一個(gè)糧倉(cāng)可以分配一條485總線,將溫度、濕度、二氧化碳濃度等量的采集設(shè)備都掛接到485總線上,然后每個(gè)糧倉(cāng)再通過(guò)485總線傳輸?shù)奖O(jiān)控中心,并轉(zhuǎn)換為USB協(xié)議傳輸?shù)絇C機(jī),多個(gè)糧倉(cāng)的傳輸數(shù)據(jù)在轉(zhuǎn)換為USB協(xié)議后可以通過(guò)Hub連接到一臺(tái)PC機(jī)上。由于糧倉(cāng)的各種數(shù)據(jù)監(jiān)測(cè)實(shí)時(shí)性要求不是很高,因此采用這種方法可以用一臺(tái)PC機(jī)完成對(duì)一個(gè)大型糧庫(kù)的所有監(jiān)測(cè)工作。
5 前景展望
USB設(shè)備的應(yīng)用目前在國(guó)外處于高速發(fā)展階段,在國(guó)內(nèi)的應(yīng)用已經(jīng)起步。我們?cè)赨SB數(shù)據(jù)采集、USB工業(yè)控制等領(lǐng)域已經(jīng)取得了一定的成果,在現(xiàn)實(shí)中得到成功的應(yīng)用。
即將出臺(tái)的USB2.0協(xié)議,數(shù)據(jù)傳輸速率高達(dá)480Mbps,如此高的傳輸速率能用于1.0的傳輸速率所無(wú)法滿足的地方,如高實(shí)時(shí)性要求的工業(yè)設(shè)備控制、動(dòng)態(tài)圖像實(shí)時(shí)傳輸?shù)取kS著時(shí)代的進(jìn)步和技術(shù)的發(fā)展,USB必將在更廣闊的領(lǐng)域得到更深層次的應(yīng)用。
責(zé)任編輯:gt
-
usb
+關(guān)注
關(guān)注
60文章
7938瀏覽量
264490 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
38文章
6055瀏覽量
113625 -
總線
+關(guān)注
關(guān)注
10文章
2878瀏覽量
88053
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論