本發(fā)明涉及openpowercpuboot的技術(shù)領(lǐng)域,特別是涉及一種基于cpld的openpowercpuboot的實現(xiàn)方法。
背景技術(shù):
目前,openpowercpuboot技術(shù)采用fsi(fieldreplaceableunitserviceinterface)協(xié)議進(jìn)行通信。但是,只有ibm的fsp(flexibleserviceprocessor)實現(xiàn)了fsiboot通信,局限性在于fsp不公開。第三方基板管理控制器bmc通過通用輸入輸出引腳gpio模擬fsi,發(fā)送boot命令序列,gpio速率一般為2mhz、10mhz、50mhz,gpio速率越高,噪聲越大,信號質(zhì)量變差,一方面gpio速率較低,另一方面,如果通過gpio接收返回結(jié)果,需要將gpio輸出切換成輸入,又增加了延遲。而fsi工作頻率最高可達(dá)166mhz,遠(yuǎn)遠(yuǎn)超過gpio。
同時對于可以滿足fsi協(xié)議要求的復(fù)雜可編程邏輯器件cpld,人們已經(jīng)開發(fā)研究其在一些方面的應(yīng)用,如公開號為cn102012877a的中國專利公開了一種利用cpld來擴(kuò)展嵌入式處理器gpio的方法,其中利用cpld(可編程邏輯器件)器件來擴(kuò)展嵌入式處理器gpio(通用輸入輸出引腳)達(dá)到控制多路語音模塊和技術(shù),有效的把低廉的cpld器件與高端的嵌入式處理器有機(jī)的結(jié)合到一起,方便用戶利用同一個嵌入式處理器完成豐富的附加功能,占用嵌入式處理器4條gpio(利用軟件模擬spi總線接口)、或者1個硬件spi接口和1條gpio,最多可以擴(kuò)展出cpld實際gpio數(shù)量減去4的gpio線,極大的豐富了嵌入式處理器的應(yīng)用范圍;又如公開號為cn101132287a的中國專利公開了一種實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的方法,包括:cpu根據(jù)從物理層phy芯片獲取的信息確定是否建鏈,在確定建鏈時,cpu將獲取的建鏈信息寫入可編程邏輯器件cpld,cpld根據(jù)得到的建鏈信息驅(qū)動led燈亮;cpld檢測是否收到收發(fā)包脈沖,在收到收發(fā)包脈沖時,經(jīng)過延時或固定頻率的處理,驅(qū)動led燈閃爍;同時公開了一種實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的裝置,采用本發(fā)明的方法及裝置,能解決一些以太網(wǎng)芯片信息指示不完善,led燈指示不符合用戶操作習(xí)慣的問題。
在cpuboot的技術(shù)領(lǐng)域,滿足fsi協(xié)議要求的cpld應(yīng)用較少。第三方bmc通過gpio模擬fsi較多,且局限性在于gpio無法接收命令返回結(jié)果,模擬缺少握手過程,存在通信不可靠的風(fēng)險和隱患,有可能造成返回結(jié)果丟失,一旦執(zhí)行失敗,bmc無法獲取系統(tǒng)狀態(tài);另一方面gpio速度較慢,一定程度延長了boot時間。為了發(fā)揮滿足fsi協(xié)議要求的cpld和fsi工作高頻優(yōu)勢,增加握手過程,克服噪聲大、信號質(zhì)量差、返回結(jié)果丟失等通信不可靠的風(fēng)險和隱患,縮短boot時間,因此有必要提出種一種新的openpowercpuboot實現(xiàn)方法解決上述問題。
技術(shù)實現(xiàn)要素:
為了要解決的目前技術(shù)問題的不足,本發(fā)明提供了一種基于cpld的openpowercpuboot的實現(xiàn)方法,本發(fā)明解決其技術(shù)問題的技術(shù)方案為:
一種基于cpld的openpowercpuboot的實現(xiàn)方法,包括bmc與cpld通信連接方法、cpld與powercpu通信連接方法、bmc與cpld和cpld與powercpu之間的通信方法;其特征在于:
所述的bmc與cpld通信連接方法為:bmc和cpld之間通過spi總線連接;
所述的cpld與powercpu通信連接方法為:cpld與powercpu之間通過fsi協(xié)議總線連接;
所述的bmc與cpld和cpld與powercpu之間的通信方法包括如下步驟:
1)在bmc和powercpu之間設(shè)置cpld通信連接;
2)bmc向cpld發(fā)送boot命令;
3)cpld接收到bmc的boot命令后,將向powercpu發(fā)送命令;
4)powercpu將執(zhí)行結(jié)果返回給cpld;
5)cpld接收到powercpu返回結(jié)果后,將返回結(jié)果返回給bmc做進(jìn)一步處理。
所述的bmc和powercpu之間設(shè)置有cpld,并能夠進(jìn)行連接通信。
所述的bmc通過spi總線按spi通信協(xié)議向cpld發(fā)送boot命令。
所述的cpld通過fsi協(xié)議總線按fsi通信向powercpu發(fā)送命令。
所述的powercpu將執(zhí)行結(jié)果通過fsi協(xié)議總線按fsi通信返回給cpld。
所述的cpld接收到powercpu返回結(jié)果后,將返回結(jié)果通過spi總線按spi通信協(xié)議其返回給bmc做進(jìn)一步處理。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果體現(xiàn)在:本發(fā)明所述一種基于cpld的openpowercpuboot的實現(xiàn)方法,其特征在于bmc和cpld之間通過spi總線連接;cpld與powercpu之間通過fsi協(xié)議總線連接;bmc和powercpu之間的硬件連接是在硬件設(shè)計中設(shè)置cpld并進(jìn)行通信連接;bmc向cpld發(fā)送boot命令;cpld接收到bmc的boot命令后,將其轉(zhuǎn)換為fsi協(xié)議向powercpu發(fā)送powercpu將執(zhí)行結(jié)果通過fsi協(xié)議返回給cpld;cpld接收到powercpu返回結(jié)果后,將其返回給bmc做進(jìn)一步處理;本發(fā)明采用了滿足fsi協(xié)議要求的cpld,包含握手過程,工作頻率最高可達(dá)166mhz,boot時間短,噪聲小,信號質(zhì)量高,增強(qiáng)了穩(wěn)定性,克服了通信不可靠的風(fēng)險和隱患。
附圖說明
圖1為本發(fā)明的基于cpld的openpowercpuboot實現(xiàn)方法的結(jié)構(gòu)框圖。
圖2為現(xiàn)有技術(shù)的基于gpio的openpowercpuboot實現(xiàn)方法的結(jié)構(gòu)框圖。
附圖中:100.基板管理控制器(base-boardmanagementcontroller,bmc),200.復(fù)雜可編程邏輯器件(complexprogrammablelogicdevice,cpld),300.power高性能服務(wù)器中央處理器(powercpu),400.spi總線((serialperipheralinterface,spi),500.fsi協(xié)議總線(fieldreplaceableunitserviceinterface,fsi),600.通用輸入輸出引腳(generalpurposeinputoutput,gpio)。
具體實施方式
結(jié)合附圖1至圖2對本發(fā)明進(jìn)一步詳細(xì)描述,以便公眾更好地掌握本發(fā)明的實施方法,本發(fā)明具體的實施方案為:
如圖1、圖2所示,本發(fā)明所述的一種基于cpld的openpowercpuboot的實現(xiàn)方法,包括bmc100與cpld200通信連接方法、cpld200與powercpu300通信連接方法、bmc100與cpld200和cpld200與powercpu300之間的通信方法;其特征在于:
所述的bmc100與cpld200通信連接方法為:bmc100和cpld200之間通過spi總線400連接;
所述的cpld200與powercpu300通信連接方法為:cpld200與powercpu300之間通過fsi協(xié)議500總線連接;
所述的bmc100與cpld200和cpld200與powercpu300之間的通信方法包括如下步驟:
1)在bmc100和powercpu300之間設(shè)置cpld200通信連接;
2)bmc100向cpld200發(fā)送boot命令;
3)cpld200接收到bmc100的boot命令后,將向powercpu300發(fā)送;
4)powercpu300將執(zhí)行結(jié)果返回給cpld200;
5)cpld200接收到powercpu300返回結(jié)果后,將返回結(jié)果返回給bmc100做進(jìn)一步處理。
如圖1所示,所述的所述的bmc100和powercpu300之間設(shè)置有cpld200,并能夠進(jìn)行連接通信。
如圖1所示,所述的bmc100通過spi總線400按spi通信協(xié)議向cpld200發(fā)送boot命令。
如圖1所示,所述的cpld200通過fsi協(xié)議500總線按fsi通信向powercpu300發(fā)送命令。
如圖1所示,所述的powercpu300將執(zhí)行結(jié)果通過fsi協(xié)議500總線按fsi通信返回給cpld200。
如圖1所示,所述的cpld200接收到powercpu300返回結(jié)果后,將返回結(jié)果通過spi總線400按spi通信協(xié)議其返回給bmc100做進(jìn)一步處理。
實施例1
如圖1所示,作為優(yōu)選最佳實施方式,包括以下步驟:
一種基于cpld的openpowercpuboot的實現(xiàn)方法,在硬件設(shè)計中,bmc100和powercpu300之間的硬件連接中設(shè)置有cpld200,并進(jìn)行通信連接;bmc和cpld之間可通過spi總線連接,cpld實現(xiàn)fsi協(xié)議的master角色功能,并實現(xiàn)協(xié)議轉(zhuǎn)換功能,powercpu作為fsislave設(shè)備。bmc通過spi總線向cpld發(fā)送boot命令,cpld接收到命令后,將命令轉(zhuǎn)換成fsi協(xié)議格式發(fā)送給powercpu。powercpu執(zhí)行完命令后,將結(jié)果狀態(tài)通過fsi協(xié)議返回給cpld。cpld接收到返回結(jié)果后,將其轉(zhuǎn)換為spi協(xié)議發(fā)送給bmc。bmc接收到返回結(jié)果后,根據(jù)結(jié)果可做進(jìn)一步處理。執(zhí)行成功,則更新狀態(tài);執(zhí)行失敗,可進(jìn)行重試等操作。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果體現(xiàn)在:本發(fā)明所述一種基于cpld的openpowercpuboot的實現(xiàn)方法,其特征在于bmc和cpld之間通過spi總線連接;cpld與powercpu之間通過fsi協(xié)議總線連接;bmc和powercpu之間的硬件連接是在硬件設(shè)計中設(shè)置cpld并進(jìn)行通信連接;bmc向cpld發(fā)送boot命令;cpld接收到bmc的boot命令后,將其轉(zhuǎn)換為fsi協(xié)議向powercpu發(fā)送powercpu將執(zhí)行結(jié)果通過fsi協(xié)議返回給cpld;cpld接收到powercpu返回結(jié)果后,將其返回給bmc做進(jìn)一步處理;本發(fā)明采用了滿足fsi協(xié)議要求的cpld,包含握手過程,工作頻率最高可達(dá)166mhz,boot時間短,噪聲小,信號質(zhì)量高,增強(qiáng)了穩(wěn)定性,克服了通信不可靠的風(fēng)險和隱患。
以上所述僅為本發(fā)明的較佳實施例而已,但本發(fā)明的保護(hù)范圍并不限制于本發(fā)明的具體實施方式,凡在本發(fā)明的精神和原則、揭露技術(shù)范圍之內(nèi),所作的任何修改、等同替換、改進(jìn)、改型等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。