新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于A/D芯片AD1674設計的數據采集電路

        基于A/D芯片AD1674設計的數據采集電路

        作者: 時間:2008-07-11 來源:嵌入式技術網 收藏

          隨著科學技術的發展,計算機在測量與控制中的應用日益廣泛。為了使外部世界的模擬信號與計算機接口,需要進行模/數轉換,該轉換一般通過A/D來完成。目前市場上出現了各種A/D,且各種A/D具有不同的控制方式和應用條件。對于高速,最大采樣頻率取決于A/D的轉換時間以及數據的傳輸時間。提高最大采樣頻率可通過縮短A/D的轉換時間或提高數據的傳輸速度來實現。如果與PC機接口,數據的傳輸速度決定于PC機的主頻以及數據的傳輸方式,常用的有查詢和中斷方式,若采用傳輸方式則可進一步提高數據的傳輸速度。本文選取AD1674芯片,設計具有查詢、中斷和三種數據傳輸方式的。該既可以采用定時器定時,通過8253定時器的控制設煊可變的采樣變(步進間隔為1μs),獲得高準確的采樣間隔;也可以采用軟件定時,通過端口寫啟動A/D來實現。在時序方面,該解決了A/D控制信號與計算機時序匹配問題,可能與高檔PC機進行接口。

        本文引用地址:http://www.104case.com/article/85599.htm

          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轉換后的數據時,端口讀信號或 讀信號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的方式字。

          G0&G1=1:起動計數器0和計數器1;G0&G=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)的時間差決定采樣間隔,為軟件定時方式,特點是靈活方便。

        DIY機械鍵盤相關社區:機械鍵盤DIY



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 石家庄市| 眉山市| 新竹县| 东乌| 民乐县| 都兰县| 宁明县| 嵊州市| 南溪县| 宁蒗| 宁城县| 阳朔县| 织金县| 威信县| 阿克苏市| 南平市| 柘荣县| 明溪县| 三明市| 霸州市| 保定市| 柞水县| 桃江县| 巴东县| 阳谷县| 云林县| 忻城县| 翼城县| 贡山| 邓州市| 镇安县| 福州市| 申扎县| 景德镇市| 肃宁县| 遂川县| 富宁县| 富蕴县| 石楼县| 延吉市| 松阳县|