技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體地說(shuō)是一種實(shí)用性強(qiáng)、PSU和ME通信I2C總線掛死恢復(fù)的實(shí)現(xiàn)方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)經(jīng)濟(jì)的快速發(fā)展,服務(wù)器的地位顯著提升,服務(wù)器電源作為服務(wù)器中的重要部件也越來(lái)越受到大家的重視,對(duì)于電源的信息讀取也越來(lái)越頻繁,而PSU和ME通信的橋梁,即I2C總線,它的可靠性成為信息讀取的重要部分,實(shí)現(xiàn)高可靠的通信鏈路為服務(wù)器和電源通信的重要支撐點(diǎn)。
當(dāng)前,電源信息的讀取主要有兩種模式:一、BMC和PSU直接通信,這種通信模式可靠性較高,方案比較成熟,通信故障的時(shí)候直接通過(guò)BMC進(jìn)行處理,方便有效;二、ME和PSU通信,BMC從ME中讀取電源信息,這種模式在市場(chǎng)上也特別常見(jiàn),方案也比較成熟,但是通信出現(xiàn)異常的時(shí)候,由于ME無(wú)法自行處理問(wèn)題,只能通過(guò)BMC reset ME的方式處理,這種方式目前發(fā)現(xiàn)有隱藏風(fēng)險(xiǎn)且短時(shí)間內(nèi)無(wú)法解決,由此,需要通過(guò)新的方式去恢復(fù)I2C的通信。
為了解決PSU和ME之間通信中斷或者通信不良的問(wèn)題,提高通信的可靠性,本發(fā)明提供一種PSU和ME通信I2C總線掛死恢復(fù)的實(shí)現(xiàn)方法。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種實(shí)用性強(qiáng)、PSU和ME通信I2C總線掛死恢復(fù)的實(shí)現(xiàn)方法。
一種PSU和ME通信I2C總線掛死恢復(fù)的實(shí)現(xiàn)方法,其實(shí)現(xiàn)過(guò)程為:電源通過(guò)PMBus總線與系統(tǒng)通訊,檢測(cè)電源與系統(tǒng)之間的通訊信號(hào),判定通訊異常時(shí),電源對(duì)總線強(qiáng)制復(fù)位,即通過(guò)使用電源PMBus總線的自恢復(fù)功能,重新恢復(fù)通訊總線狀態(tài),這里的總線是指I2C總線。
電源與系統(tǒng)之間的通訊信號(hào)為時(shí)鐘信號(hào)SCL和數(shù)據(jù)信號(hào)SDL,且兩種信號(hào)均為高電平脈沖信號(hào),當(dāng)數(shù)據(jù)通訊異常時(shí)PMBus總線的時(shí)鐘信號(hào)、數(shù)據(jù)信號(hào)會(huì)變更為低電平,根據(jù)此特性可判定通訊是否正常。
判定通訊是否正常是指當(dāng)總線低電平是否超過(guò)SMBus規(guī)定的35ms持續(xù)時(shí)間,當(dāng)時(shí)鐘信號(hào)、數(shù)據(jù)信號(hào)持續(xù)低電平的時(shí)間為35ms的3倍以上時(shí),對(duì)總線強(qiáng)制復(fù)位。
電源每10ms檢測(cè)一次I2C時(shí)鐘信號(hào)、數(shù)據(jù)信號(hào)的總線電平,如果低電平持續(xù)100ms,則時(shí)鐘信號(hào)、數(shù)據(jù)信號(hào)發(fā)送激活信號(hào)激活總線;如果低電平持續(xù)不到100ms則不做處理繼續(xù)循環(huán)檢測(cè)。
本發(fā)明的一種PSU和ME通信I2C總線掛死恢復(fù)的實(shí)現(xiàn)方法,具有以下優(yōu)點(diǎn):
本發(fā)明的一種PSU和ME通信I2C總線掛死恢復(fù)的實(shí)現(xiàn)方法,突破了服務(wù)器為主機(jī)、PSU為從機(jī)的理念,當(dāng)PSU和ME通信總線掛死的時(shí)候,將PSU變成主機(jī)并發(fā)送脈沖信號(hào)來(lái)激活總線,從而恢復(fù)正常通信,總線恢復(fù)正常通信后PSU變回從機(jī)模式,避免對(duì)通信產(chǎn)生影響,提高通信的可靠性,解決PSU和ME之間通信中斷或者通信不良的問(wèn)題,實(shí)用性強(qiáng),易于推廣。
附圖說(shuō)明
附圖1為I2C總線恢復(fù)原理示意框圖。
附圖2為主板SCL強(qiáng)制掛死和恢復(fù)過(guò)程波形。
附圖3為主板SDA強(qiáng)制掛死和恢復(fù)過(guò)程波形。
具體實(shí)施方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
隨著服務(wù)器開(kāi)始在互聯(lián)網(wǎng)及其他市場(chǎng)的廣泛應(yīng)用,PSU和ME之前的通信可靠性成為客戶抓取電源信息保障機(jī)房正常運(yùn)行的關(guān)鍵,我們預(yù)測(cè)這種PSU和ME通信I2C總線掛死恢復(fù)的設(shè)計(jì)方法,對(duì)于實(shí)現(xiàn)服務(wù)器和電源高可靠性的通信有良好的作用。
如附圖1所示,本發(fā)明提供一種PSU和ME通信I2C總線掛死恢復(fù)的實(shí)現(xiàn)方法,通過(guò)PSU發(fā)送脈沖信號(hào)的方式激活通信總線,即當(dāng)PSU和ME通信總線掛死的時(shí)候,將PSU變成主機(jī)并發(fā)送脈沖信號(hào)來(lái)激活總線。從而恢復(fù)正常通信。
其實(shí)現(xiàn)過(guò)程為:
將PSU短時(shí)間內(nèi)由從機(jī)變成主機(jī)的方式,當(dāng)通信中斷的時(shí)候強(qiáng)制給總線發(fā)送SDA或者SDL高電平脈沖信號(hào)直至總線恢復(fù)正常通信。PSU和ME通信I2C總線掛死恢復(fù)的具體過(guò)程,如圖1所示。
電源PMBus與系統(tǒng)通訊正常時(shí)時(shí)鐘信號(hào)(SCL)和數(shù)據(jù)信號(hào)(SDL)都為高電壓信號(hào),當(dāng)數(shù)據(jù)通訊異常時(shí)PMBus總線的時(shí)鐘、數(shù)據(jù)信號(hào)會(huì)變更為低電平,根據(jù)此特性可判定通訊是否正常。電源增加對(duì)通訊總線狀態(tài)的檢測(cè),當(dāng)總線低電平超過(guò)SMBus規(guī)定的35ms持續(xù)時(shí)間,時(shí)鐘信號(hào)、數(shù)據(jù)信號(hào)持續(xù)低電平的時(shí)間為35ms的3倍以上時(shí),電源對(duì)總線強(qiáng)制復(fù)位,重新恢復(fù)通訊總線狀態(tài)。
方案驗(yàn)證:將通訊時(shí)鐘信號(hào)(SCL)、數(shù)據(jù)信號(hào)(SDA)分別強(qiáng)制對(duì)地短路,通過(guò)使用電源的PMBus總線自恢復(fù)功能,驗(yàn)證可將總線恢復(fù)至正常狀態(tài),如圖2和圖3所示。
通過(guò)方案驗(yàn)證,此方案可以有效解決總線掛死問(wèn)題,對(duì)于提高電源和服務(wù)器通信的可靠性有很大幫助。
因此,本發(fā)明所提出的PSU和ME通信I2C總線掛死恢復(fù)的設(shè)計(jì)方法在服務(wù)器電源通信和管理功能上會(huì)起到重要作用。
采用本發(fā)明所述的方案,即PSU發(fā)送脈沖信號(hào)激活通信總線的方式,可有效恢復(fù)中斷的通信,保障電源信息被正常讀取。
上述具體實(shí)施方式僅是本發(fā)明的具體個(gè)案,本發(fā)明的專(zhuān)利保護(hù)范圍包括但不限于上述具體實(shí)施方式,任何符合本發(fā)明的一種PSU和ME通信I2C總線掛死恢復(fù)的實(shí)現(xiàn)方法的權(quán)利要求書(shū)的且任何所述技術(shù)領(lǐng)域的普通技術(shù)人員對(duì)其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專(zhuān)利保護(hù)范圍。