基于AVR和CPLD的高速數據采集系統
輸入系統的信息大多數是模擬量,為使計算機能夠處理這些模擬量,必須經由數據采集系統將模擬量轉化為數字量。CPLD是在PAL、GAL等邏輯器件的基礎上發展起來的,CPLD的規模比較大,適合于時序、組合等邏輯電路的應用場合,它的高集成度能力大大縮小電路板的尺寸,降低了系統的成本,而且能夠提高系統的性能和可靠性。 對于一個成型的探測系統而言,通常都是有采集儲存部分的,無論是電信號、光信號、聲音信號、磁信號等在被探測器接收到后大部分都需要轉化為數字信號傳給處理器才能完成分析、判斷的過程。對于需要高速采集并存儲的系統,常常需要購買昂貴的高速采集卡等設備,在基于CPLD、AVR等控制高速ADC、儲存等技術的基礎上,本文設計低成本、高
速采集存儲的硬件實現。
1 系統總體設計方案
系統利用ATmegal62作為主控制器,CPLD用于產生控制時序,二者相結合協調進行數據的采集與傳輸控制。圖1給出其系統總體設計方案框圖。
數據采集系統的工作原理是:模擬量信號經過傳感器后轉化成電壓量,通過ADC將模擬量轉換為數字量,而后進行傳輸存儲和處理。在本系統中,在CPLD和AVR的控制下,將采集到的模擬信號經過A/D器件轉換之后,轉換結果先緩存到FIFO,再轉存到非易失性Flash陣列中,其中FIFO不但可以實現緩存功能,還可以解決A/D轉換之后數據位數跟Flash存儲器的數據線位數不匹配的矛盾。
1.1 采集部分
本系統應用的A/D轉換器是MAXl308,它具有8通道可編程配置,可接收數字輸入分別激活每一路通道;100 ps通道間T/H匹配;轉換時間為0.72(單通道),0.9(2通道),1.26(4通道),1.98μs(8通道);吞吐率為1 075(單通道),90(2通道),680(4通道),456千次/秒(8通道)。其他特性包括20 MHz T/H輸入帶寬、并具有內部時鐘、內部(+2.5 V)或外部(+2.0~+3.O V)基準,以及低功耗省電模式。
1.2 控制與存儲部分
如圖2所示是4個Flash模塊組采用流水線(pipeline)操作,使用該方式可以克服Flash寫入速度較慢的缺點。Flash存儲器的寫入有2個階段:數據加載階段(通過I/0端口將數據寫入頁寄存器)和編程階段(在芯片內部,將頁寄存器的數據傳輸到存儲單元)。由于編程階段是自動進行的,不需要外部系統的干預,控制器可以進行其他事務的處理,如有效塊地址的運算等,從而節省系統開銷。NAND型Flash存儲器的寫操作以流水線方式進行,首先加載第1個Flash模塊組,數據加載完后,第1個模塊組進入自動編程階段:再加載第2個Flash模塊組,數據加載完后,第2個模塊組進入自動編程階段;然后依次對第3個乃至第4個模塊組進行操作,當第4個模塊組數據加載完后,第1個存儲模塊組已經自動編程結束,接著再加載和自動編程形成流水線的工作方式。從整個系統總體效果來看,它一直在進行存儲加載數據。
2 程序設計與實現
編程實現采集部分的功能,采集部分時序圖如圖3所示。任意選擇兩條通道進行內部時鐘分析,圖中為第3通道和第7通道,當控制信號產生低電平時,控制引腳起作用,觸發采集功能,同時EOC引腳電平至低。在tCTR段時間后讀信號被啟動經過tACC的時間后,12位數據將出現在DO-D11引腳上。在整個采集、存儲過程中其他通道和通道3、通道7一樣,隨后將數據存入數據緩存器中。
評論