基于FPGA和DSP的微振動傳感器信號采集系統(tǒng)設(shè)計(jì)
為了避免系統(tǒng)重置之前half_full信號上升沿導(dǎo)致錯(cuò)誤的觸發(fā)DSP的EDMA事件,在rst置位之前half_full置1。模/數(shù)轉(zhuǎn)換模塊的AD9235輸出位數(shù)是12位,F(xiàn)IFO的輸入和輸出均設(shè)為12位。本文引用地址:http://www.ex-cimer.com/article/189702.htm
3.2 DSP的軟件流程
DSP模塊的軟件流程設(shè)計(jì)采用TI的DSP集成開發(fā)環(huán)境CCS3.3。DSP中的軟件配合FPGA上的FIFO一起控制信號的采集和數(shù)據(jù)的實(shí)時(shí)處理。軟件實(shí)現(xiàn)的功能分3個(gè)部分:系統(tǒng)初始化,EDMA傳輸控制和中斷服務(wù)程序,算法處理。軟件流程圖如圖4所示。
C6747上電后,首先進(jìn)行系統(tǒng)初始化,設(shè)置各配置寄存器使DSP各功能模塊按設(shè)計(jì)要求運(yùn)行,主要配置管腳復(fù)用、PLL、PSC和EMIF。FPGA同時(shí)啟動并開始控制AD9235開始采集數(shù)據(jù),傳感器的信號經(jīng)過模/數(shù)轉(zhuǎn)換進(jìn)入FPGA的FIFO緩沖器,當(dāng)FIFO內(nèi)的數(shù)據(jù)量達(dá)到設(shè)定長度時(shí),half_ full信號線電平由低轉(zhuǎn)高,輸出中斷信號。然后,因?yàn)榇诵盘柧€和DSP的通用管腳GP4[2]相連,DSP內(nèi)部的EDMA3控制器會檢測到此GPIO中斷事務(wù),并產(chǎn)生一個(gè)傳輸請求,按照設(shè)定的參數(shù)把數(shù)據(jù)從FPGA內(nèi)的輸出FIFO轉(zhuǎn)移到DSP模塊的SDRAM存儲器。在完成此EDMA傳輸請求之后觸發(fā)一個(gè)EDMA中斷,在中斷服務(wù)程序中檢測SDRAM內(nèi)數(shù)據(jù)長度。最后,當(dāng)SDRAM內(nèi)存儲的數(shù)據(jù)長度達(dá)到設(shè)定的長度時(shí),觸發(fā)信號處理函數(shù)進(jìn)行信號處理,譬如對信號進(jìn)行濾波、小波變換、功率譜分析等。
4 結(jié)語
本文基于FPGA和DSP,針對M—Z型光纖微振動傳感器設(shè)計(jì)了一種結(jié)構(gòu)簡單、低功耗、實(shí)時(shí)性能好的信號采集和算法處理的實(shí)時(shí)系統(tǒng)。測試結(jié)果表明系統(tǒng)能采集傳感器信號,準(zhǔn)確傳輸?shù)紻SP。并進(jìn)行算法處理;為光纖微振動傳感器的數(shù)據(jù)采集和處理提供了一個(gè)良好的解決方案。該系統(tǒng)基于FPGA和DSP,能適應(yīng)不同的算法,有利于系統(tǒng)的擴(kuò)展和改進(jìn)。
fpga相關(guān)文章:fpga是什么
傳感器相關(guān)文章:傳感器工作原理
干涉儀相關(guān)文章:干涉儀原理
光纖傳感器相關(guān)文章:光纖傳感器原理
評論