<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    FPGA與ADSP TS201的總線接口設計方案

    發布時間:2010-11-8 15:10    發布者:eetech
    關鍵詞: ADSP , FPGA , TS201 , 總線接口
    在雷達信號處理、數字圖像處理等領域中,信號處理的實時性至關重要。由于FPGA芯片在大數據量的底層算法處理上的優勢及DSP芯片在復雜算法處理上的優勢,DSP+FPGA的實時信號處理系統的應用越來越廣泛。ADI公司的TigerSHARC系列DSP芯片浮點處理性能優越,故基于這類DSP的DSP+FPGA處理系統正廣泛應用于復雜的信號處理領域。同時在這類實時處理系統中,FPGA與DSP芯片之間數據的實時通信至關重要。

    TS201 DSP的外部總線接口有兩種協議:慢速協議和高速流水協議。流水線協議適合與快速同步設備連接,文中采用此協議,實現DSP與FPGA之間的通信。

    1 DSP流水線協議

    流水線協議用來提供流水線方式的數據傳輸。在該傳輸協議下,每個時鐘周期可以傳輸一個數據?刂屏魉協議進行數據傳輸的主要信號包含以下引腳:
    • RD——數據傳輸讀信號;
    • WRH和WRL——數據傳輸寫信號;
    • BRST——突發方式數據傳輸指示;
    • ADDR——地址總線;
    • DATA——數據總線。

    流水線協議數據傳輸有兩種方式:普通流水線協議和突發流水線協議。ADSP TS201的數據總線位寬可以通過SYSCON寄存器設置為32位或者64位,但是有時候需要傳輸的數據位寬可能是32位,64位或者128位,這樣就有可能出現數據總線位寬和數據位寬不一致的情況,如果總線位寬小于數據位寬,DSP采用突發流水協議傳輸,否則采用普通流水線協議。

    1.1 普通流水線協議

    圖1是DSP使用普通流水協議,寫FPGA內部寄存器時序圖,流水深度為1,在時鐘沿1地址線、WRx(WRH和WRL)同時有效,一個時鐘周期后,在時鐘沿2數據線有效,地址線、WRx無效。




    1.2 突發流水線協議

    因為數據總線位寬小于數據位寬,那么它只能通過兩次傳輸來完成。但是如果DSP沒有任何指示信號,FPGA并不知道當前傳輸是高32位數據,還是低32位數據,這時候另外一個信號BURST就顯得尤為重要了。

    引腳BRST可以用來指示多個傳輸過程合成一個傳輸過程,圖2是DSP通過32位數據總線寫64位數據時序圖。




    由圖2可以看出,數據傳輸機制與普通流水協議相同,只多了一個BRST指示信號,它與地址1同時有效,表示本次數據沒有傳輸完畢,下次要傳輸的數據與本次傳輸的數據是一個整體,即BRST有效時傳輸是低32位數據,無效時傳輸的是高32位數據,這樣就實現了在32位數據總線上傳輸64位數據,如果沒有BRST信號,該過程會被認為是2次32位傳輸。

    同理,如果用32位數據總線傳輸128位數據,在傳輸前3個32位數據的時候,BRST信號有效,傳輸最后一個32位數據BRST無效。

    注意:使用流水協議時,流水深度由傳輸類型(讀數據還是寫數據)決定。在寫數據傳輸中,流水深度固定為1;在讀數據傳輸中,流水線深度可由用戶編程決定,即由系統配置寄存器SYSCON決定,在1"4之間可變。

    2 FPGA設計

    由于DSP的協議是相對固定的,FPGA只需按照協議進行設計即可,下面以DSP訪問FPGA內部寄存器為例詳細介紹。筆者建議采用同步設計,主要信號、輸出信號都由時鐘沿驅動,可以有效避免毛刺。

    為了使所設計的模塊通用化,可設流水深度、數據總線位寬、寄存器位寬、寄存器地址可設。筆者建議采用參數化設計,使用參數傳遞語言GENERIC將參數傳遞給實體,在實體內部使用外if…else結構,這樣在一個程序中可以包含各種情況,但不會增加邏輯的使用量。下面以個別情況為例,詳細介紹。

    2.1 32位數據總線,32位寄存器,寫操作

    前面提過,DSP采用流水協議寫FPGA時,流水深度固定為1,FPGA在前一時鐘沿采到地址、WRx信號有效,在下一時鐘沿就鎖存數據,如圖3所示,FPGA在時鐘沿1采到地址總線上的地址與寄存器地址一致,WRx信號為低,寫標志信號S_W_FLAG置高,由于采用同步設計,FPGA只有在時鐘沿2才能采到S_W_FLAG為高,一旦采到S_W_FLAG為高,FPGA就鎖存數據總線上的數據,即在時鐘沿2鎖存數據。





    2.2 32位數據總線,32位寄存器,讀操作

    與寫寄存器不一樣,讀寄存器時流水深度在1到4之間可設,需要注意的是,為避免總線沖突,DSP不讀時,FPGA數據總線應保持三態。

    如果流水深度設置為1,FPGA在前一時鐘沿采到地址、RD信號有效,應確保在下一時鐘沿數據已經穩定的出現在數據總線上,否則DSP不能正確讀取數據,如圖3所示,在時鐘沿1采到地址總線上的地址與寄存器地址一致,RD信號為低,驅動數據總線,在時鐘沿2數據已穩定出現在數據總線上,DSP可以讀取。

    如果流水深度設置為2,FPGA在前一時鐘沿采到地址、RD信號有效,應確保隔一時鐘周期后,數據穩定的出現在數據總線上,這樣就像寫操作一樣,需要加一個標志,當條件滿足,標志為高,一旦標志為高,輸出數據,如圖4所示。




    綜上所述,流水深度加深一級,FPGA就晚一個時鐘周期驅動數據總線?梢钥闯,雖然流水深度在1"4之間可設,但是總能保證一個時鐘周期傳輸一個數據。            
                   
    2.3 32位數據總線,64位寄存器

    前面提到,突發流水協議與普通流水協議數據傳輸機制是一樣的,只是多了一個指示信號BRST,當寫操作時,FPGA如果在前一時鐘沿采到地址、WRx、BRST信號有效,在下一時鐘沿就鎖存數據到寄存器低位,而如果在前一時鐘沿采到地址、WRL有效,而BRST信號無效,在下一時鐘沿就鎖存數據到寄存器高位。同樣,當讀操作時,FPGA如果采到地址、RD、BRST信號有效,就將寄存器低位驅動到數據總線上,而如果采到地址、RD有效,BRST而信號無效,就將寄存器高位驅動到數據總線上,具體在哪個時鐘沿驅動,由流水深度決定。

    3 DSP設置

    ADSP TS201與FPGA通信時,DSP是否采用流水協議,數據總線位寬,以及流水深度都可以通過系統配置寄存器SYSCON進行設置,SYSCON詳細設置見文獻,以32位數據總線訪問64位寄存器為例,一級流水,SYSCON設置為





    4 結束語

    文中實現了DSP通過外部總線接口訪問FPGA內部寄存器,但是如果需要傳輸的數據量很大,或者DSP與FPGA的時鐘不同步,就不能用寄存器來實現,需要借助于雙口RAM或者FIFO,讀者可以在本文的基礎上加以改進。
    本文地址:http://www.portaltwn.com/thread-37439-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷