新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > USB接口的傳感器與存儲器在數(shù)據(jù)記錄中的實現(xiàn)

USB接口的傳感器與存儲器在數(shù)據(jù)記錄中的實現(xiàn)

作者: 時間:2011-08-31 來源:網(wǎng)絡(luò) 收藏
  數(shù)據(jù)采集(DAQ),是指從和其它待測設(shè)備等模擬和數(shù)字被測單元中自動采非電量或者電量信號,送到上位機中進行分析,處理。數(shù)據(jù)采集系統(tǒng)是結(jié)合基于計算機或者其他專用測試平臺的測量軟硬件產(chǎn)品來實現(xiàn)靈活的、用戶自定義的測量系統(tǒng)。數(shù)據(jù)采集技術(shù)廣泛引用在各個領(lǐng)域。比如攝像頭,麥克風(fēng),都是數(shù)據(jù)采集工具。過去在嵌入式系統(tǒng)中應(yīng)用USB設(shè)備需要性能相對較強的硬件,要帶有USBHost控制器接口、RTOS 以及USB軟件驅(qū)動,結(jié)果因USBHost功能實施成本的原因設(shè)計工程師一直都不太愿意在小型8位或16位MCU系統(tǒng)上增加USB設(shè)備。但隨著最新一代智能USBHost控制器IC的推出,與MCU配合使用不僅可為PC應(yīng)用使用USB數(shù)據(jù)采集設(shè)備,而且還可將數(shù)據(jù)存儲在低成本高容量的閃存盤上。

  應(yīng)用

  第一個應(yīng)用實例顯示了一個MCU控制器和一個帶有兩個端口的FTDIVNC1LUSBHost控制器:一個用于數(shù)據(jù)件讀取信息,另一個用于閃存盤以存儲信息。MCU和USBHost控制器之間通過UART(或者SPI)命令監(jiān)控接口進行通信,可使應(yīng)用通過簡單的命令集控制USB設(shè)備。

  這里選擇的MCU是MicrochipPICDEM4演示板上的PIC18F1320,雖然它應(yīng)該直接連到PIC系列其他成員以及其他MCU系列。 MCU和VNC1L之間采用4線連接(再加上電源和地),連到PIC的EUSART(Tx和Rx)和兩個I/O端口,以進行RTS/CTS數(shù)據(jù)流控制。另外,4線SPI端口還可以通過直接位拆裂I/O端口實現(xiàn)。下面提供了兩種方法的C語言源代碼。

  MCU(Micro Control Unit)中文名稱為微控制單元,又稱單片微型計算機(Single Chip Microcomputer)或者單片機,是指隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計算機的CPU、RAM、ROM、定時計數(shù)器和多種I/O接口集成在一片芯片上,形成芯片級的計算機,為不同的應(yīng)用場合做不同組合控制。微控制器在經(jīng)過這幾年不斷地研究,發(fā)展,歷經(jīng)4位,8位,到現(xiàn)在的16位及32位,甚至64位。產(chǎn)品的成熟度,以及投入廠商之多,應(yīng)用范圍之廣,真可謂之空前。

  該應(yīng)用要求從一個DLPDesign的DLP-TILT2軸傾角讀取數(shù)據(jù),然后以CSV格式將接收到的數(shù)據(jù)存在USB閃存盤上。當(dāng)DLP-TILT 模塊從USB總線接收到一個包含字母"z"的OUT數(shù)據(jù)包后,就會對傳感器電流讀數(shù)進行采樣,傾角傳感器讀數(shù)被一個IN數(shù)據(jù)包讀取。通過VNC1L監(jiān)控器,OUT數(shù)據(jù)包可以和DSD(設(shè)備發(fā)送數(shù)據(jù))命令一起發(fā)送,后面跟著數(shù)據(jù)字節(jié)數(shù)和發(fā)送的數(shù)據(jù)。IN數(shù)據(jù)包和DRD(設(shè)備讀取數(shù)據(jù))命令一起被接收,VNC1L將返回字節(jié)數(shù)和從設(shè)備讀出的所有數(shù)據(jù)。

  由于USB需要將數(shù)據(jù)傳遞到數(shù)據(jù)包中,所以通常USB設(shè)備會有幾個毫秒的延遲,盡管這可以通過對傳感器數(shù)據(jù)提供更大的緩沖加以解決。當(dāng)然,有些設(shè)計可能不需要USB傳感器件而只是將數(shù)據(jù)存儲到閃存盤上,在數(shù)據(jù)采集應(yīng)用中通常都是這種情況,此時MCU采樣模擬數(shù)據(jù)或者記錄外部源傳來的數(shù)據(jù)。由于無需探查 USB設(shè)備,因此這樣可以得到更高的采集數(shù)據(jù)率。

  數(shù)據(jù)采集應(yīng)用

  此例中我們還是使用MicrochipPICDEM4演示板上的PIC18F1320作為MCU.加速計模塊是意法半導(dǎo)體的STEVAL- MKI010V1,它連到PIC的模擬輸入端。PIC定期對該輸入進行采樣,結(jié)果送入FIFO緩沖器中,在軟件中執(zhí)行,然后由VNC1L寫入存儲設(shè)備。

  VNC1L監(jiān)控器提供命令對USB閃存盤文件進行讀寫,它還有命令管理文件系統(tǒng),可對文件及文件目錄進行建立、重命名以及刪除操作。

  有了與USB設(shè)備進行通信的命令后,文件系統(tǒng)命令使用非常簡單。將數(shù)據(jù)寫入文件的順序是:使用OPW(打開準(zhǔn)備寫入)命令,后面緊跟文件名,然后是WRF(寫入文件),后面是寫入字節(jié)數(shù),然后是CLF(關(guān)閉文件),后面還是跟著文件名。

  USB閃存盤的標(biāo)準(zhǔn)扇區(qū)大小是512字節(jié),因此要達到最好效果就是在寫入USB閃存盤之前提供512字節(jié)數(shù)據(jù)的緩存。USB閃存盤通常使用的文件系統(tǒng)是 FAT12、FAT16或者FAT32,在這些系統(tǒng)中簇按需分配,這樣當(dāng)簇沒有按順序排列時可能造成一些小的延遲,然而這通常只是在那些內(nèi)容快滿的盤上比較常見。

  USB是一個外部總線標(biāo)準(zhǔn),用于規(guī)范電腦與外部設(shè)備的連接和通訊。支持設(shè)備的即插即用和熱插拔功能。可用于連接多達127種外設(shè),如鼠標(biāo)、調(diào)制解調(diào)器和鍵盤等。USB是在1994年底由英特爾、康柏、IBM、Microsoft等多家公司聯(lián)合提出的,自1996年推出后,已成功替代串口和并口,并成為當(dāng)今個人電腦和大量智能設(shè)備的必配的接口之一。

  使用Vinculum

  幾乎所有扇區(qū)容量為512字節(jié)和采用FAT文件系統(tǒng)的USB閃存盤都可以作為VNC1L的存儲設(shè)備。VNC1L的固件可以在現(xiàn)場進行升級,通過USB閃存盤上特別的升級文件或者通過其UART接口進行ROM升級?;赩NC1L設(shè)計的其它優(yōu)點是當(dāng)USB閃存盤沒有使用時它可以使其暫停以省電,而在執(zhí)行文件操作期間自動喚醒,VNC1L本身也可進入低功耗睡眠模式并由微控制器應(yīng)用喚醒。將USB設(shè)備協(xié)議及文件管理系統(tǒng)放到一個單獨的IC上可為嵌入式或數(shù)據(jù)采集系統(tǒng)設(shè)計帶來很多好處,它可使低功耗8位和16位。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉