資源描述:
《基于cpld的數(shù)據(jù)采集卡》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、CPLD數(shù)據(jù)采集卡基本原理和說明作者:張樹成、孫力指導(dǎo)教師:陳力平【內(nèi)容摘要】:設(shè)計(jì)了基于CPLD的數(shù)字電壓表,是數(shù)據(jù)采集卡的采樣和顯示的核心部件,采用CPLD器件作為核心處理電路,用EPM7128進(jìn)行控制,能較好地減小外界干擾,提高分辨率。采用ADC0809作為數(shù)據(jù)的采樣模塊,來進(jìn)行直流采樣。通過用EPM7128進(jìn)行控制,在通過LG5641H,進(jìn)行7段式數(shù)碼管顯示,顯示采集到的直流數(shù)據(jù)。另外還設(shè)置了一塊51芯片,以備控制芯片容量不夠時(shí)使用?!娟P(guān)鍵詞】:數(shù)據(jù)采集、直流采樣、7段數(shù)碼管顯示一、項(xiàng)目背景(創(chuàng)作意圖)由于本身就是電信專業(yè)的,在之后的課程中也會(huì)學(xué)習(xí)到相應(yīng)的CP
2、LD原理,還有VHDL編程,想通過這樣的小制作來提高自己的學(xué)習(xí)能力和專業(yè)技術(shù)。所以也選擇了相對(duì)比較簡(jiǎn)單的直流數(shù)據(jù)采集來進(jìn)行,即能提高自己也能不拉下學(xué)習(xí),也是為了能盡可能的了解一些社會(huì)需要的知識(shí)。數(shù)據(jù)傳輸直流電壓ADC0809采樣EPM7128運(yùn)算數(shù)據(jù)顯示處理好的數(shù)據(jù)控制控制圖1二、數(shù)據(jù)采集卡的基本原理根據(jù)這個(gè)基本原理我們選擇了相應(yīng)的器件,在進(jìn)行軟件編程和測(cè)試。采集卡的原理如圖所示,其設(shè)計(jì)思想是:采用一塊12bit,最大采樣頻率500K的A/D芯片ADC0809,將采樣數(shù)據(jù)輸入EPM7128中進(jìn)行數(shù)據(jù)處理,在輸入數(shù)碼管顯示。進(jìn)行整個(gè)過程由CPLD器件控制協(xié)調(diào)完成。三、分
3、步解說器件原理A/D轉(zhuǎn)化:1、AD0809的邏輯結(jié)構(gòu):ADC0809是8位逐次逼近型A/D轉(zhuǎn)換器。它由一個(gè)8路模擬開關(guān)、一個(gè)地址鎖存譯碼器、一個(gè)A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成(見下圖)。多路開關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。2、AD0809的工作原理IN0-IN7:8條模擬量輸入通道ADC0809對(duì)輸入模擬量要求:信號(hào)單極性,電壓范圍是0-5V,地址輸入和控制線:4條。ALE為地址鎖存允許輸入線,高電平有效。當(dāng)ALE線為高
4、電平時(shí),地址鎖存與譯碼器將A,B,C三條地址線的地址信號(hào)進(jìn)行鎖存,經(jīng)譯碼后被選中的通道的模擬量進(jìn)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0-IN7上的一路模擬量輸。數(shù)字量輸出及控制線:11條,ST為轉(zhuǎn)換啟動(dòng)信號(hào)。當(dāng)ST上跳沿時(shí),所有內(nèi)部寄存器清零;下跳沿時(shí),開始進(jìn)行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號(hào)。當(dāng)EOC為高電平時(shí),表明轉(zhuǎn)換結(jié)束;否則,表明正在進(jìn)行A/D轉(zhuǎn)換。OE為輸出允許信號(hào),用于控制三條輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE=0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7-D0為數(shù)字量輸出線。CLK為時(shí)
5、鐘輸入信號(hào)線。因ADC0809的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號(hào)必須由外界提供,通常使用頻率為500KHZ。CPLD控制邏輯設(shè)計(jì)采集卡數(shù)字部分芯片數(shù)量不多,但是要求迅速做出采樣和顯示,因此選取具有84管腿的CPLD器件EPM7128SLC84控制協(xié)調(diào)采集卡整個(gè)工作過程。該CPLD器件屬于Altera公司7000系列,該系列是以第二代多陣列結(jié)構(gòu)為基礎(chǔ),高性能的CMOS器件,其引腳到引腳的時(shí)延5ns,計(jì)數(shù)器工作頻率178.6MHz,片內(nèi)邏輯程序可以重復(fù)燒寫,方便系統(tǒng)升級(jí)。CPLD片內(nèi)邏輯程序分為:采樣分頻、寄存器邏輯控制單元、顯示控制單元3大部分組成,每一部分均采用VHDL
6、語言和原理圖結(jié)合設(shè)計(jì)的方法實(shí)現(xiàn),最后將3大模塊聯(lián)結(jié)成整體程序固化到CPLD芯片內(nèi)。分頻:原來的電路中使用的晶振是12M的,而要達(dá)到ADC0809合適的500KHZ我要將晶振進(jìn)行12次的分頻。分頻語句如下:beginprocess(clk)--分頻variablecount:integerrange0to12;beginifclk'eventandclk='1'thenifcount=12thenfout1<=notfout1;count:=0;elsecount:=count+1;endif;endif;endprocess;對(duì)ADC0809的控制語言:por:pro
7、cess(current_state,eoc)begincasecurrent_stateiswhenst0=>ale<='0';start<='0';oe<='0';lock<='0';next_state<=st1;---初始態(tài)ST0向下一狀態(tài)ST1轉(zhuǎn)換,0809采樣控制信號(hào)初始化;whenst1=>ale<='1';start<='0';oe<='0';lock<='0';next_state<=st2;---由ALE的上升沿將通道地址'001'鎖入0809的地址寄存器;whenst2=>ale<='0';start<='1';oe<='0';