《USB在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用》由會(huì)員分享,可在線閱讀,更多相關(guān)《USB在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用(3頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、USB在數(shù)據(jù)采集系統(tǒng)中的應(yīng)用摘要:已成為PC標(biāo)準(zhǔn)的通用串行總線USB為多點(diǎn)數(shù)據(jù)采集提供了很大的便利,利用USB可以實(shí)現(xiàn)較傳統(tǒng)方式更有效、更經(jīng)濟(jì)、點(diǎn)數(shù)更多的數(shù)據(jù)采集。本文介紹了如何利用USB接口來(lái)實(shí)現(xiàn)多點(diǎn)數(shù)據(jù)采集。關(guān)鍵詞:USBRS485數(shù)據(jù)采集在工業(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è)備。而通用串行總線(
2、UniversalAerialBus,簡(jiǎn)稱USB)的出現(xiàn),很好地解決了以上這些沖突,很容易就能實(shí)現(xiàn)低成本、高可靠性、多點(diǎn)的數(shù)據(jù)采集。USB簡(jiǎn)介USB是一些PC大廠商,如Microsoft、Intel等為了解決日益增加的PC外設(shè)與有限的主板插槽和端口之間的矛盾而制定的一種串行通信的標(biāo)準(zhǔn),自1995年在Comdex上亮相以來(lái)至今已廣泛地為各PC廠家所支持?,F(xiàn)在生產(chǎn)的PC幾乎都配備了USB接口,Microsft的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系統(tǒng)都增加了對(duì)USB的支持。1.1USB系統(tǒng)的構(gòu)成USB系統(tǒng)主要由主控制器(HostController)、USB
3、Hub和USB外設(shè)(PeripheralsNode)組成系統(tǒng)拓?fù)浣Y(jié)構(gòu),如圖所示。1.2USB的主要優(yōu)點(diǎn)·速度快。USB有高速和低速兩種方式,主模式為高速模式,速率為12Mbps,另外為了適應(yīng)一些不需要很大吞吐量和很高實(shí)時(shí)性的設(shè)備,如鼠標(biāo)等,USB還提供低速方式,速率為1.5Mb/s。·設(shè)備安裝和配置容易。安裝USB設(shè)備不必再打開機(jī)箱,加減已安裝過(guò)的設(shè)備完全不用關(guān)閉計(jì)算機(jī)。所有USB設(shè)備支持熱拔插,系統(tǒng)對(duì)其進(jìn)行自動(dòng)配置,徹底拋棄了過(guò)去的跳線和撥碼開關(guān)設(shè)置。·易于擴(kuò)展。通過(guò)使用Hub擴(kuò)展可撥接多達(dá)127個(gè)外設(shè)。標(biāo)準(zhǔn)USB電纜長(zhǎng)度為3m(5m低速)。通過(guò)Hub或中繼器可
4、以使外設(shè)距離達(dá)到30m。·能夠采用總線供電。USB總線提供最大達(dá)5V電壓、500mA電流。·使用靈活。USB共有種傳輸模式:控制傳輸(control)、同步傳輸(Synchronization)、中斷傳輸(interrupt)、批量傳輸(bulk),以適應(yīng)不同設(shè)備的需要。采用USB傳輸?shù)臄?shù)據(jù)采集設(shè)備2.1硬件組成一個(gè)實(shí)用的USB數(shù)據(jù)采集系統(tǒng)包括A/D轉(zhuǎn)換器、微控制器以及USB通信接口。為了擴(kuò)展其用途,還可以加上多路模擬開關(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)充分注意抗干擾的性能,尤
5、其對(duì)A/D采集更是如此。在微控制器和USB接口的選擇上有兩種方式,一種是采用普通單片機(jī)加上專用的USB通信芯片。現(xiàn)在的專用芯片中較流行的有NationalSemiconductor公司的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),有的本身就具
6、備多路A/D,構(gòu)成系統(tǒng)的電路簡(jiǎn)單,調(diào)試方便,電磁兼容性好,因此采用具備USB接口的單片機(jī)是構(gòu)成USB數(shù)據(jù)采集系統(tǒng)較好的方案。不過(guò),由于具備了USB接口,這些芯片與過(guò)去的開發(fā)系統(tǒng)通常是不兼容的,需要購(gòu)買新的開發(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開發(fā)中最困難的一件事情,通常采用WindowsDDK來(lái)實(shí)現(xiàn)。目前有許多第
7、三方軟件廠商提供了各種各樣的生成工具,象Compuware的driverworks,BlueWaters的DriverWizard等,它們能夠很容易地在幾分鐘之內(nèi)生成高質(zhì)量的USB的驅(qū)動(dòng)程序。設(shè)備中單片機(jī)程序的編制也同樣困難,而且沒(méi)有任何一家廠商提供了自動(dòng)生成的工具。編制一個(gè)穩(wěn)定、完善的單片機(jī)程序直接關(guān)系到設(shè)備性能,必須給予充分的重視。以上兩個(gè)程序是開發(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)行再開發(fā)的接口。實(shí)現(xiàn)USB遠(yuǎn)距離采集數(shù)據(jù)傳輸傳
8、輸距離是限制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)有大量采用RS485傳輸數(shù)據(jù)的采集設(shè)備。RS485有其固有的優(yōu)點(diǎn),即它的傳輸距離可以達(dá)到1200米以上,并且可以掛接多個(gè)設(shè)備。其不足之處在于傳輸速度慢,采用總線方式,設(shè)備之間相互影響,可靠性差,需要板卡的支持,成本高,安裝麻煩等。RS485的這些缺點(diǎn)恰好能被USB所彌補(bǔ),而USB傳輸距離的限制恰好又是RS485的優(yōu)勢(shì)所在。如果能將兩者結(jié)合起來(lái),優(yōu)勢(shì)互補(bǔ),就能夠產(chǎn)生一種快速、可靠、低成本的遠(yuǎn)距離數(shù)據(jù)采集系統(tǒng)。這種系統(tǒng)的基本思想是:在采集現(xiàn)場(chǎng),將傳感器采集
9、到的模擬量數(shù)字化以后,利用RS485協(xié)議將數(shù)據(jù)上傳。在PC端有一個(gè)雙向RS485USB的轉(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ò)485USB轉(zhuǎn)換口轉(zhuǎn)換為485協(xié)議向遠(yuǎn)端輸送,如圖3所示。在圖3的方案中,關(guān)鍵設(shè)備是485USB轉(zhuǎn)換器。這樣的設(shè)備在國(guó)內(nèi)外都已經(jīng)面市。筆者也曾經(jīng)用NationalSemiconductor公司的USBN9602+89c51+MAX485實(shí)現(xiàn)過(guò)這一功能,在實(shí)際應(yīng)用中取得了良好的效果。需要特別說(shuō)明的是,在485USB轉(zhuǎn)換器中,485接口的功能和通常采用485卡的接
10、口性能(速率、驅(qū)動(dòng)能力等)完全一樣,也就是說(shuō),一個(gè)485USB轉(zhuǎn)換器就能夠完全取代一塊485卡,成本要低許多,同時(shí)具有安裝方便、不受插槽數(shù)限制、不用外接電源等優(yōu)點(diǎn),為工業(yè)和科研數(shù)據(jù)采集提供了一條方便、廉價(jià)、有效的途徑。綜合式采集數(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ò)的USB485轉(zhuǎn)換器實(shí)現(xiàn)兩種協(xié)議的轉(zhuǎn)換。由于USB的數(shù)據(jù)傳輸速率大大高于485,因此在每條485總線上仍然可以掛接多個(gè)設(shè)備,形成了圖4所示的結(jié)構(gòu),其中D代表一個(gè)設(shè)備
11、。這種傳輸系統(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è)工作。前景展望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ù)?。隨著時(shí)代的進(jìn)步和技術(shù)的發(fā)展,USB必將在更廣闊的領(lǐng)域得到更深層次的應(yīng)用。