1 引言
隨著測井技術的飛速發展,各種測井數據的實時采集和處理在現代測井系統中已必不可少。傳統的地面數據采集系統與主機之間的通信模式是采用PCI總線或RS-232串行總線。PCI總線雖然有很高的傳輸率,且支持“即插即用”,但是它的擴展槽相當有限,且插拔不方便,不適合便攜式系統的要求;RS-232串行總線雖然連接方便,但是帶寬非常有限,傳輸速率較低。為了克服以上通信方式的缺點,要求尋找一種新的通信方式進行數據傳輸,而通用串行總線USB的出現很好地解決了這些問題,很容易就能實現低成本、高可靠性、高速率的數據通信。
2 USB總線簡介
USB的優點:
①速度快。USB接口的最高傳輸率可達12 Mb/s;提供低速方式,速率為1.5 Mb/s。扣除用于總線狀態控制和錯誤檢測等數據傳輸,最大理論速度也能達到1.2 Mb/s和9.6 Mb/s。
②設備安裝和配置容易。安裝USB設備不必再打開機箱,加減已安裝過的設備完全不用關閉計算機。所有USB設備支持熱拔插,系統對其進行自動配置,徹底拋棄了過去的跳線和撥碼開關設置。
③易于擴展。通過使用Hub擴展可連接多達127個外設。標準的USB電纜長度為3m(低速為5m),通過Hub或者中繼器可使外設距離達到30m。可以使用多種連接方式進行擴展。
④采用總線供電。USB總線可為連接在其上的設備提供5V電壓/lOOmA電流的供電。USB設備也可采用自供電方式,或者兩者結合的方式。
⑤使用靈活。USB共有4種傳輸模式:控制傳輸、同步傳輸、中斷傳輸、批量傳輸,以適應不同設備的需要。
3 硬件電路設計
由測井儀器送至地面的信號有三類:模擬信號、脈沖信號以及編碼信號,所以地面數據采集系統首先對這三種不同的信號進行預處理,然后送至各自的通道進行數據采集再通過USB總線將數據傳送至上位機進行實時的處理。系統硬件框圖如圖1所示。
圖1系統硬件框圖
由井下傳送至地面的模擬信號、脈沖信號、編碼信號分別經過相應接口面板的凋理后,進入A/D轉換器(MAXl97)、脈沖計數器(82C54)、解調器,在CPU的控制下,實現控制算法,進行相應的數據采集、解碼,并將采集到的數據存放在相應的RAM中。另一方面,CPU還要完成USB協議處理、響應USB接口芯片的中斷處理、完成數據交換,同時還有一些附加功能(如驅動數控面板的LCD顯示等),由于單片機自身資源的有限,僅僅使用一片單片機難以勝任,為此我們擴展了一片單片機(兩片單片機均為AT89S52),采用多單片機分配任務、協同工作,讓一片單片機實現采集控制,另外一片實現USB協議下的實時數據通信。
使用多單片機固然能按要求實現任務,但兩片單片機之間的數據通信問題也隨之而來。傳統的多單片機之間的通信是通過串口來實現的。但在設計中,由于采集單片機的數據量非常大,若使用串口進行通信,由于單片機的串行寄存器SBUF只能保留一個字節的數據,必然造成采集數據的嚴重丟失或錯誤。針對這樣問題,在設計中采用了采集單片機與通信單片機之間通過雙端口RAM(ID’F7132)共享數據的方案,它一方面可以存儲采集單片機采集到的數據,另一方面可以實現兩單片機之間的高速、實時數據通信。
USB接口芯片采用Philips公司的PDIUS—BDl2(簡稱D12),可以實現4種不同的模式:非同步模式、同步輸出模式、同步輸入模式以及同步輸入/輸出模式。D12與通信CPU的電路連接如圖2所示。
圖2 AT89S52與PDIUSBDl2的接口電路圖
這里D12使用的是多路地址/數據總線配置方式,單片機的INT—N應配置為電平觸發中斷。D12在ALE下降沿的時候對單片機的輸出地址進行鎖存。這種方式下,單片機也是使用指令MOVX對D12進行操作,倘若輸出的地址為奇數表示對D12發送指令,輸出的地址為偶數時,則表示對D12進行數據傳輸。D12的地址由片選信號(P2的任一口線)決定。USB設備采用自供電方式,將EOT引腳需要通過串聯電阻連接到Vbus上,使用EOT來檢測USB總線是否連接上,只有連接上USB總線,單片機發送的命令才有效。
4 軟件設計
4.1 固件程序的設計
固件程序是指被固化到AT89S52中FLASH中的程序,它是設備運行的核心,其主要功能是控制USB接口芯片接收并處理USB驅動程序的請求(如請求設備描述符、請求或設置設備狀態、請求設備設置、請求或設置設備接口等USB標準請求);控制USB接口芯片接收應用程序的控制指令;將存儲在雙口RAM中的數據通過USB控制器實時上傳至PC。
USB控制器的工作原理是:當USB控制器從USB總線檢測到主機啟動的某一傳輸請求時,USB控制器通過中斷方式將此請求通知USB接口系統,接口系統通過訪問USB控制器的狀態寄存器獲得與此傳輸有關的各種參數,并根據具體傳輸參數,對USB控制器的控制寄存器和數據寄存器進行相應的操作,以完成主機的傳輸請求。
4.2 設備驅動程序的設計
USB驅動程序是支持即插即用功能的標準WDM驅動程序,結構如圖3所示。Windows對構成一個USB總線主機的不同軟件部分進行了十分清楚的劃分,其中USB總線客戶軟件包含了用來控制不同USB總線外設的設備驅動程序,它通過Windows所定義的軟件接口與根集線器驅動程序進行通信,而USB根集線器驅動程序則要通過包含在USBD中的USBDI(通用串行總線驅動程序接口)實現與通用串行總線驅動程序(USBD)的通信。然后,USBD會選擇兩種主控制器驅動程序(HCD)之一同其下方的主控制器進行通信。最后,主控制器驅動程序會贏接實現對USB物理總線的訪問(通過PCI枚舉器軟件)。
圖3 USB驅動程序體系結構
開發設備驅動程序需要專門的開發工具,目前常用的開發工具有Windows DI)K和Driver—Studio。NuMega公司開發的DriverStudio是一個強大的開發工具包,它包括VtoolsD、Driver—Works、DriverNetworks和調試工具SoftlCE等等。用DriverWorks開發基于WDM的USB設備驅動程序時,將自動生成WDM的工程文件,通常包括5個*.h和2個*.cpp文件,此外還自動生成*.inf文件,開發者只要根據自己的需要稍做修改即可。
·USBLOG.cpp:包括DriverEntry()、LOAdRegisrtyParameters()、AddI)evice()例程,主要實現初始化設備的功能。
·USBLOGDevice.cpp:主要實現電源管理、系統控制、設備的移除、設備的開始等功能。
·USBLOG.inf:設備的安裝文件,說明設備的安裝信息。
4.3 應用程序的設計
應用軟件由兩部分組成:動態鏈接庫和應用程序。動態鏈接庫負責與內核態的USB功能驅
動程序通信并接收應用程序的各種操作請求,而應用程序負責對地面系統采集、處理的各種數據進行實時繪圖顯示、分析、打印和存盤等。軟件設計可以采用Visual C++等。
5 結束語
將USB技術應用到便攜式數控測井系統中,可以使上、下位機之間的數據傳輸速率和誤碼率得到明顯的改善,傳輸速率能達到8Mbps以上,誤碼率能降至10-7以下。應用USB技術,可以大大降低數據的丟失率,使采集的數據得到實時顯示,同時,為便攜式數控測井系統接口的簡便化、高速化和可靠性打下堅實的基礎。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:USB總線在便攜式數控測井系統中的應用