基于CS5451A多路同步數(shù)據(jù)采集系統(tǒng)設(shè)計
由于SCLK頻率很低,在用CPU的SPI控制器接收數(shù)據(jù)的時候,CPU接收一位的時間為4tXINe=1μs,如圖5所示,一幀數(shù)據(jù)為96位,接收一幀數(shù)據(jù)大約為96μs的時間,如果用CPU通過異步FIFO讀取數(shù)據(jù),因為現(xiàn)在的控制器總線速度很快,假設(shè)讀一個字節(jié)數(shù)據(jù)需要100 ns,讀走一幀數(shù)據(jù)大約需要100 ns×12=1.2μs(由于MPC8313總線寬度為16位,不能一次讀取19位數(shù)據(jù),所以在讀取FIFO中數(shù)據(jù)的時候,把通道號鎖存到一個暫存寄存器中,讀取采樣數(shù)據(jù)后再讀取通道號,所以讀取一幀數(shù)據(jù)需要12次)。只有原來的大約1/80的時間,提高了CPU的利用效率。
本文引用地址:http://m.butianyuan.cn/article/195006.htm
4 中斷服務(wù)子程序的設(shè)計
CPU讀采樣數(shù)據(jù)是在中斷服務(wù)子程序中設(shè)計的,在中斷程序中讀走采樣值數(shù)據(jù),并判斷通道號是否對應(yīng)。軟件流程如圖6所示。
5 結(jié)論
本文利用CS5451A設(shè)計一個通用的多路數(shù)據(jù)采集系統(tǒng),利用XILINX SPARTAN3E系列FPGA芯片實現(xiàn)異步FIFO和采樣數(shù)據(jù)串并轉(zhuǎn)換模塊的設(shè)計,CPU不用直接用SPI控制器接收CS5451A芯片輸出的串行格式的數(shù)據(jù),只需要把ADC輸出的串行數(shù)據(jù)通過串并轉(zhuǎn)換模塊存入FIFO緩沖區(qū),并產(chǎn)生一個中斷信號,在CPU的中斷子程序中讀出采樣數(shù)據(jù)。該方案已經(jīng)在低壓繼電保護裝置中得到了應(yīng)用,通過試驗本系統(tǒng)的數(shù)據(jù)采集精度可以達到0.2級。調(diào)試中發(fā)現(xiàn),在進行PCB設(shè)計時,要注意以下幾點:
1)模擬部分電路(差分輸入以及參考電源部分)和數(shù)字部分(XIN、FSO、SDO、SCLK信號)應(yīng)完全分開在不同的區(qū)域里。
2)良好的去耦對抑制CS5451A產(chǎn)生的噪聲很重要,去耦電容一般為0.1 μF,且放到電源輸入引腳盡可能近的地方,以達到良好的去耦效果。
3)如果系統(tǒng)要求工作在-40~+85℃的溫度范圍內(nèi),要求采樣精度達到0.2級,必須使用外部高精度的參考電源。
評論