新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CPLD的MAX1032采樣控制的實現

        基于CPLD的MAX1032采樣控制的實現

        作者: 時間:2012-10-06 來源:網絡 收藏

        0 引言

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

        本文主要介紹芯片以及使用進行的方法。事實上,雖然微器也能對進行方便的,但使用來控制系統外圍設備,可以節省微控制器的資源,減輕其負擔,同時可以讓其處理更復雜的信息,而利用對時序進行控制則

        更精確。

        1 MAX1032的主要功能

        MAX1032是美信公司推出的AD芯片MAX1030-MAX1033系列中一款。該系列是采樣范圍可達±12 V的多量程、低功耗、14位逐次逼近型串行輸出模數轉換器(ADC),數據傳輸符合SPI協議。當采用+5 V單電源供電時,其轉換速率高達115 ksps。

        MAX1032內部主要由模擬輸入復用器及多通道電路、控制邏輯和寄存器、可編程增益放大器(PGA)逐次逼近數模轉換器(SAR ADC)、串行I/O(Serial I/O)以及先進先出寄存器(FIFO)等主要模塊構成。

        MAX1032的各引腳功能如下:

        CH0~CH7:模擬信號輸入端。單端輸入范圍為:O~+6 V、-6 V~0、0~+12 V、-12 V~0和±3V;

        ±6 V,±12 V,差分輸入,范圍為:±6 V、±12V和±24V;

        :片選輸入,低電平有效。只有該端置低,數據才可同步輸入(DIN)或輸出(DOUT);

        DIN:串行數據輸入。

        為低時,DIN上的數據在SCLK的上升沿輸入片內;

        SSTRB:串行觸發輸出。在內部時鐘模式下,SSTRB的上升沿跳變表明轉換完成;在外部時鐘模式下,SSTRB一直為低電平;

        SCLK:串行時鐘輸入;

        DOUT:串行數據輸出。在

        為低時,DOUT上的數據在SCLK的下降沿輸出;

        置高時,DOUT為高阻狀態;

        REFCAP:參考電壓旁路端。對于外部參考電壓模式。REFCAP連到AVDD;對于內部參考電壓模式,通過一個0.01μf的電容連到AGNDl;

        REF:內部基準電壓輸出或外部基準電壓輸入。在外部參考電壓模式下,REF端可接由外部電路提供的3.800-4.0136 V的基準電壓;在內部參考電壓模式下。REF端與AGNDl端之間必須連接容量為1μF的濾波電容,該端由芯片內部提供4.096 V參考電壓:

        DGNDO:數字I/O地;

        DGND:數字地;

        DVDDO:數字I/O電源輸入。輸入范圍為+2.7~+5.25 V:

        DVDD:數字電源輸入;

        AVDDl:模擬輸入電源1,輸入范圍為+4.75~+5.25 V:

        AVDD2:模擬輸入電源2,輸入范圍為+4.75~+5.25 V:

        AGNDl:模擬地1;

        AGND2:模擬地2;

        AGND3:模擬地3。

        設計時,AGNDl,AGND2,AGND3,DGNDO,DGND必須接到一起。

        2 MAX1032的工作原理

        在使用MAX1032進行采樣前,通常需要確認信號的輸入阻抗在17 kΩ以內。

        MAX1032總共有三種工作模式:外部時鐘模式,外部采樣模式和內部時鐘模式。本文將針對。MAX1032的外部時鐘模式并結合CPLD給出實際的應用方案。

        外部時鐘模式:以最快的轉換速率達到最大的吞吐量,由用戶直接控制采樣時,CSn在轉換過程中始終為低,這時,用戶可通過SCLK控制A/D的轉換并對結果讀取。SSTRB始終為低,其轉換時序圖如圖1所示。SCLK的周期(tCP)必須在272 ns~62 us之間。其中高低電平寬度均需大于109 ns(tCL,tCH)。在CSn由高變低后的40 ns(tCSS),可以開始對SCLK上跳沿計數,DIN的輸入建立時間至少40 ns (tDS),DIN將在SCLK上跳沿時同步輸入(tDH),SCLK上跳沿之后,將忽略DIN。在CSn變低之后40 ns(tDV)內,DOUT開始有效,而在CSn拉高后40 ns(tTR)內,DOUT將輸出保持高阻態,其時序描述如圖2所示。

        1.jpg

        在內部時鐘模式,系統將以較快的速率達到最大的吞吐量,并由內部時鐘控制采樣,用戶只需提供一個字節的SCLK,再拉高CSn,即可啟動轉換。和外部采樣模式相同,SSTRB上跳變表示轉換完成,此時,用戶便可提供兩個字節的SCLK來讀取轉換結果。

        在外部采樣模式,系統將以最慢的轉換速率達到最大的吞吐量,并由用戶直接控制采樣,用戶可提供兩個字節的SCLK,再將CSn拉高,以啟動轉換。SSTRB上跳變表示轉換完成,用戶提供兩個字節的SCLK可讀取轉換結果。

        MAX1032總共有三個控制字:模擬輸入配置字、模式控制字和轉換啟動字。圖2所示是模擬輸入控制字和模式控制字的工作時序圖。三個控制字均為8位。

        對于模擬輸入配置字,DO~D2是選擇量程的,MAX1032總共有10種量程可以選擇;D3是差分/單端選擇位,為低表示采樣信號為單端輸入.為高表示差分輸入。D4~D6是輸入通道選擇,總共有8個采樣通道。D7是字開始位,置高表示字輸入開始。

        對于模式控制字,D0~D2必須為低,D3必須為高。D4~D6用于工作狀態選擇,總共有6種工作狀態。D7是字開始位,同樣,置高表示字輸入啟動。

        轉換啟動字D7是字開始位,D4~D2是輸入通道選擇。用法和模擬輸入配置字相同,操作時DO~D3必須為低。

        三個控制字的輸入順序是模擬輸入配置字,模式控制字,轉換啟動字。

        3 硬件設計

        圖3所示是本系統的結構框圖。由圖3可見,模擬采樣信號先經過一個運放。運放的作用是降低輸入阻抗。以達到MAX1032輸入阻抗小于17kΩ的要求。之后,再將利用CPLD控制MAX1032進行采樣,采樣結果回送至CPLD,之后經過處理后的數據傳到系統,由系統再將一系列二進制數換算成最終的結果。框圖里的系統可以是嵌入式微控制器,也可以是數字輸入輸出卡等控制系統。

        圖4所示是MAX1032的應用電路圖。由于MAX1032只允許輸入阻抗小于17 kΩ,而有的采樣信號不一定能滿足這一要求,故需要對采樣信

        號進行一定處理,以降低信號的輸出阻抗。由于射極跟隨器的輸出阻抗趨于零,故將待采樣信號連到射極跟隨器上可以有效降低其輸出阻抗。本文選用的運放為OP07,該運放具有很低的輸入失調電壓和漂移,而且精度相當高,適合作為模擬信號前置運放。如將OP07接成負反饋模式,使輸出等于1+R1/R2,并將滑動變阻器R1調至0Ω,那么它就可以當做電壓跟隨器使用。

        圖4中,MAX1032的外部參考電壓由LTC6652提供。LTC6652是高精度電位參考芯片,本文使用4.096 V作為MAX1032外部參考電壓。REFCAP在此模式下可接到5 V電源。由于MAX1032是由CPLD控制,故將DVDDO連到3.3 V。

        4 CPLD邏輯設計

        CPLD和MAX1032的連接圖如圖5所示。其中,CPLD可以選用Ahera公司的MAXII系列器件EPM240或EPM570。

        CPID的程序設計主要由兩部分組成,第一部分是產生MAX1032的控制信號,第二部分是對MAX1032的輸出結果進行處理。

        clk_1MHZ為CPLD時鐘,選1 MHz。通過CPLD可在內部對時鐘進行分頻,輸出SCLK可作為MAX1032的輸入時鐘。DI由系統給CPLD輸入,作用是選擇MAX1032的控制字,同時也是CPLD的復位控制。DIN_out是給MAX1032加載的串行控制字,其加載時序可利用計數器控制。本例采用外部時鐘模式,模擬輸入配置字為10000110。第七位1是字開始標志;六到四位為0表示選擇CH0通道輸入,第三位為0表示采樣信號單端輸入;二到零位為110,表示量程選擇0~12 V。模式控制字為10001000,第七位1是字開始標志,六到四位為0表示使用外部時鐘模式。三到零位為100 0是芯片強制輸入。加載完模擬輸入配置字和模式控制字之后,就可以啟動采樣,以加載轉換啟動字開始采樣。轉換啟動字為10000000時,第七位1是字開始標志,六到四位為0表示選擇CH0通道輸入,三到零位為0000是芯片強制輸入。MAX1032控制協議和SPI類似,在SCLK的上跳沿輸入,下跳沿輸出。片選信號CSn時序利用計數器控制,每個控制字之間的CSn必須有一個高脈沖,脈寬至少40 ns(tCSPW),每個控制字輸入完后,CSn可以立即拉高(tCSH)。以下是可綜合的MAX1032控制程序的主要代碼:


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新巴尔虎左旗| 莆田市| 鄂温| 乳源| 正宁县| 富顺县| 临沭县| 道孚县| 应城市| 灯塔市| 遂溪县| 柳江县| 屯门区| 监利县| 安吉县| 沅江市| 武冈市| 乡城县| 彝良县| 甘肃省| 辰溪县| 宁阳县| 虎林市| 崇信县| 洛隆县| 衡东县| 宜兴市| 罗城| 竹溪县| 深泽县| 翁牛特旗| 弥勒县| 濮阳市| 深水埗区| 新安县| 福海县| 闸北区| 建阳市| 渝北区| 奇台县| 车致|