技術(shù)領(lǐng)域
本發(fā)明涉及服務(wù)器硬板背板領(lǐng)域,具體的說是一種I2C地址可選的板載FPGA設(shè)計(jì)方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)的蓬勃發(fā)展,互聯(lián)網(wǎng)公司對(duì)服務(wù)器的配置要求各不相同,服務(wù)器生產(chǎn)企業(yè)往往要為各大互聯(lián)網(wǎng)公司開發(fā)定制化服務(wù)器。硬盤背板作為服務(wù)器不可缺少的板卡,不同客戶的要求往往并不相同。硬盤背板主要作用是:連接硬盤、解析硬盤狀態(tài)信息、傳遞硬盤狀態(tài)信息至主板BMC。硬盤的狀態(tài)包括:Active、Error、Location三種。傳遞硬盤狀態(tài)信息是通過硬盤背板的板載FPGA模擬I2C時(shí)序,以I2C協(xié)議的形式傳遞至主板BMC模塊。
由于服務(wù)器架構(gòu)比較復(fù)雜,往往在一個(gè)型號(hào)的服務(wù)器中用到了多條I2C總線鏈路。根據(jù)I2C總線協(xié)議,為了防止I2C設(shè)備的地址沖突造成數(shù)據(jù)傳輸?shù)氖。谝粋€(gè)系統(tǒng)內(nèi),每個(gè)I2C設(shè)備的地址都不能沖突。硬盤背板作為一種通用性較高的板卡,在每個(gè)配置中都有使用。由于以下兩個(gè)原因,硬盤背板I2C地址往往需要更改:1、不同配置中除硬盤背板之外的其他模塊的I2C地址不完全相同,為了避免與其他模塊的地址沖突,硬盤背板的I2C地址往往需要更改。2、在硬盤較多的配置中,往往需要使用多個(gè)硬盤背板,為了防止硬盤背板間的I2C地址沖突,每個(gè)硬盤背板的I2C地址也要各不相同。
為了實(shí)現(xiàn)在每個(gè)配置中與其他模塊的I2C地址均不沖突的目的,往往需要重新開發(fā)FPGA程序甚至重新開發(fā)硬盤背板,經(jīng)濟(jì)成本和時(shí)間成本較高。隨著FPGA技術(shù)的發(fā)展,F(xiàn)PGA內(nèi)可編程邏輯資源越來越豐富,并且其外置的IO管腳也經(jīng)常處于過剩的狀態(tài)。實(shí)現(xiàn)硬盤背板解析硬盤狀態(tài)并回傳至主板BMC模塊并不會(huì)消耗太多的FPGA片內(nèi)邏輯資源,實(shí)際使用中FPGA的片內(nèi)邏輯資源及外置IO管腳的利用率比較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)目前技術(shù)發(fā)展的需求和不足之處,提供一種I2C地址可選的板載FPGA設(shè)計(jì)方法。
本發(fā)明所述一種I2C地址可選的板載FPGA設(shè)計(jì)方法,解決上述技術(shù)問題采用的技術(shù)方案如下:所述一種I2C地址可選的板載FPGA設(shè)計(jì)方法,在硬盤背板的板載FPGA內(nèi),通過編程實(shí)現(xiàn)內(nèi)置多個(gè)I2C地址,然后通過板載FPGA連接的撥碼開關(guān),改變板載FPGA連接至該撥碼開關(guān)的I/O口電平狀態(tài),來選擇硬盤背板實(shí)際使用的I2C地址。
優(yōu)選的,通過所述撥碼開關(guān)的不同組合能夠改變其I/O口高低電平狀態(tài),進(jìn)而改變板載FPGA連接至該撥碼開關(guān)的I/O口電平狀態(tài)。
優(yōu)選的,所述撥碼開關(guān)為8位撥碼開關(guān),所述板載FPGA引出8個(gè)I/O口連接該8位撥碼開關(guān);通過該8位撥碼開關(guān)使得硬盤背板具備256個(gè)可選擇的I2C地址。
本發(fā)明所述一種I2C地址可選的板載FPGA設(shè)計(jì)方法與現(xiàn)有技術(shù)相比具有的有益效果是:本發(fā)明由板載FPGA連接的撥碼開關(guān)不同組合,改變FPGA連接至撥碼開關(guān)的8位I/O口電平狀態(tài),來實(shí)現(xiàn)旋轉(zhuǎn)硬盤背板的I2C地址,不需要重新更改板載FPGA代碼及重新下載,可以減少FPGA程序下載的次數(shù),可以方便地修改硬盤背板I2C地址,可以提高FPGA的I/O口利用效率,可以提高FPGA內(nèi)可編程邏輯資源的利用效率,可以明顯降低板卡及FPGA程序開發(fā)的時(shí)間及經(jīng)濟(jì)成本,提高了硬盤背板的通用性,提高產(chǎn)品品質(zhì)。
附圖說明
附圖1為所述I2C地址可選的板載FPGA設(shè)計(jì)方法的示意圖;
附圖2為所述撥碼開關(guān)與板載FPGA連接方式示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實(shí)施例,對(duì)本發(fā)明所述一種I2C地址可選的板載FPGA設(shè)計(jì)方法進(jìn)一步詳細(xì)說明。
針對(duì)硬盤背板為了減小重復(fù)開發(fā)板卡、FPGA程序的成本,同時(shí)提高FPGA內(nèi)可編程邏輯資源及I/O管腳的利用效率,降低在更換上游板卡時(shí)重新下載FPGA的工作量,本發(fā)明所述一種I2C地址可選的板載FPGA設(shè)計(jì)方法,在硬盤背板的板載FPGA內(nèi),通過編程實(shí)現(xiàn)內(nèi)置多個(gè)I2C地址,然后通過板載FPGA連接的撥碼開關(guān),改變板載FPGA連接至該撥碼開關(guān)的I/O口電平狀態(tài),來選擇硬盤背板實(shí)際使用的I2C地址。本發(fā)明可實(shí)現(xiàn)硬盤背板I2C地址的便捷更改,大大節(jié)省板載FPGA板卡開發(fā)的時(shí)間及經(jīng)濟(jì)成本。
實(shí)施例:
本實(shí)施例所述I2C地址可選的板載FPGA設(shè)計(jì)方法,通過板載FPGA連接的撥碼開關(guān),改變板載FPGA連接至該撥碼開關(guān)的I/O口電平狀態(tài)是指,通過所述撥碼開關(guān)的不同組合能夠改變其I/O口高低電平狀態(tài),進(jìn)而改變板載FPGA連接至該撥碼開關(guān)的I/O口電平狀態(tài),實(shí)現(xiàn)便捷選擇硬盤背板的I2C地址,可以提高FPGA的I/O口利用效率,方便、高效、易用。
本實(shí)施例所述I2C地址可選的板載FPGA設(shè)計(jì)方法,所述撥碼開關(guān)為8位撥碼開關(guān),所述板載FPGA引出8個(gè)I/O口連接該8位撥碼開關(guān);通過該8位撥碼開關(guān)即可支持硬盤背板具備256個(gè)可選擇的I2C地址,增強(qiáng)了硬盤背板的通用性,并且成本較低。
如附圖1所示,當(dāng)所述8位撥碼開關(guān)的1、2管腳連通時(shí),對(duì)應(yīng)的板載FPGA的I/O輸入為低電平;當(dāng)該8位撥碼開關(guān)的1、2管腳斷開時(shí),對(duì)應(yīng)的板載FPGA的I/O輸入為高電平。通過上述相同的方法,可以改變板載FPGA連接至撥碼開關(guān)的8位I/O口電平狀態(tài)。
所述板載FPGA內(nèi)通過邏輯編程實(shí)現(xiàn),當(dāng)檢測(cè)到8位I/O口輸入不同的電平狀態(tài)組合時(shí),選擇不同的I2C地址,使用不同的I2C地址向主板的BMC模塊傳遞硬盤信息。通過定義使用背板配置、撥碼開關(guān)狀態(tài)、板載FPGA對(duì)外I2C地址的一一對(duì)應(yīng)關(guān)系,實(shí)現(xiàn)了在同一款硬盤背板的不同應(yīng)用場(chǎng)景下,僅更改撥碼開關(guān)的狀態(tài)來更改硬盤背板I2C地址的目的,如附圖2所示。在某一使用該硬盤背板的場(chǎng)景下,按照附圖2中定義,將撥碼開關(guān)撥動(dòng)至相應(yīng)狀態(tài);在更換使用場(chǎng)景時(shí),按照附圖2中定義,將撥碼開關(guān)撥動(dòng)至相應(yīng)狀態(tài)。
上述具體實(shí)施方式僅是本發(fā)明的具體個(gè)案,本發(fā)明的專利保護(hù)范圍包括但不限于上述具體實(shí)施方式,任何符合本發(fā)明的權(quán)利要求書的且任何所屬技術(shù)領(lǐng)域的普通技術(shù)人員對(duì)其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。