基于FPGA+DSP的多通道單端/差分信號采集系統(tǒng)設(shè)計
2.2 FPGA部分的設(shè)計
本文引用地址:http://m.butianyuan.cn/article/236079.htm由于DSP數(shù)據(jù)總線為32位雙向總線,所以在FPGA中需要設(shè)計一個總線的三態(tài)控制器,來控制總線的輸入輸出,這部分設(shè)計較簡單,模式相對固定,應(yīng)用已成熟。
對于DSP發(fā)出的各個通道單端/差分控制,各個通道使能控制以及采樣率分頻值設(shè)置這些控制信息,由在FPGA中開辟出的3個32位寄存器來存儲。通道單端/差分控制寄存器和通道使能寄存器的定義如表1和表2所示,采樣率分頻值設(shè)置寄存器中的32位無符號2進制整數(shù)表示相應(yīng)的分頻值。
?
?
?
?
當(dāng)DSP的控制信息設(shè)置好以后,根據(jù)通道單端/差分控制寄存器以及通道使能控制寄存器中的內(nèi)容,建立一個使能通道索引表,索引表中字的個數(shù)等于使能的通道數(shù),每一個字的字長為6位,依次將使能的通道號轉(zhuǎn)換成二進制無符號數(shù)后放入表中各個字的低5位,每個字的高位記錄相應(yīng)的通道是單端還是差分,‘0’表示單端,‘1’表示差分。
設(shè)計采用ADS8517并行輸出的工作模式,按照圖3所示的并行輸出方式時序圖對其進行控制,其中
?
?
?
ADS8517控制以及通道切換控制模塊在按照圖3所示的時序控制過程中,要根據(jù)采樣率分頻值設(shè)置寄存器中的值控制兩次采樣之間的時間間隔,即控制兩個相鄰
?
除此之外,在FPGA中開辟一個字長為32位的FIFO,低16位存入A/D采樣的數(shù)據(jù),高16位存入該數(shù)據(jù)對應(yīng)的通道號,F(xiàn)IFO半滿,則給DSP發(fā)中斷,由DSP將A/D采樣后的數(shù)據(jù)讀出,以便后續(xù)處理。要注意的是,F(xiàn)IFO深度不能設(shè)置得太淺,否則會很快達到半滿,導(dǎo)致DSP對中斷響應(yīng)不過來。
3 結(jié)果驗證
按照以上設(shè)計思路,完成硬件電路、FPGA內(nèi)邏輯和DSP的程序設(shè)計,使用QuartusII中的在線邏輯分析儀SignalTapII Logic Analyzer對結(jié)果進行采樣分析,圖4所示為在DSP設(shè)置使能通道為30和31,并且均為單端的條件下采到的結(jié)果,與期望結(jié)果一致,類似這樣通過多次改變控制條件采樣分析發(fā)現(xiàn),該系統(tǒng)可以正確地實現(xiàn)之前所描述的功能,從而驗證了該設(shè)計的合理正確性。
?
4 結(jié)束語
由于DSP+FPGA協(xié)同工作平臺的優(yōu)越性,使其在信號處理中的應(yīng)用越來越廣泛。文中介紹了一種基于DSP+FPGA的平臺,并利用ADS8517構(gòu)成的一個具有多通道單端/差分的A/D信號采集系統(tǒng)。該系統(tǒng)的使能通道數(shù)可選,單端/差分方式可設(shè)置,采樣率可改變,機動靈活,可以應(yīng)用在諸多信號采集以及測試系統(tǒng)中。
fpga相關(guān)文章:fpga是什么
評論