本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種硬件控制電路及其控制方法。
背景技術(shù):
如圖1所示,為存儲(chǔ)系統(tǒng)的結(jié)構(gòu)示意圖,在背板上包括有多個(gè)插槽,且可以將單板插入到背板上。隨著存儲(chǔ)系統(tǒng)處理能力的提高,插入到背板上的單板數(shù)量越來越多。為了使CPU(Central Processing Unit,中央處理器)能夠區(qū)分各單板,則需要向CPU上報(bào)單板的硬件信息,該硬件信息由高低電平來指示,即硬件信息可以是M位的高低電平,如M為16位時(shí),高低電平1111111011001000表示一個(gè)硬件信息,高低電平0111011001000000表示另一個(gè)硬件信息。
為了向CPU上報(bào)單板的硬件信息,針對每個(gè)單板,在背板與單板之間配置M根信號(hào)線,單板通過M根信號(hào)線并行傳輸M位的高低電平給背板。該背板與CPLD(Complex Programmable Logic Device,復(fù)雜可編程邏輯器件)之間配置M根信號(hào)線,背板通過M根信號(hào)線并行傳輸M位的高低電平給CPLD,該CPLD將M位的高低電平傳輸給CPU,CPU將M位的高低電平轉(zhuǎn)換成硬件信息。
針對每個(gè)單板,需要在該單板與背板之間配置M根信號(hào)線,并在背板與CPLD之間配置M根信號(hào)線。假設(shè)單板的數(shù)量為n,則需要分別在n個(gè)單板與背板之間配置M根信號(hào)線,并在背板與CPLD之間配置M*n根信號(hào)線。
如果M的取值為16,n的取值為10,則每個(gè)單板與背板之間將配置16根信號(hào)線,10個(gè)單板就需要160根單板與背板之間的信號(hào)線。而且,還需要在背板與CPLD之間配置160根信號(hào)線。隨著單板數(shù)量的增加,n的取值會(huì)增加,從而導(dǎo)致信號(hào)線數(shù)量的進(jìn)一步增加。這些信號(hào)線將會(huì)占用主板和背板的大量PCB(Printed Circuit Board,印制電路板)空間,并浪費(fèi)了CPLD的邏輯資源。而且,為了在主板和背板之間部署大量信號(hào)線,需要增加連接器的數(shù)量,這些連接器的使用,會(huì)進(jìn)一步占用PCB空間,增加風(fēng)險(xiǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種硬件控制電路,包括:處理器、復(fù)雜可編程邏輯器件CPLD、背板、多個(gè)單板;針對每個(gè)單板,在所述單板與所述背板之間包括數(shù)據(jù)信號(hào)線,在所述背板與所述CPLD之間包括所述單板對應(yīng)的數(shù)據(jù)信號(hào)線;所述單板包括并串轉(zhuǎn)換模塊,所述CPLD包括串并轉(zhuǎn)換模塊、編解碼模塊;
所述并串轉(zhuǎn)換模塊,用于獲取所述單板的硬件信息,并通過所述單板與所述背板之間的數(shù)據(jù)信號(hào)線,以串行方式將所述硬件信息發(fā)送給所述背板;
所述串并轉(zhuǎn)換模塊,用于通過所述背板與所述CPLD之間的、所述單板對應(yīng)的數(shù)據(jù)信號(hào)線,以串行方式從所述背板上獲取所述單板的硬件信息,并將所述單板的硬件信息存儲(chǔ)在所述單板對應(yīng)的數(shù)據(jù)寄存器內(nèi);
所述編解碼模塊,用于從所述單板對應(yīng)的數(shù)據(jù)寄存器內(nèi)獲取所述單板的硬件信息,并將所述單板的硬件信息輸出給所述處理器。
所述硬件信息通過M位的高低電平數(shù)據(jù)來表示,M為大于1的正整數(shù);
所述并串轉(zhuǎn)換模塊在以串行方式發(fā)送所述硬件信息時(shí),每次只發(fā)送一位高低電平數(shù)據(jù),并通過M次將所述M位的高低電平數(shù)據(jù)發(fā)送給所述背板;
所述串并轉(zhuǎn)換模塊在以串行方式獲取所述硬件信息時(shí),每次只獲取一位高低電平數(shù)據(jù),并通過M次從所述背板上獲取到所述M位的高低電平數(shù)據(jù)。
在所述單板與背板之間包括第一控制信號(hào)線,在背板與CPLD之間包括所有單板對應(yīng)的第一控制信號(hào)線;所述串并轉(zhuǎn)換模塊通過背板與CPLD之間的第一控制信號(hào)線傳輸?shù)谝恍盘?hào),所述背板通過每個(gè)單板對應(yīng)的第一控制信號(hào)線向每個(gè)單板傳輸?shù)谝恍盘?hào);所述并串轉(zhuǎn)換模塊在以串行方式發(fā)送所述硬件信息時(shí),在每次發(fā)送一位高低電平數(shù)據(jù)時(shí),根據(jù)所述第一信號(hào)發(fā)送一位高低電平數(shù)據(jù);所述串并轉(zhuǎn)換模塊在以串行方式獲取所述硬件信息時(shí),在每次獲取一位高低電平數(shù)據(jù)時(shí),根據(jù)所述第一信號(hào)獲取一位高低電平數(shù)據(jù)。
在所述單板與背板之間包括第二控制信號(hào)線,在背板與CPLD之間包括所有單板對應(yīng)的第二控制信號(hào)線;所述串并轉(zhuǎn)換模塊通過背板與CPLD之間的第二控制信號(hào)線傳輸?shù)诙盘?hào),所述背板通過每個(gè)單板對應(yīng)的第二控制信號(hào)線向每個(gè)單板傳輸?shù)诙盘?hào);所述并串轉(zhuǎn)換模塊,進(jìn)一步用于在接收到第二信號(hào)后,根據(jù)所述第二信號(hào)判斷是否需要加載所述單板的硬件信息;如果是,則獲取所述單板的硬件信息,并將所述單板的硬件信息加載到所述單板的移位寄存器內(nèi)。
在所述單板與背板之間包括第三控制信號(hào)線,在背板與CPLD之間包括所有單板對應(yīng)的第三控制信號(hào)線;串并轉(zhuǎn)換模塊通過背板與CPLD之間的第三控制信號(hào)線傳輸?shù)谌盘?hào),背板通過每個(gè)單板對應(yīng)的第三控制信號(hào)線向每個(gè)單板傳輸?shù)谌盘?hào);所述并串轉(zhuǎn)換模塊,進(jìn)一步用于在接收到第三信號(hào)后,根據(jù)所述第三信號(hào)判斷是否允許傳輸所述單板的硬件信息;如果是,從所述移位寄存器內(nèi)讀取所述單板的硬件信息,并以串行方式將所述硬件信息發(fā)送給所述背板。
所述硬件控制電路還包括:基板管理控制器BMC;所述編解碼模塊在將所述單板的硬件信息輸出給所述處理器的過程中,將所述單板的硬件信息輸出給所述BMC,由所述BMC將所述單板的硬件信息輸出給所述處理器。
所述編解碼模塊在將所述單板的硬件信息輸出給所述BMC的過程中,所述編解碼模塊,用于接收來自所述BMC的讀取命令,并利用所述讀取命令確定待讀取硬件信息的單板,并從所述待讀取硬件信息的單板對應(yīng)的數(shù)據(jù)寄存器內(nèi)獲取該單板的硬件信息,并將該單板的硬件信息存儲(chǔ)到SDATA寄存器中;將所述SDATA寄存器中的硬件信息放在SDATA接口上,由所述BMC從所述SDATA接口上讀取該硬件信息;其中,每次只將SDATA寄存器中的一位硬件信息放在SDATA接口上,待所述BMC從所述SDATA接口上讀取該一位硬件信息后,將SDATA寄存器中的另一位硬件信息放在SDATA接口上。
所述單板為主機(jī)總線適配器HBA卡、或者快速外設(shè)部件互連標(biāo)準(zhǔn)PCIE卡、或者輸入輸出IO卡;所述硬件信息具體包括以下之一或者任意組合:類型標(biāo)識(shí);硬件版本標(biāo)識(shí);流水號(hào)標(biāo)識(shí);端口數(shù)目標(biāo)識(shí)。
本發(fā)明提供一種硬件控制電路的控制方法,所述硬件控制電路具體包括:處理器、復(fù)雜可編程邏輯器件CPLD、背板、多個(gè)單板;其中,針對每個(gè)單板,在所述單板與所述背板之間包括數(shù)據(jù)信號(hào)線,在所述背板與所述CPLD之間包括所述單板對應(yīng)的數(shù)據(jù)信號(hào)線;所述單板包括并串轉(zhuǎn)換模塊,所述CPLD包括串并轉(zhuǎn)換模塊、編解碼模塊;所述方法包括以下步驟:
所述并串轉(zhuǎn)換模塊獲取所述單板的硬件信息,并通過所述單板與所述背板之間的數(shù)據(jù)信號(hào)線,以串行方式將所述硬件信息發(fā)送給所述背板;
所述串并轉(zhuǎn)換模塊通過所述背板與所述CPLD之間的、所述單板對應(yīng)的數(shù)據(jù)信號(hào)線,以串行方式從所述背板上獲取所述單板的硬件信息,并將所述單板的硬件信息存儲(chǔ)在所述單板對應(yīng)的數(shù)據(jù)寄存器內(nèi);
所述編解碼模塊從所述單板對應(yīng)的數(shù)據(jù)寄存器內(nèi)獲取所述單板的硬件信息,并將所述單板的硬件信息輸出給所述處理器。
所述硬件信息通過M位的高低電平數(shù)據(jù)來表示,M為大于1的正整數(shù);
所述并串轉(zhuǎn)換模塊通過所述單板與所述背板之間的數(shù)據(jù)信號(hào)線,以串行方式將所述硬件信息發(fā)送給所述背板的過程中,所述并串轉(zhuǎn)換模塊每次只發(fā)送一位高低電平數(shù)據(jù),并通過M次將所述M位的高低電平數(shù)據(jù)發(fā)送給所述背板;
所述串并轉(zhuǎn)換模塊通過所述背板與所述CPLD之間的、所述單板對應(yīng)的數(shù)據(jù)信號(hào)線,以串行方式獲取所述單板的硬件信息的程中,每次只獲取一位高低電平數(shù)據(jù),并通過M次從所述背板上獲取到所述M位的高低電平數(shù)據(jù)。
基于上述技術(shù)方案,本發(fā)明實(shí)施例中,可以通過串行方式發(fā)送單板的硬件信息,而不需要通過并行方式發(fā)送單板的硬件信息,從而不需要在背板與單板之間配置M(即硬件信息的位數(shù)M)根信號(hào)線,也不需要在背板與CPLD之間配置M*n(即單板的數(shù)量n)根信號(hào)線,只需要在背板與單板之間配置一根數(shù)據(jù)信號(hào)線和3根控制信號(hào)線,共4根信號(hào)線,且在背板與CPLD之間配置n根數(shù)據(jù)信號(hào)線和3根控制信號(hào)線,共n+3根信號(hào)線,就可以傳輸n個(gè)單板的硬件信息,從而減少了背板和單板之間的信號(hào)線數(shù)量,減少了背板與CPLD之間的信號(hào)線數(shù)量,節(jié)約主板和背板的PCB布線空間,更加合理的利用CPLD的資源。而且,由于主板和背板之間部署的信號(hào)線數(shù)量減少,因此可以減少連接器的數(shù)量,從而節(jié)約主背板的布線空間,降低了布線的風(fēng)險(xiǎn),提高了使用的安全性。
附圖說明
為了更加清楚地說明本發(fā)明實(shí)施例或者現(xiàn)有技術(shù)中的技術(shù)方案,下面將對本發(fā)明實(shí)施例或者現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是存儲(chǔ)系統(tǒng)的結(jié)構(gòu)示意圖;
圖2是本發(fā)明一種實(shí)施方式中的硬件控制電路的結(jié)構(gòu)圖;
圖3是本發(fā)明一種實(shí)施方式中的兩個(gè)74HC165芯片級(jí)聯(lián)的示意圖;
圖4是本發(fā)明一種實(shí)施方式中的并串轉(zhuǎn)換模塊的控制時(shí)序示意圖;
圖5是本發(fā)明一種實(shí)施方式中的BMC讀取硬件信息的示意圖;
圖6是本發(fā)明一種實(shí)施方式中的硬件控制電路的控制方法的流程圖。
具體實(shí)施方式
在本發(fā)明使用的術(shù)語僅僅是出于描述特定實(shí)施例的目的,而非限制本發(fā)明。本發(fā)明和權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其它含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
應(yīng)當(dāng)理解,盡管在本發(fā)明可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本發(fā)明范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,此外,所使用的詞語“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。
針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明實(shí)施例中提出一種硬件控制電路,該硬件控制電路可以應(yīng)用于高可用性的網(wǎng)絡(luò)設(shè)備(如服務(wù)器、網(wǎng)絡(luò)交換機(jī)、存儲(chǔ)設(shè)備等)或者存儲(chǔ)系統(tǒng)中,該硬件控制電路可以包括但不限于:處理器(如CPU等)、CPLD、背板、多個(gè)單板等。在背板上包括多個(gè)插槽,且可以將單板插入到背板上。隨著網(wǎng)絡(luò)設(shè)備/存儲(chǔ)系統(tǒng)處理能力的提高,插入到背板上的單板數(shù)量越來越多,以單板數(shù)量為n(大于1的正整數(shù))為例,如單板1、單板2等。
在一個(gè)例子中,所述單板具體可以包括但不限于:HBA(Host Bus Adapter,主機(jī)總線適配器)卡、或者PCIE(Peripheral Component Interconnect Express,快速外設(shè)部件互連標(biāo)準(zhǔn))卡、或者IO(Input Output,輸入輸出)卡。
為了使處理器能夠區(qū)分各單板,則需要向處理器上報(bào)單板的硬件信息,該硬件信息可以由高低電平來指示,假設(shè)硬件信息的位數(shù)為M,則硬件信息可以是M位的高低電平,即M位的二進(jìn)制數(shù)值(如0、1等)。在一個(gè)例子中,該硬件信息可以包括但不限于以下之一或者任意組合:類型標(biāo)識(shí);硬件版本標(biāo)識(shí);流水號(hào)標(biāo)識(shí);端口數(shù)目標(biāo)識(shí)。當(dāng)然,在實(shí)際應(yīng)用中,該硬件信息還可以包括其它信息,本發(fā)明實(shí)施例中對此硬件信息的內(nèi)容不做限制。為了方便說明,后續(xù)以硬件信息是類型標(biāo)識(shí)、硬件版本標(biāo)識(shí)、流水號(hào)標(biāo)識(shí)、端口數(shù)目標(biāo)識(shí)為例。
在一個(gè)例子中,類型標(biāo)識(shí)可以通過4位的高低電平來表示,如高低電平1111表示類型A,高低電平0111表示類型B。硬件版本標(biāo)識(shí)可以通過4位的高低電平來表示,如高低電平1110表示硬件版本A,高低電平0110表示硬件版本B。流水號(hào)標(biāo)識(shí)可以通過4位的高低電平來表示,如高低電平1100表示流水號(hào)A,高低電平0100表示流水號(hào)B。端口數(shù)目標(biāo)識(shí)可以通過4位的高低電平來表示,如高低電平1000表示端口數(shù)目A,高低電平0000表示端口數(shù)目B。
基于此,則硬件信息可以是16位的高低電平,且M的取值為16位。例如,高低電平1111111011001000表示一個(gè)硬件信息,該硬件信息可以是類型A+硬件版本A+流水號(hào)A+端口數(shù)目A。高低電平0111011001000000表示另一個(gè)硬件信息,該硬件信息可以是類型B+硬件版本B+流水號(hào)B+端口數(shù)目B。
在傳統(tǒng)方式中,如圖1所示,為了傳輸16位的硬件信息,針對每個(gè)單板,在背板與單板之間配置16根信號(hào)線,單板通過16根信號(hào)線并行傳輸16位的高低電平給背板。針對每個(gè)單板,在背板與CPLD之間配置16根信號(hào)線,背板通過16根信號(hào)線并行傳輸16位的高低電平給CPLD。在背板與CPLD之間,由于針對每個(gè)單板配置16根信號(hào)線,因此針對n個(gè)單板,需要配置16*n根信號(hào)線。
與此不同的是,本發(fā)明實(shí)施例中,如圖2所示,在一個(gè)例子中,針對每個(gè)單板,在單板與背板之間可以只包括一根數(shù)據(jù)信號(hào)線,在背板與CPLD之間可以包括該單板對應(yīng)的一根數(shù)據(jù)信號(hào)線。在背板與CPLD之間,由于針對每個(gè)單板配置一根數(shù)據(jù)信號(hào)線,因此針對n個(gè)單板,需要配置n根數(shù)據(jù)信號(hào)線。
在一個(gè)例子中,在單板與背板之間還可以包括第一控制信號(hào)線,且在背板與CPLD之間可以包括所有單板對應(yīng)的第一控制信號(hào)線,即第一控制信號(hào)線可以只為一個(gè)。在單板與背板之間還可以包括第二控制信號(hào)線,且在背板與CPLD之間可以包括所有單板對應(yīng)的第二控制信號(hào)線,即第二控制信號(hào)線可以只為一個(gè)。在單板與背板之間還可以包括第三控制信號(hào)線,在背板與CPLD之間可以包括所有單板對應(yīng)的第三控制信號(hào)線,即第三控制信號(hào)線可以只為一個(gè)。
綜上所述,如圖2所示,針對每個(gè)單板,在背板與單板之間配置一根數(shù)據(jù)信號(hào)線和三根控制信號(hào)線,即一共配置4根信號(hào)線。針對每個(gè)單板,在背板與CPLD之間配置一根數(shù)據(jù)信號(hào)線,因此針對n個(gè)單板,需要配置n根數(shù)據(jù)信號(hào)線;而且,針對n個(gè)單板,需要配置三根控制信號(hào)線,即一共配置n+3根信號(hào)線。
在一個(gè)例子中,單板可以包括但不限于并串轉(zhuǎn)換模塊,CPLD可以包括但不限于串并轉(zhuǎn)換模塊、編解碼模塊。其中,該并串轉(zhuǎn)換模塊,用于獲取單板的硬件信息,并通過單板與背板之間的數(shù)據(jù)信號(hào)線,以串行方式將該硬件信息發(fā)送給背板。該串并轉(zhuǎn)換模塊,用于通過背板與CPLD之間的、該單板對應(yīng)的數(shù)據(jù)信號(hào)線,以串行方式從背板上獲取該單板的硬件信息,并將該單板的硬件信息存儲(chǔ)在該單板對應(yīng)的數(shù)據(jù)寄存器內(nèi)。該編解碼模塊,用于從該單板對應(yīng)的數(shù)據(jù)寄存器內(nèi)獲取該單板的硬件信息,并將該單板的硬件信息輸出給處理器。
在一個(gè)例子中,硬件信息可以通過M位的高低電平數(shù)據(jù)來表示,M為大于1的正整數(shù),如M為16?;诖耍⒋D(zhuǎn)換模塊在以串行方式發(fā)送該硬件信息時(shí),每次只發(fā)送一位高低電平數(shù)據(jù),并通過M次將所述M位的高低電平數(shù)據(jù)發(fā)送給背板。而且,串并轉(zhuǎn)換模塊在以串行方式獲取該硬件信息時(shí),每次只獲取一位高低電平數(shù)據(jù),并通過M次從背板上獲取所述到M位的高低電平數(shù)據(jù)。
例如,當(dāng)單板1的硬件信息是類型A+硬件版本A+流水號(hào)A+端口數(shù)目A時(shí),則單板1上的并串轉(zhuǎn)換模塊可以獲取到單板1的硬件信息,該硬件信息可以是高低電平1111111011001000。基于此,并串轉(zhuǎn)換模塊通過單板1與背板之間的數(shù)據(jù)信號(hào)線,第一次發(fā)送高低電平數(shù)據(jù)1,串并轉(zhuǎn)換模塊通過背板與CPLD之間的、該單板1對應(yīng)的數(shù)據(jù)信號(hào)線,第一次從背板上獲取高低電平數(shù)據(jù)1。與此類似的,并串轉(zhuǎn)換模塊第二次發(fā)送高低電平數(shù)據(jù)1,串并轉(zhuǎn)換模塊第二次從背板上獲取高低電平數(shù)據(jù)1。以此類推,并串轉(zhuǎn)換模塊第十五次發(fā)送高低電平數(shù)據(jù)0,串并轉(zhuǎn)換模塊第十五次從背板上獲取高低電平數(shù)據(jù)0。并串轉(zhuǎn)換模塊第十六次發(fā)送高低電平數(shù)據(jù)0,串并轉(zhuǎn)換模塊第十六次從背板上獲取高低電平數(shù)據(jù)0。
顯然,在上述過程中,并串轉(zhuǎn)換模塊每次只會(huì)發(fā)送一位高低電平數(shù)據(jù),且在并串轉(zhuǎn)換模塊發(fā)送一位高低電平數(shù)據(jù)后,串并轉(zhuǎn)換模塊就從背板上獲取該一位高低電平數(shù)據(jù)。然后,并串轉(zhuǎn)換模塊再次發(fā)送一位高低電平數(shù)據(jù),且串并轉(zhuǎn)換模塊再次從背板上獲取該一位高低電平數(shù)據(jù),以此類推。與此不同的是,在傳統(tǒng)方式中,并沒有并串轉(zhuǎn)換模塊和串并轉(zhuǎn)換模塊,單板是直接發(fā)送所有M位的高低電平數(shù)據(jù),且直接從背板上獲取到所有M位的高低電平數(shù)據(jù)。
在一個(gè)例子中,串并轉(zhuǎn)換模塊可以通過背板與CPLD之間的第一控制信號(hào)線傳輸?shù)谝恍盘?hào),背板通過每個(gè)單板對應(yīng)的第一控制信號(hào)線向每個(gè)單板傳輸?shù)谝恍盘?hào)。和/或,串并轉(zhuǎn)換模塊可以通過背板與CPLD之間的第二控制信號(hào)線傳輸?shù)诙盘?hào),背板通過每個(gè)單板對應(yīng)的第二控制信號(hào)線向每個(gè)單板傳輸?shù)诙盘?hào)。和/或,串并轉(zhuǎn)換模塊可以通過背板與CPLD之間的第三控制信號(hào)線傳輸?shù)谌盘?hào),背板通過每個(gè)單板對應(yīng)的第三控制信號(hào)線向每個(gè)單板傳輸?shù)谌盘?hào)。
在一個(gè)例子中,并串轉(zhuǎn)換模塊在以串行方式發(fā)送硬件信息時(shí),可以在每次發(fā)送一位高低電平數(shù)據(jù)時(shí),根據(jù)該第一信號(hào)發(fā)送一位高低電平數(shù)據(jù);而且,串并轉(zhuǎn)換模塊在以串行方式獲取硬件信息時(shí),可以在每次獲取一位高低電平數(shù)據(jù)時(shí),根據(jù)該第一信號(hào)獲取一位高低電平數(shù)據(jù)。和/或,并串轉(zhuǎn)換模塊,進(jìn)一步用于在接收到第二信號(hào)之后,可以根據(jù)該第二信號(hào)判斷是否需要加載單板的硬件信息;如果是,則獲取該單板的硬件信息,并將該單板的硬件信息加載到該單板的移位寄存器內(nèi)。和/或,并串轉(zhuǎn)換模塊,進(jìn)一步用于在接收到第三信號(hào)之后,可以根據(jù)該第三信號(hào)判斷是否允許傳輸該單板的硬件信息;如果是,則從移位寄存器內(nèi)讀取該單板的硬件信息,并以串行方式將該硬件信息發(fā)送給背板。
在一個(gè)例子中,第一信號(hào)可以是CP信號(hào),第二信號(hào)可以是PL(Parallel Load,并行加載)信號(hào),第三信號(hào)可以是CE_N信號(hào)。其中,PL信號(hào)為并行加載信號(hào),當(dāng)PL信號(hào)為低電平時(shí),表示需要將并串轉(zhuǎn)換模塊的IO值(即硬件信息)加載到移位寄存器內(nèi),當(dāng)PL信號(hào)為高電平時(shí),表示使能移位功能。CE_N信號(hào)為使能信號(hào),當(dāng)CE_N信號(hào)為低電平時(shí),表示可以移位操作,當(dāng)CE_N信號(hào)為高電平時(shí),表示禁止移位操作。CP信號(hào)為數(shù)據(jù)移位時(shí)鐘,在CP信號(hào)的每個(gè)上升沿脈沖,并串轉(zhuǎn)換模塊進(jìn)行移位操作,即發(fā)送一位的高低電平數(shù)據(jù),在CP信號(hào)的每個(gè)下降沿脈沖,串并轉(zhuǎn)換模塊接收一位的高低電平數(shù)據(jù)。此外,針對CP信號(hào)、PL信號(hào)、CE_N信號(hào)的處理過程,將在本發(fā)明實(shí)施例的后續(xù)過程中進(jìn)行說明。
在一個(gè)例子中,位于單板上的并串轉(zhuǎn)換模塊可以包括但不限于74HC165芯片,該74HC165芯片是高速CMOS(Complementary Metal Oxide Semiconductor,互補(bǔ)金屬氧化物半導(dǎo)體)器件,是8位并行輸入串行輸出的移位寄存器。
在一個(gè)例子中,可以使用IO口來表示硬件信息,如針對M位的硬件信息,可以使用M個(gè)IO口來表示硬件信息,這些IO口可以由上拉電阻或者下拉電阻的方式來指示硬件信息。其中,上拉電阻是將不確定的信號(hào)通過一個(gè)電阻鉗位在高電平,而下拉電阻是將不確定的信號(hào)通過一個(gè)電阻鉗位在低電平。例如,針對硬件信息1111111011001000,則第一個(gè)IO口上拉電阻,第二個(gè)IO口上拉電阻,以此類推,第十五個(gè)IO口下拉電阻,第十六個(gè)IO口下拉電阻。
在一個(gè)例子中,以并串轉(zhuǎn)換模塊74HC165芯片為例,假設(shè)硬件信息包括4位類型標(biāo)識(shí),4位硬件版本標(biāo)識(shí),4位流水號(hào)標(biāo)識(shí),4位端口數(shù)目標(biāo)識(shí),如圖3所示,由于74HC165芯片通常支持8個(gè)IO口,可以表示8位的硬件信息,因此,需要在單板內(nèi)配置兩個(gè)74HC165芯片,且將兩個(gè)74HC165芯片級(jí)聯(lián),每一個(gè)74HC165芯片負(fù)責(zé)8位的硬件信息。例如,在圖3中,U1為低位,U2為高位。當(dāng)74HC165芯片接收到CP信號(hào)、PL信號(hào)、CE_N信號(hào)等控制信號(hào)后,可以按照時(shí)鐘進(jìn)行移位,輸出16位的硬件信息,輸出信息依次是端口數(shù)目標(biāo)識(shí)、流水號(hào)標(biāo)識(shí)、硬件版本標(biāo)識(shí)、類型標(biāo)識(shí)。而且,這16位的硬件信息被送入CPLD,組成一個(gè)數(shù)據(jù)寄存器DATA。在后續(xù)過程中詳細(xì)介紹該硬件信息的輸出過程。
在實(shí)際應(yīng)用中,若硬件信息的位數(shù)更大,則可以級(jí)聯(lián)更多的74HC165芯片,如M為24時(shí),則可以級(jí)聯(lián)3個(gè)74HC165芯片,本發(fā)明實(shí)施例中對此不再贅述。
以下對CP信號(hào)、PL信號(hào)、CE_N信號(hào)的功能和處理流程進(jìn)行詳細(xì)說明。
在CPLD內(nèi),串并轉(zhuǎn)換模塊負(fù)責(zé)模擬轉(zhuǎn)換的時(shí)序邏輯,并輸出CP信號(hào)、PL信號(hào)、CE_N信號(hào)等控制信號(hào),并且讀取單板的硬件信息。
在一個(gè)例子中,如圖4所示,為并串轉(zhuǎn)換模塊的控制時(shí)序示意圖,RESET為全局復(fù)位信號(hào),0為全局復(fù)位,1為釋放復(fù)位。CLK為采樣時(shí)鐘,頻率為1.8Mhz。CLK_CNT為時(shí)鐘計(jì)數(shù)器,每一個(gè)下降沿則計(jì)數(shù)1,一直計(jì)數(shù)到20,又從0開始重新計(jì)數(shù)。PL信號(hào)為并行加載信號(hào),當(dāng)該P(yáng)L信號(hào)為低電平時(shí),則表示需要將并串轉(zhuǎn)換模塊的IO值(即硬件信息)加載到移位寄存器內(nèi),當(dāng)該P(yáng)L信號(hào)為高電平時(shí),則表示使能移位功能。CE_N信號(hào)為使能信號(hào),當(dāng)該CE_N信號(hào)為低電平時(shí),則表示可以移位操作,當(dāng)該CE_N信號(hào)為高電平時(shí),則表示禁止移位操作。CP信號(hào)為數(shù)據(jù)移位時(shí)鐘,在該CP信號(hào)的每個(gè)上升沿脈沖,并串轉(zhuǎn)換模塊進(jìn)行移位操作,即可以發(fā)送一位的高低電平數(shù)據(jù),IO口數(shù)據(jù)由低位Q0到高位Q7移位一位,在該CP信號(hào)的每個(gè)下降沿脈沖,串并轉(zhuǎn)換模塊可以接收一位的高低電平數(shù)據(jù)。
在一個(gè)例子中,CP信號(hào)、PL信號(hào)、CE_N信號(hào)是n個(gè)單板共用的,如圖2所示,因此,串并轉(zhuǎn)換模塊發(fā)送的CP信號(hào)、PL信號(hào)、CE_N信號(hào),可以通過背板傳輸?shù)礁鱾€(gè)單板上,且各個(gè)單板均會(huì)基于CP信號(hào)、PL信號(hào)、CE_N信號(hào)進(jìn)行相關(guān)處理,各個(gè)單板的處理方式相同,后續(xù)以一個(gè)單板的處理為例進(jìn)行說明。
在上電釋放復(fù)位后,開始計(jì)數(shù),在CLK的每個(gè)下降沿,對CLK_CNT加一。在CLK_CNT=1時(shí),則PL信號(hào)為低電平。并串轉(zhuǎn)換模塊(如并串轉(zhuǎn)換模塊U1)在收到PL信號(hào)后,發(fā)現(xiàn)PL信號(hào)是低電平,因此,根據(jù)PL信號(hào)判斷出需要加載單板的硬件信息,并獲取單板的硬件信息,將單板的硬件信息(即并串轉(zhuǎn)換模塊的IO值,其是8位的硬件信息)加載到移位寄存器內(nèi)。另一個(gè)并串轉(zhuǎn)換模塊(如并串轉(zhuǎn)換模塊U2)也會(huì)將8位的硬件信息加載到移位寄存器內(nèi)。
以下結(jié)合圖3所示的應(yīng)用場景,對加載到移位寄存器的過程進(jìn)行詳細(xì)說明。在圖3中,并串轉(zhuǎn)換模塊U2可以將(D0-D7)的8位硬件信息,加載到U2的移位寄存器內(nèi)。并串轉(zhuǎn)換模塊U1可以將(D0-D7)的8位硬件信息,首先加載到并串轉(zhuǎn)換模塊U1的移位寄存器內(nèi),在進(jìn)行移位操作時(shí),可以由并串轉(zhuǎn)換模塊U2將這8位硬件信息依次移位到U2的移位寄存器內(nèi)。
在CLK_CNT的值等于2到18之間的任意值(包含2和18)時(shí),則PL信號(hào)為高電平,CE_N信號(hào)為低電平。并串轉(zhuǎn)換模塊在收到PL信號(hào)后,發(fā)現(xiàn)PL信號(hào)為高電平,因此可以移位。在此基礎(chǔ)上,并串轉(zhuǎn)換模塊在收到CE_N信號(hào)后,發(fā)現(xiàn)CE_N信號(hào)為低電平,因此根據(jù)CE_N信號(hào)判斷出可以使能移位操作,允許向CPLD傳輸單板的硬件信息。此時(shí)并串轉(zhuǎn)換模塊只是可以從移位寄存器內(nèi)讀取單板的硬件信息,并以串行方式將硬件信息發(fā)送給背板。但是此時(shí)還未以串行方式將硬件信息發(fā)送給背板,而是需要等CP信號(hào),在該CP信號(hào)的每個(gè)上升沿脈沖,并串轉(zhuǎn)換模塊才進(jìn)行移位操作,即此時(shí)才將硬件信息發(fā)送給背板。
針對并串轉(zhuǎn)換模塊從移位寄存器內(nèi)讀取單板的硬件信息,并以串行方式將硬件信息發(fā)送給背板的過程,在CLK_CNT的值等于2到18之間的任意值(包含2和18)時(shí),串并轉(zhuǎn)換模塊輸出CP信號(hào)。并串轉(zhuǎn)換模塊在收到CP信號(hào)后,在該CP信號(hào)的每個(gè)上升沿脈沖,進(jìn)行移位操作,即基于CP信號(hào)決定發(fā)送一位的高低電平數(shù)據(jù)(即一位的硬件信息)。串并轉(zhuǎn)換模塊在輸出CP信號(hào)時(shí),在該CP信號(hào)的每個(gè)下降沿脈沖,接收一位的高低電平數(shù)據(jù)(即一位的硬件信息)。
下面對移位的過程進(jìn)行詳細(xì)說明。在CP信號(hào)的每個(gè)上升沿來臨時(shí),并串轉(zhuǎn)換模塊U1和U2的移位寄存器開始進(jìn)行移位操作。首先D7的數(shù)據(jù)通過Q7放在數(shù)據(jù)線上,此時(shí)來了一個(gè)CP上升沿脈沖,U1和U2內(nèi)部的移位寄存器同時(shí)開始移位操作,U2的移位寄存器通過Q7送出一位D7,D6移動(dòng)到D7的位置,D5移動(dòng)到D6的位置,依次到D0移動(dòng)到D1的位置。U1的操作類似,在CP上升沿來臨之時(shí),U1的移位寄存器內(nèi)的D7通過Q7送出,D6移動(dòng)到D7的位置,D5移動(dòng)到D6的位置,依次到D0移動(dòng)到D1的位置。因?yàn)閁1和U2是級(jí)聯(lián)的關(guān)系,在第一個(gè)CP來臨之時(shí),U1內(nèi)移位寄存器的D7通過Q7移出時(shí),是放在U2的移位寄存器的D0位置。當(dāng)?shù)诙€(gè)CP脈沖來臨之時(shí),U2的D6移到U2的Q7輸出,D5移動(dòng)到D6的位置,依次到D0移動(dòng)到D2的位置,此時(shí)U1的D7移動(dòng)到U2的移位寄存器的D1位置,U1的D6移動(dòng)到U2的移位寄存器的D0的位置,U1的D5移動(dòng)到U1的D7的位置,U1的D4移動(dòng)到U1的D6的位置,依次類推,U1的D0移動(dòng)到U1的D2的位置。在15個(gè)CP脈沖上升沿后,U1和U2的移位寄存器內(nèi)的數(shù)據(jù)已經(jīng)全部被移出。當(dāng)然,上述只是一個(gè)實(shí)施方式,實(shí)際應(yīng)用中還可以采用其它實(shí)現(xiàn)方式,對此不再詳加贅述。
在一個(gè)例子中,串并轉(zhuǎn)換模塊在接收到單板的高低電平數(shù)據(jù)(每次只接收到一位高低電平數(shù)據(jù))后,將該高低電平數(shù)據(jù)存儲(chǔ)到該單板對應(yīng)的數(shù)據(jù)寄存器內(nèi)。例如,針對單板1移位出的高低電平數(shù)據(jù),則串并轉(zhuǎn)換模塊將其存儲(chǔ)在單板1對應(yīng)的數(shù)據(jù)寄存器1內(nèi)。針對單板2移位出的高低電平數(shù)據(jù),則串并轉(zhuǎn)換模塊將其存儲(chǔ)在單板2對應(yīng)的數(shù)據(jù)寄存器2內(nèi)。以此類推,針對單板n移位出的高低電平數(shù)據(jù),則串并轉(zhuǎn)換模塊將其存儲(chǔ)在單板n對應(yīng)的數(shù)據(jù)寄存器n內(nèi)。
在一個(gè)例子中,由于硬件信息包括16位的高低電平數(shù)據(jù),第一個(gè)高低電平數(shù)據(jù)已經(jīng)位于數(shù)據(jù)信號(hào)線上,因此,并串轉(zhuǎn)換模塊需要CP信號(hào)的15個(gè)上升沿脈沖來進(jìn)行移位操作,從而共將16位的高低電平數(shù)據(jù)傳輸?shù)酱⑥D(zhuǎn)換模塊,由串并轉(zhuǎn)換模塊將這16位的高低電平數(shù)據(jù)存儲(chǔ)到對應(yīng)單板的數(shù)據(jù)寄存器內(nèi)。
綜上所述,并串轉(zhuǎn)換模塊需要CP信號(hào)的15個(gè)上升沿脈沖來進(jìn)行移位操作,而串并轉(zhuǎn)換模塊需要CP信號(hào)的16個(gè)下降沿來讀取高低電平數(shù)據(jù)。而且,由于在CLK_CNT的值等于2到18之間的任意值(包含2和18)時(shí),串并轉(zhuǎn)換模塊輸出CP信號(hào),且需要CP信號(hào)的15個(gè)上升沿脈沖,因此,可以在CLK_CNT的值為4到18時(shí),CP信號(hào)輸出下降沿脈沖?;诖?,在CLK_CNT的值為1時(shí),則可以輸出PL信號(hào),在CLK_CNT的值為2時(shí),則可以輸出CE_N信號(hào),在CLK_CNT的值從3開始,則可以輸出脈沖,且先輸出下降沿。由于此時(shí)已經(jīng)有一位在數(shù)據(jù)線上,因此串并轉(zhuǎn)換模塊需要先取走這一位。在后續(xù)過程中,并串轉(zhuǎn)換模塊需要在CP信號(hào)的每個(gè)上升沿脈沖來進(jìn)行移位操作,而串并轉(zhuǎn)換模塊需要CP信號(hào)的每個(gè)下降沿來讀取高低電平數(shù)據(jù),在此不再贅述。
在一個(gè)例子中,該硬件控制電路還可以包括:BMC(Baseboard Management Controller,基板管理控制器),該BMC可以位于主板上?;诖?,編解碼模塊在將單板的硬件信息輸出給處理器的過程中,還可以將單板的硬件信息輸出給BMC,并由BMC將該單板的硬件信息輸出給處理器。
在一個(gè)例子中,編解碼模塊可以與處理器直接進(jìn)行通信,并可以直接將單板的硬件信息輸出給處理器。在另一個(gè)例子中,編解碼模塊可以與BMC直接進(jìn)行通信,并可以直接將單板的硬件信息輸出給BMC,并由BMC將該單板的硬件信息輸出給處理器。編解碼模塊與處理器通信的過程,和編解碼模塊與BMC通信的過程類似,可以根據(jù)實(shí)際需要選擇相應(yīng)的處理方式。為了方便描述,在后續(xù)過程中,以編解碼模塊與BMC進(jìn)行通信的處理為例,對上述過程進(jìn)行說明。
在一個(gè)例子中,編解碼模塊與BMC之間可以通過標(biāo)準(zhǔn)的硬件接口進(jìn)行通信,該標(biāo)準(zhǔn)的硬件接口可以如IIC(Inter-Integrated Circuit,集成電路總線)。當(dāng)然,編解碼模塊與BMC之間也可以通過其它接口進(jìn)行通信,如LPC(Low Pin Count,低引腳數(shù))接口,SPI(Serial Peripheral Interface,串行外設(shè)接口)接口等,其處理方式與IIC接口的處理方式類似,后續(xù)不再贅述,以IIC接口為例進(jìn)行說明。其中,IIC接口有2根信號(hào)線,一根信號(hào)線為時(shí)鐘線SCLK,由BMC向CPLD輸出時(shí)鐘信號(hào),另一根信號(hào)線為數(shù)據(jù)線SDATA,用于進(jìn)行雙向數(shù)據(jù)通信,其中的S表示串行,SDATA表示串行數(shù)據(jù),即IIC接口是個(gè)串行協(xié)議。
在一個(gè)例子中,編解碼模塊在將單板的硬件信息輸出給BMC的過程中,編解碼模塊,用于接收來自BMC的讀取命令,并可以利用該讀取命令確定待讀取硬件信息的單板,并從該待讀取硬件信息的單板對應(yīng)的數(shù)據(jù)寄存器內(nèi)獲取該單板的硬件信息,并將該單板的硬件信息存儲(chǔ)到SDATA寄存器中。進(jìn)一步的,將該SDATA寄存器中的硬件信息放在SDATA接口上,由BMC從該SDATA接口上讀取該硬件信息。其中,編解碼模塊每次只將SDATA寄存器中的一位硬件信息放在SDATA接口上,待BMC從該SDATA接口上讀取該一位硬件信息后,將SDATA寄存器中的另一位硬件信息放在SDATA接口上,以此類推。
其中,在將SDATA寄存器中的硬件信息放在SDATA接口上時(shí),可以從該SDATA寄存器中的最高位開始,依次將一位硬件信息放在SDATA接口上;或者從SDATA寄存器中的最低位開始,依次將一位硬件信息放在SDATA接口上。
在一個(gè)例子中,如圖5所示,為BMC讀取硬件信息的示意圖。BMC作為IIC主機(jī),CPLD作為IIC從機(jī),BMC和CPLD之間通過IIC接口進(jìn)行數(shù)據(jù)通信,在CPLD中模擬出IIC協(xié)議的編解碼模塊,由編解碼模塊與BMC進(jìn)行數(shù)據(jù)通信。
在一個(gè)例子中,可以采用標(biāo)準(zhǔn)模式的時(shí)鐘速率,該標(biāo)準(zhǔn)模式的時(shí)鐘速率可以為100kbps。在標(biāo)準(zhǔn)模式的時(shí)鐘速率下,針對起始位,在SDATA下降沿時(shí),則SCLK為高電平;針對結(jié)束位,在SDATA為上升沿時(shí),則SCLK為高電平。
參見圖5所示,編解碼模塊先檢測起始位,然后按照BMC時(shí)鐘接收進(jìn)來的8位數(shù)據(jù),將前7位作為IIC的地址位,將第8位作為IIC的讀寫位(如0表示寫,1表示讀)?;贗IC的地址位進(jìn)行地址校驗(yàn),在地址校驗(yàn)正確后,編解碼模塊給出應(yīng)答位。BMC在接收到應(yīng)答位之后,可以進(jìn)行讀操作或者寫操作。
針對寫操作,BMC發(fā)出讀取命令,該讀取命令可以為8bit的數(shù)據(jù),該8bit的數(shù)據(jù)表示了一個(gè)單板的標(biāo)識(shí)信息。編解碼模塊按照時(shí)鐘接收該讀取命令,并將該讀取命令存入CMD寄存器,之后編解碼模塊給出應(yīng)答位。BMC在接收到應(yīng)答位之后,即發(fā)出結(jié)束位。這樣,寫流程結(jié)束,返回RESET(起始位)狀態(tài)。
針對讀操作,編解碼模塊可以從CMD寄存器中獲取讀取命令,并利用該讀取命令確定待讀取硬件信息的單板。在一個(gè)例子中,由于SDATA寄存器只能存儲(chǔ)8位數(shù)據(jù),因此針對一個(gè)單板的硬件信息(即16位),編解碼模塊需要2次才能夠完成硬件信息的上報(bào)過程?;诖?,當(dāng)CMD寄存器中的8bit數(shù)據(jù)(即讀取命令)為0時(shí),則可以在SDATA寄存器內(nèi)存儲(chǔ)單板1(即待讀取硬件信息的單板)的低8位數(shù)據(jù),并上報(bào)這低8位數(shù)據(jù);當(dāng)CMD寄存器中的8bit數(shù)據(jù)為1時(shí),則在SDATA寄存器內(nèi)存儲(chǔ)單板1的高8位數(shù)據(jù),并上報(bào)這高8位數(shù)據(jù)。當(dāng)CMD寄存器中的8bit數(shù)據(jù)為2時(shí),則可以在SDATA寄存器內(nèi)存儲(chǔ)單板2的低8位數(shù)據(jù),并上報(bào)這低8位數(shù)據(jù);當(dāng)CMD寄存器中的8bit數(shù)據(jù)為3時(shí),則可以在SDATA寄存器內(nèi)存儲(chǔ)單板2的高8位數(shù)據(jù),并上報(bào)這高8位數(shù)據(jù)。以此類推,當(dāng)CMD寄存器中的8bit數(shù)據(jù)為2k-2時(shí),則可以在SDATA寄存器內(nèi)存儲(chǔ)單板k的低8位數(shù)據(jù),并上報(bào)這低8位數(shù)據(jù);當(dāng)CMD寄存器中的8bit數(shù)據(jù)為2k-1時(shí),則可以在SDATA寄存器內(nèi)存儲(chǔ)單板k的高8位數(shù)據(jù),并上報(bào)這高8位數(shù)據(jù)。
在一個(gè)例子中,假設(shè)CMD寄存器中的8bit數(shù)據(jù)為0,則編解碼模塊從單板1對應(yīng)的數(shù)據(jù)寄存器內(nèi)獲取單板1的低8位數(shù)據(jù),并將單板1的低8位數(shù)據(jù)存儲(chǔ)到SDATA寄存器中,然后將SDATA寄存器中的一位硬件信息放在SDATA接口上,待BMC從該SDATA接口上讀取該一位硬件信息后,將SDATA寄存器中的另一位硬件信息放在SDATA接口上,以此類推,依次這8位數(shù)據(jù)放在SDATA接口上,由BMC按照時(shí)鐘從SDATA寄存器中依次讀取這8位數(shù)據(jù),且BMC每次只能讀取一位數(shù)據(jù)。在這8位數(shù)據(jù)讀取完畢之后,BMC發(fā)出應(yīng)答位,然后再發(fā)出結(jié)束位。這樣,讀流程結(jié)束,返回RESET(起始位)狀態(tài)。而且,下次存儲(chǔ)到CMD寄存器中的8bit數(shù)據(jù)為1,編解碼模塊從單板1對應(yīng)的數(shù)據(jù)寄存器內(nèi)獲取單板1的高8位數(shù)據(jù),并將單板1的高8位數(shù)據(jù)存儲(chǔ)到SDATA寄存器中,然后將SDATA寄存器中的一位硬件信息放在SDATA接口上,待BMC從該SDATA接口上讀取該一位硬件信息后,將SDATA寄存器中的另一位硬件信息放在SDATA接口上,以此類推,依次這8位數(shù)據(jù)放在SDATA接口上,由BMC按照時(shí)鐘從SDATA寄存器中依次讀取這8位數(shù)據(jù),且BMC每次只能讀取一位數(shù)據(jù)。在這8位數(shù)據(jù)讀取完畢之后,BMC發(fā)出應(yīng)答位,然后再發(fā)出結(jié)束位。這樣,讀流程結(jié)束,返回RESET(起始位)狀態(tài)。至此,已經(jīng)完成單板1的硬件信息的傳輸,由BMC將單板1的硬件信息發(fā)送給處理器進(jìn)行后續(xù)處理。對于其它單板的處理過程,與單板1的處理過程類似,在此不再贅述。
基于上述技術(shù)方案,本發(fā)明實(shí)施例中,可以通過串行方式發(fā)送單板的硬件信息,而不需要通過并行方式發(fā)送單板的硬件信息,從而不需要在背板與單板之間配置M(即硬件信息的位數(shù)M)根信號(hào)線,也不需要在背板與CPLD之間配置M*n(即單板的數(shù)量n)根信號(hào)線,只需要在背板與單板之間配置一根數(shù)據(jù)信號(hào)線和3根控制信號(hào)線,共4根信號(hào)線,且在背板與CPLD之間配置n根數(shù)據(jù)信號(hào)線和3根控制信號(hào)線,共n+3根信號(hào)線,就可以傳輸n個(gè)單板的硬件信息,從而減少了背板和單板之間的信號(hào)線數(shù)量,減少了背板與CPLD之間的信號(hào)線數(shù)量,節(jié)約主板和背板的PCB布線空間,更加合理的利用CPLD的資源。而且,由于主板和背板之間部署的信號(hào)線數(shù)量減少,因此可以減少連接器的數(shù)量,從而節(jié)約主背板的布線空間,降低了布線的風(fēng)險(xiǎn),提高了使用的安全性。
基于與上述硬件控制電路類似的發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提出一種硬件控制電路的控制方法,該硬件控制電路可以包括:處理器、CPLD、背板、多個(gè)單板。其中,針對每個(gè)單板,在單板與背板之間包括數(shù)據(jù)信號(hào)線,在背板與CPLD之間包括單板對應(yīng)的數(shù)據(jù)信號(hào)線;該單板包括并串轉(zhuǎn)換模塊,該CPLD可以包括串并轉(zhuǎn)換模塊、編解碼模塊。參見圖6所示,該方法可以包括以下步驟:
步驟601,所述并串轉(zhuǎn)換模塊獲取所述單板的硬件信息,并通過所述單板與所述背板之間的數(shù)據(jù)信號(hào)線,以串行方式將所述硬件信息發(fā)送給所述背板。
步驟602,所述串并轉(zhuǎn)換模塊通過所述背板與所述CPLD之間的、所述單板對應(yīng)的數(shù)據(jù)信號(hào)線,以串行方式從所述背板上獲取所述單板的硬件信息,并將所述單板的硬件信息存儲(chǔ)在所述單板對應(yīng)的數(shù)據(jù)寄存器內(nèi)。
步驟603,所述編解碼模塊從所述單板對應(yīng)的數(shù)據(jù)寄存器內(nèi)獲取所述單板的硬件信息,并將所述單板的硬件信息輸出給所述處理器。
在一個(gè)例子中,所述硬件信息通過M位的高低電平數(shù)據(jù)來表示,M為大于1的正整數(shù);所述并串轉(zhuǎn)換模塊通過所述單板與所述背板之間的數(shù)據(jù)信號(hào)線,以串行方式將所述硬件信息發(fā)送給所述背板的過程中,所述并串轉(zhuǎn)換模塊每次只發(fā)送一位高低電平數(shù)據(jù),并通過M次將所述M位的高低電平數(shù)據(jù)發(fā)送給所述背板;所述串并轉(zhuǎn)換模塊通過所述背板與所述CPLD之間的、所述單板對應(yīng)的數(shù)據(jù)信號(hào)線,以串行方式獲取所述單板的硬件信息的程中,每次只獲取一位高低電平數(shù)據(jù),并通過M次從所述背板上獲取到所述M位的高低電平數(shù)據(jù)。
以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。