ad1674應用電路
1 硬件設計
1.1 AD1674 接口電路
文獻[1]詳細介紹了AD1674 芯片的性能和控制信號的時序。在完全受控方式下,最好是用邏輯控制信號CE 啟動數據讀或A/D 轉換;在CE 有效時,片選信號CS 應有效,并且控制信號R/C 和A0 已確定,只有滿足這種時序,AD1674 才能正常工作。
1.2 A/D 轉換及數據的讀時序
對A/D 接口電路而言,只有PC 機的時序與AD1674 的要求時序匹配才能保證電路的正常工作。該電路的A/D 轉換及數據的讀時序如圖1 所示。
A 在/D 轉換時,8253 的定時脈沖或端口寫脈沖QD 經過延時和調節定時寬度后,使A/D 的使能控制CE 開始啟動A/D轉換。同時QD 寬度為1μs 的低電平脈沖(在端口寫啟動方式下,1μs 的低脈沖是由端口寫脈沖經調節定時寬度后獲得)使R/C的轉換有效,A0 及片選CS 可在A/D 轉換前設置為有效。當讀取A/D 轉換后的數據時,端口讀信號或DMA 讀信號D 直接使A/CD 的使能控制CE 啟動數據讀,此時R/C=1,R/C 的讀有效,開始12 位數據的讀取。當A0=0 時,讀取高八位數據;當A0=1 時,讀取數據低四位,讀完后A0=0,準備下一次A/D 轉換。可見該時序既能與PC 機接口,又能使AD1674 正常工作。
1.3 A/D 轉換及數據讀取的實現電路
本電路的AD1674 工作在完全受控方式。A/D 轉換為12 位,而轉換后數據分兩次讀取,即先讀數據的高八位,后讀數據的低四位。
1.3.1 A/D 轉換的啟動方式
A/D 轉換的啟動方式有兩種:8253 定時器硬件啟動和寫端口軟件啟動。
8253 定時器啟動方式應用于對數據采集的時隔要求準確的場合,該方式是利用8253 的定時脈沖啟動A/D 轉換,通過8253 數據總線緩沖器(端口地址為0X23F)輸出鑒別通道的計數初值,通過向6 位鎖存器74LS174(端口地址為0X23B)寫入控制字設定8253 的控制字以及A/D 片選控制位。6 位鎖存
器數據位定義說明如下:
A1A0=00:0X23D 口輸出的數據為計數器0 的計數值。
A1A0=01:0X23F 口輸出的數據為計數器1 的計數值。
A1A0=10:0X23F 口輸出的數據為計數器2 的計數值。
A1A0=11:0X23F 口輸出的數據為計數器8253 的方式字。
G0G1=1:起動計數器0 和計數器1;G0G=0:禁止計數器0 和計數器1。
CS=1:選中A/D 芯片CS=0;不選中A/D 芯片。
具體的實現電路如圖2 所示。首先將8253 定時通道0 與通道1 串聯起來定時,通道0 的時鐘輸入CLK0 的頻率是2MHz,工作在方式3(方波比率發生器)下,通道0 的輸出OUT0 為頻率1MHz 的方波,作為通道1 的輸入時鐘CLK1。通道1 設定為方式2,即通道1 的輸出OUT1 從輸出開始一直維持高電平,計數回零后,輸出為低電平并自動重新裝入原計數值,低電平維持一個時鐘周期后,輸出恢復高電平并重新作減法計數。輸出OUT1 分為兩路信號,一路通過與門U18A 輸出,作為AD1674 的R/C 控制信號;另一路經過單穩觸發器U24 延時和調節定時寬度后,再通過或門U15C 輸出作為AD1674 的CE控制信號。當OUT1 輸出寬度為1μs 的低電平脈沖時,一方面使控制信號R/C 的轉換有效,同時經延時和調節定時寬度后,使A/D 的使能控制CE 開始啟動A/D 轉換。因此在裝入計數初值以后,只要設置6位鎖存器U8 的控制字,就可利用8253 定時器啟動A/D。
寫啟動A/D 方式應用于軟件定時,即通過對端口(地址為0X23D)寫來觸發A/D 轉換。如圖2 所
示,端口寫信號一方面經過單穩觸發器U6A 調節定時寬度(寬度為1μs)后,作為AD1674 的R/C 控制信號,同時經過另一單穩觸發器U24 延時和調節定時寬度后,再通過或門U15C 輸出作為AD1674 的CE控制信號。
可見兩種啟動A/D 轉換的過程相似。相比較而言,前者的采樣間隔是由8253 定時脈沖的周期決定
的,屬于可編程定時器方式定時,共特點是采樣間隔準確;后者則由相鄰兩次寫端口(地址為
0X23D)的時間差決定采樣間隔,為軟件定時方式,特點是靈活方便。
1.3.2 A/D 轉換數據的讀取方式
在數據采集系統中,計算機讀取A/D 轉換數據的方式一般有三種,即查詢、中斷和DMA 方式。其中查詢方式就是通過查詢標志位來判斷A/D 是否轉換完畢,如果A/D 轉換完畢則讀入轉換的數據。這種方式下CPU 主動查詢,通過CPU 讀取A/D 轉
評論