<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          數(shù)字電源排序

          作者: 時間:2013-06-27 來源:網(wǎng)絡(luò) 收藏

          對于實際的設(shè)計,不要擔(dān)心電源層級體系或邏輯是否正確。要緊的是這種結(jié)構(gòu)“類型”所產(chǎn)生的影響。我們來研究一下其優(yōu)缺點。

          從好的方面來說,不管是在原理上還是對于實現(xiàn),它都是很簡單的。添加LED指示器或者利用一個FPGA或微處理器的GPIO來讀取電源良好信息將非常容易。如果出現(xiàn)故障情況,POWER GOOD將讓系統(tǒng)知道某個電源軌發(fā)生了故障。

          從壞的方面來說,假如存在某種故障,而且倘若系統(tǒng)必須關(guān)斷所有的電源,那么就必須按照與其上電時相同的順序把它們逐個關(guān)斷(別無選擇)。這意味著,位于最下游的電源軌將由于失去電源而斷電,而不是通過其控制引腳來實現(xiàn)斷電。

          由于沒有定時控制,因此將不得不增添額外的電路以在電源軌之間安置延遲。如果在電源軌之間添加一個延遲,則該延遲將僅適用于上電,因為一個饋電電源軌上的電源將在斷電時丟失,因而將在POWER GOOD信號可以使其關(guān)斷之前關(guān)斷其所依賴的電源軌。

          對于這種結(jié)構(gòu)“類型”,如果您出現(xiàn)任何錯誤,那么將必需進行PCB的重新布局,而且在等待的過程中,您將被迫修改設(shè)計中的導(dǎo)線(別無選擇),或者去“享受”漫長的休息時間。

          設(shè)計方案二

          如果我們將邏輯電路集中管理,就能做得更好。一個可編程器件(例如:FPGA或微處理器)能夠管理所有的邏輯電路。

          通過把所有的邏輯線路均排布至GPIO,即可實現(xiàn)針對排序順序(接通和關(guān)斷)以及定時操作的全面控制。其可在希望改變Verilog或C代碼時隨時變更。我已經(jīng)標(biāo)示了上的PMBus(但并未繪出所有的接線),而利用PMBus,現(xiàn)在還能控制電平和故障行為特性。

          圖3:采用控制器的電源結(jié)構(gòu)。

          就優(yōu)點而言,該設(shè)計具有靈活性,而且您不會陷入焦頭爛額的困境。假如您在控制結(jié)構(gòu)中出錯,無需重新布局即可加以修復(fù)。

          就缺點來說,您不得不改變Verilog或C,而且有可能需對固件重新實施測試和鑒定。另外,這種設(shè)計還必需進行大量的布線。每個POL需要5根控制線,而且它們單獨地排布至控制器。假設(shè)我們有一個20軌系統(tǒng),由于PMBus的原因,將需要42個GPIO引腳。

          所以,這種設(shè)計雖然具有靈活性,但需要很多的GPIO并占用大量的PCB面積資源。

          設(shè)計方案三

          當(dāng)與PMBus及智能POL組合時,我們可以采用開路漏極控制的特性來簡化控制器。

          所有的CONTROL引腳連接在一起,而所有的FAULT/引腳連接在一起。這意味著一個20軌系統(tǒng)只需要5根接線,從而使IO引腳的數(shù)目減少了8倍。

          圖4:簡化的控制器。



          關(guān)鍵詞: 數(shù)字電源 控制器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();