新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于CPLD和ISA總線的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

基于CPLD和ISA總線的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2010-04-02 來源:網(wǎng)絡(luò) 收藏

1.2 8254可編程定時(shí)器電路
8254可編程定時(shí)器內(nèi)部具有3個(gè)獨(dú)立的16位減法計(jì)數(shù)器,它可由程序設(shè)置成多種工作方式,有6種可選工作方式。計(jì)數(shù)器按照設(shè)置各工作方式寄存器中控制字工作,按十進(jìn)制計(jì)數(shù)或二進(jìn)制計(jì)數(shù),最高計(jì)數(shù)速率可達(dá)10 MHz。
系統(tǒng)需要由8254提供AD轉(zhuǎn)換電路的時(shí)鐘信號和片選信號,通過改變8254的控制字改變系統(tǒng)的轉(zhuǎn)換頻率。8254定時(shí)器的輸入時(shí)鐘由外部晶振提供。定時(shí)器和定時(shí)器的輸出信號直接送入可編程邏輯器件XC9572,經(jīng)處理后提A/D轉(zhuǎn)換電路使用。上位機(jī)寫入的控制字經(jīng)送至8254,同時(shí)XC9572給8254提供必要的控制信號,如:8254讀/寫信號、片選信號、地址信號等。
假設(shè)系統(tǒng)的外部時(shí)鐘為2 MHz,如果需要8254的定時(shí)器0輸出一個(gè)頻率為l MHz,占空比為50%的時(shí)鐘,則8254的定時(shí)器控制字可設(shè)置為:D7~D0=00110110,其中,D7D6=00,表示選擇定時(shí)器;D5D4=11,表示先讀/寫低8位,后讀/寫高8位數(shù)據(jù);D3D2Dl=011,表示工作方式3,方波發(fā)生器;D0=0,表示二進(jìn)制計(jì)數(shù)。
1.3 A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換電路完成和轉(zhuǎn)換,主要包括MD轉(zhuǎn)換和模擬信號采樣兩部分電路。
8通道模擬采樣開關(guān)ADG508用于采樣模擬信號。由送來的通道選擇信號(CH0~CH2)用于選擇輸入的通道號。被選通的通道采樣得到的模擬信號送給ADS7816的IN+端,進(jìn)行AD轉(zhuǎn)換,如圖3所示。

本文引用地址:http://butianyuan.cn/article/191750.htm


A/D轉(zhuǎn)換電路采用TI公司的ADS7816,該器件是12位串行A/D轉(zhuǎn)換器,采樣頻率高達(dá)200 kHz,轉(zhuǎn)換所需時(shí)間短,轉(zhuǎn)換精度高,輸出形式為位串行,因此在對ADS7816進(jìn)行讀數(shù)據(jù)操作時(shí)需注意數(shù)據(jù)轉(zhuǎn)換過程中的時(shí)序。


圖4是ADS7816的數(shù)據(jù)轉(zhuǎn)換時(shí)序。當(dāng)ADS7816的片選端下降沿到來時(shí),開始啟動(dòng)一次A/D轉(zhuǎn)換,保持轉(zhuǎn)換時(shí)鐘輸入和片選信號低電平,最初的1.5~2個(gè)時(shí)鐘時(shí)間里,完成模擬信號的采樣,這段時(shí)間ADS7816的輸出呈高阻狀態(tài)(HI-Z)。緊接著的1個(gè)時(shí)鐘周期里,DOUT輸出1個(gè)空位(NULL BIT)。隨后,ADS7816在12個(gè)連續(xù)的時(shí)鐘周期內(nèi)把12位的A/D轉(zhuǎn)換結(jié)果輸出,其中先輸出最高位(MSB),最后輸出最低位(LSB)。如果12位數(shù)據(jù)送出后仍有轉(zhuǎn)換時(shí)鐘且ADS7816的片選仍保持低電平,那么轉(zhuǎn)換器會從最低位起逐位重復(fù)輸出之前轉(zhuǎn)換的結(jié)果。當(dāng)下一個(gè)片選信號的下降沿到來時(shí),A/D轉(zhuǎn)換器開始啟動(dòng)下一次A/D轉(zhuǎn)換。

2 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)包括基于VHDL的邏輯控制程序設(shè)計(jì)和基于C語言的上位機(jī)采集測試程序設(shè)計(jì)。
2.1 VHDL程序設(shè)計(jì)
系統(tǒng)設(shè)計(jì)硬件中,可編程邏輯器件完成的內(nèi)容有:接收上位機(jī)的地址和數(shù)據(jù),為模擬開關(guān)提供通道選擇信號,為A/D轉(zhuǎn)換電路提供時(shí)鐘信號和片選信號,接收ADS7816轉(zhuǎn)換的數(shù)據(jù),向上位機(jī)傳送轉(zhuǎn)換結(jié)果。
從圖4中可得到ADS7816在片選信號下降沿到來后的14.5~15個(gè)時(shí)鐘周期里,完成一次轉(zhuǎn)換并逐位輸出12位轉(zhuǎn)換結(jié)果。為了能夠得到完整的正確的A/D轉(zhuǎn)換結(jié)果,采用計(jì)數(shù)方式設(shè)置標(biāo)志位FLG。在ADS7816的片選信號為低電平的前15個(gè)時(shí)鐘周期中,即“計(jì)數(shù)器計(jì)數(shù)值≤14”時(shí),F(xiàn)LG=l,表示A/D轉(zhuǎn)換正在進(jìn)行;當(dāng)“計(jì)數(shù)器的計(jì)數(shù)值>14”,則FLG=0,表示A/D轉(zhuǎn)換結(jié)束。當(dāng)FLG=0時(shí),程序可讀取一次正確的A/D轉(zhuǎn)換數(shù)據(jù)。
因?yàn)锳DS7816的數(shù)據(jù)轉(zhuǎn)換結(jié)果是串行輸入到中,需在中將得到的數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換后再通過的8位數(shù)據(jù)線分2次送出。
系統(tǒng)進(jìn)行數(shù)據(jù)轉(zhuǎn)換前需先選擇輸入通道,確定采集哪一路信號。上位機(jī)輸入的通道號經(jīng)CPLD送至8路模擬采樣開關(guān)。



關(guān)鍵詞: CPLD ISA 總線 數(shù)據(jù)采集

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉