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