關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于USB接口的高增益數(shù)據(jù)采集系統(tǒng)

基于USB接口的高增益數(shù)據(jù)采集系統(tǒng)

作者: 時間:2009-06-16 來源:網(wǎng)絡(luò) 收藏

 1.2 信號調(diào)理電路的設(shè)計

本文引用地址:http://m.butianyuan.cn/article/202695.htm

  信號調(diào)理電路主要包括模擬信號多路選擇、濾波和信號放大等組成部分,電路如圖3所示。

信號調(diào)理電路

  系統(tǒng)電路設(shè)計中,只使用了單片機C8051F000本身自帶的一路模擬輸入AIN0;在單片機外圍用多路模擬開關(guān)CD4051擴展了8路模擬輸入。當單片機給CD4066的引腳CONT1輸入一個低電平、給引腳CONT2輸入一個高電平時,CD4066的引腳IN1和OUT1之間斷開、引腳IN2和OUT2之間短接,運算放大器ICL7650的負端輸入與它的輸出斷開,此時ICL7650對它的輸入信號放大8倍;當單片機給CD4066的引腳CONT1輸入一個高電平、引腳CONT2輸入一個低電平時,CD4066的引腳IN1和OUT1之間短接、引腳IN2和OUT2之間斷開,ICL7650的負端輸入與它的輸出直接短接,此時ICL7650和它的外圍電路一起組成了一個電壓跟隨器,只是增大A/D轉(zhuǎn)換器的輸入阻抗,并不對它的輸入信號進行放大。

  C8051F000片內(nèi)集成的放大器PGA編程范圍為0.5~16,當ICL7650作為一個電壓跟隨器時,系統(tǒng)可編程范圍為0.5~16;當ICL7650對輸入信號進行8倍放大時,系統(tǒng)可編程增益范圍為4~128,由此可見,系統(tǒng)可編程增益范圍較寬,滿足大多數(shù)情況下增益放大需要。

  2 軟件設(shè)計與實現(xiàn)

  系統(tǒng)軟件包括單片機固件程序,驅(qū)動程序及其鏈接庫,及用戶應(yīng)用程序。為了降低開發(fā)難度及縮短開發(fā)周期,系統(tǒng)采用了周立功公司開發(fā)的D12 SMART套件中的驅(qū)動程序及其鏈接庫[3],該鏈接庫為用戶應(yīng)用程序提供了API函數(shù),在編寫應(yīng)用程序時,只需調(diào)用API函數(shù)與采集系統(tǒng)之間交換數(shù)據(jù),而不需要關(guān)心具體的通訊協(xié)議。

  單片機固件設(shè)計采用中斷驅(qū)動方式。CPU在前臺進行數(shù)據(jù)采集, USB傳輸則在后臺進行, 而其中斷和主循環(huán)的數(shù)據(jù)交換則通過事件標志和數(shù)據(jù)緩沖區(qū)進行。這樣既保證了數(shù)據(jù)采集的實時性,又獲得了最佳的傳輸速率。固件結(jié)構(gòu)如圖4 所示。

固件結(jié)構(gòu)

  中斷服務(wù)程序主要負責從PDIUSBD12收集數(shù)據(jù), 將建立包和OUT數(shù)據(jù)存入數(shù)據(jù)緩沖結(jié)構(gòu)體,并設(shè)置相應(yīng)的標志位;而主循環(huán)負責對數(shù)據(jù)進行處理,根據(jù)標志位區(qū)分是標準請求還是廠商請求,進而調(diào)用標準請求處理程序和廠商請求處理程序。其中標準請求處理程序主要負責在設(shè)備枚舉過程中主機為識別設(shè)備而發(fā)送的請求, 主要包括讀取USB設(shè)備描述符、給USB設(shè)備分配地址、配置USB設(shè)備等功能。只有在計算機與USB設(shè)備建立鏈接之后,計算機才能識別出USB設(shè)備,與USB設(shè)備進行通訊。而廠商請求處理中是自行定義的請求處理函數(shù), 用來處理計算機發(fā)送給采集系統(tǒng)的各個設(shè)定命令,主要包括設(shè)定采集系統(tǒng)的量程、讀取通道采樣數(shù)據(jù)等命令。標準設(shè)備請求是在枚舉過程中由安裝在PC機中的USB驅(qū)動程序發(fā)送給USB設(shè)備的,而廠商請求是由用戶應(yīng)用程序通過調(diào)用USB鏈接庫提供的API函數(shù)將命令傳遞到功能驅(qū)動程序后, 通過相應(yīng)例程發(fā)送到USB設(shè)備的。

  PDIUSBD12 命令是一套訪問PDIUSBD12 所有功能的處理函數(shù),主要包括對PDIUSBD12設(shè)置地址、設(shè)置端點使能、設(shè)置模式、讀中斷寄存器、選擇端點、讀端點狀態(tài)、讀取緩沖區(qū)、清緩沖區(qū)等操作。當固件中的其它程序需要對PDIUSBD12 進行操作時, 只須調(diào)用其中相應(yīng)的子程序即可。

  硬件提取層是固件中的最底層代碼, 直接對PDIUSBD12訪問,其執(zhí)行與具體硬件電路有關(guān),使用的單片機不同, 或者實現(xiàn)的設(shè)備功能不同時這部分代碼也有所不同。

  3 結(jié)束語

  系統(tǒng)采用高速SOC單片機C8051F000和PDIUSBD12實現(xiàn)了寬量程的數(shù)據(jù)采集和基于USB的數(shù)據(jù)傳輸,基于該方案的采集系統(tǒng)已經(jīng)在實驗室調(diào)試通過,能夠準確地進行數(shù)據(jù)采樣和傳輸。本文作者創(chuàng)新點:利用了C8051F000片內(nèi)集成的增益放大器PGA,并結(jié)合外圍增益放大電路使系統(tǒng)的最大增益放大倍數(shù)達到了128倍,從而使系統(tǒng)能完成較寬范圍內(nèi)的電壓信號采集;系統(tǒng)在PDIUSBD12與單片機之間的電路設(shè)計中采用了單地址數(shù)據(jù)總線方案,相對于通常所采用的多路地址/數(shù)據(jù)總線方式大大減少了單片機I/O引腳的占用。


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉