新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AVR和CPLD的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

基于AVR和CPLD的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

作者: 時(shí)間:2010-10-20 來(lái)源:網(wǎng)絡(luò) 收藏

  將程序下載至中運(yùn)行調(diào)試,經(jīng)過(guò)對(duì)電路的調(diào)試和測(cè)量,控制8通道A/D同時(shí)轉(zhuǎn)換的狀態(tài)機(jī)產(chǎn)生的示波器時(shí)序波形如圖5所示,其中,0、1、2、3、4分別對(duì)應(yīng)的是圖3中的CONVST、EOC、EOLC、CS、RD,而第5通道是對(duì)FIF0的寫(xiě)信號(hào)。從示波器顯示的波形圖可以看出產(chǎn)生的8個(gè)連續(xù)的脈沖對(duì)應(yīng)位置完全滿(mǎn)足圖3所要求的時(shí)序要求,也就是說(shuō)在控制器同時(shí)控制8路信號(hào)的采集時(shí)不會(huì)出現(xiàn)時(shí)序混亂的情況。由此可知,采用本系統(tǒng)中設(shè)計(jì)的采集程序可以實(shí)現(xiàn)同時(shí)采集的要求,并且根據(jù)采集的脈沖寬度分析可知該系統(tǒng)能滿(mǎn)足采集速度為10 Mb/s的設(shè)計(jì)要求。

控制8通道A

  2.2 控制Flash存儲(chǔ)程序設(shè)計(jì)

  4個(gè)Flash存儲(chǔ)器的流水線(xiàn)工作原理如圖2所示,對(duì)單獨(dú)的每一片F(xiàn)lash來(lái)說(shuō)每一次存儲(chǔ)都是在上一次存儲(chǔ)過(guò)程中加載完成后進(jìn)行,而對(duì)于由4片F(xiàn)lash存儲(chǔ)器組成的整個(gè)系統(tǒng),它一直在加載存儲(chǔ)數(shù)據(jù),這樣可以保證存儲(chǔ)速度大于采集速度,從而保證存儲(chǔ)過(guò)程中不會(huì)因單片F(xiàn)lash存儲(chǔ)速度慢而造成丟失數(shù)據(jù)。實(shí)現(xiàn)Flash存儲(chǔ)的主要程序:

程序

  在數(shù)據(jù)加載期間本系統(tǒng)應(yīng)采用DMA傳輸控制方式,即:每當(dāng)FIF0的半滿(mǎn)標(biāo)志信號(hào)HF產(chǎn)生一次有效電平時(shí),ATmegal62就啟動(dòng)一次中斷,在中斷程序中,ATmegal62將產(chǎn)生NAND Flash命令和有效地址,以及啟動(dòng)DMA控制器。一旦DMA控制器啟動(dòng),ATmegal62就將轉(zhuǎn)入后臺(tái)進(jìn)行有效地址的運(yùn)算等,從而參與數(shù)據(jù)傳輸過(guò)程,整個(gè)數(shù)據(jù)從FIFO到Flash存儲(chǔ)器的傳輸過(guò)程是由內(nèi)部編寫(xiě)的DMA控制器控制完成。啟動(dòng)一次DMA控制器傳輸一頁(yè)2048個(gè)字節(jié)的數(shù)據(jù),一次中斷完成16 K字節(jié)的傳輸。其示波器時(shí)序如圖6所示:第0,1,2,3通道是FIF0的讀數(shù)據(jù)時(shí)序波形,第4通道是Flash的寫(xiě)通道時(shí)序波形。

示波器時(shí)序

  3 結(jié)論

  通過(guò)使用編程,設(shè)計(jì)實(shí)現(xiàn)了一種成本低且可實(shí)現(xiàn)10 Mb/s以上并行采集數(shù)據(jù)率的存儲(chǔ)系統(tǒng)。在分析MAXl308特性及轉(zhuǎn)換時(shí)序的基礎(chǔ)上,設(shè)計(jì)完成了A/D轉(zhuǎn)換器及其外圍電路,并通過(guò)調(diào)試可知時(shí)序穩(wěn)定。通過(guò)VHDL語(yǔ)言實(shí)現(xiàn)了采集模塊、控制與存儲(chǔ)模塊和Flash存儲(chǔ)功能。在完成硬件連接后調(diào)試,試驗(yàn)結(jié)果顯示,該設(shè)計(jì)能夠?qū)崿F(xiàn)低成本高速采集,多路同時(shí)采集速度大于10 Mb/s采集系統(tǒng),具有一定的實(shí)用價(jià)值。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉