USB傳感器與存儲器在數據記錄中的應用
目前市場(chǎng)上有很多種數據采集設備可用于在PC上記錄數據,如National Instrument的LabVIEW,不過(guò)這類(lèi)設備的傳感器件開(kāi)始越來(lái)越多地采用USB接口而不是RS232或其他傳統接口。過(guò)去在嵌入式系統中應用USB設備需要性能相對較強的硬件,要帶有USB Host控制器接口、RTOS以及USB軟件驅動(dòng),結果因USB Host功能實(shí)施成本的原因設計工程師一直都不太愿意在小型8位或16位MCU系統上增加USB設備。但隨著(zhù)最新一代智能USB Host控制器IC的推出,與MCU配合使用不僅可為PC應用使用USB數據采集設備,而且還可將數據存儲在低成本高容量的閃存盤(pán)上。
本文引用地址:http://dyxdggzs.com/article/87947.htm數據記錄應用
第一個(gè)應用實(shí)例顯示了一個(gè)MCU控制器和一個(gè)帶有兩個(gè)端口的FTDI VNC1L USB Host控制器:一個(gè)用于數據傳感器件讀取信息,另一個(gè)用于閃存盤(pán)以存儲信息。MCU和USB Host控制器之間通過(guò)UART (或者SPI)命令監控接口進(jìn)行通信,可使應用通過(guò)簡(jiǎn)單的命令集控制USB設備。
應用原理框圖見(jiàn)圖1。這里選擇的MCU是Microchip PICDEM 4演示板上的PIC18F1320,雖然它應該直接連到PIC系列其他成員以及其他MCU系列。MCU和VNC1L之間采用4線(xiàn)連接(再加上電源和地),連到PIC的EUSART (Tx和Rx)和兩個(gè)I/O端口,以進(jìn)行RTS/CTS數據流控制。另外,4線(xiàn)SPI端口還可以通過(guò)直接位拆裂I/O端口實(shí)現。下面提供了兩種方法的C語(yǔ)言源代碼。
該應用要求從一個(gè)DLP Design的DLP-TILT 2軸傾角傳感器讀取數據,然后以CSV格式將接收到的數據存在USB閃存盤(pán)上。當DLP-TILT模塊從USB總線(xiàn)接收到一個(gè)包含字母“z”的OUT數據包后,就會(huì )對傳感器電流讀數進(jìn)行采樣,傾角傳感器讀數被一個(gè)IN數據包讀取。通過(guò)VNC1L監控器,OUT數據包可以和DSD (設備發(fā)送數據)命令一起發(fā)送,后面跟著(zhù)數據字節數和發(fā)送的數據。IN數據包和DRD (設備讀取數據)命令一起被接收,VNC1L將返回字節數和從設備讀出的所有數據。
由于USB需要將數據傳遞到數據包中,所以通常USB設備會(huì )有幾個(gè)毫秒的延遲,盡管這可以通過(guò)對傳感器數據提供更大的緩沖加以解決。當然,有些設計可能不需要USB傳感器件而只是將數據存儲到閃存盤(pán)上,在數據采集應用中通常都是這種情況,此時(shí)MCU采樣模擬數據或者記錄外部源傳來(lái)的數據。由于無(wú)需探查USB設備,因此這樣可以得到更高的采集數據率。
數據采集應用
圖2顯示了一個(gè)模擬輸入應用。此例中我們還是使用Microchip PICDEM 4演示板上的PIC18F1320作為MCU。加速計模塊是意法半導體的STEVAL-MKI010V1,它連到PIC的模擬輸入端。PIC定期對該輸入進(jìn)行采樣,結果送入FIFO緩沖器中,在軟件中執行,然后由VNC1L寫(xiě)入存儲設備。
VNC1L監控器提供命令對USB閃存盤(pán)文件進(jìn)行讀寫(xiě),它還有命令管理文件系統,可對文件及文件目錄進(jìn)行建立、重命名以及刪除操作。有了與USB設備進(jìn)行通信的命令后,文件系統命令使用非常簡(jiǎn)單。將數據寫(xiě)入文件的順序是:使用OPW (打開(kāi)準備寫(xiě)入)命令,后面緊跟文件名,然后是WRF (寫(xiě)入文件),后面是寫(xiě)入字節數,然后是CLF (關(guān)閉文件),后面還是跟著(zhù)文件名。
USB閃存盤(pán)的標準扇區大小是512字節,因此要達到最好效果就是在寫(xiě)入USB閃存盤(pán)之前提供512字節數據的緩存。USB閃存盤(pán)通常使用的文件系統是FAT12、FAT16或者FAT32,在這些系統中簇按需分配,這樣當簇沒(méi)有按順序排列時(shí)可能造成一些小的延遲,然而這通常只是在那些內容快滿(mǎn)的盤(pán)上比較常見(jiàn)。
使用Vinculum
幾乎所有扇區容量為512字節和采用FAT文件系統的USB閃存盤(pán)都可以作為VNC1L的存儲設備。VNC1L的固件可以在現場(chǎng)進(jìn)行升級,通過(guò)USB閃存盤(pán)上特別的升級文件或者通過(guò)其UART接口進(jìn)行ROM升級?;赩NC1L設計的其它優(yōu)點(diǎn)是當USB閃存盤(pán)沒(méi)有使用時(shí)它可以使其暫停以省電,而在執行文件操作期間自動(dòng)喚醒,VNC1L本身也可進(jìn)入低功耗睡眠模式并由微控制器應用喚醒。將USB設備協(xié)議及文件管理系統放到一個(gè)單獨的IC上可為嵌入式數據記錄或數據采集系統設計帶來(lái)很多好處,它可使低功耗8位和16位MCU訪(fǎng)問(wèn)USB設備和閃存盤(pán),而FTDI的VNC1L則以一種符合成本效益的方式實(shí)現了這一功能。
評論