基于emif接口和雙口ram實(shí)現(xiàn)dsp與fpga高速通信方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明屬DSP和FPGA之間通信技術(shù)領(lǐng)域,具體涉及一種基于EMIF接口和雙口 RAM實(shí)現(xiàn)DSP與FPGA高速通信方法。
【背景技術(shù)】
[0002]隨著導(dǎo)航技術(shù),衛(wèi)星技術(shù)和現(xiàn)代電子技術(shù)的快速發(fā)展,機(jī)載設(shè)備日益向著數(shù)字化、模塊化、集成化方向發(fā)展,機(jī)載設(shè)備不僅需要采集、接收、處理、發(fā)送大量外部數(shù)據(jù),同時設(shè)備內(nèi)部各CPU之間也需要進(jìn)行大量數(shù)據(jù)和信息的及時處理和高速傳輸?,F(xiàn)在通用的計算機(jī)平臺為FPGA+DSP結(jié)構(gòu),能充分發(fā)揮DSP的運(yùn)算速度的優(yōu)勢及FPGA數(shù)據(jù)采集處理和接口通訊優(yōu)勢,能很好滿足數(shù)據(jù)采集、處理及外部通訊需要。內(nèi)部DSP與FPGA數(shù)據(jù)傳輸是否及時、有效傳輸直接決定著機(jī)載設(shè)備的性能精度和實(shí)時性?,F(xiàn)有技術(shù)采用異步FIFO和同步FIFO來實(shí)現(xiàn)DSP與FPGA數(shù)據(jù)的連續(xù)傳輸,但不能解決數(shù)據(jù)傳輸?shù)膶?shí)時性,因此有必要提出改進(jìn)。
【發(fā)明內(nèi)容】
[0003]本發(fā)明解決的技術(shù)問題:提供一種基于EMIF接口和雙口 RAM實(shí)現(xiàn)DSP與FPGA高速通信方法,在FPGA內(nèi)部建立雙口 RAM,雙口 RAM—端以存儲器模式通過EMIF接口與DSP通信,另一端與FPGA內(nèi)部CPU通信,實(shí)現(xiàn)FPGA和DSP對該雙口 RAM的獨(dú)立讀寫,解決大量數(shù)據(jù)需要及時處理與傳輸?shù)膯栴}。
[0004]本發(fā)明采用的技術(shù)方案:基于EMIF接口和雙口 RAM實(shí)現(xiàn)DSP與FPGA高速通信方法,包括下述步驟:I)提供FPGA,為所述FPGA內(nèi)部配置RAM,所述RAM包括第一存儲區(qū)、第二存儲區(qū)、第一端口和第二端口 ; 2)提供DSP和EMIF接口,將所述DSP通過所述EMIF接口與所述第一端口連接,所述第一端口與所述第一存儲區(qū)連接;3)將所述FPGA與所述第二端口連接,所述第二端口與所述第二存儲區(qū)連接;4)所述FPGA與所述DSP實(shí)現(xiàn)高速通信。
[0005]優(yōu)選的,I)所述FPGA通過所述第二端口在所述第二存儲區(qū)內(nèi)寫入數(shù)據(jù);2)所述FPGA的內(nèi)部邏輯電路產(chǎn)生中斷信號,向所述DSP的中斷控制器模塊申請中斷;3)所述DSP響應(yīng)中斷請求,查詢數(shù)據(jù)集狀態(tài)信息,根據(jù)狀態(tài)信息,確定讀取更新的數(shù)據(jù)集,通過所述EMIF接口從所述第二存儲區(qū)中讀出數(shù)據(jù)。
[0006]優(yōu)選的,I)所述DSP通過所述第一端口在所述第一存儲區(qū)內(nèi)寫入數(shù)據(jù);2)完成后所述D SP通過GP1模塊以軟中斷方式產(chǎn)生中斷信號,向所述FPGA的中斷控制器模塊申請中斷;
3)所述FPGA響應(yīng)中斷請求,查詢數(shù)據(jù)集狀態(tài)信息,根據(jù)狀態(tài)信息,確定讀取更新的數(shù)據(jù)集,讀出所述第一存儲區(qū)的數(shù)據(jù)。
[0007]優(yōu)選的,所述第一存儲區(qū)包括第一數(shù)據(jù)集狀態(tài)存儲區(qū)和第一數(shù)據(jù)集存儲區(qū),所述第一數(shù)據(jù)集狀態(tài)存儲區(qū)用于存儲數(shù)據(jù)集更新狀態(tài)信息,所述第一數(shù)據(jù)集存儲區(qū)用于存儲數(shù)據(jù)。
[0008]優(yōu)選的,所述第二存儲區(qū)包括第二數(shù)據(jù)集狀態(tài)存儲區(qū)和第二數(shù)據(jù)集存儲區(qū),所述第二數(shù)據(jù)集狀態(tài)存儲區(qū)用于存儲數(shù)據(jù)集更新狀態(tài)信息,所述第二數(shù)據(jù)集存儲區(qū)用于存儲數(shù)據(jù)。
[0009]相較于現(xiàn)有技術(shù),本發(fā)明通過EMIF接口實(shí)現(xiàn)了DSP與FPGA之間的數(shù)據(jù)雙向快速傳輸,有效解決了大量的數(shù)據(jù)需要實(shí)時傳輸與處理的問題該方法可以廣泛應(yīng)用于信號處理系統(tǒng)方面,尤其可應(yīng)用于各種實(shí)時信號處理。
【附圖說明】
:
[0010]圖1為本發(fā)明中數(shù)據(jù)流向框圖。
【具體實(shí)施方式】
[0011 ] 下面結(jié)合附圖1描述本發(fā)明的實(shí)施例:基于EMIF接口和雙口 RAM實(shí)現(xiàn)DSP與FPGA高速通信方法,包括下述步驟:
[0012]I)提供FPGA,為FPGA內(nèi)部配置RAM,RAM包括第一存儲區(qū)、第二存儲區(qū)、第一端口和第二端口;FPGA器件的數(shù)據(jù)位寬可以根據(jù)不同的應(yīng)用場合配置為8位、16位、32位、64位、128位;第一端口和第二端口有各自的數(shù)據(jù)線、地址線、讀寫控制線,可以允許不同的系統(tǒng)同時對其共享的存儲空間進(jìn)行訪問,實(shí)現(xiàn)用DSP和FPGA同時對FPGA內(nèi)部的RAM共享的存儲空間進(jìn)行訪問;
[0013]2)提供DSP和EMIF接口,將DSP通過EMIF接口與第一端口連接,第一端口與第一存儲區(qū)連接;EMIF是外部存儲器和TMS320C6713片內(nèi)單元之間通信的接口,DSP訪問外存儲器時必須通過EMIF接口,將EMIF接口與FPGA內(nèi)部RAM對應(yīng)的管腳連接實(shí)現(xiàn)DSP訪問FPGA內(nèi)部RAM;
[0014]3)將FPGA與第二端口連接,第二端口與第二存儲區(qū)連接;
[0015]4)FPGA與DSP實(shí)現(xiàn)高速通信。
[0016]FPGA向DSP傳輸數(shù)據(jù)的方法,包括下述步驟:
[0017]I) FPGA通過第二端口在第二存儲區(qū)內(nèi)寫入數(shù)據(jù);
[0018]2)FPGA的內(nèi)部邏輯電路產(chǎn)生中斷信號,向DSP的中斷控制器模塊申請中斷;
[0019]3)DSP響應(yīng)中斷請求,查詢數(shù)據(jù)集狀態(tài)信息,根據(jù)狀態(tài)信息,確定讀取更新的數(shù)據(jù)集,通過EMIF接口從第二存儲區(qū)中讀出寫入數(shù)據(jù)。
[0020]DSP向FPGA傳輸數(shù)據(jù)的方法,包括下述步驟:
[0021 ] I) DSP通過第一端口在第一存儲區(qū)內(nèi)寫入數(shù)據(jù);
[0022]2)完成后DSP通過GP1模塊以軟中斷方式產(chǎn)生中斷信號,向FPGA的中斷控制器模塊申請中斷;
[0023]3)FPGA響應(yīng)中斷請求,查詢數(shù)據(jù)集狀態(tài)信息,根據(jù)狀態(tài)信息,確定讀取更新的數(shù)據(jù)集,讀出第一存儲區(qū)的數(shù)據(jù)。
[0024]在本實(shí)施例中,所述內(nèi)部邏輯電路、中斷控制器模塊及GP1模塊均通過CPU模塊控制信號傳輸。
[0025]通過以上兩個傳輸方法,不僅能實(shí)現(xiàn)數(shù)據(jù)在DSP和FPGA中的快速傳輸,也能實(shí)現(xiàn)數(shù)據(jù)在DSP中的快速處理。這種方式能有效的發(fā)揮DSP和FPGA的優(yōu)勢,以達(dá)到最優(yōu)的信號傳輸與處理的效果,在單位時間內(nèi)能處理的數(shù)據(jù)量更大以及數(shù)據(jù)的快速傳輸。
[0026]具體的,為了實(shí)現(xiàn)FPGA與DSP的正確通信,首先要實(shí)現(xiàn)兩者之間的物理連接,將RAM的第一端口用于DSP通過EMIF接口訪問FPGA內(nèi)部RAM,第二端口用于FPGA訪問RAM ASP通過第一端口來訪問共享的存儲空間,F(xiàn)PGA通過第二端口訪問共享的存儲空間。其中EMIF的數(shù)據(jù)線分別連接到RAM的數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端口,由AOE信號對數(shù)據(jù)的傳輸方向進(jìn)行控制,EMIF接口的地址線和RAM第一端口的地址線連接,EMIF接口時鐘輸出信號ECLK0UTI與RAM的時鐘信號引腳連接,A0E、ARE、AWE、CE信號經(jīng)FPGA組合邏輯與RAM相應(yīng)信號相連,以實(shí)現(xiàn)DSP對FPGA內(nèi)部RAM的讀寫功能。FPGA內(nèi)部通過地址線、數(shù)據(jù)線和控制線連接RAM第二端口,實(shí)現(xiàn)FPGA對RAM的讀寫功能。
[0027]進(jìn)一步的,第一存儲區(qū)包括第一數(shù)據(jù)集狀態(tài)存儲區(qū)和第一數(shù)據(jù)集存儲區(qū),第一數(shù)據(jù)集狀態(tài)存儲區(qū)用于存儲數(shù)據(jù)集更新狀態(tài)信息,第一數(shù)據(jù)集存儲區(qū)用于存儲數(shù)據(jù);第二存儲區(qū)包括第二數(shù)據(jù)集狀態(tài)存儲區(qū)和第二數(shù)據(jù)集存儲區(qū),第二數(shù)據(jù)集狀態(tài)存儲區(qū)用于存儲數(shù)據(jù)集更新狀態(tài)信息,第二數(shù)據(jù)集存儲區(qū)用于存儲數(shù)據(jù)。
[0028]可以理解為,數(shù)據(jù)集存儲區(qū)中的每個數(shù)據(jù)集對應(yīng)指定的數(shù)據(jù)集狀態(tài)存儲區(qū)。數(shù)據(jù)更新后將數(shù)據(jù)集狀態(tài)存儲區(qū)中數(shù)據(jù)集狀態(tài)信息更新,可根據(jù)狀態(tài)更新信息讀取變化的數(shù)據(jù)集,提高數(shù)據(jù)讀取效率。根據(jù)這兩種傳輸方式所要傳的數(shù)據(jù)集固定這兩塊存儲區(qū)的大小和地址范圍,DSP和FPGA每次訪問固定地址和長度的存儲區(qū)。
[0029]綜上,本發(fā)明提供的用DSP與FPGA高速通信方法通過EMIF接口實(shí)現(xiàn)了 DSP與FPGA之間的數(shù)據(jù)雙向快速傳輸,有效解決了大量的數(shù)據(jù)需要實(shí)時傳輸與處理的問題該方法可以廣泛應(yīng)用于信號處理系統(tǒng)方面,尤其可應(yīng)用于各種實(shí)時信號處理。
[0030]上述實(shí)施例,只是本發(fā)明的較佳實(shí)施例,并非用來限制本發(fā)明實(shí)施范圍,故凡以本發(fā)明權(quán)利要求所述內(nèi)容所做的等效變化,均應(yīng)包括在本發(fā)明權(quán)利要求范圍之內(nèi)。
【主權(quán)項】
1.基于EMIF接口和雙口RAM實(shí)現(xiàn)DSP與FPGA高速通信方法,其特征在于包括下述步驟: 1)提供FPGA,為所述FPGA內(nèi)部配置RAM,所述RAM包括第一存儲區(qū)、第二存儲區(qū)、第一端口和第二端口; 2)提供DSP和EMIF接口,將所述DSP通過所述EMIF接口與所述第一端口連接,所述第一端口與所述第一存儲區(qū)連接; 3)將所述FPGA與所述第二端口連接,所述第二端口與所述第二存儲區(qū)連接; 4)所述FPGA與所述DSP實(shí)現(xiàn)高速通信。2.根據(jù)權(quán)利要求1所述的基于EMIF接口和雙口RAM實(shí)現(xiàn)DSP與FPGA高速通信方法,其特征在于: 1)所述FPGA通過所述第二端口在所述第二存儲區(qū)內(nèi)寫入數(shù)據(jù); 2)所述FPGA的內(nèi)部邏輯電路產(chǎn)生中斷信號,向所述DSP的中斷控制器模塊申請中斷; 3)所述DSP響應(yīng)中斷請求,查詢數(shù)據(jù)集狀態(tài)信息,根據(jù)狀態(tài)信息,確定讀取更新的數(shù)據(jù)集,通過所述EMIF接口從所述第二存儲區(qū)中讀出寫入數(shù)據(jù)。3.根據(jù)權(quán)利要求1所述的基于EMIF接口和雙口RAM實(shí)現(xiàn)DSP與FPGA高速通信方法,其特征在于: 1)所述DSP通過所述第一端口在所述第一存儲區(qū)內(nèi)寫入數(shù)據(jù); 2)完成后所述DSP通過GP1模塊以軟中斷方式產(chǎn)生中斷信號,向所述FPGA的中斷控制器模塊申請中斷; 3)所述FPGA響應(yīng)中斷請求,查詢數(shù)據(jù)集狀態(tài)信息,根據(jù)狀態(tài)信息,確定讀取更新的數(shù)據(jù)集,讀出所述第一存儲區(qū)的數(shù)據(jù)。4.根據(jù)權(quán)利要求1所述的基于EMIF接口和雙口RAM實(shí)現(xiàn)DSP與FPGA高速通信方法,其特征在于,所述第一存儲區(qū)包括第一數(shù)據(jù)集狀態(tài)存儲區(qū)和第一數(shù)據(jù)集存儲區(qū),所述第一數(shù)據(jù)集狀態(tài)存儲區(qū)用于存儲數(shù)據(jù)集更新狀態(tài)信息,所述第一數(shù)據(jù)集存儲區(qū)用于存儲數(shù)據(jù)。5.根據(jù)權(quán)利要求1所述的基于EMIF接口和雙口RAM實(shí)現(xiàn)DSP與FPGA高速通信方法,其特征在于,所述第二存儲區(qū)包括第二數(shù)據(jù)集狀態(tài)存儲區(qū)和第二數(shù)據(jù)集存儲區(qū),所述第二數(shù)據(jù)集狀態(tài)存儲區(qū)用于存儲數(shù)據(jù)集更新狀態(tài)信息,所述第二數(shù)據(jù)集存儲區(qū)用于存儲數(shù)據(jù)。
【專利摘要】本發(fā)明提供一種基于EMIF接口和雙口RAM實(shí)現(xiàn)DSP與FPGA高速通信方法,包括提供FPGA,為所述FPGA內(nèi)部配置RAM,所述RAM包括第一存儲區(qū)、第二存儲區(qū)、第一端口和第二端口;提供DSP和EMIF接口,將所述DSP通過所述EMIF接口與所述第一端口連接,所述第一端口與所述第一存儲區(qū)連接;將所述FPGA與所述第二端口連接,所述第二端口與所述第二存儲區(qū)連接;所述FPGA與所述DSP實(shí)現(xiàn)高速通信。本發(fā)明提供的用DSP與FPGA高速通信方法通過EMIF接口實(shí)現(xiàn)了DSP與FPGA之間的數(shù)據(jù)雙向快速傳輸,有效解決了大量的數(shù)據(jù)需要實(shí)時傳輸與處理的問題該方法可以廣泛應(yīng)用于信號處理系統(tǒng)方面,尤其可應(yīng)用于各種實(shí)時信號處理。
【IPC分類】G06F13/38
【公開號】CN105608028
【申請?zhí)枴緾N201510679527
【發(fā)明人】劉玉霞, 李拉成, 關(guān)維周, 王新, 楊軍, 范竹榮
【申請人】陜西寶成航空儀表有限責(zé)任公司
【公開日】2016年5月25日
【申請日】2015年10月19日