《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于CDT2000 I/O口的A/D轉換系統(tǒng)設計
基于CDT2000 I/O口的A/D轉換系統(tǒng)設計
2014年電子技術應用第9期
林子豪,黃 俊,蒙志君,張浩宇
北京航空航天大學,北京100191
摘要: 為實現(xiàn)傳感器數(shù)據(jù)快速、高精度地轉換,提出了一種采用AD7891芯片的A/D轉換系統(tǒng)的設計方法。數(shù)據(jù)讀、寫和并行工作時序通過CDT2000 I/O口控制,CDT2000 I/O口的電位變化由PC/104通過總線操作。在AD7891與CDT2000之間添加JK觸發(fā)器實現(xiàn)對A/D轉換完成的識別。試驗結果表明,這種方法能夠滿足數(shù)據(jù)采集系統(tǒng)的設計要求,并且在硬件上較容易實現(xiàn)。
中圖分類號: TP274+.2
文獻標識碼: B
文章編號: 0258-7998(2014)09-0075-03
Design of A/D conversion system based on CDT2000 I/O port
Lin Zihao,Huang Jun,Meng Zhijun,Zhang Haoyu
Beihang University,Beijing 100191,China
Abstract: To realize high-speed and high-precision data conversion from sensors, an analog-to-digital(A/D) conversion system was proposed. The A/D conversion system was composed of an AD7891 chip, a PC/104 module,CDT2000 module and a DM74LS73A J-K flip and flop. The AD7891 pins′ voltage was controlled by CDT2000 I/O ports to carry out the data writing,data reading and parallel interface operational sequence. CDT2000 connected with PC/104 through bus. DM74LS73A J-K flip and flop was adopted to distinguish negative pulse which was outputted by AD7891 at the end of conversion every time. The experimental data indicates that the AD conversion system satisfies the design requirement well and the hardware circuit is simple.
Key words : CDT2000;AD7891;J-K flip and flop;A/D conversion

    隨著航空器以高度自動化的趨勢發(fā)展,傳感器數(shù)據(jù)需要被快速采集和高精度轉換,以便飛行控制系統(tǒng)使用和處理。傳統(tǒng)的集成于DSP的A/D轉換芯片往往不能滿足速度和精度的要求,因此需要使用獨立的A/D轉換芯片實現(xiàn)傳感器數(shù)據(jù)的采集和轉換。同時,隨著嵌入式計算機種類的多樣化,部分嵌入式計算機不再集成A/D芯片,由于各種因素在選擇不含A/D轉換功能的嵌入式計算機時,也必須考慮如何對獨立A/D芯片進行控制以實現(xiàn)對模擬信號的快速采集與轉換。在項目的研發(fā)中,通過使用SBS公司的CDT2000模塊,實現(xiàn)了對AD7891芯片的控制,取得了快速、精確的轉換效果。CDT2000含有豐富的I/O口,同時電位值與普通A/D芯片的引腳電位吻合,因此可以方便地與A/D芯片引腳連接;而且其I/O的電位變化迅速,能夠滿足高速轉換的要求。文中給出了系統(tǒng)主要的硬件電路和CDT2000 I/O對AD7891芯片的控制方法,同時對A/D轉換結果做了數(shù)據(jù)分析。

1 系統(tǒng)硬件構成

1.1 系統(tǒng)概況

    本轉換系統(tǒng)要求轉換頻率不低于100 Hz,對于0~10 V的輸入電壓,轉換誤差不大于10 mV。為達到以上要求, 系統(tǒng)選用的硬件包括SBS公司的嵌入式PC/104計算機、CDT2000模塊,ADI公司的AD7891型號芯片和Fairchild公司的DM74LS73A型號JK觸發(fā)器

1.2 PC/104與CDT2000 I/O口

    PC/104是嵌入式PC的機械電氣標準,它秉承了IBM-PC開放式總線結構的優(yōu)點,與IBM-PC 100%兼容。

    CDT2000是16位計數(shù)器/定時器與數(shù)字量I/O模塊,通過總線與PC/104模塊連接,可將由PC/104模塊構成的系統(tǒng)變成一個高性能的控制系統(tǒng)。CDT2000有48通道TTL/CMOS 兼容的數(shù)字量I/O,這些I/O由模塊上的71055可編程外圍接口(PPI)芯片提供,由I/O連接器引出。端口能直接與外部設備或信號連接,端口高電位為5 V,低電位為0 V。

    CDT2000的48通道數(shù)字量I/O在硬件上以兩排I/O口排列,每排包括24路數(shù)字量I/O;這24路I/O又分為口0(8條線)、口1(8條線)、口2(8條線)3組,每組I/O都分配有獨立的基地址,因此可以單獨決定每組I/O的輸入/輸出模式。

1.3 AD7891芯片

    AD7891是一款8通道、12位數(shù)據(jù)采集系統(tǒng),有并行和串行兩種接口模式。本系統(tǒng)采用的輸入量程為-10 V~

+10 V,理論轉換精度可達4.88 mV。

    在單通道輸入,采用硬件啟動轉換時,AD7891的轉換速率可達454.5 kS/s。芯片的每個輸入通道都擁有過電壓保護機制,允許的過壓值為±17 V。

    AD7891可以通過MODE引腳來選擇并行或串行接口模式。無論是串行還是并行工作模式,芯片均能提供標準控制輸入及快速數(shù)據(jù)訪問時間特性,確保與現(xiàn)代微處理器、微控制器和數(shù)字信號處理器輕松對接[2]。由于CDT2000模塊提供豐富的I/O口,本轉換系統(tǒng)采用并行接口方式。芯片端口的控制以及數(shù)據(jù)的讀寫全部通過CDT2000的I/O口實現(xiàn),既滿足轉換的快速性要求,在硬件上也較容易實現(xiàn)。

1.4 DM74LS73A型號JK觸發(fā)器

    DM74LS73A是負脈沖邊緣觸發(fā)型的主-從JK觸發(fā)器,當觸發(fā)器CLK端電位由低升高時,可觸發(fā)輸出端Q、ck4-gs4.gif的電位變化。

    A/D轉換結束時,AD7891的EOC端輸出脈寬為80 ns的負脈沖。但CDT2000沒有捕捉負脈沖的功能,因此在AD7891與CDT2000之間增加一個JK觸發(fā)器,由觸發(fā)器CLK端捕捉EOC引腳輸出的負脈沖。EOC引腳輸出的負脈沖使JK觸發(fā)器Q端的電位變化時,表明A/D轉換結束。

1.5 系統(tǒng)硬件連接

    根據(jù)以上系統(tǒng)各硬件的性能及特性,設計系統(tǒng)硬件連接電路如圖1所示。

ck4-t1.gif

    圖1中,由CDT2000 I/O指向AD7891和JK觸發(fā)器的箭頭線表示CDT2000 I/O口以輸出模式與AD7891和JK觸發(fā)器的引腳連接,I/O通過輸出電位的變化實現(xiàn)AD7891和JK觸發(fā)器中與之連接的各引腳的功能;由AD7891和JK觸發(fā)器指向CDT2000 I/O的箭頭線表示CDT2000 I/O口以輸入模式與AD7891和JK觸發(fā)器的引腳連接,I/O口讀取AD7891和JK觸發(fā)器中與之連接的各引腳的電位,通過總線傳遞給PC/104;CDT2000 I/O與AD7891間的雙向箭頭線表示AD7891上的引腳為復用端口,I/O口既要以輸出模式控制該引腳的電位,又要在A/D轉換結束時,以輸入模式讀取該引腳的電位。

    在A/D轉換過程中,CDT2000 I/O始終向AD7891的STANDBY和MODE引腳輸出高電位,以使AD7891處于正常工作狀態(tài)和并行工作模式;向JK觸發(fā)器的J引腳和K引腳分別給予低電位和高電位,以使A/D轉換開始前JK觸發(fā)器的Q輸出端為低電位。A/D轉換結束時由AD7891的EOC引腳輸出的負脈沖將使Q輸出端的低電位轉換為高電位,經(jīng)I/O口讀取后告知PC/104 A/D轉換結束。同時在每次A/D轉換開始前,向JK觸發(fā)器的CLR引腳給予一不小于30 ns的負脈沖,使Q輸出端恢復低電位。

2 系統(tǒng)軟件實現(xiàn)

2.1 AD7891時序分析

    為實現(xiàn)系統(tǒng)的高速轉換,首先對AD7891的轉換時序進行分析。并行接口模式下AD7891的轉換時序見圖2。

ck4-t2.gif

    圖2中,t1為從CS到RD/WR的觸發(fā)時間,為0 ns;t2為寫脈沖寬度,不小于35 ns;t3為寫有效數(shù)據(jù)時間,不小于25 ns;t4為有效數(shù)據(jù)保持時間,不小于5 ns;t5為CS到RD/WR的保持時間,為0 ns;t6為CONVST脈沖寬度時間,不小于35 ns;t7為EOC脈沖寬度時間,不小于55 ns;t8為讀脈沖寬度,不小于35 ns;t9為RD下降沿之后讀數(shù)據(jù)時間,不小于25 ns;tCONV為A/D轉換時間,不大于1.6 μs;t10不小于30 ns。

2.2 I/O口對AD7891工作時序的控制

    AD7891的工作時序由CDT2000的I/O口控制,因此在操作I/O口的電位變化時,必須根據(jù)AD7891的轉換時序,合理地分配以上時間,以實現(xiàn)快速高效的轉換。

    在硬件層,PC/104核心處理器的晶振頻率為100 MHz,單周期指令的執(zhí)行時間為10 ns。PC/104通過總線操作改變CDT2000的I/O口的電位。一次總線操作的時間在1 μs以上,即C語言操縱I/O口電位變化的代碼執(zhí)行時間在1 μs以上,遠大于時序中要求的各負脈沖時間。因此在連續(xù)改變I/O口電位時,無需考慮延時。

    AD7891的DB0~DB5為復用數(shù)據(jù)線,寫入數(shù)據(jù)時,通過這6個引腳改變AD7891控制寄存器的數(shù)值;讀取數(shù)據(jù)時,通過這6個引腳獲得A/D轉換結果的低6位數(shù)值。因此在每次A/D轉換中,與這6個引腳連接的I/O口都要進行一次輸入/輸出模式的轉換。而CDT2000 I/O的特性是在某一路I/O由輸入模式轉變?yōu)檩敵瞿J綍r,同一排I/O中所有輸出口的電位都會清零,因此必須保證與AD7891 DB0~DB5連接的6個I/O口的輸入/輸出模式改變時,不會影響其他輸出端口的電位,否則將導致轉換失敗。為實現(xiàn)以上條件,需將與AD7891 DB0~DB5連接的6個I/O口單獨安排在CDT2000 I/O的一排,而與AD7891其他引腳連接的I/O口在另一排。

    使用CDT2000 I/O對AD7891的控制操作中,首先向JK觸發(fā)器的CLR引腳輸出一負脈沖,使其Q輸出端恢復低電位;然后將與AD7891芯片DB0~DB5引腳連接的I/O置為輸出模式,并向其輸出電位以選擇A/D輸入通道和轉換結果輸出格式;然后向WR引腳輸出負脈沖,將DB0~DB5引腳的電位數(shù)據(jù)寫入控制寄存器;隨后向CONVST引腳輸出負脈沖啟動A/D轉換,待Q端電位升高后,將與DB0~DB5引腳連接的I/O改為輸入模式;然后將RD引腳電位置底,讀取DB0~DB11引腳的電位值,獲得A/D轉換結果;最后將RD引腳電位置高,完成A/D轉換。以上為完成一次A/D轉換的操作流程,其執(zhí)行時間不超過25 μs,轉換頻率可達4×104 Hz,滿足系統(tǒng)對轉換頻率大于100 Hz的要求。

3 試驗結果

    AD7891轉換數(shù)值的輸出格式既可以是普通二進制形式也可以是補碼形式,由FORMAT引腳的電位控制。普通二進制形式時,輸出范圍為0~4 095;補碼形式時,輸出范圍為-2 048~2 047。轉換數(shù)值理論上與輸入電壓呈線性關系。由于項目要求采集的電壓范圍為0~10 V,因此本轉換系統(tǒng)選擇的輸出格式為普通二進制形式。試驗中輸入電壓由穩(wěn)壓電源提供,在輸入電壓固定時,取轉換數(shù)值的平均值作為轉換結果,試驗數(shù)據(jù)如圖3所示。

ck4-t3.gif

    對試驗轉換值線性擬合獲得的參數(shù)中,R平方值(相關系數(shù))為1,說明A/D轉換結果與輸入電壓呈現(xiàn)良好的線性關系,這與理論相符合。對試驗轉換值擬合得到的線性函數(shù)為:

    ck4-gs1.gif

式(1)、(2)中y為A/D轉換值,x為輸入電壓。對比式(1)和式(2)表明,試驗轉換結果相較理論值存在2 077.26-2 047.50=29.76的偏差,即零漂值。將零漂值修正后,試驗值與理論值的差值為:

    ck4-gs3.gif

式(3)說明轉換誤差隨著采集電壓增大而增大,當輸入電壓范圍為0~10 V時,試驗轉換值與理論值的最大差值為0.4,轉換誤差在最低有效位以內。對于12位的A/D轉換器,一個最低有效位的誤差表征4.88 mV轉換誤差,因此該系統(tǒng)滿足轉換誤差不大于10 mV的設計要求。

    本文基于CDT2000 I/O對A/D芯片的控制,設計了一種A/D高速采集轉換系統(tǒng),通過使用CDT2000 I/O對AD7891和JK觸發(fā)器各引腳電位的控制及讀取,實現(xiàn)了對模擬數(shù)據(jù)的高速采集和轉換。系統(tǒng)完成一次A/D轉換的時間小于25 μs,滿足系統(tǒng)對轉換頻率大于100 Hz的要求;對轉換結果中存在的固定偏差修正后,轉換誤差不超過4.88 mV,滿足系統(tǒng)對采集精度的要求。本系統(tǒng)具有硬件結構簡單、編程容易、易于實現(xiàn)的特點。

參考文獻

[1] 何學輝,蘇濤.TMS320VC5402 DSP與串行AD73360 A/D轉換器的接口設計[J].電子技術應用,2003,29(11):67-70.

[2] 趙綱領,蔚永強,張寧,等.基于DSP I/O口的多路高速數(shù)據(jù)采集系統(tǒng)設計[J].電測與儀表,2007,44(2):54-56.

[3] 劉春生,游志剛,李小波.AD7891高速數(shù)據(jù)采集系統(tǒng)的原理與應用[J].國外電子元器件,2001(3):6-9.

[4] 陳勁操.利用增強型并行口設計12位數(shù)據(jù)采集系統(tǒng)[J].電子工程師,2001,27(7):1-3

[5] 鄺堅.Tornado/VxWorks入門與提高[M].北京:科學出版社,2004.

[6] 譚浩強.C程序設計(第3版)[M].北京:清華大學出版社,2005.

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。