專利名稱:Smi接口管理方法及可編程邏輯器件的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及電路設(shè)計(jì)技術(shù)領(lǐng)域,尤其涉及SMI接口管理方法及可編程邏輯器件。
背景技術(shù):
隨著電子產(chǎn)品功能和設(shè)計(jì)越來(lái)越復(fù)雜,單板上的需管理芯片越來(lái)越多。由于SMI(Serial Management Interface,串行管理接口)接口設(shè)計(jì)簡(jiǎn)單,性能強(qiáng)大,很多芯片都采用了 SMI接口協(xié)議作為芯片的管理接口。因此,隨著單板設(shè)計(jì)的集成度越來(lái)越高,單板上的SMI接口也越來(lái)越多,例如,某一單板上需管理的SMI接口數(shù)量達(dá)到50至100個(gè),甚至更多。SMI接口一般有三種電平規(guī)范1. 2V、3. 3V和5V,實(shí)際應(yīng)用中,往往會(huì)出現(xiàn)單板上SMI接口電平不單一的情況,也就是說(shuō),單板上往往會(huì)存在多種SMI接口電平應(yīng)用,例如,單板上同時(shí)有I. 2V和3. 3V兩種SMI接口電平應(yīng)用。隨著單板電路設(shè)計(jì)的快速發(fā)展,當(dāng)單板上需管理的SMI接口眾多,而且SMI接口電平也不單一時(shí),如何實(shí)現(xiàn)對(duì)這些SMI接口的統(tǒng)一管理,成為當(dāng)前實(shí)際應(yīng)用中急需解決的問(wèn)題。
發(fā)明內(nèi)容
有鑒于此,本申請(qǐng)?zhí)岢鲆环NSMI接口管理方法,當(dāng)單板上需管理的SMI接口眾多,而且SMI接口電平也不單一時(shí),可實(shí)現(xiàn)對(duì)這些SMI接口的統(tǒng)一管理。本申請(qǐng)還提出一種可編程邏輯器件PLD,當(dāng)單板上需管理的SMI接口眾多,而且SMI接口電平也不單一時(shí),可實(shí)現(xiàn)對(duì)這些SMI接口的統(tǒng)一管理。為達(dá)到上述目的,本申請(qǐng)實(shí)施例的技術(shù)方案是這樣實(shí)現(xiàn)的一種可編程邏輯器件PLD,包括串行管理接口 SMI接口寄存器、以及與其相連的SMI接口收發(fā)器和譯碼器;其中,SMI接口寄存器與處理器CPU通過(guò)總線相連;SMI接口收發(fā)器的SMI接口通過(guò)譯碼器擴(kuò)展出與被管理的從SMI接口器件數(shù)量相同的主SMI接口 ;每個(gè)擴(kuò)展出的主SMI接口使用PLD的2個(gè)通用I/O管腳,每個(gè)主SMI接口與一個(gè)從SMI接口器件相連;不同電平應(yīng)用的主SMI接口位于PLD的輸入輸出端口 I/O組不同的邏輯區(qū)域BANK中,每個(gè)BANK的I/O管腳設(shè)置成與該BANK內(nèi)主SMI接口的電平相同的電平模式。一種SMI接口管理方法,應(yīng)用于由串行管理接口 SMI接口寄存器、以及與其相連的SMI接口收發(fā)器和譯碼器構(gòu)成的可編程邏輯器件PLD,所述SMI接口寄存器與處理器CPU通過(guò)總線相連;所述SMI接口收發(fā)器的SMI接口通過(guò)譯碼器擴(kuò)展出與被管理的從SMI接口器件數(shù)量相同的主SMI接口 ;每個(gè)擴(kuò)展出的主SMI接口使用PLD的2個(gè)通用I/O管腳,每個(gè)主SMI接口與一個(gè)從SMI接口器件相連;不同電平應(yīng)用的主SMI接口位于PLD的輸入輸出端口 I/O組不同的邏 輯區(qū)域BANK中,每個(gè)BANK的I/O管腳設(shè)置成與該BANK內(nèi)主SMI接口的電平相同的電平模式;
當(dāng)CPU讀取SMI接口寄存器的狀態(tài)后啟動(dòng)一次SMI接口操作時(shí),執(zhí)行以下步驟所述SMI接口寄存器存儲(chǔ)CPU寫(xiě)入的操作信息;所述譯碼器根據(jù)所述操作信息中的SMI接口地址信息選定待訪問(wèn)的從SMI接口;當(dāng)CPU在SMI接口寄存器中寫(xiě)入操作執(zhí)行指令的操作信息時(shí),所述SMI接口收發(fā)器根據(jù)SMI接口寄存器中的操作信息對(duì)所述選定的從SMI接口執(zhí)行對(duì)應(yīng)的操作。本申請(qǐng)的有益效果為,通過(guò)對(duì)可編程邏輯器件進(jìn)行電路設(shè)計(jì),在可編程邏輯器件中實(shí)現(xiàn)SMI接口寄存器、SMI接口收發(fā)器和譯碼器,CPU將SMI接口操作信息寫(xiě)入SMI接口寄存器,通過(guò)SMI接口寄存器中的操作信息來(lái)控制譯碼器選定待訪問(wèn)的從SMI接口,并且控制SMI接口收發(fā)器讀寫(xiě)選定的從SMI接口器件,由于可編程邏輯器件的管腳眾多,而每個(gè)SMI接口只需2個(gè)通用I/O管腳即可,這樣完全可以滿足管理單板上眾多SMI接口的需求,且可編程邏輯器件可將不同邏輯區(qū)域BANK的I/O管腳設(shè)置為不同的電平模式,這樣就可以使可編程邏輯器件訪問(wèn)多種不同電平規(guī)范的從SMI接口,因此,當(dāng)單板上需管理的從SMI接口眾多,而且從SMI接口電平也不單一時(shí),本申請(qǐng)可以實(shí)現(xiàn)對(duì)這些從SMI接口的統(tǒng)一管理。
圖I為本申請(qǐng)實(shí)施例一的裝置結(jié)構(gòu)圖;圖2為本申請(qǐng)實(shí)施例一的拓?fù)浣Y(jié)構(gòu)示意圖;圖3為本申請(qǐng)實(shí)施例的SMI接口為一驅(qū)一拓?fù)浣Y(jié)構(gòu)時(shí)的仿真波形示意
圖4為本申請(qǐng)實(shí)施例二的方法流程圖;圖5為本申請(qǐng)實(shí)施例的SMI接口收發(fā)器的邏輯狀態(tài)機(jī)的邏輯狀態(tài)實(shí)現(xiàn);圖6為本申請(qǐng)實(shí)施例二的方法流程圖;圖7為本申請(qǐng)實(shí)施例四的方法流程圖;圖8為本申請(qǐng)實(shí)施例的由可編程邏輯器件實(shí)現(xiàn)CPU管理接口(以Local bus為例)轉(zhuǎn)化的拓?fù)涫疽鈭D;圖9為本申請(qǐng)實(shí)施例的MPC8245的PORT X接口對(duì)外設(shè)的讀訪問(wèn)時(shí)序圖;圖10為本申請(qǐng)實(shí)施例的MPC8245的PORT X接口對(duì)外設(shè)的寫(xiě)訪問(wèn)時(shí)序圖。
具體實(shí)施例方式為了使本申請(qǐng)的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下通過(guò)具體實(shí)施例并參見(jiàn)附圖,對(duì)本申請(qǐng)進(jìn)行詳細(xì)說(shuō)明。本申請(qǐng)?zhí)岢鲆环N可編程邏輯器件PLD,包括SMI接口寄存器、以及與其相連的SMI接口收發(fā)器和譯碼器;其中,所述SMI接口寄存器與處理器CPU通過(guò)總線相連;所述SMI接口收發(fā)器的SMI接口通過(guò)譯碼器擴(kuò)展出與被管理的從SMI接口器件數(shù)量相同的主SMI接口 ;每個(gè)主SMI接口使用PLD的2個(gè)通用I/O管腳,擴(kuò)展出的每個(gè)主SMI接口與一個(gè)從SMI接口器件相連;不同電平應(yīng)用的主SMI接口位于PLD的輸入輸出端口 I/O組不同的邏輯區(qū)域BANK中,每個(gè)BANK的I/O管腳設(shè)置成與該BANK內(nèi)主SMI接口的電平相同的電平模式;所述SMI接口寄存器在CPU讀取SMI接口寄存器的狀態(tài)后啟動(dòng)一次SMI接口操作(讀SMI接口操作或?qū)慡MI接口操作)時(shí),存儲(chǔ)CPU寫(xiě)入的操作信息;所述譯碼器根據(jù)所述操作信息中的SMI接口地址信息選定待訪問(wèn)的從SMI接口;
當(dāng)CPU在SMI接口寄存器中寫(xiě)入操作執(zhí)行指令的操作信息時(shí),所述SMI接口收發(fā)器根據(jù)SMI接口寄存器中的操作信息對(duì)所述選定的從SMI接口執(zhí)行對(duì)應(yīng)的操作。本申請(qǐng)中,通過(guò)對(duì)可編程邏輯器件進(jìn)行電路設(shè)計(jì),在可編程邏輯器件中實(shí)現(xiàn)SMI接口寄存器、SMI接口收發(fā)器和譯碼器,CPU將SMI接口操作信息寫(xiě)入SMI接口寄存器,通過(guò)SMI接口寄存器中的操作信息來(lái)控制譯碼器選定待訪問(wèn)的從SMI接口,并且控制SMI接口收發(fā)器讀寫(xiě)選定的從SMI接口器件,從而當(dāng)單板上需管理的從SMI接口眾多,而且從SMI接口電平也不單一時(shí),可以實(shí)現(xiàn)對(duì)這些從SMI接口的統(tǒng)一管理。為清晰描述本申請(qǐng)方案,下面通過(guò)實(shí)施例進(jìn)行具體說(shuō)明。本申請(qǐng)實(shí)施例一的裝置結(jié)構(gòu)如圖I所示,一種可編程邏輯器件PLD,包括SMI接口寄存器、以及與其相連的SMI接口收發(fā)器和譯碼器;包含有所述裝置的拓?fù)浣Y(jié)構(gòu)圖如圖2所
/Jn ο所述SMI接口寄存器與處理器CPU通過(guò)總線相連。本申請(qǐng)實(shí)施例中,不限定CPU與SMI接口寄存器之間的總線接口類型,只要可以訪問(wèn)可編程邏輯器件中的寄存器即可,支 持各種各樣的CPU訪問(wèn)接口。例如,可使用Localbus接口、I2C接口、PCIE接口等等,這樣極大地方便了 CPU的選型。由可編程邏輯器件實(shí)現(xiàn)CPU管理接口(以Local bus接口為例)轉(zhuǎn)化的具體內(nèi)容可參見(jiàn)說(shuō)明書(shū)的后面部分,由于這部分屬于現(xiàn)有技術(shù),在這里不多贅述。由于進(jìn)行CPU接口設(shè)計(jì)時(shí),可使用多種多樣的接口協(xié)議,因此,本申請(qǐng)實(shí)施例的電路設(shè)計(jì)可以有很多的變化,為電路設(shè)計(jì)中選擇合適的CPU提供了更大的選擇空間。這里的CPU也可以是單片機(jī)或ARM處理器。所述SMI接口收發(fā)器的SMI接口通過(guò)譯碼器擴(kuò)展出與被管理的從SMI接口器件數(shù)量相同的主SMI接口,每個(gè)主SMI接口使用PLD的2個(gè)通用I/O管腳。SMI接口包括兩根信號(hào)線MDC (Management Data Clock,管理數(shù)據(jù)時(shí)鐘)和MDIO(Management Data Input/Output,管理數(shù)據(jù)輸入/輸出)。MDC是一個(gè)非周期信號(hào),信號(hào)的最小周期為400ns,最小正電平時(shí)間和負(fù)電平時(shí)間為160ns,最大的正負(fù)電平時(shí)間無(wú)限制。MDIO是一根雙向的數(shù)據(jù)線,用來(lái)傳送MAC層的控制信息和物理層的狀態(tài)信息。MDIO數(shù)據(jù)與MDC時(shí)鐘同步,在MDC上升沿有效。由于可編程邏輯器件的管腳眾多,一般小一些的可編程邏輯器件,也有100至200多個(gè)I/o管腳,而每個(gè)主SMI接口只需2個(gè)通用I/O管腳即可。這樣完全可以滿足管理單板上眾多SMI接口的需求,且可擴(kuò)展性非常好。例如,某一單板上需管理的SMI接口數(shù)量達(dá)到50至100個(gè),甚至更多,采用可編程邏輯器件就可以管理如此眾多的SMI接口。本申請(qǐng)實(shí)施例中,所述SMI接口收發(fā)器的SMI接口通過(guò)譯碼器擴(kuò)展出的每個(gè)主SMI接口與一個(gè)從SMI接口器件相連。即主SMI接口一對(duì)一連接從SMI接口,保證了對(duì)每個(gè)從SMI接口訪問(wèn)的拓?fù)浣Y(jié)構(gòu)為一驅(qū)一結(jié)構(gòu),可以保證SMI總線良好的信號(hào)質(zhì)量,從而可以保證產(chǎn)品的高穩(wěn)定性和可靠性。本申請(qǐng)實(shí)施例對(duì)SMI接口采用一驅(qū)一的拓?fù)浣Y(jié)構(gòu),其仿真波形如圖3所示,從圖中可以清楚看出,采用一驅(qū)一拓?fù)浣Y(jié)構(gòu),MDC信號(hào)質(zhì)量會(huì)非常好。本申請(qǐng)實(shí)施例中,不同電平應(yīng)用的主SMI接口位于PLD的輸入輸出端口 I/O組不同的邏輯區(qū)域BANK中,每個(gè)BANK的I/O管腳設(shè)置成與該BANK內(nèi)主SMI接口的電平相同的電平模式。對(duì)于不同的從SMI接口器件,要求的電平可能多種多樣,例如,有的從SMI接口器件只支持I. 2V電平規(guī)范,有的只支持I. 8V電平規(guī)范,有的又只支持3. 3V電平規(guī)范等。由于一般的可編程邏輯器件,可將不同邏輯區(qū)域BANK的I/O管腳設(shè)置為不同的電平模式,這樣就可以使可編程邏輯器件訪問(wèn)多種不同電平規(guī)范的從SMI接口了,可支持
I.2V、1. 5V、1.8V、2. 5V、3. 3V等多種電平規(guī)范,從而可以支持當(dāng)多個(gè)從SMI接口電平不同時(shí)的訪問(wèn)。本申請(qǐng)實(shí)施例中,利用可編程邏輯器件不同邏輯區(qū)域BANK的I/O管腳可設(shè)置成不同的電平模式,可以很好地解決需管理的從SMI接口電平不單一的問(wèn)題。例如,假設(shè)需管理的從SMI接口電平有I. 2V和3. 3V兩種電平應(yīng)用,可編程邏輯器件PLD有200個(gè)I/O管腳,PLD有四個(gè)BANK,每個(gè)BANK內(nèi)有50個(gè)I/O管腳,與電平為I. 2V的從SMI接口相連的主SMI接口位于其中一個(gè)BANK內(nèi),將該BANK內(nèi)的50個(gè)I/O管腳均設(shè)置成I. 2V的電平模式,同樣地,與電平為3. 3V的從SMI接口相連的主SMI接口位于另一個(gè)BANK內(nèi),將該BANK內(nèi)的50個(gè)I/O管腳均設(shè)置成3. 3V的電平模式,從而可以訪問(wèn)I. 2V和
3.3V兩種電平應(yīng)用的從SMI接口。通過(guò)以上描述可知,本申請(qǐng)實(shí)施例采用可編程邏輯器件進(jìn)行設(shè)計(jì),當(dāng)單板上需管理的SMI接口眾多,而且SMI接口電平也不單一時(shí),可以實(shí)現(xiàn)對(duì)這些SMI接口的統(tǒng)一管理,且使SMI總線為一驅(qū)一的拓?fù)浣Y(jié) 構(gòu),可以保證MDC和MDIO的信號(hào)質(zhì)量完好,以實(shí)現(xiàn)系統(tǒng)的高穩(wěn)定性和可靠性。下面對(duì)采用上述電路設(shè)計(jì)的可編程邏輯器件實(shí)現(xiàn)SMI接口統(tǒng)一管理的流程進(jìn)行描述,這里分為讀SMI接口操作和寫(xiě)SMI接口操作兩個(gè)實(shí)施例來(lái)分別進(jìn)行描述。首先需要了解,在可編程邏輯器件中,需要定義SMI接口寄存器,用于CPU和可編程邏輯器件的交互,所述SMI接口寄存器包括SMI接口控制以及接口地址寄存器、SMI接口寫(xiě)數(shù)據(jù)寄存器和SMI接口讀數(shù)據(jù)寄存器,其中SMI接口控制以及接口地址寄存器,用于存儲(chǔ)SMI接口寄存器的狀態(tài)信息、以及待訪問(wèn)的從SMI接口地址、操作類型和操作執(zhí)行指令信息;SMI接口寫(xiě)數(shù)據(jù)寄存器,用于存儲(chǔ)需要傳送到待訪問(wèn)的從SMI接口器件的數(shù)據(jù);SMI接口讀數(shù)據(jù)寄存器,用于存儲(chǔ)從從SMI接口器件讀取到的數(shù)據(jù)。上述對(duì)SMI接口寄存器的定義詳見(jiàn)后面的描述,此處不多贅述。當(dāng)需要啟動(dòng)一次寫(xiě)SMI接口操作時(shí),本申請(qǐng)實(shí)施例二的方法流程如圖4所示,包括以下步驟步驟401 =CPU讀取可編程邏輯器件的SMI接口寄存器的狀態(tài)。即讀取SMI接口控制以及接口地址寄存器中的狀態(tài)信息。參見(jiàn)后面的表I可知,當(dāng)SMI_ERR0R為0,且SMI_READY為O時(shí),才能啟動(dòng)一次操作,本步驟屬于CPU啟動(dòng)一次操作時(shí)的常用操作方式。步驟402 :所述SMI接口寄存器存儲(chǔ)CPU寫(xiě)入的需要傳送到待訪問(wèn)的從SMI接口器件的數(shù)據(jù)。即參見(jiàn)后面的表2,CPU向可編程邏輯器件中的SMI接口寫(xiě)數(shù)據(jù)寄存器寫(xiě)入需要傳送到從SMI接口器件的數(shù)據(jù)。步驟403 :所述SMI接口寄存器存儲(chǔ)CPU寫(xiě)入的待訪問(wèn)的從SMI接口地址、操作類型信息;所述操作類型信息包含于操作信息中。即CPU寫(xiě)可編程邏輯器件中的SMI接口控制以及接口地址寄存器,例如,參見(jiàn)表I,寫(xiě)入的操作信息包括待訪問(wèn)的從SMI接口地址(DEVAD[4:0]和ADDR[5:0])、本次操作類型 SMI_ACCESS_TYPE[I:O]。ADDR[5:0]表示待訪問(wèn)的從SMI接口物理地址,DEVAD [4:0]表示所述待訪問(wèn)的從SMI接口的寄存器的層,例如,從SMI接口 I物理地址的編碼值為0,要訪問(wèn)從SMI接口 I的寄存器的第32層,則寫(xiě)入的ADDR[5:0] =0, DEVAD [4:0] =32。ADDR字段的位數(shù)是可以根據(jù)需管理的從SMI接口的數(shù)量而進(jìn)行擴(kuò)展的,例如,如果ADDR [5:0]不能滿足現(xiàn)有的數(shù)量管理需求,可以擴(kuò)展為ADDR [6:0]。寫(xiě)操作時(shí),操作類型SMI_ACCESS_TYPE[1:0]=01。步驟404 :所述譯碼器根據(jù)所述操作信息中的SMI接口地址信息選定待訪問(wèn)的從SMI 接口。所述譯碼器可以根據(jù)所述操作信息中的SMI接口地址信息,即步驟403中的字段ADDR[5:0],來(lái)選擇需要訪問(wèn)的從SMI接口??刹捎萌缦路椒▽?shí)現(xiàn)所述譯碼器預(yù)先對(duì)被管理的所有從SMI接口進(jìn)行編碼,根據(jù)所述操作信息中的從SMI接口地址的編碼信息選定待訪問(wèn)的從SMI接口。例如,假設(shè)被管理的從SMI接口有η個(gè),將從SMI接口 I地址編碼為0,從SMI接口 2地址編碼為1,....,從SM I接口 η地址編碼為η — 1,則當(dāng)ADDR[5:0] = O時(shí),表示訪問(wèn)從SMI接口 I,以此類推。這樣,CPU可把所有從SMI接口器件看成一個(gè)器件訪問(wèn),只定義一段地址空間即可,從而可以在邏輯上實(shí)現(xiàn)多個(gè)從SMI接口器件的寄存器空間的統(tǒng)一管理,即可以將多個(gè)從SMI接口器件在軟件層面看成一個(gè)器件,從而可極大地方便軟件設(shè)計(jì),因?yàn)榕cCPU聯(lián)系的只是可編程邏輯器件中的寄存器單元,每一個(gè)從SMI接口都對(duì)應(yīng)到同一段地址空間,可方便軟件管理。如此,可以只用一個(gè)SMI接口收發(fā)器和一個(gè)譯碼器,就可以實(shí)現(xiàn)多端口訪問(wèn),從而可以節(jié)省大量的邏輯資源,降低產(chǎn)品成本和設(shè)計(jì)復(fù)雜度。例如,在某一可編程邏輯器件CPLD中實(shí)現(xiàn)一個(gè)SMI接口收發(fā)器,需要大約7% (相對(duì)該CPLD總資源)的邏輯資源。如果單板有20個(gè)從SMI接口需要管理,且在邏輯中如果每個(gè)從SMI接口單獨(dú)實(shí)現(xiàn)一個(gè)SMI接口收發(fā)器,則所需資源將達(dá)到140%,超出該CPLD的總資源了。如果采用本申請(qǐng)實(shí)施例方案,設(shè)計(jì)一個(gè)譯碼器來(lái)選擇待訪問(wèn)的從SMI接口,采用一個(gè)SMI接口收發(fā)器來(lái)讀寫(xiě)選定的SMI接口器件,這樣被管理的多個(gè)從SMI接口復(fù)用一個(gè)SMI接口收發(fā)器,就可以大大節(jié)約邏輯資源。步驟405 :所述SMI接口寄存器存儲(chǔ)CPU寫(xiě)入的操作執(zhí)行指令的操作信息。即CPU在SMI接口寄存器中寫(xiě)入操作執(zhí)行指令的操作信息。參見(jiàn)表1,CPU將可編程邏輯器件的SMI接口控制以及接口地址寄存器中SMI_START置I、以及SMI_READY置I。步驟406 :所述SMI接口收發(fā)器根據(jù)SMI接口寄存器中的操作信息對(duì)所述選定的從SMI接口執(zhí)行一次寫(xiě)SMI接口操作。所述操作信息包括需要傳送到待訪問(wèn)的從SMI接口器件的數(shù)據(jù)、待訪問(wèn)的從SMI接口地址、操作類型、以及操作執(zhí)行指令信息。當(dāng)CPU在SMI接口寄存器中寫(xiě)入操作執(zhí)行指令時(shí),所述SMI接口收發(fā)器對(duì)所述選定的從SMI接口執(zhí)行一次寫(xiě)操作。一次寫(xiě)操作包括以下步驟SI、可編程邏輯器件將需要傳送到待訪問(wèn)的從SMI接口器件的數(shù)據(jù)通過(guò)SMI接口,送到從SMI接口器件。S2、一個(gè)邏輯周期后,SMI接口控制以及接口地址寄存器中的SMI_START被清O。S3、本次訪問(wèn)完成,SMI接口控制以及接口地址寄存器中的SMI_READY被清O。S4、如果訪問(wèn)正常,SMI接口控制以及接口地址寄存器中的SMI_ERR0R置O ;如果訪問(wèn)異常,SMI接口控制以及接口地址寄存器中的SMI_ERR0R置1,等CPU處理異常后,置O。上述步驟SI、S2、S3、S4通過(guò)SMI接口收發(fā)器的邏輯狀態(tài)機(jī)實(shí)現(xiàn)。如圖5所示,當(dāng)SMI接口收發(fā)器對(duì)選定的從SMI接口執(zhí)行讀操作或?qū)懖僮鲿r(shí),SMI接口收發(fā)器的邏輯狀態(tài)機(jī)的邏輯狀態(tài)實(shí)現(xiàn)描述如下,其中,REGl表示SMI接口控制以及接口地址寄存器,REG2表示SMI接口寫(xiě)數(shù)據(jù)寄存器,REG3表示SMI接口讀數(shù)據(jù)寄存器空閑狀態(tài)等待CPU啟動(dòng)讀寫(xiě)操作。當(dāng)REGl的SMI_START為置I時(shí),轉(zhuǎn)到下一狀態(tài)。前導(dǎo)狀態(tài)此狀態(tài)持 續(xù)32周期,發(fā)送同步信號(hào)。發(fā)送起始碼狀態(tài)持續(xù)2周期,發(fā)送開(kāi)始標(biāo)志。發(fā)送操作碼狀態(tài)持續(xù)2周期,發(fā)送操作碼。發(fā)送地址狀態(tài)持續(xù)10周期,發(fā)送地址設(shè)備信息。讀寫(xiě)狀態(tài)轉(zhuǎn)化狀態(tài)持續(xù)2周期,若為讀操作,則第一比特由主SMI接口器件置為高阻態(tài),第二比特由從芯片置“0”,若為寫(xiě)操作,則仍由主芯片控制,其連續(xù)輸出“10”兩個(gè)比特。讀寫(xiě)狀態(tài)持續(xù)16周期,讀操作時(shí)為從芯片送到主芯片的數(shù)據(jù),寫(xiě)操作時(shí)為主芯片送到從芯片的數(shù)據(jù)。當(dāng)需要啟動(dòng)一次讀SMI接口操作時(shí),本申請(qǐng)實(shí)施例三的方法流程如圖6所示,包括以下步驟步驟601 =CPU讀取可編程邏輯器件的SMI接口寄存器的狀態(tài)。當(dāng)SMI_ERR0R為0,且SMI_READY為O時(shí),才能啟動(dòng)一次操作。本步驟對(duì)應(yīng)于實(shí)施例二中的步驟401。步驟602 :所述SMI接口寄存器存儲(chǔ)CPU寫(xiě)入的待訪問(wèn)的從SMI接口地址、操作類
型信息。即CPU寫(xiě)可編程邏輯器件中的SMI接口控制以及接口地址寄存器,參見(jiàn)表1,寫(xiě)入的操作信息包括DEVAD[4:0]、ADDR[5:0]、SMI_ACCESS_TYPE[I:O]。本步驟對(duì)應(yīng)于實(shí)施例二中的步驟403。步驟603 :所述譯碼器根據(jù)所述操作信息中的SMI接口地址信息選定待訪問(wèn)的從SMI 接口。本步驟對(duì)應(yīng)于實(shí)施例二中的步驟404。步驟604 :所述SMI接口寄存器存儲(chǔ)CPU寫(xiě)入的操作執(zhí)行指令的操作信息。
即CPU將可編程邏輯器件的SMI接口控制以及接口地址寄存器中SMI_START置I、以及 SMI_READY 置 I。本步驟對(duì)應(yīng)于實(shí)施例二中的步驟405。步驟605 :所述SMI接口收發(fā)器根據(jù)SMI接口寄存器中的操作信息對(duì)所述選定的從SMI接口執(zhí)行一次讀SMI接口操作。所述操作信息包括待訪問(wèn)的從SMI接口地址、操作類型以及操作執(zhí)行指令信息。一次讀SMI接口操作包括以下步驟Tl、可編程邏輯器件將需讀取的數(shù)據(jù)通過(guò)SMI接口,從從SMI接口器件讀取后,存入SMI接口讀數(shù)據(jù)寄存器。T2、一個(gè)邏輯周期后,SMI_START被清O。T3、本次訪問(wèn)完成,SMI_READY被清O。T4、CPU讀取SMI接口讀數(shù)據(jù)寄存器,獲取想要的數(shù)據(jù)。T5、如果訪問(wèn)正常,SMI_ERR0R置O ;如果訪問(wèn)異常,SMI_ERR0R置I。等CPU處理
異常后,清O。上述步驟11、了2、了3、了4、了5通過(guò)510接口收發(fā)器的邏輯狀態(tài)機(jī)實(shí)現(xiàn),如圖6所示,本申請(qǐng)實(shí)施例二中已有描述,此處不再贅述。本申請(qǐng)實(shí)施例四 的方法流程如圖7所示,一種SMI接口管理方法,應(yīng)用于由串行管理接口 SMI接口寄存器、以及與其相連的SMI接口收發(fā)器和譯碼器構(gòu)成的可編程邏輯器件PLD,所述SMI接口寄存器與處理器CPU通過(guò)任意總線相連;所述SMI接口收發(fā)器的SMI接口通過(guò)譯碼器擴(kuò)展出與被管理的從SMI接口器件數(shù)量相同的主SMI接口 ;每個(gè)主SMI接口使用PLD的2個(gè)通用I/O管腳,每個(gè)主SMI接口與一個(gè)從SMI接口器件相連;不同電平應(yīng)用的主SMI接口位于PLD的輸入輸出端口 I/O組不同的邏輯區(qū)域BANK中,每個(gè)BANK的I/O管腳設(shè)置成與該BANK內(nèi)主SMI接口的電平相同的電平模式;當(dāng)CPU讀取SMI接口寄存器的狀態(tài)后啟動(dòng)一次SMI接口操作時(shí),執(zhí)行以下步驟步驟701 :所述SMI接口寄存器存儲(chǔ)CPU寫(xiě)入的操作信息。本步驟對(duì)應(yīng)于實(shí)施例二的步驟402、403、405或者實(shí)施例三的步驟602、604。步驟702 :所述譯碼器根據(jù)所述操作信息中的SMI接口地址信息選定待訪問(wèn)的從SMI 接口。本步驟對(duì)應(yīng)于實(shí)施例二的步驟404或?qū)嵤├牟襟E603。步驟703 :當(dāng)CPU在SMI接口寄存器中寫(xiě)入操作執(zhí)行指令的操作信息時(shí),所述SMI接口收發(fā)器根據(jù)SMI接口寄存器中的操作信息對(duì)所述選定的從SMI接口執(zhí)行對(duì)應(yīng)的操作。本步驟對(duì)應(yīng)于實(shí)施例二的步驟406或?qū)嵤├牟襟E605。當(dāng)啟動(dòng)一次寫(xiě)SMI接口操作時(shí),所述CPU寫(xiě)入的操作信息包括需要傳送到待訪問(wèn)的從SMI接口器件的數(shù)據(jù)、待訪問(wèn)的從SMI接口地址、操作類型、以及操作執(zhí)行指令信息。當(dāng)啟動(dòng)一次讀SMI接口操作時(shí),所述CPU寫(xiě)入的操作信息包括待訪問(wèn)的從SMI接口地址、操作類型以及操作執(zhí)行指令信息。較佳地,所述譯碼器根據(jù)所述操作信息中的SMI接口地址信息選定待訪問(wèn)的從SMI接口,包括所述譯碼器預(yù)先對(duì)被管理的所有從SMI接口進(jìn)行編碼,根據(jù)所述操作信息中的從SMI接口地址的編碼信息選定待訪問(wèn)的從SMI接口。本申請(qǐng)方案中,由可編程邏輯器件根據(jù)接收到的CPU的操作信息,去訪問(wèn)從SMI接口器件。在可編程邏輯器件中,實(shí)現(xiàn)了 CPU管理接口和SMI接口之間的轉(zhuǎn)化,即在可編程邏輯器件中,實(shí)現(xiàn)一個(gè)包括SMI接口寄存器、SMI接口收發(fā)器和譯碼器的SMI接口管理器。通過(guò)如此設(shè)計(jì),當(dāng)單板上需管理的SMI接口眾多,而且SMI接口電平也不單一時(shí),可實(shí)現(xiàn)對(duì)這些SMI接口的統(tǒng)一管理。為方便理解本申請(qǐng)方案,下面附上所述SMI接口寄存器的定義內(nèi)容作為參考,SMI接口寄存器包括=SMI接口控制以及接口地址寄存器、SMI接口寫(xiě)數(shù)據(jù)寄存器和SMI接口讀數(shù)據(jù)寄存器。所述SMI接口控制以及接口地址寄存器[OxBASE (基地址)+000001 (偏移地址)]的定義如下表I :
權(quán)利要求
1.一種可編程邏輯器件PLD,其特征在于,所述PLD包括:串行管理接口 SMI接口寄存器、以及與其相連的SMI接口收發(fā)器和譯碼器;其中, SMI接口寄存器與處理器CPU通過(guò)總線相連; SMI接口收發(fā)器的SMI接口通過(guò)譯碼器擴(kuò)展出與被管理的從SMI接口器件數(shù)量相同的主SMI接口; 每個(gè)擴(kuò)展出的主SMI接口使用PLD的2個(gè)通用I/O管腳,每個(gè)主SMI接口與一個(gè)從SMI接口器件相連; 不同電平應(yīng)用的主SMI接口位于PLD的輸入輸出端口 I/O組不同的邏輯區(qū)域BANK中,每個(gè)BANK的I/O管腳設(shè)置成與該BANK內(nèi)主SMI接口的電平相同的電平模式。
2.根據(jù)權(quán)利要求1所述的可編程邏輯器件PLD,其特征在于, 所述SMI接口寄存器在CPU讀取SMI接口寄存器的狀態(tài)后啟動(dòng)一次SMI接口操作時(shí),存儲(chǔ)CPU寫(xiě)入的操作信息; 所述譯碼器根據(jù)所述操作信息中的SMI接口地址信息選定待訪問(wèn)的從SMI接口; 當(dāng)CPU在SMI接口寄存器中寫(xiě)入操作執(zhí)行指令的操作信息時(shí),所述SMI接口收發(fā)器根據(jù)SMI接口寄存器中的操作信息對(duì)所述選定的從SMI接口執(zhí)行對(duì)應(yīng)的操作。
3.根據(jù)權(quán)利要求2所述的可編程邏輯器件PLD,其特征在于,當(dāng)啟動(dòng)一次寫(xiě)SMI接口操作時(shí), 所述CPU寫(xiě)入的操作信息包括:需要傳送到待訪問(wèn)的從SMI接口器件的數(shù)據(jù)、待訪問(wèn)的從SMI接口地址、操作類型、以及操`作執(zhí)行指令信息。
4.根據(jù)權(quán)利要求2所述的可編程邏輯器件PLD,其特征在于,當(dāng)啟動(dòng)一次讀SMI接口操作時(shí), 所述CPU寫(xiě)入的操作信息包括:待訪問(wèn)的從SMI接口地址、操作類型以及操作執(zhí)行指令信息。
5.根據(jù)權(quán)利要求3或4所述的可編程邏輯器件PLD,其特征在于,所述譯碼器預(yù)先對(duì)被管理的所有從SMI接口進(jìn)行編碼,根據(jù)所述操作信息中的從SMI接口地址的編碼信息選定待訪問(wèn)的從SMI接口。
6.根據(jù)權(quán)利要求3或4所述的可編程邏輯器件PLD,其特征在于,所述SMI接口寄存器,包括=SMI接口控制以及接口地址寄存器、SMI接口寫(xiě)數(shù)據(jù)寄存器和SMI接口讀數(shù)據(jù)寄存器,其中: SMI接口控制以及接口地址寄存器,用于存儲(chǔ)SMI接口寄存器的狀態(tài)信息、以及待訪問(wèn)的從SMI接口地址、操作類型和操作執(zhí)行指令信息; SMI接口寫(xiě)數(shù)據(jù)寄存器,用于存儲(chǔ)需要傳送到待訪問(wèn)的從SMI接口器件的數(shù)據(jù); SMI接口讀數(shù)據(jù)寄存器,用于存儲(chǔ)從從SMI接口器件讀取到的數(shù)據(jù)。
7.—種SMI接口管理方法,其特征在于,該方法應(yīng)用于由串行管理接口 SMI接口寄存器、以及與其相連的SMI接口收發(fā)器和譯碼器構(gòu)成的可編程邏輯器件PLD,所述SMI接口寄存器與處理器CPU通過(guò)總線相連;所述SMI接口收發(fā)器的SMI接口通過(guò)譯碼器擴(kuò)展出與被管理的從SMI接口器件數(shù)量相同的主SMI接口 ;每個(gè)擴(kuò)展出的主SMI接口使用PLD的2個(gè)通用I/O管腳,每個(gè)主SMI接口與一個(gè)從SMI接口器件相連;不同電平應(yīng)用的主SMI接口位于PLD的輸入輸出端口 I/O組不同的邏輯區(qū)域BANK中,每個(gè)BANK的I/O管腳設(shè)置成與該BANK內(nèi)主SMI接口的電平相同的電平模式; 當(dāng)CPU讀取SMI接口寄存器的狀態(tài)后啟動(dòng)一次SMI接口操作時(shí),執(zhí)行以下步驟: 所述SMI接口寄存器存儲(chǔ)CPU寫(xiě)入的操作信息; 所述譯碼器根據(jù)所述操作信息中的SMI接口地址信息選定待訪問(wèn)的從SMI接口; 當(dāng)CPU在SMI接口寄存器中寫(xiě)入操作執(zhí)行指令的操作信息時(shí),所述SMI接口收發(fā)器根據(jù)SMI接口寄存器中的操作信息對(duì)所述選定的從SMI接口執(zhí)行對(duì)應(yīng)的操作。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,當(dāng)啟動(dòng)一次寫(xiě)SMI接口操作時(shí), 所述CPU寫(xiě)入的操作信息包括:需要傳送到待訪問(wèn)的從SMI接口器件的數(shù)據(jù)、待訪問(wèn)的從SMI接口地址、操作類型、以及操作執(zhí)行指令信息。
9.根據(jù)權(quán)利要求7所述的方法,其特征在于,當(dāng)啟動(dòng)一次讀SMI接口操作時(shí), 所述CPU寫(xiě)入的操作信息包括:待訪問(wèn)的從SMI接口地址、操作類型以及操作執(zhí)行指令信息。
10.根據(jù)權(quán)利要求8或9所述的方法,其特征在于,所述譯碼器根據(jù)所述操作信息中的SMI接口地址信息選定待訪問(wèn)的從SMI接口,包括: 所述譯碼器預(yù)先對(duì)被管理的所有從SMI接口進(jìn)行編碼,根據(jù)所述操作信息中的從SMI接口地址的編碼信息選定待訪·問(wèn)的從SMI接口。
全文摘要
本申請(qǐng)公開(kāi)了一種可編程邏輯器件PLD,包括SMI接口寄存器、以及與其相連的SMI接口收發(fā)器和譯碼器;SMI接口寄存器與處理器CPU通過(guò)總線相連;SMI接口收發(fā)器的SMI接口通過(guò)譯碼器擴(kuò)展出與被管理的從SMI接口器件數(shù)量相同的主SMI接口;每個(gè)擴(kuò)展出的主SMI接口使用PLD的2個(gè)I/O管腳,每個(gè)主SMI接口與一個(gè)從SMI接口器件相連;不同電平應(yīng)用的主SMI接口位于PLD的輸入輸出端口I/O組不同的邏輯區(qū)域BANK中,每個(gè)BANK的I/O管腳設(shè)置成與該BANK內(nèi)主SMI接口的電平相同的電平模式。本申請(qǐng)還公開(kāi)了一種SMI接口管理方法。當(dāng)單板上需管理的SMI接口眾多,且SMI接口電平也不單一時(shí),本申請(qǐng)可實(shí)現(xiàn)對(duì)這些SMI接口的統(tǒng)一管理。
文檔編號(hào)G06F13/40GK103246628SQ201310181278
公開(kāi)日2013年8月14日 申請(qǐng)日期2013年5月15日 優(yōu)先權(quán)日2013年5月15日
發(fā)明者萬(wàn)進(jìn), 何磊 申請(qǐng)人:杭州華三通信技術(shù)有限公司