作者:Tom Myers 高級硬件工程師,Anritsu 公司 tom.myers@anritsu.com 低功耗的賽靈思 FPGA 系列使總線供電的 USB 器件設計垂手可得 憑借在市場中數十億的端口數量,通用串行總線 (USB) 成為實現主機與外設之間千兆位以下連接的首選接口。不過,由于 USB 規范有著嚴格的浪涌電流和穩態工作電流限值要求,因此由總線供電的器件應用經常忽視FPGA,而是更愿意采用性能和靈活性都不及 FPGA 的微控制器解決方案。 隨著賽靈思低功耗系列器件中最新成員Artix利用 Artix-7 FPGA 設計高性能 USB 器件-7 的問世,這種情況將不復存在。通過嚴加注意系統級功率轉換效率和排序,并使用 Vivado利用 Artix-7 FPGA 設計高性能 USB 器件 Design Suite 中的功耗估算和優化工具,設計人員能夠克服這些挑戰性限制,從而實現高性能、緊密集成的并由總線供電的定制器件。 讓我們來看一下如何以 Artix-7 MicroBlaze利用 Artix-7 FPGA 設計高性能 USB 器件 平臺為基礎構建由總線供電的 USB 2.0 高速器件。在 Anritsu 公司,我們成功利用該方案開發出一款最新的微波功率測量產品。該新產品設計采用USB 2.0 高速接口,相比前一代采用 USB 全速微控制器解決方案的產品而言,顯著提高了測量吞吐量。更高的測量吞吐量可縮短制造生產測試應用的測試時間。最終可幫助客戶節約成本 系統設計 Anritsu項目中,我們必須要克服的主要障礙是 500 毫安(額定 5V)的穩態電流消耗限值。因此,我們的系統設計方案以功耗預算為中心。我們將數據手冊上電流消耗的典型值和最大值制成功率預算電子數據表。 功率預算中的大部分是針對200MB 的最小片外存儲器需求。最適合此需求的是標準 4Gb LPDDR2 器件。我們利用廠商應用指南提供的詳細方法生成該器件的電流消耗估算,并應用估算的數據流配置文件。我們還利用Xilinx Power Estimator (XPE) 等工具,通過假設功能、時鐘速率和觸發率,對各種可編程器件及其它解決方案進行了評估。 我們確定了幾款備選器件,并且利用MicroBlaze、存儲器控制器(使用存儲器接口生成器 (MIG))構建出完整系統的子系統,再使用 Vivado 的 IP Integrator 工具添加各種外設的接口模塊,以精確功耗、尺寸和I/O 估算值。我們快速獲得可綜合目標,并利用 Vivado 功耗報告精算功耗大小。 由于 MIG 本身不提供到LPDDR2 器件的 AXI 本地連接,因此我們過后自己開發該鏈路。在我們的AXI層(shim) 做好之前,我們使用 MIG 生成的 LPDDR2 實例設計進行初步的功耗估算和尺寸調整。圖1 給出了得到的系統架構。 利用 Artix-7 FPGA 設計高性能 USB 器件 降低器件的晶片溫度能減少漏電流功耗。 策略包括盡可能減小器件晶片尺寸并選擇盡可能大的封裝 正如“Vivado DesignSuite 用戶指南:賽靈思功耗分析與優化”(UG907) 中介紹的那樣,降低器件的晶片溫度能夠減少漏電流功耗。我們使用的策略包括根據應用嚴格的板級空間約束,盡可能縮小器件晶片尺寸并選擇盡可能大的器件封裝。 我們通過減少電源數量來最大程度降低轉換損耗和穩壓器電路成本。在確定器件功耗要求后,我們設計了電壓轉換電路,用以將額定的USB 5V 總線電壓降至電軌電壓。目前為止,我們一直在關注穩態電流消耗。不過,還必須考慮到浪涌電流消耗。最小化浪涌電流的方法之一是選擇具有軟啟動功能的穩壓器控制上電排序。您必須將FPGA 的上電順序和斜坡時間要求與 USB 要求進行權衡。 從容應對意料之外的情況 盡管提供各種機制用以正確地關閉和移除USB 設備,但現實中很多用戶會不顧警告魯莽地拔下設備。如果固件更新過程不夠穩健可靠,就會出現問題,導致無響應的“磚頭”設備,客戶不悅,以及成本不菲的設備返廠以進行固件恢復。Anritsu憑借大批量制造測試的可靠性和速度,在競爭中脫穎而出。因此,我們的主要要求包括快速啟動時間和快速固件升級時間。 我們通過實現賽靈思應用指南 XAPP1081介紹的和圖 2 中總結的 QuickBoot 黃金鏡像固件升級架構與流程,解決了這個問題。傳統7 系列回讀多重啟動解決方案采用的啟動過程可保持已知正確的“黃金”鏡像,在配置閃存存儲器中包含比特流。在更新過程中,更新的“工作”鏡像在“黃金”鏡像之后載入存儲器。如果更新過程失敗或者“工作”鏡像損壞,FPGA會自動檢測錯誤并回讀至“黃金”鏡像。XAPP1081 Quick-Boot 方法進一步擴展該過程,使其具備更完善的配置時間和“黃金”鏡像更新特性。 在該項目成功的基礎之上,我們進一步展望下一代賽靈思器件將如何為Anritsu 產品實現更多功能。例如,大量的功耗預算被片外 SDRAM 互聯占用。我們期望研究如何利用更新的 16nm UltraScale 系列的UltraRAM 來減少或消除該負載,或許可以在應用中采用支持 ARM7 的 Zynq利用 Artix-7 FPGA 設計高性能 USB 器件-7000 AllProgrammable SoC 產品線。 如需了解更多信息,敬請聯系:更新過程中,更新的“工作”鏡像在“黃金”鏡像之后載入存儲器。如果更新過程失敗或者“工作”鏡像損壞,FPGA會自動檢測錯誤并回讀至“黃金”鏡像。XAPP1081 Quick-Boot 方法進一步擴展該過程,使其具備更完善的配置時間和“黃金”鏡像更新特性。 在該項目成功的基礎之上,我們進一步展望下一代賽靈思器件將如何為Anritsu 產品實現更多功能。例如,大量的功耗預算被片外 SDRAM 互聯占用。我們期望研究如何利用更新的 16nm UltraScale 系列的UltraRAM 來減少或消除該負載,或許可以在應用中采用支持 ARM7 的 Zynq利用 Artix-7 FPGA 設計高性能 USB 器件-7000 AllProgrammable SoC 產品線。 如需了解更多信息,敬請聯系作者:更新過程中,更新的“工作”鏡像在“黃金”鏡像之后載入存儲器。如果更新過程失敗或者“工作”鏡像損壞,FPGA會自動檢測錯誤并回讀至“黃金”鏡像。XAPP1081 Quick-Boot 方法進一步擴展該過程,使其具備更完善的配置時間和“黃金”鏡像更新特性。 在該項目成功的基礎之上,我們進一步展望下一代賽靈思器件將如何為Anritsu 產品實現更多功能。例如,大量的功耗預算被片外 SDRAM 互聯占用。我們期望研究如何利用更新的 16nm UltraScale 系列的UltraRAM 來減少或消除該負載,或許可以在應用中采用支持 ARM7 的 Zynq利用 Artix-7 FPGA 設計高性能 USB 器件-7000 AllProgrammable SoC 產品線。 如需了解更多信息,敬請聯系: tom.myers@anritsu.com |