張 彪,邢計元,王 帥
(華北計算機系統(tǒng)工程研究所,北京 100083)
現(xiàn)階段開發(fā)的板卡需要的芯片性能越來越高,系統(tǒng)的復雜程度隨之增加,需要的電壓值也越來越多,一些芯片對上電時序有嚴格的要求[1-2]。傳統(tǒng)的上電時序控制中,大多通過使用CPLD 或電源管理芯片控制每個電源芯片的使能引腳,從而控制各路電源的上電時間[3-4]。CPLD 芯片和電源管理芯片的價格昂貴以及大量電源芯片的使用,導致系統(tǒng)的復雜程度和成本大大增加。為了降低成本和系統(tǒng)的復雜程度,本文利用多個MOSFET 管將一路電源分流出多路電源供給板卡上的不同芯片或同一芯片的不同部分。這種方式有利于減少電源芯片的使用數(shù)量,降低系統(tǒng)的復雜程度和成本。本文利用單片機控制各個MOSFET 管的開斷,實現(xiàn)各路電源上電時序的控制。單片機的價格低廉且使用電源芯片的數(shù)量減少,使上電時序控制系統(tǒng)的復雜程度和成本大大降低。一些板卡系統(tǒng)需要對電壓和電流進行監(jiān)控,保證系統(tǒng)的正常運行,單片機完全可以滿足這些條件,因此本文利用單片機設(shè)計的上電時序控制系統(tǒng)具有性價比高、控制系統(tǒng)簡單、穩(wěn)定性強等優(yōu)點。
現(xiàn)階段大多數(shù)板卡的上電時序控制系統(tǒng)采用CPLD 控制電源模塊的使能的方案,該方案導致系統(tǒng)的復雜程度和成本增加等問題。為了解決這些問題,本文利用單片機設(shè)計一個高性價比、簡單、高可靠性、通用性強的上電時序控制系統(tǒng)。其方案如圖1所示。通過對板卡功耗的評估,選擇合適的電源芯片,在滿足功耗的前提下選擇最優(yōu)數(shù)量的電源芯片。電源芯片輸出的任意一路電源可以通過多個MOSFET 管將其分成多路電源,供給板卡的不同部分,有利于減少電源芯片的使用數(shù)量。通過單片機的I/O 引腳,控制MOSFET 管的開斷,實現(xiàn)各路電源上電時序的控制。利用單片機的ADC 功能實現(xiàn)電壓和電流的監(jiān)控,并將電壓和電流實時反饋給板卡,保證板卡安全穩(wěn)定地運行。

圖1 板卡上電時序控制方案
某板卡使用的核心芯片和模塊有POWER、Zynq-7020、SFP+光模塊、PHY 等,需要提供的電壓值有5 V、3.3 V、2.5 V、1.8 V、1.5 V、1.0 V。其中Xilinx 公司Zynq-7020 集成Cortex-A9 雙核處理器(PS)和Artix-7 技術(shù)的FPGA(PL)兩大部分[5]。PS 和PL 的供電完全獨立,兩者之間沒有任何的上電時序要求,但各自內(nèi)部有嚴格的上電時序要求,如表1所示。

表1 Zynq-7020 上電時序表
本文由于采用單片機控制MOSFET 管的方式實現(xiàn)Zynq-7020 芯片上電時序控制,因此Zynq-7020芯片的PS 部分的VCCPINT 和PL 部分的VCCINT、VCCBRAM 用同一路1.0 V 電源供電;VCCPAUX、VCCPLL、VCCAUX 用同一路1.8 V 電源供電;VCCO_MIO0、VCCO_MIO1、VCCO_# 用同一路3.3 V 電源供電。只需要4 路電源實現(xiàn)了Zynq-7020 芯片的供電,很大程度地減少了電源芯片的使用,大大地降低了系統(tǒng)的復雜程度和成本。
ADI 公司的LTM4644IY 電源芯片可輸出4 路電源,每路最大可輸出4 A 的電流。通過對板卡功耗的評估,本文使用兩個LTM4644IY 電源芯片,提供5 V、3.3 V、2.5 V、1.8 V、1.5 V、1.0 V 八路電源,實現(xiàn)整板供電。
單片機選用宏晶科技公司STC15W4K32S4 單片機,其參數(shù)如表2 所示。STC15W4K32S4 單片機的運行速度比傳統(tǒng)8051 快8~12 倍。可省掉外部昂貴的晶振和復位電路,有8 路高速ADC,速度可達30 萬次/秒,完全滿足使用要求。

表2 STC15W4K32S4 單片機參數(shù)表
MOSFET 管選用揚杰科技公司的YJL3416A 場效應(yīng)管,其參數(shù)如表3 所示。YJL3416A 場效應(yīng)管在VGS=5 V 時,連續(xù)漏極可達7 A,導通電阻小于18 mΩ,損耗在場效應(yīng)管上的壓降很小,在VGS=0 V 時場效應(yīng)管關(guān)斷,完全滿足使用要求。

表3 YJL3416A 場效應(yīng)管參數(shù)表
Zynq-7020 芯片功耗的主要集中在內(nèi)核上,所以分別對PS 和PL 兩部分的內(nèi)核電流進行監(jiān)控。電流檢測電路如圖2 所示,通過測量電阻R5兩側(cè)的電壓,計算出流過MOSFET 管的電流。為了減少壓降的損耗,經(jīng)計算串接的電阻R5的阻值為5 mΩ。電流檢測電路的目的是要得到電壓VOUT和電流I的關(guān)系。

圖2 電流檢測電路
由虛斷可得:
由虛短可得:
由流過電阻R2和電阻R4的電流是相等,可得:
由式(1)~式(5)可得:
如圖3 所示,本文通過STC15W4K32S 單片機控制MOSFET 管Q1~Q8 的開斷,將板卡上的3.3 V、1.8 V、1.5 V、1.0 V 電源分流出來,分別供給Zynq-7020芯片的PS 和PL 兩部分。利用STC15W4K32S 單片機的ADC 功能將供給Zynq-7020 芯片的同路電源的電壓進行監(jiān)控,在各路電壓達到額定電壓的80%時依次開啟各MOSFET 管,實現(xiàn)多路電源上電時序控制,將電流和電壓實時反饋給板卡,實現(xiàn)對整體功耗及安全性的管控。

圖3 多路電源上電時序控制電路
STC15W4K32S 單片機中有8 路ADC,使用其中4 路ADC 對3.3 V、1.8 V、1.5 V、1.0 V 的電壓監(jiān)控,使用另外4 路分別對PS 和PL 的內(nèi)核電流監(jiān)控和MOSFET 管Q2 和Q6 的輸出電壓監(jiān)控。將控制給PS和PL 供電的3.3 V 的MOSFET 管的輸出端,分別接入到單片機的I/O,用于判斷MOSFET 是否開啟成功。
軟件部分采用C 語言在Keil 平臺實現(xiàn),本文利用STC-ISP 軟件中的延時計算器,計算得到一個延時10 ms 的函數(shù)。


利用STC15W4K32S 單片機的8 路ADC 對需要監(jiān)控的電壓和電流進行采集。

上電時序控制流程如圖4 所示,編程的思想是:首先單片機上電復位后,對I/O 口進行配置,然后通過ADC 采集3.3 V、1.8 V、1.5 V、1.0 V 的各路電壓,各路電壓達到80%額定值且持續(xù)10 ms,說明電源完好[6]。滿足上電要求后,依次開啟控制各路電源的MOSFET 管。Zynq-7020 芯片的PS 部分:先開啟控制VCCPINT 電壓的MOSFET 管,再開啟控制VCCPAUX 和VCCPLL 電壓的MOSFET 管,最后再開啟控制VCCO_MIO0、VCCO_MIO1 和 VCCO_DDR電壓的MOSFET 管,依次間隔10 ms。PL 部分:先開啟控制VCCINT 電壓的MOSFET 管,其次開啟控制VCCBRAM 電壓的MOSFET 管,再次開啟控制VCCAUX電壓的MOSFET 管,最后開啟控制VCCO_# 電壓的MOSFET 管,依次間隔10 ms。上電過程中通過對各路電源的電壓和電流的綜合分析,判斷各路電源上電是否成功。上電成功后,對電流和部分電壓進行實時監(jiān)控,并將采集的電壓和電流信息反饋給板卡。

圖4 上電時序控制流程
Proteus 軟件是一款集電路設(shè)計、仿真、分析等多種功能于一體的仿真軟件,具有很全面的電路仿真功能和單片機協(xié)同仿真功能,是目前世界上最完整的嵌入式系統(tǒng)設(shè)計和仿真平臺[7-8]。Proteus 軟件可以很方便地與Keil 軟件搭建聯(lián)合仿真環(huán)境,實現(xiàn)軟硬件仿真[9-10]。STC15W4K32S 單片機上電復位時普通I/O 處于弱上拉狀態(tài),高電平輸出,而在實際應(yīng)用中要求P6 口為低電平輸出,由于單片機內(nèi)部I/O 口是弱上拉,內(nèi)部上拉能力有限,因此可以在I/O 口上接一個1 kΩ 的下拉電阻,使I/O 口上電復位時處于低電平。由于Proteus 軟件中STC15W4-K32S 單片機無法模擬此功能,因此在本仿真電路設(shè)計中采用非門,MOSFET 管在單片上電復位時處于關(guān)閉狀態(tài)。由于Proteus 軟件中沒有Zynq-7020 芯片,而本仿真主要是針對單片機控制多路電源上電時序以及電流和電壓的采集的仿真,因此仿真電路中選用10 kΩ 的電阻作為需要控制的各路電源的負載。由于本文主要研究利用多個MOSFET 管將單路電源進行分流,形成多路電源,利用單片機控制MOSFET 管,實現(xiàn)多路電源上電時序控制,因此無需對電源芯片仿真,直接使用仿真軟件中的3.3 V、1.8 V、1.5 V、1.0 V 的直流電源即可。如圖5 所示,在Proteus 軟件中搭建上電時序仿真電路。

圖5 上電時序仿真電路
在Proteus 軟件中使用示波器對各路電源上電時序進行監(jiān)測。供給Zynq-7020 芯片的PS 部分的各路電源上電時序波形如圖6 所示,其中Channel A 代表1.0 V,Channel B 代表1.8 V,Channel C 代表1.5 V,Channel D 代表3.3 V。供給PL 部分的各路電源上電時序波形如圖7 所示,其中Channel A代表核電源1.0 V,Channel B 代表RAM 電源1.0 V,Channel C 代表1.8 V,Channel D 代表3.3 V,完全符合上電要求。

圖6 PS 部分上電時序圖

圖7 PL 部分上電時序圖
本文設(shè)計了一個通用型、簡單、高性價比、高穩(wěn)定性的多路電源上電時序控制系統(tǒng)。根據(jù)Zynq-7020 芯片的上電時序要求,將多路電源上電時序控制系統(tǒng)應(yīng)用其中,完成了硬件電路的設(shè)計和控制程序的設(shè)計。在Proteus 和Keil 軟件建立的聯(lián)合仿真平臺中完成了多路電源上電時序控制的仿真,仿真結(jié)果符合Zynq-7020 芯片上電要求,說明此設(shè)計的可行性,為該設(shè)計在實際應(yīng)用中奠定了基礎(chǔ)。