《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于CDT2000 I/O口的A/D轉(zhuǎn)換系統(tǒng)設(shè)計(jì)
基于CDT2000 I/O口的A/D轉(zhuǎn)換系統(tǒng)設(shè)計(jì)
2014年電子技術(shù)應(yīng)用第9期
林子豪,,黃 俊,,蒙志君,,張浩宇
北京航空航天大學(xué),,北京100191
摘要: 為實(shí)現(xiàn)傳感器數(shù)據(jù)快速,、高精度地轉(zhuǎn)換,,提出了一種采用AD7891芯片的A/D轉(zhuǎn)換系統(tǒng)的設(shè)計(jì)方法,。數(shù)據(jù)讀,、寫和并行工作時(shí)序通過CDT2000 I/O口控制,,CDT2000 I/O口的電位變化由PC/104通過總線操作。在AD7891與CDT2000之間添加JK觸發(fā)器實(shí)現(xiàn)對(duì)A/D轉(zhuǎn)換完成的識(shí)別,。試驗(yàn)結(jié)果表明,,這種方法能夠滿足數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)要求,,并且在硬件上較容易實(shí)現(xiàn)。
關(guān)鍵詞: CDT2000 AD7891 JK觸發(fā)器
中圖分類號(hào): TP274+.2
文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 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

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

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

1.1 系統(tǒng)概況

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

1.2 PC/104與CDT2000 I/O口

    PC/104是嵌入式PC的機(jī)械電氣標(biāo)準(zhǔn),它秉承了IBM-PC開放式總線結(jié)構(gòu)的優(yōu)點(diǎn),,與IBM-PC 100%兼容,。

    CDT2000是16位計(jì)數(shù)器/定時(shí)器與數(shù)字量I/O模塊,通過總線與PC/104模塊連接,,可將由PC/104模塊構(gòu)成的系統(tǒng)變成一個(gè)高性能的控制系統(tǒng)。CDT2000有48通道TTL/CMOS 兼容的數(shù)字量I/O,,這些I/O由模塊上的71055可編程外圍接口(PPI)芯片提供,,由I/O連接器引出。端口能直接與外部設(shè)備或信號(hà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都分配有獨(dú)立的基地址,因此可以單獨(dú)決定每組I/O的輸入/輸出模式,。

1.3 AD7891芯片

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

+10 V,,理論轉(zhuǎn)換精度可達(dá)4.88 mV。

    在單通道輸入,,采用硬件啟動(dòng)轉(zhuǎn)換時(shí),,AD7891的轉(zhuǎn)換速率可達(dá)454.5 kS/s。芯片的每個(gè)輸入通道都擁有過電壓保護(hù)機(jī)制,,允許的過壓值為±17 V,。

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

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

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

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

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

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

ck4-t1.gif

    圖1中,,由CDT2000 I/O指向AD7891和JK觸發(fā)器的箭頭線表示CDT2000 I/O口以輸出模式與AD7891和JK觸發(fā)器的引腳連接,,I/O通過輸出電位的變化實(shí)現(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上的引腳為復(fù)用端口,,I/O口既要以輸出模式控制該引腳的電位,,又要在A/D轉(zhuǎn)換結(jié)束時(shí),以輸入模式讀取該引腳的電位,。

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

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

2.1 AD7891時(shí)序分析

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

ck4-t2.gif

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

2.2 I/O口對(duì)AD7891工作時(shí)序的控制

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

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

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

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

3 試驗(yàn)結(jié)果

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

ck4-t3.gif

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

    ck4-gs1.gif

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

    ck4-gs3.gif

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

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

參考文獻(xiàn)

[1] 何學(xué)輝,,蘇濤.TMS320VC5402 DSP與串行AD73360 A/D轉(zhuǎn)換器的接口設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2003,29(11):67-70.

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

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

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

[5] 鄺堅(jiān).Tornado/VxWorks入門與提高[M].北京:科學(xué)出版社,,2004.

[6] 譚浩強(qiáng).C程序設(shè)計(jì)(第3版)[M].北京:清華大學(xué)出版社,,2005.

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