新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 電控噴油霧化檢測的DSP和FPGA通信模塊設計

電控噴油霧化檢測的DSP和FPGA通信模塊設計

作者: 時間:2014-03-12 來源:網絡 收藏

隨著現代測試技術的發(fā)展,要求能夠對各類微弱信號、高頻信號以及復雜信號進行快速、精確的記錄和測量,對數據采集系統(tǒng)的采樣速率、精度、存儲量等提出了越來越高的要求。為了對電控噴油器的噴霧粒度進行精確測試,我們通過充分利用數字信號處理器(Digital Sign al Processing,)強大的控制及數字信號處理能力,配合現場可編程門陣列(Field-Programmable Gate Array,)高速靈活的數字邏輯電路實現能力,提出一種基于+FPC認結構的31路微電流信號的采集與實時處理系統(tǒng)來對噴霧粒度進行精確測試。
處理器具有截然不同的架構。在一種器件上非常有效的算法,在另一種器件上卻可能效率非常低。如果目標應用要求大量的并行處理或最大的多通道流量,那么單純基于DSP處理器的硬件系統(tǒng)就可能需要更大的面積、成本或功耗。一個協處理器僅在一個器件上就能提供多達550個并行乘法和累加運算,從而以較少的器件和較低的功耗為許多應用提供同樣的性能。盡管FPGA在處理大量并行數據方面出類拔萃,但對于定期系數更新、決策控制任務或高速串行數學運算這類任務來說,它們的優(yōu)化程度比不上DSP處理器。因此,FPGA和DSP處理器的結合為廣泛的應用提供了制勝的解決方案。
FPGA和DSP各有特點,在實際系統(tǒng)中經常分工不同的角色。隨著大規(guī)模可編程器件的發(fā)展,采用DSP+FPGA結構的信號處理系統(tǒng)顯示出了其優(yōu)越性,正逐步得到重視。FPGA是在專用ASIC的基礎上發(fā)展起來的,它克服了專用ASIC不夠靈活的缺點,與其他中小規(guī)模集成電路相比。其優(yōu)點主要在于它有很強的靈活性,即其內部的具體邏輯功能可以根據需要配置,對電路的修改和維護很方便,而且在大批量應用時,可降低成本。DSP+FPGA結構最大的特點是結構靈活,有較強的通用性,適于模塊化設計,從而能夠提高算法效率;同時其開發(fā)周期較短,系統(tǒng)易于維護和擴展,適合于實時信號處理。
現在,數字信號處理器(DSP)正越來越多地應用到各種場合,大多數情況下,模擬信號通過A/D轉換后,轉成高速的數字信號發(fā)送給FPGA,經過緩沖FPGA向DSP傳送數據,在DSP中進行核心算法的處理后,再把信號發(fā)回給FPGA,通過FPGA把發(fā)回的信號進行邏輯組合后通過D/A轉換成模擬信號輸出??梢?,FPGA和DSP的通信是數據傳輸的關鍵。

1 DSP與FPGA相關原理和外設
本實驗所用的是TMS320C6713系列DSP芯片和ALTERA Cyclone II系列FPGA芯片。FPGA通過DSP的EMIF接口,在DSP的EDMA控制下與DSP進行數據傳輸。因此,DSP與FPGA的相關原理和DSP的EMIF接口的結構和各端口的功能需要簡單的了解。
EMIF是外部存儲器和TMS320C6713片內單元間的接口。CPU訪問片外存儲器時必須通過EMIF,EMIF接口由一組存儲器映射的寄存器進行控制與維護,包括配置各個空間的存儲器類型和設置讀寫時序等。
擴展的直接存儲器訪問控制器(EDMA)主要負責片內的存儲器與其他外設之間的數據傳輸。EDMA進行數據傳輸時,有2種啟動方式:一種是由CPU啟動,另一種是由同步事件觸發(fā)。每一個EDMA通道的啟動是相互獨立的。
FPGA分為兩種:基于查找表的FPGA和基于乘積項的FPGA。查找表(Look Up Table,LUT)本質上就是一個RAM。當用戶通過原理圖或HDL語言描述了一個邏輯電路以后,FPGA開發(fā)軟件會自動計算邏輯電路的所有可能的結果,并把結果事先寫入RAM。這樣,每輸入一個信號進行邏輯運算就等于輸入一個地址進行查表,找出地址對應的內容,然后輸出即可?;诔朔e項的FPGA可分為3塊:宏單元(Macrocell)、可編程連線(PIA)和I/O控制塊。宏單元是器件的基本結構,由它來實現基本的邏輯功能;可編程連線負責信號傳遞,連接所有的宏單元;I/O控制塊負責輸入輸出的電氣特性控制,比如可以設定集電極開路輸出,擺率控制,三態(tài)輸出等。

2 DSP與FPGA的通信模塊設計流程
DSP的軟件開發(fā)大體有3種方式:第一種是直接編寫匯編語言程序進行編譯連接;第2種是編寫C語言程序,用C語言優(yōu)化軟件進行編譯連接;第3種是混合編程模式,程序中既有匯編代碼,又含有C語言代碼。使用匯編語言開發(fā)程序的設計人員必須熟悉DSP芯片的內部結構。相比C語言,匯編語言開發(fā)程序要繁瑣的多,但是匯編程序執(zhí)行起來更加高效。所以對于耗時較大的算法或在實時性要求較高的場合最好用匯編語言開發(fā)程序,而在DSP應用較為復雜而實時性要求較低的場合可以用C語言進行開發(fā)。這樣,既滿足了系統(tǒng)的實時性要求,又加快了程序開發(fā)的進度。最靈活的方法還是采用混合編程模式開發(fā)DSP的用戶程序。
FPGA的常用設計方法包括“自頂向下”和“自下而上”,目前大規(guī)模FPGA設計一般選擇“自頂向下”的設計方法。所謂“自頂向下”設計方法,簡單地說,就是采用可完全獨立于芯片廠商及其產品結構的描述語言,在功能級對設計產品進行定義,并結合功能仿真技術,以確保設計的正確性,在功能定義完成后,利用邏輯綜合技術,把功能描述轉換成某一具體結構芯片的網表文件,輸出給廠商的布局布線器進行布局布線。布局布線結果還可返回同一仿真器,進行包括功能和時序的后驗證,以保證布局布線所帶來的門延時和線延時不會影響設計的性能。

本文引用地址:http://www.butianyuan.cn/article/241674.htm


基于DSP的FPGA通信模塊設計流程如圖1所示。首先在FPGA中創(chuàng)建雙口RAMl和RAM2,A/D采樣的數據傳送到RAMl中,然后RAM1中的數據經過EMIF被讀入到DSP中進行實時處理運算,處理后的結果數據在經過EMIF寫入到RAM2中,RAM2可以外接LED顯示屏顯示處理運算結果。在此過程中,RAM1和RAM2共用地址總線和數據總線,在RAM1讀和RAM2寫數據總線之間插入高阻模塊,以防止數據總線沖突。3 通信模塊軟件實現

在高速數據采集和處理系統(tǒng)中,隨著采樣數據量的增大及信息處理任務的增加,對數據傳送的要求也越來越高。在系統(tǒng)或模塊間如果沒有能夠高速傳送數據的接口,則在數據傳送時極易造成瓶頸堵塞現象,從而影響整個系統(tǒng)對數據的處理能力。所以,高速并行數據接口的研制在信息處理系統(tǒng)中占有非常重要的地位。利用高性能雙口RAM能夠方便地構成各種工作方式的高速數據傳送接口,不管是在并行處理網絡中的數據共享,還是在流水方式中的高速數據傳送中,高性能雙口RAM都發(fā)揮著重要作用,從而保證數據通路的暢通。創(chuàng)建雙口RAM的方法是直接在QuartusII中的MegaWizard Plug-In Manager中創(chuàng)建,如圖2(a)和2(b)所示。


RAM1和RAM2都是有一個讀端口和一個寫端口,存儲大小為6432位,數據總線和地址總線都是32位,獨立的寫時鐘和讀

fpga相關文章:fpga是什么



上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉