基于A/D芯片AD1674設(shè)計(jì)的數(shù)據(jù)采集電路
隨著科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)在測(cè)量與控制中的應(yīng)用日益廣泛。為了使外部世界的模擬信號(hào)與計(jì)算機(jī)接口,需要進(jìn)行模/數(shù)轉(zhuǎn)換,該轉(zhuǎn)換一般通過A/D芯片來完成。目前市場(chǎng)上出現(xiàn)了各種A/D芯片,且各種A/D芯片具有不同的控制方式和應(yīng)用條件。對(duì)于高速數(shù)據(jù)采集,最大采樣頻率取決于A/D的轉(zhuǎn)換時(shí)間以及數(shù)據(jù)的傳輸時(shí)間。提高最大采樣頻率可通過縮短A/D的轉(zhuǎn)換時(shí)間或提高數(shù)據(jù)的傳輸速度來實(shí)現(xiàn)。如果與PC機(jī)接口,數(shù)據(jù)的傳輸速度決定于PC機(jī)的主頻以及數(shù)據(jù)的傳輸方式,常用的有查詢和中斷方式,若采用DMA傳輸方式則可進(jìn)一步提高數(shù)據(jù)的傳輸速度。本文選取AD1674芯片,設(shè)計(jì)具有查詢、中斷和DMA三種數(shù)據(jù)傳輸方式的數(shù)據(jù)采集電路。該電路既可以采用定時(shí)器定時(shí),通過8253定時(shí)器的控制設(shè)煊可變的采樣變(步進(jìn)間隔為1μs),獲得高準(zhǔn)確的采樣間隔;也可以采用軟件定時(shí),通過端口寫啟動(dòng)A/D來實(shí)現(xiàn)。在時(shí)序方面,該電路解決了A/D控制信號(hào)與計(jì)算機(jī)時(shí)序匹配問題,可能與高檔PC機(jī)進(jìn)行接口。
本文引用地址:http://cafeforensic.com/article/85599.htm1 硬件設(shè)計(jì)
1.1 AD1674接口電路
文獻(xiàn)[1]詳細(xì)介紹了AD1674芯片的性能和控制信號(hào)的時(shí)序。在完全受控方式下,最好是用邏輯控制信號(hào)CE啟動(dòng)數(shù)據(jù)讀或A/D轉(zhuǎn)換;在CE有效時(shí),片選信號(hào)CS應(yīng)有效,并且控制信號(hào)R/C和A0已確定,只有滿足這種時(shí)序,AD1674才能正常工作。
1.2 A/D轉(zhuǎn)換及數(shù)據(jù)的讀時(shí)序
對(duì)A/D接口電路而言,只有PC機(jī)的時(shí)序與AD1674的要求時(shí)序匹配才能保證電路的正常工作。該電路的A/D轉(zhuǎn)換及數(shù)據(jù)的讀時(shí)序如圖1所示。
A在/D轉(zhuǎn)換時(shí),8253的定時(shí)脈沖或端口寫脈沖QD經(jīng)過延時(shí)和調(diào)節(jié)定時(shí)寬度后,使A/D的使能控制CE開始啟動(dòng)A/D轉(zhuǎn)換。同時(shí)QD寬度為1μs的低電平脈沖(在端口寫啟動(dòng)方式下,1μs的低脈沖是由端口寫脈沖經(jīng)調(diào)節(jié)定時(shí)寬度后獲得)使R/C的轉(zhuǎn)換有效,A0及片選CS可在A/D轉(zhuǎn)換前設(shè)置為有效。當(dāng)讀取A/D轉(zhuǎn)換后的數(shù)據(jù)時(shí),端口讀信號(hào)或 DMA讀信號(hào)D直接使A/CD的使能控制CE啟動(dòng)數(shù)據(jù)讀,此時(shí)R/C=1,R/C的讀有效,開始12位數(shù)據(jù)的讀取。當(dāng)A0=0時(shí),讀取高八位數(shù)據(jù);當(dāng)A0 =1時(shí),讀取數(shù)據(jù)低四位,讀完后A0=0,準(zhǔn)備下一次A/D轉(zhuǎn)換??梢娫摃r(shí)序既能與PC機(jī)接口,又能使AD1674正常工作。
1.3 A/D轉(zhuǎn)換及數(shù)據(jù)讀取的實(shí)現(xiàn)電路
本電路的AD1674工作在完全受控方式。A/D轉(zhuǎn)換為12位,而轉(zhuǎn)換后數(shù)據(jù)分兩次讀取,即先讀數(shù)據(jù)的高八位,后讀數(shù)據(jù)的低四位。
1.3.1 A/D轉(zhuǎn)換的啟動(dòng)方式
A/D轉(zhuǎn)換的啟動(dòng)方式有兩種:8253定時(shí)器硬件啟動(dòng)和寫端口軟件啟動(dòng)。
8253 定時(shí)器啟動(dòng)方式應(yīng)用于對(duì)數(shù)據(jù)采集的時(shí)隔要求準(zhǔn)確的場(chǎng)合,該方式是利用8253的定時(shí)脈沖啟動(dòng)A/D轉(zhuǎn)換,通過8253數(shù)據(jù)總線緩沖器(端口地址為 &0X23F)輸出鑒別通道的計(jì)數(shù)初值,通過向6位鎖存器74LS174(端口地址為&0X23B)寫入控制字設(shè)定8253的控制字以及 A/D片選控制位。6位鎖存器數(shù)據(jù)位定義說明如下:
A1A0=00:&0X23D口輸出的數(shù)據(jù)為計(jì)數(shù)器0的計(jì)數(shù)值。
A1A0=01:&0X23F口輸出的數(shù)據(jù)為計(jì)數(shù)器1的計(jì)數(shù)值。
A1A0=10:&0X23F口輸出的數(shù)據(jù)為計(jì)數(shù)器2的計(jì)數(shù)值。
A1A0=11:&0X23F口輸出的數(shù)據(jù)為計(jì)數(shù)器8253的方式字。
G0&G1=1:起動(dòng)計(jì)數(shù)器0和計(jì)數(shù)器1;G0&G=0:禁止計(jì)數(shù)器0和計(jì)數(shù)器1。
CS=1:選中A/D芯片CS=0;不選中A/D芯片。
具體的實(shí)現(xiàn)電路如圖2所示。首先將8253定時(shí)通道0與通道1串聯(lián)起來定時(shí),通道0的時(shí)鐘輸入CLK0的頻率是2MHz,工作在方式3(方波比率發(fā)生器)下,通道0的輸出OUT0為頻率1MHz的方波,作為通道1的輸入時(shí)鐘CLK1。通道1設(shè)定為方式2,即通道1的輸出OUT1從輸出開始一直維持高電平,計(jì)數(shù)回零后,輸出為低電平并自動(dòng)重新裝入原計(jì)數(shù)值,低電平維持一個(gè)時(shí)鐘周期后,輸出恢復(fù)高電平并重新作減法計(jì)數(shù)。輸出OUT1分為兩路信號(hào),一路通過與門 U18A輸出,作為AD1674的R/C控制信號(hào);另一路經(jīng)過單穩(wěn)觸發(fā)器U24延時(shí)和調(diào)節(jié)定時(shí)寬度后,再通過或門U15C輸出作為AD1674的CE控制信號(hào)。當(dāng)OUT1輸出寬度為1μs的低電平脈沖時(shí),一方面使控制信號(hào)R/C的轉(zhuǎn)換有效,同時(shí)經(jīng)延時(shí)和調(diào)節(jié)定時(shí)寬度后,使A/D的使能控制CE開始啟動(dòng)A/D轉(zhuǎn)換。因此在裝入計(jì)數(shù)初值以后,只要設(shè)置6位鎖存器U8的控制字,就可利用8253定時(shí)器啟動(dòng)A/D。
寫啟動(dòng)A/D方式應(yīng)用于軟件定時(shí),即通過對(duì)端口(地址為&0X23D)寫來觸發(fā)A/D轉(zhuǎn)換。如圖2所示,端口寫信號(hào)一方面經(jīng)過單穩(wěn)觸發(fā)器U6A調(diào)節(jié)定時(shí)寬度(寬度為1μs)后,作為AD1674的R/C控制信號(hào),同時(shí)經(jīng)過另一單穩(wěn)觸發(fā)器U24延時(shí)和調(diào)節(jié)定時(shí)寬度后,再通過或門U15C輸出作為AD1674的CE控制信號(hào)。
可見兩種啟動(dòng)A/D轉(zhuǎn)換的過程相似。相比較而言,前者的采樣間隔是由8253定時(shí)脈沖的周期決定的,屬于可編程定時(shí)器方式定時(shí),共特點(diǎn)是采樣間隔準(zhǔn)確;后者則由相鄰兩次寫端口(地址為&0X23D)的時(shí)間差決定采樣間隔,為軟件定時(shí)方式,特點(diǎn)是靈活方便。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評(píng)論