利用Artix-7 FPGA設計高性能USB器件
作者:Tom Myers 高級硬件工程師,Anritsu 公司 tom.myers@anritsu.com
本文引用地址:http://dyxdggzs.com/article/201601/286358.htm低功耗的賽靈思 FPGA 系列使總線(xiàn)供電的 USB 器件設計垂手可得
憑借在市場(chǎng)中數十億的端口數量,通用串行總線(xiàn) (USB) 成為實(shí)現主機與外設之間千兆位以下連接的首選接口。不過(guò),由于 USB 規范有著(zhù)嚴格的浪涌電流和穩態(tài)工作電流限值要求,因此由總線(xiàn)供電的器件應用經(jīng)常忽視FPGA,而是更愿意采用性能和靈活性都不及 FPGA 的微控制器解決方案。
隨著(zhù)賽靈思低功耗系列器件中最新成員Artix-7 的問(wèn)世,這種情況將不復存在。通過(guò)嚴加注意系統級功率轉換效率和排序,并使用 VivadoDesign Suite 中的功耗估算和優(yōu)化工具,設計人員能夠克服這些挑戰性限制,從而實(shí)現高性能、緊密集成的并由總線(xiàn)供電的定制器件。
讓我們來(lái)看一下如何以 Artix-7 MicroBlaze平臺為基礎構建由總線(xiàn)供電的 USB 2.0 高速器件。在 Anritsu 公司,我們成功利用該方案開(kāi)發(fā)出一款最新的微波功率測量產(chǎn)品。該新產(chǎn)品設計采用USB 2.0 高速接口,相比前一代采用 USB 全速微控制器解決方案的產(chǎn)品而言,顯著(zhù)提高了測量吞吐量。更高的測量吞吐量可縮短制造生產(chǎn)測試應用的測試時(shí)間。最終可幫助客戶(hù)節約成本
系統設計
Anritsu項目中,我們必須要克服的主要障礙是 500 毫安(額定 5V)的穩態(tài)電流消耗限值。因此,我們的系統設計方案以功耗預算為中心。我們將數據手冊上電流消耗的典型值和最大值制成功率預算電子數據表。
功率預算中的大部分是針對200MB 的最小片外存儲器需求。最適合此需求的是標準 4Gb LPDDR2 器件。我們利用廠(chǎng)商應用指南提供的詳細方法生成該器件的電流消耗估算,并應用估算的數據流配置文件。我們還利用Xilinx Power Estimator (XPE) 等工具,通過(guò)假設功能、時(shí)鐘速率和觸發(fā)率,對各種可編程器件及其它解決方案進(jìn)行了評估。
我們確定了幾款備選器件,并且利用MicroBlaze、存儲器控制器(使用存儲器接口生成器 (MIG))構建出完整系統的子系統,再使用 Vivado 的 IP Integrator 工具添加各種外設的接口模塊,以精確功耗、尺寸和I/O 估算值。我們快速獲得可綜合目標,并利用 Vivado 功耗報告精算功耗大小。
由于 MIG 本身不提供到LPDDR2 器件的 AXI 本地連接,因此我們過(guò)后自己開(kāi)發(fā)該鏈路。在我們的AXI層(shim) 做好之前,我們使用 MIG 生成的 LPDDR2 實(shí)例設計進(jìn)行初步的功耗估算和尺寸調整。圖1 給出了得到的系統架構。

降低器件的晶片溫度能減少漏電流功耗。
策略包括盡可能減小器件晶片尺寸并選擇盡可能大的封裝

正如“Vivado DesignSuite 用戶(hù)指南:賽靈思功耗分析與優(yōu)化”(UG907) 中介紹的那樣,降低器件的晶片溫度能夠減少漏電流功耗。我們使用的策略包括根據應用嚴格的板級空間約束,盡可能縮小器件晶片尺寸并選擇盡可能大的器件封裝。
我們通過(guò)減少電源數量來(lái)最大程度降低轉換損耗和穩壓器電路成本。在確定器件功耗要求后,我們設計了電壓轉換電路,用以將額定的USB 5V 總線(xiàn)電壓降至電軌電壓。目前為止,我們一直在關(guān)注穩態(tài)電流消耗。不過(guò),還必須考慮到浪涌電流消耗。最小化浪涌電流的方法之一是選擇具有軟啟動(dòng)功能的穩壓器控制上電排序。您必須將FPGA 的上電順序和斜坡時(shí)間要求與 USB 要求進(jìn)行權衡。
從容應對意料之外的情況
盡管提供各種機制用以正確地關(guān)閉和移除USB 設備,但現實(shí)中很多用戶(hù)會(huì )不顧警告魯莽地拔下設備。如果固件更新過(guò)程不夠穩健可靠,就會(huì )出現問(wèn)題,導致無(wú)響應的“磚頭”設備,客戶(hù)不悅,以及成本不菲的設備返廠(chǎng)以進(jìn)行固件恢復。Anritsu憑借大批量制造測試的可靠性和速度,在競爭中脫穎而出。因此,我們的主要要求包括快速啟動(dòng)時(shí)間和快速固件升級時(shí)間。
我們通過(guò)實(shí)現賽靈思應用指南 XAPP1081介紹的和圖 2 中總結的 QuickBoot 黃金鏡像固件升級架構與流程,解決了這個(gè)問(wèn)題。傳統7 系列回讀多重啟動(dòng)解決方案采用的啟動(dòng)過(guò)程可保持已知正確的“黃金”鏡像,在配置閃存存儲器中包含比特流。在更新過(guò)程中,更新的“工作”鏡像在“黃金”鏡像之后載入存儲器。如果更新過(guò)程失敗或者“工作”鏡像損壞,FPGA會(huì )自動(dòng)檢測錯誤并回讀至“黃金”鏡像。XAPP1081 Quick-Boot 方法進(jìn)一步擴展該過(guò)程,使其具備更完善的配置時(shí)間和“黃金”鏡像更新特性。
在該項目成功的基礎之上,我們進(jìn)一步展望下一代賽靈思器件將如何為Anritsu 產(chǎn)品實(shí)現更多功能。例如,大量的功耗預算被片外 SDRAM 互聯(lián)占用。我們期望研究如何利用更新的 16nm UltraScale 系列的UltraRAM 來(lái)減少或消除該負載,或許可以在應用中采用支持 ARM7 的 Zynq-7000 AllProgrammable SoC 產(chǎn)品線(xiàn)。
如需了解更多信息,敬請聯(lián)系:更新過(guò)程中,更新的“工作”鏡像在“黃金”鏡像之后載入存儲器。如果更新過(guò)程失敗或者“工作”鏡像損壞,FPGA會(huì )自動(dòng)檢測錯誤并回讀至“黃金”鏡像。XAPP1081 Quick-Boot 方法進(jìn)一步擴展該過(guò)程,使其具備更完善的配置時(shí)間和“黃金”鏡像更新特性。
在該項目成功的基礎之上,我們進(jìn)一步展望下一代賽靈思器件將如何為Anritsu 產(chǎn)品實(shí)現更多功能。例如,大量的功耗預算被片外 SDRAM 互聯(lián)占用。我們期望研究如何利用更新的 16nm UltraScale 系列的UltraRAM 來(lái)減少或消除該負載,或許可以在應用中采用支持 ARM7 的 Zynq-7000 AllProgrammable SoC 產(chǎn)品線(xiàn)。
如需了解更多信息,敬請聯(lián)系作者:更新過(guò)程中,更新的“工作”鏡像在“黃金”鏡像之后載入存儲器。如果更新過(guò)程失敗或者“工作”鏡像損壞,FPGA會(huì )自動(dòng)檢測錯誤并回讀至“黃金”鏡像。XAPP1081 Quick-Boot 方法進(jìn)一步擴展該過(guò)程,使其具備更完善的配置時(shí)間和“黃金”鏡像更新特性。
在該項目成功的基礎之上,我們進(jìn)一步展望下一代賽靈思器件將如何為Anritsu 產(chǎn)品實(shí)現更多功能。例如,大量的功耗預算被片外 SDRAM 互聯(lián)占用。我們期望研究如何利用更新的 16nm UltraScale 系列的UltraRAM 來(lái)減少或消除該負載,或許可以在應用中采用支持 ARM7 的 Zynq-7000 AllProgrammable SoC 產(chǎn)品線(xiàn)。
評論