本站小編為你精心準備了FPGA接口設計研究參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
1EMIF16接口異步通信模式
根據控制信號的特性,EMIF16在異步通信時有三種模式可選,分別是寫觸發模式(WEmode)、片選觸發模式(CEmode)與外部等待模式(Extend-edWaitmode)。其中,寫觸發模式默認通過驅動的3通道,其對應的地址空間為0x7C000000-0x7FFFFFFF,且不能伴隨其他模式一同使用。片選觸發模式具備較強靈活性,能夠適用于4個存取片區。外部等待模式允許外部設備靈活插入異步硬件等待時間,本設計中采用了外部等待模式,具體讀寫時序如圖2~3所示。圖2中,EM_*即對應1.1中提及的EMIF*信號,“14”代表等待信號EM_WAIT的建立時間,即EM_WAIT必須在/EM_OE跳高前(4E+3)ns內有效,才能正常插入外部等待;“11”代表外部等待的延遲時間,即EM_WAIT無效后/EM_OE的有效延遲時間,最大不超過(4E+3)ns;“2”代表EM_WAIT有效與無效時間最短時間為2E;其中E代表EMIF16的一個時鐘周期。圖3中,EM_*同樣對應1.1中提及的EMIF*信號,“28”代表等待信號EM_WAIT的建立時間,即EM_WAIT必須在/EM_WE跳高前(4E+3)ns內有效,才能正常插入外部等待;“25”代表外部等待的延遲時間,即EM_WAIT無效后/EM_WE的有效延遲時間,最大不超過(4E+3)ns;“2”代表EM_WAIT有效與無效時間最短時間為2E;其中E代表EMIF16的一個時鐘周期。
2系統設計框架
EMIF16接口的電平方式均為1.8VLVCMOS,根據系統需求,需轉換成3.3VLVTTL以及最終的TTL電平模式,而作為中轉站的fpga則需兼具1.8VLVCMOS電平方式與3.3VLVTTL電平方式,最終轉換成系統需求的TTL電平。系統框圖如圖4所示。設計中還需考慮系統的速度匹配:8核DSP外部輸入的CORE_CLK時鐘頻率為100MHz,經設置DSP內部鎖相環,將TMS320C6678的核心工作頻率倍頻至1GHz,EMIF16的工作頻率為主頻的1/6,即166.67MHz。本設計選用EMIF16的“外部等待”模式與外部通信,圖2~3中的setup、strobe、hold以及ExtendedDuetoEM_WAIT均可通過Async1-4ConfigRegisters寄存器進行設置來配合與FPGA的通信,同時根據圖2的“14”與圖3的“28”可知,圖4中FPGA輸出的等待信號建立周期在(4E+3)ns即27ns內,即可滿足產品設計要求。本設計選用了ACTEL公司的25萬門FPGAA3P250進行接口的設計與實現。A3P250是AC-TEL公司的Proasic3flash系列FPGA,由于片內自帶的flash功能,能夠上電即行,為設計帶來很大方便。而A3P250的最高運行頻率為350MHz,在系統性能方面,能夠滿足使用要求;同時A3P250具備1.8V、2.5V、3.3V等LVCMOS、LVTTL電平方式,通過設置4個BANK電源,可以實現不同電平方式。能夠滿足與TMS320C6678的LVCOMS_1.8V的通信連接。具體系統連接方式見圖4。
3TMS320C6678的EMIF16模塊與FPGA的接口設計
3.1硬件設計本設計選用了EMIF16的CS2區與外部進行通信,CS2所對應的外部地址空間為0x780000000x7BFFFFFF,根據系統需求,該設計所需的外部空間為0x78000000-0x7800FFFF,故在設計時需采用控制總線與地址總線聯合譯碼。由圖4可以看出,DSP通過軟件驅動EMIF16接口的地址總線、數據總線以及控制總線送給FPGA,FPGA通過地址總線與控制總線譯碼生成后端的EAL(選擇信號)、WDH(寫信號)、RDH(讀信號)以及16位地址總線Addr[15∶0]、16位數據總線Data[15∶0],同時生成WAIT[1]信號送給DSP完成讀寫時序的延長等待。FPGA選用50MHz晶振作為系統時鐘。設計中,A3P250需要三種電源,分別為3.3V、1.8V和1.5V,其中3.3V與1.8V為FPGA的I/O供電,1.5V為FPGA的內核供電;采用TI公司的電源管理芯片TPS70348與TPS767D318來完成對FPGA的供電設計;根據EMIF16的1.8VLVCMOS電平特性,對A3P250的4個BANK分兩組進行供電,BANK0與BANK3為一組,BANK1與BANK2為一組,供電的具體分組原理如圖5所示。
3.2軟件設計軟件設計主要是EMIF16的初始化配置軟件設計。EMIF16模塊的配置寄存器地址空間為0x20C00000-20C000FF共256字節,包含26組寄存器。其中,與本設計相關的寄存器包括版本號與狀態寄存器(RCSR)、異步等待周期配置寄存器(AWCCR)以及1~4通道異步配置寄存器(A1-4CR)。版本號與狀態寄存器(RCSR):偏移地址為00H,32位寄存器,其主要作用是反應EMIF16的修訂編號與當前工作狀態,如指示模塊運行在大端/小端模式等。
3.2.1異步等待配置異步等待周期配置寄存器(AWCCR):偏移地址為04H,32位寄存器,用于配置CE的使用通道、WAIT信號的使用通道以及外部最大等待周期數,具體如圖6所示。設計時主要關注三方面的配置:選用CE2通道以及WAIT[1]等待,即將圖6中CS4_WAIT(20~21位)置為0x1;同時選擇WAIT的低電平等待方式,即將圖6中WP1(29位)位置為0x0;此外,還要注意最大外部等待周期設置位MAX_EXT_WAIT(0~7位),其上電復位值為0x80,根據相關說明可知,默認情況下外部最長可以插入的等待時長為(MAX_EXT_WAIT+1)×16E=(0x80+1)×16E=12.38μs,本設計中選擇默認值滿足產品使用要求。通過上述配置,使外部FPGA通過CE2與地址總線的聯合譯碼,并配合相關時序生成WAIT[1]信號,完成對CE2通道插入外部異步等待1μs的目的。
3.2.2通道異步配置通道異步配置寄存器為32位,主要完成對通信模式,信號的建立、保持時間以及是否插入等待信號等功能的配置。本設計中選擇CE2通道,偏移地址為14H。寄存器具體分配如圖7所示。圖7中,第31位SS用于設置通信模式(片選模式/非片選模式),本設計選擇默認的失能片選模式的方式;第30位EW用于使能外部等待引腳,設置為0x1配置成使能外部引腳狀態;第4~29位用于配置異步讀、寫信號的建立、持續以及保持時間,針對系統要求的1μs外部操作周期,上述周期選擇默認態即可滿足使用要求;第0~1位用于設置數據總線的工作模式,根據系統需求,設置為0x1,配置數據總線為16位狀態。
3.3邏輯設計本設計中,FPGA的內部邏輯采用VHDL硬件編程語言進行設計,采用LiberoIDE工具進行綜合與仿真。FPGA設計主要分為3個模塊:譯碼模塊、控制模塊以及總線生成模塊。譯碼模塊的主要任務是根據地址總線以及EMIF16的控制總線,生成后端設備所需的EAL、WDH、RDH信號;控制模塊主要根據EMIF16的控制信號以及地址總線,生成WAIT[1]信號送給DSP完成讀寫時序的插入等待;總線生成模塊主要完成后端所需的地址總線與數據總線的生成。需要注意的是在進行FPGA設計時,EMIF16的地址總線的最高位EMIFA[23]要作為DSP地址總線的最低位處理。本設計中選用1μs的外部等待時序。邏輯仿真波形如圖8所示。
4結論
本文對基于TMS320C6678的EMIF16接口進行研究,并通過軟件設計與硬件設計相結合的方式,實現了EMIF16模塊與FPGA之間的通信。該設計豐富了多核DSP與外部接口之間的通信方法,為多核DSP接口的開發使用提供了有力的借鑒。
作者:孔石 王春雷 單位:中國空空導彈研究院