《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 设计应用 > 基于AVR和CPLD编程的高速数据采集存储系统设计
基于AVR和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(
Abstract:
Key words :

  對于一個成型的探測系統而言,通常都是有采集儲存部分的,無論是電信號、光信號、聲音信號、磁信號等在被探測器接收到后大部分都需要轉化為數字信號傳給處理器才能完成分析、判斷的過程。對于需要高速采集并存儲的系統,在基于CPLDAVR等控制高速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一樣,隨后將數據存入數據緩存器中。

  

 

  2.1 控制A/D轉換程序設計

  根據控制存儲的要求,首先要設計控制A/D轉換的狀態機,用來確定A/D轉換的狀態,根據MAXl308工作時序特點而設計的控制A/D轉換的狀態機轉換圖如圖4所示。實現控制A/D轉換的狀態機部分主要VHDL程序源代碼如下:

  

 

  

 

  

 

  將程序下載至CPLD中運行調試,經過對電路的調試和測量,控制8通道A/D同時轉換的狀態機產生的示波器時序波形如圖5所示,其中,0、1、2、3、4分別對應的是圖3中的CONVST、EOC、EOLC、CS、RD,而第5通道是對FIF0的寫信號。從示波器顯示的波形圖可以看出產生的8個連續的脈沖對應位置完全滿足圖3所要求的時序要求,也就是說在控制器同時控制8路信號的采集時不會出現時序混亂的情況。由此可知,采用本系統中設計的采集程序可以實現同時采集的要求,并且根據采集的脈沖寬度分析可知該系統能滿足采集速度為10 Mb/s的設計要求。

  

 

  2.2 控制Flash存儲程序設計

  4個Flash存儲器的流水線工作原理如圖2所示,對單獨的每一片Flash來說每一次存儲都是在上一次存儲過程中加載完成后進行,而對于由4片Flash存儲器組成的整個系統,它一直在加載存儲數據,這樣可以保證存儲速度大于采集速度,從而保證存儲過程中不會因單片Flash存儲速度慢而造成丟失數據。實現Flash存儲的主要程序:

  

 

  在數據加載期間本系統應采用DMA傳輸控制方式,即:每當FIF0的半滿標志信號HF產生一次有效電平時,ATmegal62就啟動一次中斷,在中斷程序中,ATmegal62將產生NAND Flash命令和有效地址,以及啟動DMA控制器。一旦DMA控制器啟動,ATmegal62就將轉入后臺進行有效地址的運算等,從而參與數據傳輸過程,整個數據從FIFO到Flash存儲器的傳輸過程是由CPLD內部編寫的DMA控制器控制完成。啟動一次DMA控制器傳輸一頁2048個字節的數據,一次中斷完成16 K字節的傳輸。其示波器時序如圖6所示:第0,1,2,3通道是FIF0的讀數據時序波形,第4通道是Flash的寫通道時序波形。

  3 結論

  通過使用AVR和CPLD編程,設計實現了一種成本低且可實現10 Mb/s以上并行采集數據率的高速數據采集存儲系統。在分析MAXl308特性及轉換時序的基礎上,設計完成了A/D轉換器及其外圍電路,并通過調試可知時序穩定。通過VHDL語言實現了采集模塊、控制與存儲模塊和Flash存儲功能。在完成硬件連接后調試,試驗結果顯示,該設計能夠實現低成本高速采集,多路同時采集速度大于10 Mb/s采集系統,具有一定的實用價值。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 欧美中文字幕视频| 国产精品自拍首页| 日韩精品一区二区三区四| 国产日韩亚洲精品| 91精品国产91久久久久久久久 | 国产熟人av一二三区| 精品日韩在线播放| 91精品视频免费看| 亚洲国产精品日韩| 天天成人综合网| 欧美精品在线网站| 国产精品美女网站| 一区二区三区四区欧美日韩| 久久国产精品久久国产精品| 激情综合网婷婷| 青青草精品视频在线| 亚洲尤物视频网| 国产精品成av人在线视午夜片| 国产精品亚洲视频在线观看| 日韩免费在线播放| 精品久久免费观看| 欧美亚洲国产成人精品| 水蜜桃亚洲精品| 麻豆av一区| 国产精国产精品| 中文字幕免费在线不卡| 日韩精品 欧美| 欧美大香线蕉线伊人久久国产精品| 国产亚洲精品久久久久久久| 男女视频一区二区三区| 成人国产精品久久久久久亚洲| 国产精品国内视频| 日本不卡一区二区三区在线观看| 成人国产精品久久久久久亚洲| 日韩中文字幕在线不卡| 日韩精品资源| 精品国产91亚洲一区二区三区www| 日韩中文字幕在线视频播放 | 日韩欧美一级在线| 日本一区二区三区免费看| 国产视频99|