結合USB和微處理器的數據采集系統
1 引言
現代工控自動化和科學研究對數據采集的要求日益提高, 在一些實時信號測量和圖像處理等領域要進行高速精確數據采集,通用串行總線(USB 數據總線)已經在各種計算機中得到普及,并成為計算機的標準外設,它具有安裝方便、通用、高速傳輸、支持熱插拔即插即用可開發成本低等優點。在工控領域經常需要采集數據并將數據傳輸到計算機中進行處理,工業控制中應用廣泛的是微處理器。USB 總線和微處理器結合,非常適合現場數據采集等,在工業控制中有廣闊的應用前景。文中介紹一種USB采集系統,是二者有效結合使用的例子。
2 數據采集系統開發概述
USB 控制器主要有兩種:一種是帶USB 接口的單片機(MCU);另一種是專用的USB 接口芯片。本系統選擇專用的USB 接口芯片,這就必須有一個位處理器進行協議處理和數據交換。專用USB 接口芯片的優點是價格便宜。接口方便和可靠性高,它尤其適合于產品的改型設計, 硬件上僅需對并行總線和中斷進行改動, 軟件則需要增加微處理器的USB 中斷處理和數據交換程序以及PC機的USB 接口通信程序,無需對原有產品系統結構作很大的改動。
一般USB 接口芯片都支持多種并行總線結構, 可方便地與多種單片機接口。硬件設計中要注意USB 接口芯片的時鐘速度較高。如果芯片內部沒有PLL 倍頻,則單片機晶體振蕩頻率應該注意與之匹配,USB 設備的軟件設計主要包括兩部分:
1)、USB 設備端的單片機軟件,完成USB 協議處理與數據交換以及其他應用功能軟件,完成USB 協議處理與數據交換以及其他應用功能程序;
2)、PC 機端的程序由USB 通信程序和用戶服務程序兩部分組成。
用戶服務程序通過USB 通信程序與系統USBDI(USB device interface)通信,由系統完成USB 協議處理與數據傳輸。PC 端程序的開發難度較大,而文中介紹的系統不需要用戶熟悉USB 協議以及Windows體系結構等就可以很快開發。下面從硬件和軟件兩方面介紹一個便攜式USB 數據采集系統的開發。
3 硬件設計
對于USB 接口芯片,選擇了USB100,它是目前開發較方便的USB 接口產品,不必為其編寫驅動程序。USB100 模塊的數據通信速度最高為8Mb/s,它是完全集成化的USB 通信接口模塊,完全滿足USB1.1 標準。內部多達384 字節的發送緩沖區和128 字節的接收緩沖區,滿足高速通信與單片機接口的需要。單片機可選擇帶A/D、D/A 轉換的類型,也可以選擇普通單片機,然后再選擇A/D、D/A 模塊。
第1 種選擇高性能的單片機,例如ADμC812 作為系統處理器。ADμC812 在單個芯片內集成了8 路12 位ADC 采集系統、2 路12 位DAC、80C52MCU 內核、8kb 的閃速/ 電可擦除程序存儲器、640 字節的閃速/ 電可擦除數據存儲器、看門狗定時器、電源監視器。I2C 兼容的SPI 和標準的UART 串行I/O 模塊及靈活的電源管理方案等等,真正實現了單片機應用系統的單片機。數據采集系統的組成如圖1 所示。
圖1 USB 數據采集系統
第2 種選用一般單片機作為處理器,例如At90s8515。At90s8515 是基于AVR 增強型RISC 結構的高速低功耗8 位微處理器。
它提供8k 可下載閃存、512 字節EEPROM、512 字節SRAM、32 條多功能I/O 線以及可編程UART、帶有內部震蕩器的可編程看門狗定時器。單片機選好之后,需要再選擇A/D、D/A 模塊來實現數據采集功能。數據采集系統組成如圖2 所示。
圖2 USB 數據采集系統板
圖2 中選擇具有8 通道12 位AD7888 A/D 轉換器和2 路12 位AD7274 D/A 轉換器。
評論