基于FPGA多通道同步數據采集系統(tǒng)設計
2.4 雙口RAM控制模塊
在本設計中,應用FPGA采集多路數據,還需要把采集到的部分數據上傳到CPU,同時CPU也會和FPGA交換數據,因此FPGA和CPU之間首先要解決兩者之間的通信方式。常用的數據交換主要有串行通信、并行通信、直接存儲器存取、共享存儲器等方式。串行通信方式是利用處理器本身提供的串行口或者在芯片的基礎上用軟件或硬件開發(fā)一個串行口實現處理器之間的通信。這種方式相對來說比較簡單,適合處理器之間通信量不是很大或者較遠距離傳輸的場合。并行數據傳輸技術是提高數據傳輸率的重要手段,但是,由于并行傳送方式的前提是用同一時序傳輸信號和接收信號,而過分提升時鐘頻率將難以讓數據傳送的時序與時鐘合拍,布線長度稍有差異,數據就會以與時鐘不同的時序送達,導致傳輸錯誤,同時提升時鐘頻率還容易引起信號線間的相互干擾,因此,并行方式難以實現高速化。直接存儲器存取是一種完全由硬件執(zhí)行數據交換的工作方式,在這種方式中,DMA控制器從CPU完全接管對總線的控制,數據交換不經過CPU,而直接在內存與設備之間進行;DMA方式一般用于高速地傳送成組的數據,但是兩個處理器不能同時訪問存儲器。共享存儲器的方式通常采用雙口RAM來實現,雙口RAM是一種性能優(yōu)越的快速通信器件,它提供兩套完全獨立的端口,每個端口都有完整的地址、數據和控制線,此時兩個處理器可以同時訪問雙口RAM,具有很快的存取速度,可以實現高速的數據交換。
本設計中采用共享存儲器的方式,選用一片CY7C026,是一個16 KB×16的雙口靜態(tài)RAM,硬件接口結構框圖如圖7所示,使用FPGA分配片選、讀/寫和BUSY信號,防止FPGA和DSP同時對同一地址空間存取造成的沖突。

2.5 雙端口RAM的應用
利用傳統(tǒng)方法設計的高速數據采集系統(tǒng)由于集成度低、電路復雜,高速運行電路干擾大,電路可靠性低,難以滿足高速數據采集工作的要求。應用FPGA可以把數據采集電路中的數據緩存、控制時序邏輯、地址譯碼、總線接口等電路全部集成進一片芯片中,高集成性增強了系統(tǒng)的穩(wěn)定性,為高速數據采集提供了理想的解決方案。
2.6 邏輯控制模塊
DSP通過邏輯控制模塊向FPGA發(fā)一些指令,同時讀取FPGA的狀態(tài);系統(tǒng)中把FPGA看做DSP的一個外設,使用DSP的XZCS0AND1作為FPGA的片選信號,這樣,CPU既可以向FPGA發(fā)送命令,也可以從FPGA中讀一些狀態(tài)。
在Quartus II 7.2軟件平臺中包括一個專用模塊庫,稱之為IP Core,其中的各種硬件功能模塊都是經過EDA廠商周密設計并且通過驗證的。設計中FFT運算模塊采用Altera公司自帶的FFT IP Core來實現,在FPGA中以硬件邏輯實現FFT運算的功能,簡化設計并提高了系統(tǒng)的可靠性。
本文設計了一種多路數據同步實時采集系統(tǒng),應用FPGA控制采集系統(tǒng)的各個模塊,其最大的特點是結構靈活,有較強的通用性,適于模塊化設計,適合于實時信號處理,從而能夠提高整個系統(tǒng)的采集和處理效率。分析了各個子模塊的硬件結構框圖和控制實現方法。實際應用表明,采用該方法設計的系統(tǒng)能有效地完成多路同步實時數據采集任務。














評論