|
USB在數據采集係統中的應用 劉丁 毛德柱 王雲飛(清華大學) 摘 要:已成為PC標準的通用串行總線USB為多點數據采集提供了很大的便利,利用USB可以實現較傳統方式更有效、更經濟、點數更多的數據采集。本文介紹了如何利用USB接口來實現多點數據采集。 關鍵詞:USB;RS485;數據采集 在工業生產和科學技術研究的各行業中,常常利用PC或工控機對各種數據進行采集。這其中有很多地方需要對各種數據進行采集,如液位、溫度、壓力、頻率等。現在常用的采集方式是通過數據采集板卡,常用的有A/D卡以及422、485等總線板卡。采用板卡不僅安裝麻煩、易受機箱內環境的幹擾,而且由於受計算機插槽數量和地址、中斷資源的限製,不可能掛接很多設備。而通用串行總線(Universal Aerial Bus,簡稱USB)的出現,很好地解決了以上這些衝突,很容易就能實現低成本、高可靠性、多點的數據采集。 一、USB簡介 USB是一些PC大廠商,如Microsoft、Intel等為了解決日益增加的PC外設與有限的主板插槽和端口之間的矛盾而製定的一種串行通信的標準,自1995年在Comdex上亮相以來至今已廣泛地為各PC廠家所支持。現在生產的PC幾乎都配備了USB接口,Microsft的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作係統都增加了對USB的支持。 1、USB係統的構成 USB係統主要由主控製器(Host Controller)、USB Hub 和USB外設(Peripherals Node)組成係統拓撲結構,如圖1所示。 2、USB的主要優點 (1)速度快 USB有高速和低速兩種方式,主模式為高速模式,速率為12Mbps,另外為了適應一些不需要很大吞吐量和很高實時性的設備,如鼠標等,USB還提供低速方式,速率為1.5Mb/s。 (2)設備安裝和配置容易 安裝USB設備不必再打開機箱,加減已安裝過的設備完全不用關閉計算機。所有USB設備支持熱拔插,係統對其進行自動配置,徹底拋棄了過去的跳線和撥碼開關設置。 (3)易於擴展 通過使用Hub擴展可撥接多達127個外設。標準USB電纜長度為3m(5m低速)。通過Hub或中繼器可以使外設距離達到30m。 (4)能夠采用總線供電 USB總線提供最大達5V電壓、500mA電流。 (5)使用靈活 USB共有4種傳輸模式:控製傳輸(control)、同步傳輸(Synchronization)、中斷傳輸(interrupt)、批量傳輸(bulk),以適應不同設備的需要。 二、采用USB傳輸的數據采集設備 1、硬件組成 一個實用的USB數據采集係統包括A/D轉換器、微控製器以及USB通信接口。為了擴展其用途,還可以加上多路模擬開關和數字I/O端口。 係統的A/D、數字I/O的設計可沿用傳統的設計方法,根據采集的精度、速率、通道數等諸元素選擇合適的芯片,設計時應充分注意抗幹擾的性能,尤其對A/D采集更是如此。 在微控製器和USB接口的選擇上有兩種方式,一種是采用普通單片機加上專用的USB通信芯片。現在的專用芯片中較流行的有National Semiconductor公司的USBN9602、ScanLogic公司的SL11等。筆者曾經采用Atmel公司的89c51單片機和USBN9602芯片構成係統,取得了良好的效果。這種方案的設計和調試比較麻煩,成本相對而言也比較高。 另一種方案是采用具備USB通信功能的單片機。隨著USB應用的日益廣泛,Intel、SGS-Tomson、Cypress、Philips等芯片廠商都推出了具備USB通信接口的單片機。這些單片機處理能力強,有的本身就具備多路A/D,構成係統的電路簡單,調試方便,電磁兼容性好,因此采用具備USB接口的單片機是構成USB數據采集係統較好的方案。不過,由於具備了USB接口,這些芯片與過去的開發係統通常是不兼容的,需要購買新的開發係統,投資較高。 USB的一大優點是可以提供電源。在數據采集設備中耗電量通常不大,因此可以設計成采用總線供電的設備。 2、軟件構成 Windows98 提供了多種USB設she備bei的de驅qu動dong程cheng序xu,但dan好hao象xiang還hai沒mei有you一yi種zhong是shi專zhuan門men針zhen對dui數shu據ju采cai集ji係xi統tong的de,所suo以yi必bi須xu針zhen對dui特te定ding的de設she備bei來lai編bian製zhi驅qu動dong程cheng序xu。盡jin管guan係xi統tong已yi經jing提ti供gong了le很hen多duo標biao準zhun接jie口kou函han數shu,但dan編bian製zhi驅qu動dong程cheng序xu仍reng然ran是shiUSB開發中最困難的一件事情,通常采用Windows DDK來實現。目前有許多第三方軟件廠商提供了各種各樣的生成工具,象Compuware的driver works,Blue Waters的Driver Wizard等,它們能夠很容易地在幾分鍾之內生成高質量的USB的驅動程序。 設備中單片機程序的編製也同樣困難,而且沒有任何一家廠商提供了自動生成的工具。編製一個穩定、完善的單片機程序直接關係到設備性能,必須給予充分的重視。 以(yi)上(shang)兩(liang)個(ge)程(cheng)序(xu)是(shi)開(kai)發(fa)者(zhe)所(suo)關(guan)心(xin)的(de),用(yong)戶(hu)不(bu)大(da)關(guan)心(xin)。用(yong)戶(hu)關(guan)心(xin)的(de)是(shi)如(ru)何(he)高(gao)效(xiao)地(di)通(tong)過(guo)鼠(shu)標(biao)來(lai)操(cao)作(zuo)設(she)備(bei),如(ru)何(he)處(chu)理(li)和(he)分(fen)析(xi)采(cai)集(ji)進(jin)來(lai)的(de)大(da)量(liang)數(shu)據(ju),因(yin)此(ci)還(hai)必(bi)須(xu)有(you)高(gao)質(zhi)量(liang)的(de)用(yong)戶(hu)軟(ruan)件(jian)。用(yong)戶(hu)軟(ruan)件(jian)必(bi)須(xu)有(you)友(you)好(hao)的(de)界(jie)麵(mian),強(qiang)大(da)的(de)數(shu)據(ju)分(fen)析(xi)和(he)處(chu)理(li)能(neng)力(li)以(yi)及(ji)為(wei)用(yong)戶(hu)提(ti)供(gong)進(jin)行(xing)再(zai)開(kai)發(fa)的(de)接(jie)口(kou)。 三、實現USB遠距離采集數據傳輸 傳輸距離是限製USB在工業現場應用的一個障礙,即使增加了中繼或Hub,USB傳輸距離通常也不超過幾十米,這對工業現場而言顯然是太短了。 現在工業現場有大量采用RS-485傳輸數據的采集設備。RS-485有其固有的優點,即它的傳輸距離可以達到1200miyishang,bingqiekeyiguajieduogeshebei。qibuzuzhichuzaiyuchuanshusuduman,caiyongzongxianfangshi,shebeizhijianxianghuyingxiang,kekaoxingcha,xuyaobankadezhichi,chengbengao,anzhuangmafandeng。RS-485的這些缺點恰好能被USB所彌補,而USB傳輸距離的限製恰好又是RS-485的優勢所在。如果能將兩者結合起來,優勢互補,就能夠產生一種快速、可靠、低成本的遠距離數據采集係統。 這種係統的基本思想是:在采集現場,將傳感器采集到的模擬量數字化以後,利用RS-485協議將數據上傳。在PC端有一個雙向RS-485~USB的轉換接口,利用這個轉接口接收485的數據並通過USB接口傳輸至PC機進行分析處理。而主機向設備發送數據的過程正好相反:主機向USB口發送數據,數據通過485~USB轉換口轉換為485協議向遠端輸送,如圖3所示。 在圖3的方案中,關鍵設備是485~USB轉換器。這樣的設備在國內外都已經麵市。筆者也曾經用National Semiconductor公司的USBN9602+89c51+MAX485實現過這一功能,在實際應用中取得了良好的效果。 需要特別說明的是,在485~USB轉換器中,485接口的功能和通常采用485卡的接口性能(速率、驅動能力等)完全一樣,也就是說,一個485~USB轉換器就能夠完全取代一塊485卡,成本要低許多,同時具有安裝方便、不受插槽數限製、不用外接電源等優點,為工業和科研數據采集提供了一條方便、廉價、有效的途徑。 四、綜合式采集數據傳輸係統的實現 現在的數據采集係統通常有分布式和總線兩種。采用USB接口易於實現分布式,而485接口則易於實現總線式,如果將這兩者結合起來,則能夠實現一種綜合式的數據采集係統。實現方法是:仍然利用上麵提到過的USB~485轉換器實現兩種協議的轉換。由於USB的數據傳輸速率大大高於485,因此在每條485總線上仍然可以掛接多個設備,形成了圖4所示的結構,其中D代表一個設備。 zhezhongchuanshuxitongshiyongyuyixieyouduogekongjianshangxiangduifensandegongzuodian,ermeigegongzuodianyouyouduogeshujuxuyaojinxingcaijihechuanshudechanghe,lirudaxingliangku,meigeliangcangzaikongjianshangxiangduifensan,ermeigeliangcangyouxuyaocaijiwendu、濕度、二氧化碳濃度等一係列數據。在這樣的情況下,每一個糧倉可以分配一條485總線,將溫度、濕度、二氧化碳濃度等量的采集設備都掛接到485總線上,然後每個糧倉再通過485總線傳輸到監控中心,並轉換為USB協議傳輸到PC機,多個糧倉的傳輸數據在轉換為USB協議後可以通過Hub連接到一台PC機上。由於糧倉的各種數據監測實時性要求不是很高,因此采用這種方法可以用一台PC機完成對一個大型糧庫的所有監測工作。 五、前景展望 USB設備的應用目前在國外處於高速發展階段,在國內的應用已經起步。我們在USB數據采集、USB工業控製等領域已經取得了一定的成果,在現實中得到成功的應用。 即將出台的USB2.0協議,數據傳輸速率高達480Mbps,如此高的傳輸速率能用於1.0的傳輸速率所無法滿足的地方,如高實時性要求的工業設備控製、動態圖像實時傳輸等。隨著時代的進步和技術的發展,USB必將在更廣闊的領域得到更深層次的應用。
|