USB在數據采集系統中的應用
2.2 軟件構成
Windows98 提供了多種USB設備的驅動程序,但好象還沒有一種是專門針對數據采集系統的,所以必須針對特定的設備來編制驅動程序。盡管系統已經提供了很多標準接口函數,但編制驅動程序仍然是USB開發中最困難的一件事情,通常采用Windows DDK來實現。目前有許多第三方軟件廠商提供了各種各樣的生成工具,象Compuware的driver works,Blue Waters的Driver Wizard等,它們能夠很容易地在幾分鐘之內生成高質量的USB的驅動程序。
設備中單片機程序的編制也同樣困難,而且沒有任何一家廠商提供了自動生成的工具。編制一個穩定、完善的單片機程序直接關系到設備性能,必須給予充分的重視。
以上兩個程序是開發者所關心的,用戶不大關心。用戶關心的是如何高效地通過鼠標來操作設備,如何處理和分析采集進來的大量數據,因此還必須有高質量的用戶軟件。用戶軟件必須有友好的界面,強大的數據分析和處理能力以及為用戶提供進行再開發的接口。
3 實現USB遠距離采集數據傳輸
傳輸距離是限制USB在工業現場應用的一個障礙,即使增加了中繼或Hub,USB傳輸距離通常也不超過幾十米,這對工業現場而言顯然是太短了。
現在工業現場有大量采用RS-485傳輸數據的采集設備。RS-485有其固有的優點,即它的傳輸距離可以達到1200米以上,并且可以掛接多個設備。其不足之處在于傳輸速度慢,采用總線方式,設備之間相互影響,可靠性差,需要板卡的支持,成本高,安裝麻煩等。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卡,成本要低許多,同時具有安裝方便、不受插槽數限制、不用外接電源等優點,為工業和科研數據采集提供了一條方便、廉價、有效的途徑。
4 綜合式采集數據傳輸系統的實現
現在的數據采集系統通常有分布式和總線兩種。采用USB接口易于實現分布式,而485接口則易于實現總線式,如果將這兩者結合起來,則能夠實現一種綜合式的數據采集系統。實現方法是:仍然利用上面提到過的USB~485轉換器實現兩種協議的轉換。由于USB的數據傳輸速率大大高于485,因此在每條485總線上仍然可以掛接多個設備,形成了圖4所示的結構,其中D代表一個設備。
這種傳輸系統適用于一些由多個空間上相對分散的工作點,而每個工作點又有多個數據需要進行采集和傳輸的場合,例如大型糧庫,每個糧倉在空間上相對分散,而每個糧倉又需要采集溫度、濕度、二氧化碳濃度等一系列數據。在這樣的情況下,每一個糧倉可以分配一條485總線,將溫度、濕度、二氧化碳濃度等量的采集設備都掛接到485總線上,然后每個糧倉再通過485總線傳輸到監控中心,并轉換為USB協議傳輸到PC機,多個糧倉的傳輸數據在轉換為USB協議后可以通過Hub連接到一臺PC機上。由于糧倉的各種數據監測實時性要求不是很高,因此采用這種方法可以用一臺PC機完成對一個大型糧庫的所有監測工作。
5 前景展望
USB設備的應用目前在國外處于高速發展階段,在國內的應用已經起步。我們在USB數據采集、USB工業控制等領域已經取得了一定的成果,在現實中得到成功的應用。
即將出臺的USB2.0協議,數據傳輸速率高達480Mbps,如此高的傳輸速率能用于1.0的傳輸速率所無法滿足的地方,如高實時性要求的工業設備控制、動態圖像實時傳輸等。隨著時代的進步和技術的發展,USB必將在更廣闊的領域得到更深層次的應用。
評論