新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式數(shù)據(jù)采集系統(tǒng)中的ADS8364驅(qū)動(dòng)程序設(shè)計(jì)

嵌入式數(shù)據(jù)采集系統(tǒng)中的ADS8364驅(qū)動(dòng)程序設(shè)計(jì)

作者: 時(shí)間:2012-03-23 來源:網(wǎng)絡(luò) 收藏

1 引言

數(shù)據(jù)采集系統(tǒng)的工作原理就是將被測(cè)對(duì)象(外部世界或現(xiàn)場(chǎng))的各種參量(可以是物理量,也可以是化學(xué)量,生物量)通過各種傳感元件做適當(dāng)轉(zhuǎn)換后,再經(jīng)信號(hào)調(diào)理、采樣、量化、編碼、傳輸?shù)炔襟E,最后送到服務(wù)器進(jìn)行數(shù)據(jù)處理和存儲(chǔ)記錄的過程。用于數(shù)據(jù)采集的成套設(shè)備稱為數(shù)據(jù)采集系統(tǒng)(Data Acquisition System,DAS)。

數(shù)據(jù)采集系統(tǒng)一般包括傳感器、放大器、濾波器、A/D采樣轉(zhuǎn)換電路、微處理器等元件。數(shù)據(jù)采集系統(tǒng)基本組成示意圖如圖1所示。A/D轉(zhuǎn)換電路在數(shù)據(jù)采集系統(tǒng)中起著至關(guān)重要的作用,它的轉(zhuǎn)換精度和工作可靠度直接關(guān)系著整個(gè)采集系統(tǒng)的工作性能。由于篇幅有限,本文僅就該數(shù)據(jù)采集系統(tǒng)中的A/D轉(zhuǎn)換芯片的驅(qū)動(dòng)開發(fā)過程加以概述。

圖1 數(shù)據(jù)采集系統(tǒng)組成示意圖

2 的功能簡(jiǎn)介

是美國(guó)TI公司生產(chǎn)的一種高速、低能耗、6通道同步采樣轉(zhuǎn)換、單+5V供電、16位高速并行接口的高性能模數(shù)轉(zhuǎn)換芯片。并帶有6個(gè)80dB共模抑制的全差分輸入通道以及6個(gè)4μs連續(xù)近似的模數(shù)轉(zhuǎn)換器、6個(gè)差分采樣/保持放大器[1]。 ADS8364的6個(gè)模擬輸入分為3組(A,B和C),每個(gè)輸入端都有一個(gè)ADCs保持信號(hào)以用來保證幾個(gè)輸入通道能同時(shí)進(jìn)行采樣和轉(zhuǎn)換,因此不同模擬輸入通道信號(hào)之間的相位差異得以保存。當(dāng)3個(gè)保持信號(hào)同時(shí)被選通時(shí),6個(gè)ADCs同步轉(zhuǎn)換,其轉(zhuǎn)換結(jié)果將保存在6個(gè)寄存器中。采樣頻率最高為 250KHz,抗噪性能好。

3 開發(fā)的基本原理

是操作系統(tǒng)內(nèi)核和機(jī)器硬件之間的接口,它為應(yīng)用程序屏蔽了硬件的細(xì)節(jié),將應(yīng)用程序?qū)υO(shè)備的操作轉(zhuǎn)化為對(duì)相應(yīng)的設(shè)備文件的操作,使應(yīng)用程序可以象操作普通文件一樣,用處理普通文件的標(biāo)準(zhǔn)系統(tǒng)調(diào)用來打開、關(guān)閉和讀寫設(shè)備。作為內(nèi)核的一部分,主要完成如下功能:對(duì)設(shè)備進(jìn)行初始化和釋放;完成硬件與內(nèi)核的數(shù)據(jù)交互;完成內(nèi)核與應(yīng)用層的數(shù)據(jù)交互;對(duì)可能出現(xiàn)的錯(cuò)誤進(jìn)行檢測(cè)和處理。

系統(tǒng)中,打開的設(shè)備在內(nèi)核內(nèi)部由設(shè)備文件結(jié)構(gòu)標(biāo)識(shí),內(nèi)核使用file_operations(文件操作)結(jié)構(gòu)訪問驅(qū)動(dòng)程序的函數(shù)。每個(gè)文件都與自己的函數(shù)集相關(guān)聯(lián)(通過包含在設(shè)備中指向file_operations結(jié)構(gòu)的指針實(shí)現(xiàn)),這些操作主要負(fù)責(zé)系統(tǒng)調(diào)用的實(shí)現(xiàn)。用戶進(jìn)程利用系統(tǒng)調(diào)用對(duì)設(shè)備文件進(jìn)行操作時(shí),系統(tǒng)調(diào)用通過設(shè)備的主設(shè)備號(hào)找到相應(yīng)的設(shè)備驅(qū)動(dòng)程序,然后讀取這個(gè)數(shù)據(jù)結(jié)構(gòu)相應(yīng)的函數(shù)指針,接著把控制權(quán)交給該函數(shù),這就是 的設(shè)備驅(qū)動(dòng)程序工作的基本原理。由此可見,編寫設(shè)備驅(qū)動(dòng)程序的主要工作就是編寫file_operations中的子函數(shù),完成對(duì)設(shè)備的操作。

為了實(shí)現(xiàn)設(shè)備的獨(dú)立性,把設(shè)備分成三種類型:(character device),塊設(shè)備(block device)和網(wǎng)絡(luò)設(shè)備(network device)[2]。每類設(shè)備都有獨(dú)特的管理控制方式和不同的驅(qū)動(dòng)程序,這樣就可以把控制不同設(shè)備的驅(qū)動(dòng)程序與操作系統(tǒng)的其它部分分離開來,不但便于對(duì)不同設(shè)備的管理,而且為系統(tǒng)中增加和撤銷某種設(shè)備提供了很多方便。在此,我們是把ADS8364看作來驅(qū)動(dòng)的,其驅(qū)動(dòng)程序就是驅(qū)動(dòng)程序。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉