基于FPGA狀態(tài)機和片上總線的CompactPCI異步串口板設(shè)計方案
3 試驗數(shù)據(jù)分析
本文引用地址:http://www.ex-cimer.com/article/248894.htm在聯(lián)機試驗中,測試平臺先后使用了由TMS320C6416 DSP處理器和XC3S2000 FPGA狀態(tài)機作處理單元的異步串口板,分組測試了相同波特率的通道,及全部通道,通訊周期200ms,每通道間隔5ms。試驗重點考察應(yīng)答延遲時間,其由兩部分組成,分別是固有延遲和處理延遲。其中固有延遲由為濾波設(shè)置的1ms濾波延遲和為判斷接收幀結(jié)束而設(shè)置的半位延遲組成,半位延遲與波特率成反比。處理延遲由處理單元訪問總線端口、數(shù)據(jù)處理和實現(xiàn)通訊協(xié)議所耗時間組成,實測應(yīng)答延遲時間統(tǒng)計如表1所示。
從統(tǒng)計表得出如下結(jié)論。
(1)無論采用何種處理單元,處理延遲與波特率和通訊數(shù)據(jù)量無關(guān)。因為上位機已將數(shù)據(jù)寫入各通道的數(shù)據(jù)發(fā)送子區(qū),依據(jù)接收幀命令參數(shù),DSP處理器和FPGA狀態(tài)機只需進行簡單邏輯和算法運算即可獲得發(fā)送數(shù)據(jù)幀,對于4-115.2kbps之間的波特率和12字節(jié)的數(shù)據(jù)量,有充分時間裕量,不會出現(xiàn)處理瓶頸。
(2)TMS320C6416 DSP處理器作處理單元時,處理延遲及其變化范圍較大,而且通道數(shù)越多,處理延遲及其變化范圍越大,反之則越小。因為DSP處理器I/O端口數(shù)量有限,當(dāng)串口通道數(shù)量較多時,DSP處理器要通過片上總線訪問異步收發(fā)器、SDRAM,和相當(dāng)數(shù)量的輸入/輸出端口,以便和上位機、FPGA交換數(shù)據(jù)和信號。為了及時傳輸這些信號,DSP處理器還需要以一定的頻率巡檢這些信號。另外DSP處理器所有處理過程都是順序執(zhí)行的,處理時間與程序語句數(shù)量成正比關(guān)系。
(3)XC3S2000 FPGA狀態(tài)機作處理單元時,處理延遲及其變化范圍很小,而且與通道數(shù)量無關(guān)。因為FPGA集成片上系統(tǒng)后,其狀態(tài)機與其它片上邏輯之間的信號傳輸通過片內(nèi)布線完成,而布線資源幾乎不受限,不僅簡化了處理單元的處理任務(wù),而且保證了信號的實時傳輸,不必巡檢端口。另外FPGA狀態(tài)機不僅能夠通過狀態(tài)轉(zhuǎn)移完成時序功能,而且能夠通過并行處理完成算法功能,所以全部處理時間基本由訪問總線端口的程序語句數(shù)量決定,與算法和通道數(shù)量幾乎無關(guān)。
(4) FPGA狀態(tài)機對外部總線或端口的訪問管理性能大幅超越了TMS320C6416 DSP處理器,片上邏輯之間的信號實時傳輸能力也大幅超越了后者。而高性能DSP處理器僅在內(nèi)存中運行程序時速度快,但在管理外部總線存儲器或端口時,其優(yōu)勢無法發(fā)揮。
4 建議
建議同行在研制“具有高時序性能的、多外設(shè)接口的、功能單一的設(shè)備”時,參考上述基于FPGA狀態(tài)機和片上總線的設(shè)計方案。
參考文獻:
[1]詹必勝,吳斌方,楊光友.多路同步串口的FPGA傳輸實現(xiàn)[J].電子產(chǎn)品世界,2009(5):38-40
[2]Xilinx, Inc. Spartan-3 FPGA Family: Complete Datasheet[M].2004
[3]Opencores.WISHBONE System-on-Chip (SoC) Interconnection Architecture for Portable IP Cores[M].Revision:B.3.2002
[4]Gorban J.UART IP Core[M].Revision: 0.6.2002
[5]孫進平,王俊,李偉,等.DSP/FPGA嵌入式實時處理技術(shù)及應(yīng)用[M].北京:航空航天大學(xué)出版社,2011
fpga相關(guān)文章:fpga是什么
評論