基于CPLD的多路信號采集系統(tǒng)實(shí)現(xiàn)方案
4.2 各個(gè)模塊的設(shè)計(jì)
在本設(shè)計(jì)中采用Altera公司EPM7064系列CPLD,程序使用VHDL語言編寫,并在Quartus II環(huán)境下編譯通過,程序主要有“采集模塊”和“讀數(shù)模塊”。采集模塊:在采集模塊中,共有5個(gè)并行進(jìn)程,其中在進(jìn)程1中,首先在主控計(jì)數(shù)器COUNT=10時(shí)開始結(jié)合內(nèi)部時(shí)鐘COL信號來產(chǎn)生多路開關(guān)選通信號CNT,當(dāng)COL='0'時(shí): CNT=0000.COL='1'時(shí):CNT=0001.以次類推一直到COL='15'時(shí)選通15路后,進(jìn)程1停止。在進(jìn)程2中,當(dāng)主控計(jì)數(shù)器COUNT在130和150區(qū)間內(nèi)時(shí),且內(nèi)部計(jì)數(shù)器信號COL在0~15范圍內(nèi),則開始打開AD,開始采集。在進(jìn)程3中如果主控計(jì)數(shù)器COUNT=185~255時(shí)打開RAM的寫入狀態(tài)。在進(jìn)程4中當(dāng)主控制計(jì)數(shù)器count=200和220時(shí),結(jié)合內(nèi)部時(shí)鐘信號COL,分別選擇存入高4位、低8位或者幀計(jì)數(shù)。進(jìn)程5:count=235遞推幀標(biāo)志位和ADG506(模擬開關(guān))選通標(biāo)志位,具體見圖6所示。[4]
讀數(shù)模塊:讀數(shù)模塊共分為3個(gè)并行進(jìn)程:在進(jìn)程1中,當(dāng)時(shí)鐘上升延時(shí),且如果使能EN_R為高時(shí),且電腦控制讀數(shù)口CPUCLK='1'時(shí)開始讀數(shù)。在進(jìn)程2中,讀完一次數(shù)據(jù)后,將RAM地址遞推一次。進(jìn)程3中,如果系統(tǒng)為讀數(shù)模塊有效時(shí),數(shù)據(jù)將通過CPLD發(fā)送到MAX232通過異步串行的方法將數(shù)據(jù)上傳,具體見圖7所示。[5]
5 結(jié)束語
本文對多路數(shù)據(jù)采集系統(tǒng)的組成原理、單元電路設(shè)計(jì)、接口電路設(shè)計(jì)和系統(tǒng)控制程序設(shè)計(jì)進(jìn)行了詳細(xì)的闡述,完成了多路信號數(shù)據(jù)采集系統(tǒng)軟硬件設(shè)計(jì)。使系統(tǒng)工作安全可靠,數(shù)據(jù)采集精度較高,抗干擾能力較強(qiáng)。具有良好的應(yīng)用前景和很高的使用價(jià)值。
文章創(chuàng)新點(diǎn):本文應(yīng)用CPLD復(fù)雜可編程邏輯器件實(shí)現(xiàn)了:模擬/數(shù)字信號采集系統(tǒng)設(shè)計(jì)、異步串行數(shù)據(jù)傳輸?shù)燃夹g(shù)。并且通過使用多路切換開關(guān)循環(huán)采集的方法,實(shí)現(xiàn)對高速信號采集。有效控制了成本,提高了系統(tǒng)的完整性,可靠性,實(shí)用性。
評論