• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      DSP與FPGA的并行通信方式設計與實現(xiàn)

      2018-03-22 11:44:14劉源康
      電子技術與軟件工程 2018年3期

      摘 要 在DSP+FPGA實現(xiàn)的級聯(lián)H橋型多電平逆變電路中,首要任務是實現(xiàn)DSP與FPGA的通信。本文設計了DSP+FPGA系統(tǒng)的硬件電路連接方式及通信軟件,由DSP作為上位機,F(xiàn)PGA作為下位機,使用外部接口XINTF將DSP與FPGA二者相連。設計了DSP側的主程序與中斷服務程序,在FPGA內(nèi)構造FIFO儲存數(shù)據(jù),編寫FIFO的讀寫接口邏輯單元代碼。最后用內(nèi)嵌邏輯分析儀采集了XINTF各信號線及FIFO各引腳的數(shù)據(jù),驗證了該并行通信方式的可行性。

      【關鍵詞】DSP FPGA XINTF FIFO 并行通信

      1 引言

      級聯(lián)H橋型多電平逆變電路在高壓大功率變流及交流傳動系統(tǒng)中有十分廣泛的應用。但是在數(shù)字控制的實現(xiàn)中,單片DSP芯片提供的PWM路數(shù)有限。一個三相七電平級聯(lián)H橋型逆變電路就需要36路驅(qū)動脈沖,一片DSP上PWM脈沖數(shù)顯然不能滿足需要,而多片DSP并行工作又要考慮時鐘同步問題。因此多采用DSP+FPGA系統(tǒng)生成多路驅(qū)動脈沖,其中DSP負責采樣計算并定時發(fā)送多路脈寬數(shù)據(jù)到FPGA,F(xiàn)PGA產(chǎn)生多路三角載波并與脈寬數(shù)據(jù)實時比較生成SPWM波。實現(xiàn)該方法首要步驟是解決DSP與FPGA之間并行通信的問題。選用合適的DSP與FPGA芯片,構建實驗平臺并設計并行通信方式,通過外部接口XINTF進行通信,實現(xiàn)了DSP對FPGA內(nèi)構造的FIFO中數(shù)據(jù)的讀寫,并為基于DSP+FPGA的多電平逆變器驅(qū)動脈沖生成系統(tǒng)設計提供了依據(jù)。

      2 總體結構設計

      采用TI公司的TMS320F28335型32位浮點數(shù)字信號處理器與Altera Cyclone III系列的EP3C5E144C8N型現(xiàn)場可編程門陣列,構建通信系統(tǒng)。因為DSP與FPGA使用不同的時鐘信號,選擇在FPGA內(nèi)構造FIFO進行數(shù)據(jù)緩存,編寫FIFO讀寫程序,通過DSP的外部接口XINTF實現(xiàn)DSP與FPGA的并行通信,這一系統(tǒng)的硬件連接示意圖如圖1所示,各信號線的方向在圖中列出。DSP將區(qū)域0的片選信號線XZCS0、寫操作選通線XWE0、讀操作選通線XRD、19位地址總線XA0~XA18、16位雙向數(shù)據(jù)總線XD0~XD15等信號線與FPGA的通用I/O口建立起連接。同時將FPGA的一個I/O引腳定義為中斷信號線連接至DSP的通用輸入/輸出引腳GPIO0,作為XINT2的中斷源,觸發(fā)DSP中斷。

      使用CPU計時器0每秒產(chǎn)生定時中斷,DSP響應該中斷,向FPGA中的FIFO中發(fā)送10個整型數(shù),用來代表調(diào)制波脈寬等數(shù)據(jù)。FIFO寫滿10個數(shù)據(jù)后產(chǎn)生外部中斷信號XINT2給DSP,DSP響應這個外部中斷,將之前寫入的10個數(shù)據(jù)讀出并寫到外擴RAM存儲器,讀出外擴RAM存儲器內(nèi)的數(shù)據(jù),可以驗證DSP寫入數(shù)據(jù)的正確性,從而實現(xiàn)DSP與FPGA兩種芯片的雙向并行通信。

      3 DSP與FPGA通信程序設計

      掌握TMS320F28335型DSP外部接口XINTF的工作時序及FIFO存儲器IP核的訪問方式是實現(xiàn)DSP與FPGA通信的基礎。DSP的外部接口XINTF分為三個區(qū)域,分別是ZONE0、ZONE6、ZONE7。訪問這三個區(qū)域所指向的外部空間就像訪問DSP外擴RAM或FLASH存儲器一樣方便。三個區(qū)域?qū)齻€不同范圍的地址,有各自獨立的片選信號線。對某一區(qū)域訪問時,將相應的地址送到地址線,該區(qū)域片選信號變?yōu)榈碗娖剑瑢υ搮^(qū)域的訪問有效。每個XINTF區(qū)域的讀寫訪問時序都可以分成三個階段,建立(Lead)、有效(Active)、跟蹤(Trail),每個階段的時間都可以配置,以滿足不同速度外部設備的時序要求。對XZCS0區(qū)域進行寫操作時,XZCS0信號首先拉低,寫選通信號XWE0隨之拉低,數(shù)據(jù)送到數(shù)據(jù)總線XD上;進行讀操作時,XZCS0信號首先拉低,讀選通信號XRD隨之拉低,將數(shù)據(jù)從數(shù)據(jù)總線XD鎖存到DSP中。片選信號XZCS0在讀寫訪問時序的三個階段中均為低電平,但讀選通信號XRD與寫選通信號XWE0僅在有效(Active)階段時為低電平。

      3.1 FPGA內(nèi)FIFO與讀寫接口邏輯設計

      為了實現(xiàn)預期的通信功能,需要結合FIFO存儲器IP核的使用方法編寫FPGA側讀寫接口邏輯代碼。FIFO即先進先出存儲器,特別適用于彼此異步的兩系統(tǒng)間進行數(shù)據(jù)緩存、傳輸?shù)葓龊?。FIFO不同于雙口RAM,它沒有地址線,只能對其順序地寫入和讀出數(shù)據(jù),通過對內(nèi)部的地址指針連續(xù)進行加減,依次訪問連續(xù)的數(shù)據(jù)。從而實現(xiàn)對FIFO的讀寫操作。使用Quartus II 13.1中的MegaWizard Plug-in Manager插件管理器,可以方便地例化FIFO存儲器IP核并配置其數(shù)據(jù)位寬、深度、空標志、滿標志、讀時鐘、寫時鐘信號等參數(shù)。選用雙時鐘FIFO(DCFIFO)作為數(shù)據(jù)存儲器,F(xiàn)IFO的位數(shù)設置為16bits×256words,表示可以儲存256個數(shù)據(jù),每個數(shù)據(jù)長度為一字節(jié)。rdclk、wrclk分別為讀寫時鐘信號,均是上升沿觸發(fā),data信號作為FIFO的數(shù)據(jù)輸入端口,q作為FIFO的數(shù)據(jù)輸出端口,rdreq、wrreq分別為讀寫操作請求確認信號。wrusedw、rdusedw顯示在FIFO內(nèi)存儲的數(shù)據(jù)個數(shù),初始狀態(tài)下為0。rdempty為FIFO空標記信號。data、wrreq、wrusedw等信號與wrclk同步;q、rdreq、rdusedw等信號與rdclk同步。

      DSP讀寫數(shù)據(jù)接口邏輯代碼可以在Quartus II 13.1開發(fā)環(huán)境下使用Verilog HDL硬件描述語言設計編寫。DSP讀寫數(shù)據(jù)接口邏輯又可以分為DSP寫FIFO接口邏輯與DSP讀FIFO接口邏輯兩部分如圖2所示。

      3.2 DSP程序設計

      DSP程序由主程序、定時中斷子程序、外部中斷子程序三部分組成。DSP初始化后循環(huán)等待,定時響應CPU定時器0的中斷,該定時中斷子程序向一個固定地址連續(xù)寫入10個數(shù)據(jù),DSP寫FIFO接口邏輯將這10個數(shù)據(jù)依次經(jīng)過data端口存儲到FIFO中,在這個過程中DSP讀FIFO接口邏輯一直接收來自FIFO的rdusedw信號,并在該信號值為10的時刻,令信號dsp_int由1變?yōu)?,產(chǎn)生下降沿,表示FIFO已經(jīng)寫滿10個數(shù)據(jù),該信號連接至DSP的通用輸入/輸出端口GPIO0,作為外部中斷XINT2,觸發(fā)執(zhí)行讀中斷子程序。讀中斷子程序主要實現(xiàn)DSP從FIFO中讀出10個數(shù)據(jù)的功能。每當XINTF的地址總線XA值為區(qū)別于定時中斷子程序中的另一個固定地址時,DSP讀FIFO接口邏輯順次從FIFO端口q讀出一個數(shù)據(jù),置于XINTF的數(shù)據(jù)總線XD上,DSP將鎖存其并依次寫入DSP的外擴RAM內(nèi)。完成了一個周期的操作。DSP的主程序流程如圖3所示。

      4 實驗結果

      將程序下載到DSP+FPGA開發(fā)板上,使用CCS6.0編寫調(diào)試DSP程序,使用Quartus II 13.1內(nèi)置邏輯分析儀Signaltap II Logic Analyzer,采集XINTF接口的時序信號,對理論分析進行驗證,DSP寫、讀FIFO數(shù)據(jù)的采集結果如圖4、圖5所示。在圖4中,wrreq首次為高電平時,空FIFO開始寫入數(shù)據(jù),rdempty信號產(chǎn)生下降沿,DSP依次向FIFO內(nèi)寫入2Eh~37h共10個連續(xù)數(shù)據(jù), rdusedw及wrusedw的值由0遞增到10,定時中斷子程序執(zhí)行結束,dsp_int產(chǎn)生下降沿,觸發(fā)DSP的外部中斷子程序。

      在圖5中,dsp_int恢復為高電平,rdreq首次為高電平時,開始從FIFO中讀出數(shù)據(jù)。DSP依次從FIFO中讀出10個連續(xù)數(shù)據(jù)2Eh~37h,與定時中斷子程序中寫入FIFO的數(shù)據(jù)相同,實現(xiàn)了先進先出功能。在這一過程中rdusedw及wrusedw的值由10遞減為0,最終rdempty信號由低電平變?yōu)楦唠娖?,代表FIFO中數(shù)據(jù)已全部讀出。同時,在外部中斷子程序執(zhí)行過程中,通過CCS6.0的Memory Browser中讀取外擴RAM中的數(shù)據(jù)如圖6所示,該結果驗證了通信方式的正確性。

      5 結論

      為了解決DSP與FPGA的通信問題,本文分析了外部接口XINTF的工作原理,針對FIFO存儲器IP核的結構及參數(shù),設計了DSP讀寫FIFO的接口邏輯代碼。編寫了DSP程序,實現(xiàn)了通過FIFO完成DSP與FPGA之間的通信,為基于DSP+FPGA的多路PWM驅(qū)動脈沖發(fā)生電路的設計提供了參考。

      參考文獻

      [1]丁凱,鄒云屏,張賢等.級聯(lián)多電平逆變器研究[J].電力電子技術,2002,36(02):16-19.

      [2]戴珂,徐晨,丁玉峰等.載波輪換調(diào)制在級聯(lián)H橋型STATCOM中的應用[J].中國電機工程學報,2013,33(12):99-106.

      [3]李建林,王立喬,李彩霞等.基于現(xiàn)場可編程門陣列的多路PWM波形發(fā)生器[J].中國電機工程學報,2005,25(10):55-59.

      [4]周京華,李正熙.多載波水平調(diào)制策略的諧波分析及數(shù)字化實現(xiàn)[J].電氣傳動,2008,38(12):27-32.

      [5]姜楠,馬迎建,馮翔.DSP和FPGA并行通信方法研究[J].電子測量技術,2008,31(10):146-148.

      [6]陳林軍,劉鵬,姜智譯.DSP和FPGA的雙核并行通信方法設計與應用[J].單片機與嵌入式系統(tǒng)應用,2016,16(01):4-7.

      [7]Texas Instruments.TMS320x2833x,2823x External Interface (XINTF) Reference Guide (Rev.D)[ EB/OL].2010.

      [8]劉東華.Altera系列FPGA芯片IP核詳解[M].電子工業(yè)出版社,2014.

      作者簡介

      劉源康(1992-),男,河北省保定市人。碩士研究生。主要研究方向為大容量中頻逆變技術。

      作者單位

      華東交通大學電氣與自動化工程學院 江西省南昌市 330013

      崇阳县| 洪泽县| 宜良县| 拜泉县| 石渠县| 定边县| 桓台县| 西充县| 山阳县| 教育| 满洲里市| 定州市| 商都县| 子洲县| 玛沁县| 五家渠市| 习水县| 行唐县| 资溪县| 瑞安市| 海城市| 冷水江市| 洛阳市| 九江县| 云霄县| 马鞍山市| 山阴县| 锦州市| 石狮市| 文安县| 高雄市| 西昌市| 泸水县| 南通市| 莫力| 武山县| 兴文县| 轮台县| 瓮安县| 礼泉县| 阜宁县|