歡迎您光臨本站 登入註冊首頁

概述

1引言   工業現場一般需要數據採集器完成各類數據採集任務。實際應用中要求數據採集器工作可靠,成本低廉,操作簡單,便於數據收集和分析,既能與PC機聯機工作又能獨立採集數據……

1 引言
    工業現場一般需要數據採集器完成各類數據採集任務。實際應用中要求數據採集器工作可靠,成本低廉,操作簡單,便於數據收集和分析,既能與PC機聯機工作又能獨立採集數據。為此,本文以帶有片上USB控制器和D/A轉換器的高度集成處理器C8051F340為核心器件,採用SD卡存儲技術利用USB匯流排、虛擬儀器實現軟體LabVIEW 設計圖形用戶界面,設計一款低成本數據採集器。該數據採集器可與PC機共同實現數據採集與分析,也可長時間獨立工作於工業現場.並將採集數據存放於大容量SD卡,便於數據收集並利用計算機分析。
    數據採集器的核心器件C8051F340是完全集成的混合信號片上系統型MCU,具有高達48 MI/s速率、流水線結構的8051兼容微控制器內核;全速、非侵入式的在線調試介面;帶有8個靈活的端點通道,具有收發器和1 KB FIFO RAM 的USB功能控制器;電源穩壓器;帶有模擬多路器的10位200 KS/s的單端/差分ADC;精確校準的12 MHz內部振蕩器和4倍時鐘乘法器;多達64 KB的片內Flash存儲器;4352位元組片內RAM;具有5個捕捉/比較模塊和看門狗定時器功能的可編程計數器/定時器陣列;3.3 V工作電壓,功耗低且帶有片內上電複位、VDD監視器和時鐘丟失檢測器;容許5 V輸入的多達40個I/O埠。還有與此處理器配套的免費集成開發軟體Silicon Labs IDE,以及專為其片上USB控制器開發的USBXpress開發套件,從而使得USB軟體開發變得容易。

2 系統設計方案
    系統設計框圖如圖1所示,整個系統由PC機和C8051F340數據採集模塊組成。PC機部分主要是軟體設計,包括LabVIEW 軟體編寫的數據採集圖形用戶界面和C8051F340單片機片上USB主機API,負責接收、顯示和處理由數據採集模塊通過USB介面發送的採集數據。而數據採集模塊主要由C8051F340處理器、預處理電路和SD卡構成,負責通過C8051F340片上D/A採集經預處理電路的被測信號,再將採集信號存儲至SD卡,並經USB匯流排傳輸給PC機顯示。另外,LabVIEW 應用程序和C8051F340應用程序均是採用Silicon Laboratories公司提供的USBXpress開發套件的API和驅動程序來實現對底層USB器件的讀寫操作。
 
圖1 數據採集器方框圖

3 硬體設計
    系統的硬體設計主要是數據採集模塊。由於C8051F340內部集成了高精度時鐘源、USB控制器、電壓調節器、A/D轉換器以及用於A/D轉換的參考電壓源等豐富的片上外設,因此在對數據採集模塊硬體設計時,無需擴展上述電路,使得系統硬體結構簡單,集成度高,可靠性好。如圖2所示,通過片上USB介面,C8051F340與PC機相連,從PC機USB介面+5 V端提取電源輸入至REGIN引腳,內部電壓調節器提供+3.3 V電壓。SD卡等元件的供電也由PC機USB介面提供,但需經+5 V至+3.3 V的電壓轉換電路。此外,系統還具有獨立的電源模塊,應對系統獨立運行而現場USB不能供電的情況。
 
圖2 數據採集器硬體原理圖
    C8051F340通過其片上P00~P03引腳與SD卡連接,實現SPI模式通信。需要說明的是:P01與DO和P02與DI的兩條連接線應該分別接10 kΩ和100 kΩ的上拉電阻,圖2中省略。系統還設計了複位按鍵,用於下載程序代碼和進行調試的10針下載調試介面,用於對被測信號限幅和防混疊濾波的預處理。PC機和數據採集模塊互連的USB連接線應選用帶有雙磁環保護的連接線,以保護數據採集模塊由於USB經常連接帶電拔插或其他干擾而遭受損壞。

4 軟體設計
    系統軟體主要包括PC機LabVIEW 程序和C8051F340處理器程序。
4.1 PC機LabVIEW 程序設計
    PC機LabVIEW 程序設計主要完成用戶圖形界面和基於USB主機通信程序兩大功能,從而實現人機交互,並將用戶輸入的指令和採集模塊採集的數據通過USB匯流排在PC機和C8051F340之間傳遞。用戶圖形界面屬於LabVIEW 的前面板設計,較為簡單,這裡主要討論LabVIEW 的程序面板(後面板)設計。如圖3所示,整個程序流程完全圍繞USB通信展開,流程圖中所涉及的SI_GetNumDevices()、SI_GetProductString()等函數均是Silicon Lab公司專為C8051F340單片機USB功能開發的USB主機端API函數。通過上層應用程序中直接調用這些函數。可以方便快捷地實現對USB底層硬體的訪問。
 
圖3 LabVIEW 程序設計流程圖
4.2 C8051F340處理器程序設計
    C8051F340單片機程序設計主要完成兩大功能.一是基於USB器件的通信程序,接收從USB主機發送的用戶指令並將採集的數據或SD卡中存儲的採集數據發送給USB主機:二是A/D轉換程序和SD卡讀寫程序
    圖4為C8051F340處理器USB通信程序流程圖。整個程序流程是以USB通信為主線,流程圖中所涉及的USB_Clock_Start()、USB_Init()等函數均是Silicon Lab公司專為C8051F340單片機USB功能開發的USB端API函數。通過在C8051F340上層應用程序中直接調用這些函數可以方便快捷地實現對USB底層硬體的訪問。A/D轉換程序簡單,可通過設置C8051F340片上定時器確定A/D轉換器的採樣周期,由定時器的溢出周期性的啟動A/D轉換器採樣被測數據。
 
圖4 C8051F340處理器USB通信程序流程圖
    C8051F340通過SPI介面與SD卡進行通信.完成採集數據的存儲或讀取。但SD卡上電后默認工作在SD卡通信模式。因此C8051F340上電后對SD卡的初始化設置時.須將其SD卡通信模式轉換為SPI通信模式。具體操作過程:C8051F340先向SD卡發出複位命令CMD0,若SD卡接收到返回值0x01,則說明SD卡的SPI通信模式設置成功,至少經過74個時鐘周期延時,就可進行SPI通信。SD卡的讀寫是以數據塊為單位,數據塊的長度最大可設置為512位元組,另外出於避免對SD卡過於頻繁訪問的考慮,被測信號採樣后的採樣值一般不能直接存儲到SD卡中,等採樣數據湊足設定的塊數據后,再集中存入SD卡。C8051F340通過SPI介面從SD卡讀取或存儲一塊數據的流程如圖5所示。需要說明的是C8051F340向SD卡寫入數據,在圖5所示的流程后,C8051F340將接收到SD卡發送的響應信息。從而確定C8051F340向SD卡寫入的數據是否正確。
 
圖5 C8051F340發送和接收一塊SD卡數據的流程圖

5 結束語
    本文設計的數據採集器利用高度集成的器件C8051F340實現數據A/D轉換、USB匯流排通信和系統控制,可與計算機聯機,也可利用大容量SD卡長時間現場獨立工作,數據採集方便。該數據採集器僅採用C8051F340一個主器件,結構簡單。工作穩定,體積小,成本低,現已成功用於工業現場。


[admin via 研發互助社區 ] 基於C8051F340的低成本數據採集器設計已經有3236次圍觀

http://cocdig.com/docs/show-post-42110.html