專利名稱:串行管理接口控制方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種串行管理接口控制方法和裝置。
背景技術(shù):
圖1為現(xiàn)有的交換機(jī)構(gòu)架的示意圖,如圖1所示,在現(xiàn)有的交換機(jī)構(gòu)加中,通 常是通過串行管理接口 (Serial Management Interfaces, SMI)來對物理層(Physical Layer, PHY)芯片94進(jìn)行管理, 一般采用媒體訪問層(Media Access Layer, MAC)芯片93自帶的 串行管理接口 (Serial Management Interfaces, SMI)930與PHY芯片94的相對應(yīng)的SMI接 口 940連接,然后CPU91通過PCI接口 92連接到MAC芯片93, CPU91在管理PHY芯 片94時(shí),都是通過MAC芯片93的SMI接口 930間接訪問PHY芯片94的。
其訪問過程是,CPU91通過外設(shè)部件互連標(biāo)準(zhǔn)(Peripheral Component Interconnect, PCI)接口 92訪問MAC芯片93,然后MAC芯片93通過SMI接口 930訪 問PHY芯片94,如果CPU91需要訪問PHY芯片94時(shí),是通過MAC芯片93實(shí)現(xiàn)間接 訪問的。 隨著技術(shù)的發(fā)展,MAC芯片和PHY芯片的類型越來越多,并且功能也各有不 同,不同廠家生產(chǎn)的PHY芯片和MAC芯片在對SMI接口的時(shí)序要求定義上有可能不 同,并且存在工藝上的差異等,這樣就會導(dǎo)致SMI接口時(shí)序不達(dá)標(biāo),即時(shí)鐘信號沿和數(shù) 據(jù)信號沿之間的誤差太大。 并且通常MAC芯片是不能調(diào)節(jié)SMI接口時(shí)序的,所以一旦出現(xiàn)時(shí)序不達(dá)標(biāo)的情 況,現(xiàn)有的方法是在電路中添加延時(shí)器件或依靠走線延時(shí)來使SMI接口信號時(shí)序達(dá)標(biāo)。
如圖2所示,為現(xiàn)有的交換機(jī)構(gòu)架的另一示意圖,如果MAC芯片93和PHY芯 片94的SMI時(shí)序出現(xiàn)不達(dá)標(biāo)的情況時(shí),需要在MAC芯片93和PHY芯片94的SMI接 口連接中間加入了走線延遲或延時(shí)器件90,以便使SMI接口時(shí)序滿足指標(biāo)。
所以,現(xiàn)有的方式需要對每一個(gè)PHY芯片增加走線或者是延遲器件,由此使得 結(jié)構(gòu)變得很復(fù)雜,而且當(dāng)PHY芯片增加時(shí),需要的走線長度及延時(shí)器件也會增加,這樣 會使板上器件變得過于龐大CPU不易于管理,布板也會變得很困難。
目前,現(xiàn)有的一種通過調(diào)節(jié)采樣時(shí)鐘來使得同步數(shù)據(jù)接收更加可靠的技術(shù),是 在發(fā)送單元和接收單元之間采用同步方式進(jìn)行通信時(shí),對到達(dá)接收單元的數(shù)據(jù)信號變化 沿和采樣時(shí)鐘信號采樣沿之間的時(shí)間間隔進(jìn)行測量分析;如果數(shù)據(jù)信號變化沿與采樣時(shí) 鐘信號采樣沿之間的時(shí)間間隔小于接收單元的建立/保持時(shí)間,則對采樣時(shí)鐘信號做調(diào)相 處理。 該技術(shù)需要首先判斷上層發(fā)送單元發(fā)送出來的時(shí)序是否可靠然后再對非可靠時(shí) 序進(jìn)行修改,屬于對錯(cuò)誤時(shí)序信號的補(bǔ)償糾錯(cuò),因?yàn)橐揽坑布娐穼?shí)現(xiàn),所以系統(tǒng)復(fù) 雜。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的缺陷,提供了一種串行管理接口控制方法 和裝置,結(jié)構(gòu)簡單,而且調(diào)節(jié)靈活,能夠自適應(yīng)的調(diào)節(jié)時(shí)鐘信號來適應(yīng)不同的HPY芯 片。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種串行管理接口控制方法,所述方法包括
獲取串行管理接口 SMI寫操作信息,對所述的SMI寫操作信息進(jìn)行時(shí)序修改, 并將時(shí)序修改后的SMI寫操作信息發(fā)送給外部PHY芯片; 獲取SMI讀操作信息,對所述的SMI讀操作信息進(jìn)行時(shí)序修改,并將時(shí)序修改
后的SMI讀操作信息發(fā)送給外部PHY芯片; 獲取SMI讀寫操作的寫入數(shù)據(jù)和對應(yīng)的讀出數(shù)據(jù); 調(diào)整所述寫入數(shù)據(jù)與所述讀出數(shù)據(jù)不一致時(shí)的時(shí)序,使所述寫入數(shù)據(jù)與所述讀 出數(shù)據(jù)相一致; 獲取所述寫入數(shù)據(jù)和讀出數(shù)據(jù)一致時(shí)的時(shí)序調(diào)整強(qiáng)度值; 根據(jù)所述的時(shí)序調(diào)整強(qiáng)度值對后續(xù)的SMI讀寫操作的時(shí)序進(jìn)行調(diào)整。 為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種串行管理接口控制裝置,所述裝置包括 寫操作單元,用于獲取串行管理接口 SMI寫操作信息,對所述的SMI寫操作信
息進(jìn)行時(shí)序修改,并將時(shí)序修改后的SMI寫操作信息發(fā)送給外部PHY芯片; 讀操作單元,用于獲取SMI讀操作信息,對所述的SMI讀操作信息進(jìn)行時(shí)序修
改,并將時(shí)序修改后的SMI讀操作信息發(fā)送給外部PHY芯片; 讀寫數(shù)據(jù)獲取單元,用于獲取SMI讀寫操作的寫入數(shù)據(jù)和對應(yīng)的讀出數(shù)據(jù);
讀寫數(shù)據(jù)比較單元,用于調(diào)整所述寫入數(shù)據(jù)與所述讀出數(shù)據(jù)不一致時(shí)的時(shí)序, 使所述寫入數(shù)據(jù)與所述讀出數(shù)據(jù)相一致; 時(shí)序調(diào)整強(qiáng)度獲取單元,用于獲取所述寫入數(shù)據(jù)和讀出數(shù)據(jù)一致時(shí)的時(shí)序調(diào)整 強(qiáng)度值; 時(shí)序調(diào)整單元,用于根據(jù)所述的時(shí)序調(diào)整強(qiáng)度值對后續(xù)的SMI讀寫操作的時(shí)序 進(jìn)行調(diào)整。 本發(fā)明串行管理接口控制方法和裝置,利用在寫入數(shù)據(jù)和讀出數(shù)據(jù)不一致的時(shí) 候,對時(shí)序進(jìn)行調(diào)整,直到寫入數(shù)據(jù)和讀出數(shù)據(jù)一致,這樣可以使得時(shí)序適配。由此實(shí) 現(xiàn)了 CPU不用考慮外部外掛PHY芯片的時(shí)序適配性,能夠使CPU適應(yīng)所有的PHY芯 片,實(shí)現(xiàn)了對所有PHY芯片的自適應(yīng)。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例描
述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的
一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以
根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有的交換機(jī)構(gòu)架的示意圖; 圖2為現(xiàn)有的交換機(jī)構(gòu)架的另一示意圖; 圖3為本發(fā)明串行管理接口控制裝置實(shí)施例一的示意5
圖4為本發(fā)明串行管理接口控制裝置實(shí)施例一的工作模塊示意圖; 圖5為本發(fā)明串行管理接口控制裝置實(shí)施例二的示意圖; 圖6為本發(fā)明串行管理接口控制裝置實(shí)施例二的工作模塊示意圖; 圖7為本發(fā)明串行管理接口控制裝置實(shí)施例三的示意圖; 圖8為本發(fā)明串行管理接口控制裝置的讀寫數(shù)據(jù)比較單元的示意圖; 圖9為本發(fā)明串行管理接口控制裝置的工作模塊時(shí)序控制器的示意圖; 圖10為本發(fā)明串行管理接口控制裝置的工作模塊時(shí)序控制器的工作流程圖; 圖11為本發(fā)明串行管理接口控制裝置的工作模塊時(shí)序調(diào)整器的示意圖; 圖12為本發(fā)明串行管理接口控制裝置的工作模塊時(shí)序調(diào)整器的信號示意圖; 圖13為本發(fā)明串行管理接口控制裝置的工作模塊示意圖; 圖14為本發(fā)明串行管理接口控制裝置應(yīng)用于交換機(jī)系統(tǒng)的示意圖; 圖15為本發(fā)明串行管理接口控制方法的流程圖; 圖16為本發(fā)明串行管理接口控制方法步驟104的流程圖; 圖17為本發(fā)明串行管理接口控制方法的具體處理流程圖; 圖18為本發(fā)明串行管理接口控制方法具體處理步驟201的流程圖; 圖19為本發(fā)明串行管理接口控制方法具體處理步驟102的流程圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、 完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施 例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得 的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。該發(fā)明的目的是使用復(fù)雜可編程邏輯器件(Complex Programmable Logic Device, CPLD)實(shí)現(xiàn)一個(gè)可以根據(jù)不同外掛的PHY芯片的時(shí)序要求,而做出自適應(yīng)的輸出時(shí)鐘 信號自動時(shí)序調(diào)整的SMI串行管理接口控制裝置和方法,改善交換機(jī)系統(tǒng)設(shè)計(jì)中對不同 PHY芯片管理時(shí)的兼容性。 本發(fā)明串行管理接口控制裝置和方法,根據(jù)寫入數(shù)據(jù)和讀出數(shù)據(jù)是否一致來判 斷輸出時(shí)序是否達(dá)標(biāo),如果時(shí)序不達(dá)標(biāo)則輸出時(shí)序調(diào)整信號,根據(jù)這個(gè)時(shí)序調(diào)整信號來 調(diào)整數(shù)據(jù)的時(shí)鐘信號,每次都可以將時(shí)鐘信號沿遲一個(gè)參考時(shí)鐘信號值,直到寫入數(shù)據(jù) 和讀出數(shù)據(jù)一致,則表明時(shí)序達(dá)標(biāo),即時(shí)鐘信號沿和數(shù)據(jù)信號沿之間的誤差滿足要求, 之后將SMI信號按照調(diào)整后的時(shí)序設(shè)置,然后發(fā)送給PHY芯片。這樣可以使得CPU不 用考慮需要控制何種PHY芯片,都可以適用。 圖3為本發(fā)明串行管理接口控制裝置實(shí)施例一的示意圖,如圖所示,本實(shí)施例 的串行管理接口控制裝置包括寫操作單元ll、讀操作單元12、讀寫數(shù)據(jù)獲取單元13、 讀寫數(shù)據(jù)比較單元14、時(shí)序調(diào)整強(qiáng)度獲取單元15和時(shí)序調(diào)整單元16。
寫操作單元11用于獲取串行管理接口 SMI寫操作信息,對的SMI寫操作信息 進(jìn)行時(shí)序修改,并將時(shí)序修改后的SMI寫操作信息發(fā)送給外部物理層芯讀操作單元12用 于獲取SMI讀操作信息,對的SMI讀操作信息進(jìn)行時(shí)序修改,并將時(shí)序修改后的SMI讀 操作信息發(fā)送給外部物理層芯片;讀寫數(shù)據(jù)獲取單元13用于獲取SMI讀寫操作的寫入數(shù)據(jù)和對應(yīng)的讀出數(shù)據(jù);讀寫數(shù)據(jù)比較單元14用于調(diào)整寫入數(shù)據(jù)與讀出數(shù)據(jù)不一致時(shí)的時(shí) 序,使寫入數(shù)據(jù)與讀出數(shù)據(jù)相一致;時(shí)序調(diào)整強(qiáng)度獲取單元15,用于獲取寫入數(shù)據(jù)和讀 出數(shù)據(jù)一致時(shí)的時(shí)序調(diào)整強(qiáng)度值;時(shí)序調(diào)整單元16,用于根據(jù)的時(shí)序調(diào)整強(qiáng)度值對后續(xù) 的SMI讀寫操作的時(shí)序進(jìn)行調(diào)整。 本發(fā)明串行管理接口控制裝置,利用在寫入數(shù)據(jù)和讀出數(shù)據(jù)不一致的時(shí)候,對 時(shí)序進(jìn)行調(diào)整,直到寫入數(shù)據(jù)和讀出數(shù)據(jù)一致,這樣可以使得時(shí)序適配。由此實(shí)現(xiàn)了 CPU不用考慮外部外掛PHY芯片的時(shí)序適配性,能夠使CPU適應(yīng)所有的PHY芯片,實(shí) 現(xiàn)了對所有PHY芯片的自適應(yīng)。圖4為本發(fā)明串行管理接口控制裝置實(shí)施例一的工作模 塊示意圖,如圖所示,具體的本實(shí)施例的寫操作單元和讀操作單元利用時(shí)序控制器21、 串行管理接口控制器22和時(shí)序調(diào)整器23實(shí)現(xiàn),讀寫數(shù)據(jù)獲取單元和讀寫數(shù)據(jù)比較單元利 用時(shí)序控制器21實(shí)現(xiàn),時(shí)序調(diào)整強(qiáng)度獲取單元和時(shí)序調(diào)整單元利用時(shí)序調(diào)整器23實(shí)現(xiàn)。
具體的時(shí)序控制器21是控制部件,作用是根據(jù)發(fā)送的SMI寫操作信息中的寫入 數(shù)據(jù)和接收到的讀出數(shù)據(jù)是否一致來判斷向外部PHY芯片輸出的時(shí)序是否達(dá)標(biāo)的,如果 寫入的數(shù)據(jù)和接收到的數(shù)據(jù)并不一致,則說明時(shí)序調(diào)整器23向外部PHY芯片發(fā)出的時(shí)鐘 信號沿和向PHY芯片發(fā)送出的信息的信號沿之間的誤差不符合要求,即發(fā)出的時(shí)序不達(dá) 標(biāo),使得發(fā)送的寫入數(shù)據(jù)和返回的讀出數(shù)據(jù)不一致,所以需要調(diào)整輸出的時(shí)鐘信號,時(shí) 序控制器21產(chǎn)生一個(gè)時(shí)序調(diào)整信號來進(jìn)行輸出時(shí)鐘的調(diào)整,將該時(shí)序調(diào)整信號發(fā)送到時(shí) 序調(diào)整器23,而為了驗(yàn)證調(diào)整的時(shí)鐘是否達(dá)標(biāo),仍然利用再次發(fā)送一個(gè)包含寫入數(shù)據(jù)的 SMI寫操作信息,然后根據(jù)返回的讀出數(shù)據(jù)進(jìn)行判斷,具體的是時(shí)序控制器21向串行管 理接口控制器22發(fā)送SMI寫操作信息和SMI讀操作信息。 串行管理接口控制器22的作用是實(shí)現(xiàn)基本的SMI信號的讀操作和寫操作,用來 將時(shí)序控制器21發(fā)送來的包含寫入數(shù)據(jù)的SMI寫操作信息,以及SMI讀操作信息轉(zhuǎn)發(fā)到 時(shí)序調(diào)整器23,以及將原始的時(shí)鐘信號發(fā)送給時(shí)序調(diào)整器23,另外可以將時(shí)序調(diào)整器23 返回的根據(jù)SMI讀操作信息生成的讀出數(shù)據(jù)發(fā)送給時(shí)序控制器21。 時(shí)序調(diào)整器23用來具體執(zhí)行輸出的時(shí)鐘信號的調(diào)整,具體調(diào)整是根據(jù)時(shí)序控制 器21發(fā)送的時(shí)序調(diào)整信號,對串行管理接口控制器22發(fā)送的時(shí)鐘信號進(jìn)行調(diào)整,每接收 到一次時(shí)序調(diào)整信號,則調(diào)整輸出時(shí)鐘的比原有的輸出時(shí)鐘延遲一個(gè)參考時(shí)鐘信號的一 個(gè)時(shí)鐘周期。然后時(shí)序調(diào)整器23向外部PHY芯片發(fā)送調(diào)整后的時(shí)鐘信號和包括寫入數(shù) 據(jù)的SMI寫操作信息,PHY芯片將寫入數(shù)據(jù)寫入。接著時(shí)序調(diào)整器23向外部PHY芯片 發(fā)送調(diào)整后的時(shí)鐘信號和SMI讀操作信息,PHY芯片根據(jù)這個(gè)SMI讀操作信息將寫入的 信息讀取出,發(fā)送到時(shí)序調(diào)整器23,通過串行管理接口控制器22轉(zhuǎn)發(fā)到時(shí)序控制器21。
時(shí)序控制器21再根據(jù)寫入數(shù)據(jù)和讀出數(shù)據(jù)進(jìn)行時(shí)序是否達(dá)標(biāo)的判斷。直到寫入 數(shù)據(jù)和讀出數(shù)據(jù)一致,此時(shí)說明時(shí)序調(diào)整器23發(fā)出的調(diào)整后的時(shí)鐘信號已經(jīng)達(dá)標(biāo),即則 說明時(shí)序調(diào)整器23向外部PHY芯片發(fā)出的時(shí)鐘信號沿和向PHY芯片發(fā)送出的信息的信 號沿之間的誤差符合要求,時(shí)序調(diào)整完畢。 此后時(shí)序調(diào)整器23都將SMI信號按照調(diào)整后的時(shí)序設(shè)置,然后發(fā)送給PHY芯 片。 并且,如果本發(fā)明串行管理接口控制裝置接收到PHY芯片發(fā)送的數(shù)據(jù)后,需要 向CPU發(fā)送該數(shù)據(jù)的時(shí)候,則利用調(diào)整后的時(shí)鐘信號,對該數(shù)據(jù)進(jìn)行時(shí)序設(shè)置,然后轉(zhuǎn)
7發(fā)給CPU。 所以本發(fā)明串行管理接口控制裝置實(shí)施例一的時(shí)序調(diào)整器23利用時(shí)序控制器21 產(chǎn)生的時(shí)序調(diào)整信號,對原始時(shí)鐘信號進(jìn)行調(diào)整,每次延時(shí)調(diào)整一個(gè)參考時(shí)鐘周期,直 到寫入數(shù)據(jù)和讀出數(shù)據(jù)一致時(shí),表明輸出時(shí)鐘信號達(dá)標(biāo),停止輸出時(shí)鐘信號的調(diào)整。至 此都將SMI信號按照調(diào)整后的時(shí)序設(shè)置,然后發(fā)送給PHY芯片。并且PHY芯片向CPU 發(fā)送數(shù)據(jù)時(shí),利用本發(fā)明串行管理接口控制裝置,利用調(diào)整后的時(shí)鐘信號對PHY芯片返 回的數(shù)據(jù)進(jìn)行時(shí)序設(shè)置,然后轉(zhuǎn)發(fā)給CPU。這樣可以使得CPU不用考慮外部外掛PHY 芯片的時(shí)序適配性,可以使得CPU適應(yīng)所有的PHY芯片,實(shí)現(xiàn)了對所有PHY芯片的自 適應(yīng)。 圖5為本發(fā)明串行管理接口控制裝置實(shí)施例二的示意圖,如圖所示,本實(shí)施例 的串行管理接口控制裝置比上一實(shí)施例增加了存儲單元10,用于寫操作單元11從存儲單 元10獲取存儲的SMI寫操作信息。 圖6為本發(fā)明串行管理接口控制裝置實(shí)施例二的工作模塊示意圖,如圖所示, 具體的存儲單元利用緩存器20實(shí)現(xiàn)。時(shí)序調(diào)整強(qiáng)度獲取單元和時(shí)序調(diào)整單元利用時(shí)序調(diào) 整器23和參考時(shí)鐘24實(shí)現(xiàn)。緩存器20的作用是緩存外部CPU向串行管理接口控制裝 置發(fā)送的PHY芯片讀寫信號(SMI命令),然后緩存器20再將PHY芯片讀寫信號發(fā)送到 時(shí)序控制器21。而參考時(shí)鐘24的作用就是向時(shí)序調(diào)整器23提供參考時(shí)鐘信號,時(shí)序調(diào) 整器23根據(jù)這個(gè)參考時(shí)鐘信號進(jìn)行計(jì)數(shù),對輸入的原始時(shí)鐘信號進(jìn)行時(shí)延調(diào)整。參考時(shí) 鐘24可以利用66M時(shí)鐘實(shí)現(xiàn)。 圖7為本發(fā)明串行管理接口控制裝置實(shí)施例三的示意圖,如圖所示,本實(shí)施例 的串行管理接口控制裝置比上一實(shí)施例增加了寫操作信息格式轉(zhuǎn)換單元17和讀操作信息 格式轉(zhuǎn)換單元18。 寫操作信息格式轉(zhuǎn)換單元17將寫操作單元11的SMI寫操作信息轉(zhuǎn)換為SMI信 號格式;讀操作信息格式轉(zhuǎn)換單元18將讀操作單元12的SMI讀操作信息轉(zhuǎn)換為SMI信 號格式。 具體的寫操作信息格式轉(zhuǎn)換單元和讀操作信息格式轉(zhuǎn)換單元利用串行管理接口 控制器來實(shí)現(xiàn),將時(shí)序控制器生成的SMI寫操作信息轉(zhuǎn)換為SMI信號格式,和將時(shí)序控 制器生成的SMI讀操作信息轉(zhuǎn)換為SMI信號格式。 圖8為本發(fā)明串行管理接口控制裝置的讀寫數(shù)據(jù)比較單元的示意圖,如圖所 示,讀寫數(shù)據(jù)比較單元14具體包括時(shí)序調(diào)整信號生成子單元141、調(diào)整強(qiáng)度值設(shè)定子單 元142、計(jì)數(shù)子單元143和時(shí)鐘輸出子單元144。 時(shí)序調(diào)整信號生成子單元141用于寫入數(shù)據(jù)與讀出數(shù)據(jù)不一致時(shí),生成時(shí)序調(diào) 整信號;調(diào)整強(qiáng)度值設(shè)定子單元142用于根據(jù)時(shí)序調(diào)整信號設(shè)定時(shí)序調(diào)整強(qiáng)度值;計(jì)數(shù) 子單元143用于在輸入時(shí)鐘的信號每次翻轉(zhuǎn)時(shí)進(jìn)行計(jì)數(shù),直到計(jì)為設(shè)定的時(shí)序調(diào)整強(qiáng)度 值;時(shí)鐘輸出子單元144,用于當(dāng)計(jì)數(shù)到時(shí)序調(diào)整強(qiáng)度值后,將輸出時(shí)鐘的信號翻轉(zhuǎn)。
再如圖8所示,讀寫數(shù)據(jù)比較單元14還包括計(jì)數(shù)增加子單元145和翻轉(zhuǎn)信號生 成子單元146。 計(jì)數(shù)增加子單元145用于調(diào)整強(qiáng)度值設(shè)定子單元142每接收到一次時(shí)序調(diào)整信 號,則將最大計(jì)數(shù)值加一。翻轉(zhuǎn)信號生成子單元146用于當(dāng)計(jì)數(shù)子單元143計(jì)數(shù)到最大
8計(jì)數(shù)值后,翻轉(zhuǎn)信號生成子單元146生成一翻轉(zhuǎn)信號,時(shí)鐘輸出子單元144根據(jù)翻轉(zhuǎn)信號 將輸出時(shí)鐘的信號翻轉(zhuǎn)。 圖9為本發(fā)明串行管理接口控制裝置的工作模塊時(shí)序控制器的示意圖。具體
的,讀寫數(shù)據(jù)比較單元的時(shí)序調(diào)整信號生成子單元利用時(shí)序控制器實(shí)現(xiàn),如圖所示,時(shí)
序控制器21具體包括存儲模塊211、控制器模塊212和多通道MUX213。 存儲模塊211的作用是存儲一個(gè)多組的SMI寫操作信息,因?yàn)橐粋€(gè)時(shí)序控制器
21可以控制多個(gè)時(shí)序調(diào)整器23,由此來實(shí)現(xiàn)CPU利用多個(gè)SMI接口對多個(gè)外掛PHY芯片
的自適應(yīng)時(shí)序調(diào)整,所以存儲模塊211存儲的SMI寫操作信息的組數(shù)和CPU外掛的PHY
芯片要相適應(yīng)。以外掛PHY芯片8個(gè)為例,存儲模塊211存儲了 8組SMI寫操作信息
(SMI讀寫操作需要的信號),如表1所示,為存儲模塊存儲的8組SMI寫操作信息。 表13bit 5bit 16bit
通道 標(biāo)志1PHY 地址寫入 數(shù)據(jù)
通道 標(biāo)志2PHY 地址寫入 數(shù)據(jù)
通道 標(biāo)志8PHY 地址寫入 數(shù)據(jù) 其中,每組SMI寫操作信息為3bit通道標(biāo)志(對應(yīng)8路SMI接口 ), 5bitPHY地 址,16bit寫入數(shù)據(jù)的順序,基于此來實(shí)現(xiàn)SMI[8:1]信號的任意時(shí)序調(diào)整。
控制器模塊212的作用是用于根據(jù)寫入數(shù)據(jù)和接收到的讀出數(shù)據(jù)是否一致判斷 時(shí)序調(diào)整器23的輸出時(shí)序是否達(dá)標(biāo),如果時(shí)序不達(dá)標(biāo)則生成時(shí)序調(diào)整信號并向時(shí)序調(diào)整 器23發(fā)送,以及調(diào)取并向串行管理接口控制器22發(fā)送存儲模塊210存儲的SMI寫操作信 息和發(fā)送SMI讀操作信息。并做出空閑或繁忙狀態(tài)判斷。 多通道多路復(fù)用器(Multiplexer, MUX)213,用于向串行管理接口控制器22輸出 時(shí)鐘信號,并且在時(shí)序不達(dá)標(biāo)時(shí)向串行管理接口控制器22發(fā)送SMI寫操作信息和SMI讀 操作信息,在時(shí)序達(dá)標(biāo)時(shí)向串行管理接口控制器22發(fā)送緩存器20緩存的PHY芯片讀寫 信號。 再如圖9所示,時(shí)序控制器21還包括一個(gè)定時(shí)模塊210,用于定時(shí)觸發(fā)控制器模 塊212,具體的定時(shí)模塊210提供一低頻定時(shí)脈沖觸發(fā)控制器模塊212開始一輪時(shí)序調(diào)整 處理。 圖10為本發(fā)明串行管理接口控制裝置的工作模塊時(shí)序控制器的工作流程圖,如 圖所示,具體包括如下步驟
9
步驟61,定時(shí)模塊210周期性的觸發(fā)時(shí)序調(diào)整開始; 步驟62,控制器選通多通道MUX213和控制器模塊212選通; 步驟63,控制器模塊212調(diào)取存儲模塊211存儲的包括寫入數(shù)據(jù)的SMI寫操作
信息,通過控制器模塊212發(fā)送給串行管理接口控制器22 ; 由串行管理接口控制器22將SMI寫操作信息轉(zhuǎn)換為SMI信號格式轉(zhuǎn)發(fā)給時(shí)序調(diào) 整器23,時(shí)序調(diào)整器23將時(shí)鐘信號和SMI寫操作信息發(fā)送給外部PHY芯片,完成讀操 作;外部PHY芯片將SMI寫操作信息中的寫入數(shù)據(jù)寫入; 步驟64,控制器模塊212將SMI讀操作信息通過多通道MUX213發(fā)送給串行管 理接口控制器22 ; 由串行管理接口控制器22將SMI讀操作信息轉(zhuǎn)換為SMI信號格式發(fā)送給時(shí)序調(diào) 整器23,時(shí)序調(diào)整器23將時(shí)鐘信號和SMI讀操作信息發(fā)送給外部PHY芯片,完成讀操 作;PHY芯片根據(jù)SMI讀操作信息讀取出讀出數(shù)據(jù)返回給時(shí)序調(diào)整器23 ;
步驟65,時(shí)序調(diào)整器23通過串行管理接口控制器22將讀出數(shù)據(jù)發(fā)送給多通道 MUX213,多通道MUX213再將讀出數(shù)據(jù)發(fā)送給控制器模塊212 ; 步驟66,控制器模塊212根據(jù)寫入數(shù)據(jù)和讀出數(shù)據(jù)是否一致判斷時(shí)序調(diào)整器23 的輸出時(shí)序是否達(dá)標(biāo); 如果寫入數(shù)據(jù)和讀出數(shù)據(jù)不一致,則說明時(shí)序不達(dá)標(biāo),執(zhí)行步驟67;如果寫入 數(shù)據(jù)和讀出數(shù)據(jù)一致,則說明時(shí)序達(dá)標(biāo),對于時(shí)鐘信號的調(diào)整結(jié)束,執(zhí)行步驟68;
步驟67,控制器模塊212生成時(shí)序調(diào)整信號并向時(shí)序調(diào)整器23發(fā)送;序調(diào)整器 23根據(jù)這個(gè)時(shí)序調(diào)整信號,對串行管理接口控制器22發(fā)送的時(shí)鐘信號進(jìn)行調(diào)整,每次調(diào) 整的時(shí)間幅度比原有幅度增加一個(gè)參考時(shí)鐘信號的一個(gè)時(shí)鐘周期;執(zhí)行步驟63 ;
步驟68、控制器選通多通道MUX213和緩存器20選通,多通道MUX213將緩 存器20緩存的CPU的PHY芯片讀寫信號(PHY芯片讀寫信號,即SMI信號)發(fā)送給時(shí)
序調(diào)整器23 ; 步驟69,時(shí)序調(diào)整器23將調(diào)整完畢的時(shí)鐘信號和PHY芯片讀寫信號發(fā)送給 PHY芯片。 由此時(shí)序控制器21完成了對時(shí)序調(diào)整器23的輸出時(shí)鐘信號的調(diào)整。
如果在SMI的正常讀寫和自適應(yīng)時(shí)序調(diào)整過程是有可能同時(shí)發(fā)生,這就需要用 到緩存器20了,緩存器20將CPU的PHY芯片讀寫信號(SMI讀寫命令)存儲,當(dāng)時(shí)序 控制器21在進(jìn)行時(shí)序調(diào)整的時(shí)候,時(shí)序控制器21的控制器模塊212將自身標(biāo)記為忙狀 態(tài),不去讀取緩存器20;當(dāng)時(shí)序控制器21完成時(shí)序調(diào)整后,時(shí)序控制器21的控制器模 塊212將自身標(biāo)記為空閑狀態(tài),此時(shí)緩存器20的SMI讀寫命令通過時(shí)序控制器21的多通 道MUX213發(fā)送給后面的串行管理接口控制器22。 同理,當(dāng)時(shí)序控制器21正常讀寫進(jìn)行當(dāng)中的時(shí)候,時(shí)序控制器21的控制器模塊 212也會將自己標(biāo)志為忙狀態(tài),如果這時(shí)定時(shí)模塊210欲觸發(fā)一次時(shí)序調(diào)整操作,則本次 調(diào)整將直接被忽略而不執(zhí)行。這樣的工作機(jī)制就保證了正常SMI讀寫和時(shí)序調(diào)整之間不 會出現(xiàn)沖突。 圖11為本發(fā)明串行管理接口控制裝置的工作模塊時(shí)序調(diào)整器的示意圖。具體的 讀寫數(shù)據(jù)比較單元的調(diào)整強(qiáng)度值設(shè)定子單元利用時(shí)序設(shè)定計(jì)數(shù)模塊231實(shí)現(xiàn),計(jì)數(shù)子單元利用調(diào)整計(jì)數(shù)模塊232實(shí)現(xiàn),時(shí)鐘輸出子單元利用D觸發(fā)模塊實(shí)現(xiàn),計(jì)數(shù)增加子單元利 用調(diào)整計(jì)數(shù)模塊232實(shí)現(xiàn)。翻轉(zhuǎn)信號生成子單元利用調(diào)整計(jì)數(shù)模塊232實(shí)現(xiàn)。
如圖所示,時(shí)序調(diào)整器23具體包括時(shí)序設(shè)定計(jì)數(shù)模塊231、調(diào)整計(jì)數(shù)模塊 232、 D觸發(fā)模塊233和接口模塊234。 時(shí)序設(shè)定計(jì)數(shù)模塊231是在輸出時(shí)序不達(dá)標(biāo)時(shí),根據(jù)接收到的時(shí)序控制器21的 控制器模塊212發(fā)送時(shí)序調(diào)整信號設(shè)定最大計(jì)數(shù)值;調(diào)整計(jì)數(shù)模塊232在接收到的時(shí)鐘信 號每次翻轉(zhuǎn)時(shí)進(jìn)行計(jì)數(shù),直到計(jì)為時(shí)序設(shè)定計(jì)數(shù)模塊231設(shè)定的最大計(jì)數(shù)值,調(diào)整計(jì)數(shù) 模塊232根據(jù)參考時(shí)鐘24(66M時(shí)鐘)進(jìn)行計(jì)數(shù)處理;D觸發(fā)模塊233的作用是當(dāng)調(diào)整計(jì) 數(shù)模塊232計(jì)數(shù)到最大計(jì)數(shù)值后,將輸出的調(diào)整后的時(shí)鐘信號翻轉(zhuǎn),由此輸出調(diào)整后的 時(shí)鐘信號;接口模塊234的作用在時(shí)序不達(dá)標(biāo)時(shí)發(fā)送串行管理接口控制器22轉(zhuǎn)發(fā)的SMI 寫操作信息和SMI讀操作信息,以及接收PHY芯片根據(jù)SMI讀操作信息返回的讀出數(shù) 據(jù);在時(shí)序達(dá)標(biāo)時(shí)發(fā)送從串行管理接口控制器22接收的緩存器20緩存的PHY芯片讀寫 信號。 圖12為本發(fā)明串行管理接口控制裝置的工作模塊時(shí)序調(diào)整器的信號示意圖。如 圖所示,第一行的脈沖信號是時(shí)序控制器21向時(shí)序設(shè)定計(jì)數(shù)模塊231發(fā)送的時(shí)序調(diào)整信 號,第二行的計(jì)數(shù)值是時(shí)序設(shè)定計(jì)數(shù)模塊231設(shè)定的最大計(jì)數(shù)值,原來的時(shí)序設(shè)定計(jì)數(shù) 模塊231設(shè)定的最大技術(shù)值為1,當(dāng)時(shí)序設(shè)定計(jì)數(shù)模塊231每次接收到時(shí)序調(diào)整信號后, 最大計(jì)數(shù)值加l,在本實(shí)施例中是接收到時(shí)序調(diào)整信號后最大計(jì)數(shù)值從1增加到2。第三 行的脈沖信號是串行管理接口控制器22向調(diào)整計(jì)數(shù)模塊232和D觸發(fā)模塊233發(fā)送的原 始時(shí)鐘信號。第四行的脈沖信號是66M時(shí)鐘輸入的參考時(shí)鐘信號。 第五行的計(jì)數(shù)值是調(diào)整計(jì)數(shù)模塊232進(jìn)行計(jì)數(shù)的計(jì)數(shù)值,每當(dāng)輸入的原始時(shí)鐘 信號翻轉(zhuǎn)時(shí),調(diào)整計(jì)數(shù)模塊232從0開始計(jì)數(shù),每66M時(shí)鐘的參考時(shí)鐘信號的一個(gè)周期 調(diào)整計(jì)數(shù)模塊232計(jì)數(shù)一次,直到計(jì)為時(shí)序設(shè)定計(jì)數(shù)模塊231設(shè)定的最大值。當(dāng)時(shí)序設(shè) 定計(jì)數(shù)模塊231接收到新的時(shí)序調(diào)整信號前,最大計(jì)數(shù)值為l,所以調(diào)整計(jì)數(shù)模塊232從 0開始計(jì)數(shù)直到1;而當(dāng)時(shí)序設(shè)定計(jì)數(shù)模塊231接收到新的時(shí)序調(diào)整信號后,最大計(jì)數(shù)值 為增加l,從1增加到2,所以調(diào)整計(jì)數(shù)模塊232從0開始計(jì)數(shù)直到2。第六行的脈沖信 號是調(diào)整計(jì)數(shù)模塊232輸出的dclk信號,即每當(dāng)調(diào)整計(jì)數(shù)模塊232從0開始計(jì)數(shù)到最大計(jì) 數(shù)值后,向D觸發(fā)模塊233輸出 一個(gè)dclk脈沖。 第七行的脈沖信號是D觸發(fā)模塊233發(fā)送的調(diào)整的時(shí)鐘信號,D觸發(fā)模塊233每 次接收到一個(gè)dclk脈沖則輸出的信號翻轉(zhuǎn),也就是每當(dāng)調(diào)整計(jì)數(shù)模塊232從0開始計(jì)數(shù) 到最大計(jì)數(shù)值后,D觸發(fā)模塊233輸出的調(diào)整后的時(shí)鐘信號翻轉(zhuǎn)。如圖12所示,當(dāng)時(shí)序 設(shè)定計(jì)數(shù)模塊231接收到新的時(shí)序調(diào)整信號前,最大計(jì)數(shù)值為l,所以調(diào)整計(jì)數(shù)模塊232 從O計(jì)數(shù)到1需要兩個(gè)66M時(shí)鐘的參考時(shí)鐘信號周期,也就是D觸發(fā)模塊233輸出的調(diào) 整后的時(shí)鐘信號比輸入的原始的時(shí)鐘信號時(shí)延兩個(gè)參考時(shí)鐘信號周期。當(dāng)時(shí)序設(shè)定計(jì)數(shù) 模塊231接收到新的時(shí)序調(diào)整信號后,最大計(jì)數(shù)值為2,所以調(diào)整計(jì)數(shù)模塊232從0計(jì)數(shù) 到2需要三個(gè)66M時(shí)鐘的參考時(shí)鐘信號周期,也就是D觸發(fā)模塊233輸出的調(diào)整后的時(shí) 鐘信號比輸入的原始的時(shí)鐘信號時(shí)延三個(gè)參考時(shí)鐘信號周期。 所以每當(dāng)時(shí)序調(diào)整器23接收到一次時(shí)序調(diào)整信號后,輸出的時(shí)鐘信號比原來輸 出的時(shí)鐘信號延時(shí)一個(gè)參考時(shí)鐘信號周期。
對于SMI寫操作是依靠串行管理接口控制器22發(fā)送信息和時(shí)鐘信號,信息以時(shí) 鐘做參考使用同步傳輸;對于SMI讀操作PHY芯片也是根據(jù)串行管理接口控制器22發(fā)送 的時(shí)鐘信號來返還讀出數(shù)據(jù),所以整個(gè)控制時(shí)序都是靠一個(gè)單向的時(shí)鐘信號來同步的, 因此本發(fā)明是通過延時(shí)原始輸入的時(shí)鐘信號來實(shí)現(xiàn)對信息傳輸時(shí)序的調(diào)節(jié)。
所以時(shí)序調(diào)整器23的功能是一個(gè)SMI時(shí)鐘信號延遲器,延遲的方式是依靠時(shí)序 設(shè)定計(jì)數(shù)模塊231和調(diào)整計(jì)數(shù)模塊232來實(shí)現(xiàn)延遲的,調(diào)整計(jì)數(shù)模塊232由SMI時(shí)鐘信 號的上下邊沿觸發(fā),然后計(jì)數(shù),當(dāng)計(jì)數(shù)到時(shí)序設(shè)定計(jì)數(shù)模塊231設(shè)定的最大值時(shí),觸發(fā) 一次D觸發(fā)模塊233對SMI時(shí)鐘信號進(jìn)行鎖存,這就實(shí)現(xiàn)了正比于計(jì)數(shù)最大值的時(shí)鐘延 遲。 調(diào)整計(jì)數(shù)模塊232由輸入的原始時(shí)鐘的邊沿觸發(fā)計(jì)數(shù),當(dāng)計(jì)數(shù)到時(shí)序設(shè)定計(jì)數(shù) 模塊231所設(shè)定的計(jì)數(shù)最大值,例如1時(shí),輸出的調(diào)整后的時(shí)鐘信號才進(jìn)行電平的跳變, 因?yàn)閺?計(jì)數(shù)到l是計(jì)數(shù)了 2次,所以輸出時(shí)鐘的邊沿相對于輸入時(shí)鐘也就是延遲了 2個(gè) 66M時(shí)鐘周期,當(dāng)接收到時(shí)序調(diào)整脈沖時(shí),時(shí)序設(shè)定計(jì)數(shù)模塊231加1,變成2,所以調(diào) 整調(diào)整計(jì)數(shù)模塊232,是計(jì)數(shù)到2才使輸出的時(shí)鐘信號跳變,因?yàn)閿?shù)了三次,所以是延遲 了 3個(gè)66M時(shí)鐘周期。 當(dāng)接收到時(shí)序調(diào)整脈沖后,輸出的時(shí)鐘信號可能會在一個(gè)輸入的原始時(shí)鐘信號 周期內(nèi)出現(xiàn)占空比不穩(wěn)定狀態(tài),但是這種占空比的不穩(wěn)定狀態(tài),在時(shí)序調(diào)整脈沖發(fā)出后 的第二個(gè)輸入原始時(shí)鐘信號邊沿就會恢復(fù)正常,而且這段時(shí)間內(nèi)系統(tǒng)并沒有進(jìn)行任何 SMI的讀寫操作,所以并不會有影響。 如果為了實(shí)現(xiàn)串行管理接口控制裝置對多個(gè)PHY芯片的適配,這樣可以對每一 個(gè)PHY芯片的SMI通路上都配備一個(gè)時(shí)序調(diào)整器。圖13為本發(fā)明串行管理接口控制裝 置的工作模塊示意圖,如圖所示,本實(shí)施例的串行管理接口控制裝置中,包含了多個(gè)時(shí) 序調(diào)整器23,這樣可以實(shí)現(xiàn)利用多個(gè)時(shí)序調(diào)整器23分別獨(dú)立自適應(yīng)多個(gè)PHY芯片的SMI 時(shí)序的操作。 當(dāng)采用串行管理接口控制裝置對所有PHY芯片進(jìn)行管理時(shí),不僅增加了系統(tǒng)對 各種類型PHY芯片的兼容能力,而且由于這種CPLD統(tǒng)一化管理的特點(diǎn)也使得PHY地 址分配不受MAC芯片限制,CPU的管理也變得簡單。SMI接口也不再需要增加額外電 路,降低了硬件的設(shè)計(jì)要求。保證了后續(xù)擴(kuò)展設(shè)計(jì)的靈活性。 圖14為本發(fā)明串行管理接口控制裝置應(yīng)用于交換機(jī)系統(tǒng)的示意圖。如圖14所 示,包括CPU4、串行管理接口控制裝置2和PHY芯片3。串行管理接口控制裝置2的作 用是為了實(shí)現(xiàn)CPU4對外掛的PHY芯片3的時(shí)序要求。串行管理接口控制裝置2向PHY 芯片3發(fā)送包含寫入數(shù)據(jù)的SMI寫操作信息,然后向PHY芯片3發(fā)送SMI讀操作信息, PHY芯片3根據(jù)這個(gè)SMI讀操作信息返回讀出數(shù)據(jù),串行管理接口控制裝置2根據(jù)這個(gè) 寫入數(shù)據(jù)和讀出數(shù)據(jù)是否相同來判斷向該P(yáng)HY芯片3發(fā)送的時(shí)鐘信號是否達(dá)標(biāo),如果不 一致,則說明不達(dá)標(biāo),再進(jìn)行輸出時(shí)鐘信號的控制,再發(fā)送SMI寫操作信息和SMI讀操 作信息,直到寫入數(shù)據(jù)和讀出數(shù)據(jù)一致時(shí),表明串行管理接口控制裝置2向該P(yáng)HY芯片 3發(fā)送的時(shí)鐘信號符合要求,停止調(diào)整,將SMI信號按照調(diào)整后的時(shí)序設(shè)置,然后發(fā)送給 PHY芯片。 并且,如果本發(fā)明串行管理接口控制裝置接收到PHY芯片發(fā)送的數(shù)據(jù)后,需要
12向CPU發(fā)送該數(shù)據(jù)的時(shí)候,則利用調(diào)整后的時(shí)鐘信號,對該數(shù)據(jù)進(jìn)行時(shí)序設(shè)置,然后轉(zhuǎn) 發(fā)給CPU。 將本發(fā)明串行管理接口控制裝置應(yīng)用在交換機(jī)系統(tǒng),利用串行管理接口控制裝 置實(shí)現(xiàn)了自適應(yīng)外掛PHY芯片的時(shí)序要求,可以使得在交換機(jī)系統(tǒng)設(shè)計(jì)時(shí)不需要考慮外 掛PHY芯片的類型及其對應(yīng)的時(shí)序要求,無論串行管理接口控制裝置連接何種PHY芯 片,都可以自動適應(yīng)該P(yáng)HY芯片所要求的SMI接口時(shí)序,并對PHY芯片進(jìn)行訪問操作, 對于多路的SMI接口,每路都可以適應(yīng)出不同的時(shí)序要求,方便多種PHY芯片混合管理 時(shí)的兼容性。 圖15為本發(fā)明串行管理接口控制方法的流程圖。如圖所示,本發(fā)明串行管理接 口控制方法具體包括如下步驟 步驟IOI、獲取SMI寫操作信息,對SMI寫操作信息進(jìn)行時(shí)序修改,并將時(shí)序 修改后的SMI寫操作信息發(fā)送給外部PHY芯片;該SMI寫操作信息可以是保存在本地的,因此就是獲取本地存儲的SMI寫操作 信息;并且該SMI寫操作信息如果是非SMI信號格式則需要轉(zhuǎn)換為SMI信號格式,這樣 才能被PHY芯片識別,因此在獲取SMI寫操作信息后,將SMI寫操作信息轉(zhuǎn)換為SMI信 號格式; 步驟102、獲取SMI讀操作信息,對SMI讀操作信息進(jìn)行時(shí)序修改,并將時(shí)序 修改后的SMI讀操作信息發(fā)送給外部PHY芯片; 同理,該SMI讀操作信息如果是非SMI信號格式則需要轉(zhuǎn)換為SMI信號格式, 這樣才能被PHY芯片識別,因此在獲取SMI讀操作信息后,將SMI讀操作信息轉(zhuǎn)換為 SMI信號格式; 步驟103、獲取SMI讀寫操作的寫入數(shù)據(jù)和對應(yīng)的讀出數(shù)據(jù); 步驟104、調(diào)整寫入數(shù)據(jù)與讀出數(shù)據(jù)不一致時(shí)的時(shí)序,使寫入數(shù)據(jù)與讀出數(shù)據(jù)相
一致; 步驟105、獲取寫入數(shù)據(jù)和讀出數(shù)據(jù)一致時(shí)的時(shí)序調(diào)整強(qiáng)度值; 步驟106、根據(jù)時(shí)序調(diào)整強(qiáng)度值對后續(xù)的SMI讀寫操作的時(shí)序進(jìn)行調(diào)整。 圖16為本發(fā)明串行管理接口控制方法步驟104的流程圖。如圖所示,具體包括
如下步驟 步驟201、寫入數(shù)據(jù)與所述讀出數(shù)據(jù)不一致時(shí)生成時(shí)序調(diào)整信號; 步驟202、根據(jù)時(shí)序調(diào)整信號設(shè)定時(shí)序調(diào)整強(qiáng)度值;
步驟2Q3、在輸入時(shí)鐘的信號每次翻轉(zhuǎn)時(shí)進(jìn)行計(jì)數(shù),直到計(jì)為設(shè)定的時(shí)序調(diào)整強(qiáng)
度值;
步驟204、當(dāng)計(jì)數(shù)到時(shí)序調(diào)整強(qiáng)度值后將輸出時(shí)鐘的信號翻轉(zhuǎn)。 本發(fā)明串行管理接口控制方法利用在寫入數(shù)據(jù)和讀出數(shù)據(jù)不一致的時(shí)候,對時(shí) 序進(jìn)行調(diào)整,直到寫入數(shù)據(jù)和讀出數(shù)據(jù)一致,這樣可以使得時(shí)序適配。由此實(shí)現(xiàn)了CPU 不用考慮外部外掛PHY芯片的時(shí)序適配性,能夠使CPU適應(yīng)所有的PHY芯片,實(shí)現(xiàn)了 對所有PHY芯片的自適應(yīng)。 圖17為本發(fā)明串行管理接口控制方法的具體處理流程圖。如圖所示,包括如下 步驟
13
步驟301,時(shí)序控制器根據(jù)寫入數(shù)據(jù)和接收到的讀出數(shù)據(jù)是否一致判斷輸出時(shí)序
是否達(dá)標(biāo),如果時(shí)序不達(dá)標(biāo),則時(shí)序控制器向時(shí)序調(diào)整器發(fā)送時(shí)序調(diào)整信號; 如果寫入的數(shù)據(jù)和接收到的數(shù)據(jù)并不一致,則說明時(shí)序調(diào)整器向外部PHY芯片
發(fā)出的時(shí)鐘信號沿和向PHY芯片發(fā)送出的信息的信號沿之間的誤差不符合要求,即時(shí)序
調(diào)整器發(fā)出的時(shí)序不達(dá)標(biāo),使得發(fā)送的寫入數(shù)據(jù)和返回的讀出數(shù)據(jù)不一致,所以需要調(diào)
整時(shí)序調(diào)整器輸出的時(shí)鐘信號,調(diào)整的方法是首先時(shí)序控制器向時(shí)序調(diào)整器發(fā)送時(shí)序調(diào)
整信號; 步驟302,時(shí)序調(diào)整器根據(jù)接收到的時(shí)序調(diào)整信號對時(shí)鐘信號進(jìn)行調(diào)整;
時(shí)序調(diào)整器用來具體執(zhí)行輸出的時(shí)鐘信號的調(diào)整,具體調(diào)整是根據(jù)時(shí)序控制器發(fā)送的時(shí)序調(diào)整信號,對串行管理接口控制器發(fā)送的時(shí)鐘信號進(jìn)行調(diào)整,每接收到一次時(shí)序調(diào)整信號,則調(diào)整輸出時(shí)鐘的比原有的輸出時(shí)鐘延遲一個(gè)參考時(shí)鐘信號的個(gè)時(shí)鐘周期; 步驟303,時(shí)序調(diào)整器向外部的PHY芯片發(fā)送包括寫入數(shù)據(jù)的SMI寫操作信息和調(diào)整后的時(shí)鐘信號; 時(shí)序控制器向串行管理接口控制器發(fā)送SMI寫操作信息,串行管理接口控制器向時(shí)序調(diào)整器轉(zhuǎn)發(fā)該SMI寫操作信息,由時(shí)序調(diào)整器向外部的PHY芯片發(fā)送,PHY芯片將SMI寫操作信息中的寫入數(shù)據(jù)寫入,完成寫操作; 步驟304,時(shí)序調(diào)整器向外部的PHY芯片發(fā)送SMI讀操作信息和調(diào)整后的時(shí)鐘信號; 時(shí)序控制器向串行管理接口控制器發(fā)送SMI讀操作信息,串行管理接口控制器向時(shí)序調(diào)整器轉(zhuǎn)發(fā)該SMI讀操作信息,由時(shí)序調(diào)整器向外部的PHY芯片發(fā)送,PHY芯片根據(jù)該SMI讀操作信息進(jìn)行讀取操作,生成SMI讀操作信息發(fā)送給時(shí)序調(diào)整器;由時(shí)序調(diào)整器通過串行管理接口控制器發(fā)送給時(shí)序控制器,執(zhí)行步驟101。 另外,本發(fā)明串行管理接口控制方法還包括在執(zhí)行步驟101時(shí),如果寫入數(shù)據(jù)和讀出數(shù)據(jù)一致,則說明時(shí)序達(dá)標(biāo),結(jié)束時(shí)鐘信號調(diào)整,停止執(zhí)行步驟102,而是輸出緩存器緩存的PHY芯片讀寫信號和調(diào)整完畢后的時(shí)鐘信號。緩存器緩存的PHY芯片讀寫信號是由CPU發(fā)出的SMI信號。 所以本發(fā)明串行管理接口控制方法實(shí)施例一,時(shí)序調(diào)整器利用時(shí)序控制器產(chǎn)生的時(shí)序調(diào)整信號,對原始時(shí)鐘信號進(jìn)行調(diào)整,每次延時(shí)調(diào)整一個(gè)參考時(shí)鐘周期,直到寫入數(shù)據(jù)和讀出數(shù)據(jù)一致時(shí),表明輸出時(shí)鐘信號達(dá)標(biāo),停止輸出時(shí)鐘信號的調(diào)整,之后將SMI信號按照調(diào)整后的時(shí)序設(shè)置,然后發(fā)送給PHY芯片。并且PHY芯片向CPU發(fā)送數(shù)據(jù)時(shí),利用本發(fā)明串行管理接口控制裝置,利用調(diào)整后的時(shí)鐘信號對PHY芯片返回的數(shù)據(jù)進(jìn)行時(shí)序設(shè)置,然后轉(zhuǎn)發(fā)給CPU。這樣可以使得CPU不用考慮外部外掛PHY芯片的時(shí)序適配性,可以使得CPU適應(yīng)所有的PHY芯片,實(shí)現(xiàn)了對所有PHY芯片的自適應(yīng)。
圖18為本發(fā)明串行管理接口控制方法具體處理步驟201的流程圖。如圖所示,具體包括如下步驟 步驟401,時(shí)序控制器的控制器模塊根據(jù)寫入數(shù)據(jù)和接收到的讀出數(shù)據(jù)是否一致判斷輸出時(shí)序是否達(dá)標(biāo),如果時(shí)序不達(dá)標(biāo)則生成時(shí)序調(diào)整信號,并發(fā)送給時(shí)序調(diào)整器;
步驟4Q2,控制器模塊調(diào)取時(shí)序控制器的存儲模塊中存儲的包括寫入數(shù)據(jù)的SMI寫操作信息,并通過時(shí)序控制器的多通道MUX發(fā)送給串行管理接口控制器; 步驟403,串行管理接口控制器將SMI寫操作信息和時(shí)鐘信號發(fā)送給時(shí)序調(diào)整器。 圖19為本發(fā)明串行管理接口控制方法具體處理步驟102的流程圖。如圖所示,具體包括如下步驟 步驟501,時(shí)序設(shè)定計(jì)數(shù)模塊根據(jù)接收到的時(shí)序調(diào)整信號設(shè)定最大計(jì)數(shù)值;
時(shí)序設(shè)定計(jì)數(shù)模塊每接收到一次時(shí)序調(diào)整信號,則將最大計(jì)數(shù)值增加1 ;
步驟502,時(shí)鐘信號每次翻轉(zhuǎn)時(shí),調(diào)整計(jì)數(shù)模塊進(jìn)行計(jì)數(shù),直到計(jì)為時(shí)序設(shè)定計(jì)數(shù)模塊設(shè)定的最大計(jì)數(shù)值; 調(diào)整計(jì)數(shù)模塊在計(jì)數(shù)時(shí),是按照一個(gè)參考時(shí)鐘信號進(jìn)行計(jì)數(shù)的; 步驟503,當(dāng)調(diào)整計(jì)數(shù)模塊計(jì)數(shù)到最大計(jì)數(shù)值后,D觸發(fā)模塊輸出的調(diào)整后的時(shí)
鐘信號翻轉(zhuǎn)。 當(dāng)調(diào)整計(jì)數(shù)模塊計(jì)數(shù)到最大計(jì)數(shù)值后向D觸發(fā)模塊發(fā)送一個(gè)翻轉(zhuǎn)信號dclk脈
沖,D觸發(fā)模塊根據(jù)該dclk脈沖將輸出的調(diào)整后的脈沖信號進(jìn)行翻轉(zhuǎn)。 因此本發(fā)明串行管理接口控制方法實(shí)現(xiàn)了自適應(yīng)外掛PHY芯片的時(shí)序要求,可
以使得交換機(jī)系統(tǒng)不需要考慮外掛PHY芯片的類型及其對應(yīng)的時(shí)序要求,無論連接何種
PHY芯片,都可以自動適應(yīng)該P(yáng)HY芯片所要求的SMI接口時(shí)序,并對PHY芯片進(jìn)行訪
問操作,對于多路的SMI接口,每路都可以適應(yīng)出不同的時(shí)序要求,方便多種PHY芯片
混合管理時(shí)的兼容性。 專業(yè)人員應(yīng)該還可以進(jìn)一步意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。 結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。 以上所述的具體實(shí)施方式
,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施方式
而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
1權(quán)利要求
一種串行管理接口控制方法,其特征在于,所述方法包括獲取串行管理接口SMI寫操作信息,對所述的SMI寫操作信息進(jìn)行時(shí)序修改,并將時(shí)序修改后的SMI寫操作信息發(fā)送給外部物理層芯片;獲取SMI讀操作信息,對所述的SMI讀操作信息進(jìn)行時(shí)序修改,并將時(shí)序修改后的SMI讀操作信息發(fā)送給外部物理層芯片;獲取SMI讀寫操作的寫入數(shù)據(jù)和對應(yīng)的讀出數(shù)據(jù);調(diào)整所述寫入數(shù)據(jù)與所述讀出數(shù)據(jù)不一致時(shí)的時(shí)序,使所述寫入數(shù)據(jù)與所述讀出數(shù)據(jù)相一致;獲取所述寫入數(shù)據(jù)和讀出數(shù)據(jù)一致時(shí)的時(shí)序調(diào)整強(qiáng)度值;根據(jù)所述的時(shí)序調(diào)整強(qiáng)度值對后續(xù)的SMI讀寫操作的時(shí)序進(jìn)行調(diào)整。
2. 根據(jù)權(quán)利要求1所述的串行管理接口控制方法,其特征在于,所述獲取SMI寫操 作信息具體包括獲取本地存儲的SMI寫操作信息。
3. 根據(jù)權(quán)利要求1所述的串行管理接口控制方法,其特征在于,所述獲取SMI寫操 作信息后還包括,將所述SMI寫操作信息轉(zhuǎn)換為SMI信號格式;所述獲取SMI讀操作信 息后還包括,將所述SMI讀操作信息轉(zhuǎn)換為SMI信號格式。
4. 根據(jù)權(quán)利要求1所述的串行管理接口控制方法,其特征在于,所述調(diào)整所述寫入數(shù) 據(jù)與所述讀出數(shù)據(jù)不一致時(shí)的時(shí)序具體包括所述寫入數(shù)據(jù)與所述讀出數(shù)據(jù)不一致時(shí)生成時(shí)序調(diào)整信號; 根據(jù)所述時(shí)序調(diào)整信號設(shè)定時(shí)序調(diào)整強(qiáng)度值;在輸入時(shí)鐘的信號每次翻轉(zhuǎn)時(shí)進(jìn)行計(jì)數(shù),直到計(jì)為設(shè)定的所述時(shí)序調(diào)整強(qiáng)度值; 當(dāng)計(jì)數(shù)到所述時(shí)序調(diào)整強(qiáng)度值后將輸出時(shí)鐘的信號翻轉(zhuǎn)。
5. 根據(jù)權(quán)利要求4所述的串行管理接口控制方法,其特征在于,所述根據(jù)所述時(shí)序調(diào) 整信號設(shè)定時(shí)序調(diào)整強(qiáng)度值具體包括每接收到一次所述時(shí)序調(diào)整信號,則將最大計(jì)數(shù) 值加一。
6. 根據(jù)權(quán)利要求4所述的串行管理接口控制方法,其特征在于,所述當(dāng)計(jì)數(shù)到所述時(shí) 序調(diào)整強(qiáng)度值后,將輸出時(shí)鐘的信號翻轉(zhuǎn)具體包括當(dāng)計(jì)數(shù)到最大計(jì)數(shù)值后,生成一翻 轉(zhuǎn)信號,根據(jù)所述翻轉(zhuǎn)信號將所述輸出時(shí)鐘的信號翻轉(zhuǎn)。
7. —種串行管理接口控制裝置,其特征在于,所述裝置包括寫操作單元,用于獲取串行管理接口 SMI寫操作信息,對所述的SMI寫操作信息進(jìn) 行時(shí)序修改,并將時(shí)序修改后的SMI寫操作信息發(fā)送給外部物理層芯片;讀操作單元,用于獲取SMI讀操作信息,對所述的SMI讀操作信息進(jìn)行時(shí)序修改, 并將時(shí)序修改后的SMI讀操作信息發(fā)送給外部物理層芯片;讀寫數(shù)據(jù)獲取單元,用于獲取SMI讀寫操作的寫入數(shù)據(jù)和對應(yīng)的讀出數(shù)據(jù);讀寫數(shù)據(jù)比較單元,用于調(diào)整所述寫入數(shù)據(jù)與所述讀出數(shù)據(jù)不一致時(shí)的時(shí)序,使所述寫入數(shù)據(jù)與所述讀出數(shù)據(jù)相一致;時(shí)序調(diào)整強(qiáng)度獲取單元,用于獲取所述寫入數(shù)據(jù)和讀出數(shù)據(jù)一致時(shí)的時(shí)序調(diào)整強(qiáng)度值;時(shí)序調(diào)整單元,用于根據(jù)所述的時(shí)序調(diào)整強(qiáng)度值對后續(xù)的SMI讀寫操作的時(shí)序進(jìn)行 調(diào)整。
8. 根據(jù)權(quán)利要求7所述的串行管理接口控制裝置,其特征在于,所述裝置還包括存儲單元,用于所述寫操作單元從所述存儲單元獲取存儲的所述SMI寫操作信息。
9. 根據(jù)權(quán)利要求7所述的串行管理接口控制裝置,其特征在于,所述讀寫數(shù)據(jù)比較單元具體包括時(shí)序調(diào)整信號生成子單元,用于所述寫入數(shù)據(jù)與所述讀出數(shù)據(jù)不一致時(shí),生成時(shí)序調(diào)整信號;調(diào)整強(qiáng)度值設(shè)定子單元,用于根據(jù)所述時(shí)序調(diào)整信號設(shè)定時(shí)序調(diào)整強(qiáng)度值; 計(jì)數(shù)子單元,用于在輸入時(shí)鐘的信號每次翻轉(zhuǎn)時(shí)進(jìn)行計(jì)數(shù),直到計(jì)為設(shè)定的所述時(shí) 序調(diào)整強(qiáng)度值;時(shí)鐘輸出子單元,用于當(dāng)計(jì)數(shù)到所述時(shí)序調(diào)整強(qiáng)度值后,將輸出時(shí)鐘的信號翻轉(zhuǎn)。
10. 根據(jù)權(quán)利要求9所述的串行管理接口控制裝置,其特征在于,所述讀寫數(shù)據(jù)比較 單元還包括計(jì)數(shù)增加子單元,用于所述調(diào)整強(qiáng)度值設(shè)定子單元每接收到一次所述時(shí)序 調(diào)整信號,則將最大計(jì)數(shù)值加一。
11. 根據(jù)權(quán)利要求9所述的串行管理接口控制裝置,其特征在于,所述讀寫數(shù)據(jù)比較 單元還包括翻轉(zhuǎn)信號生成子單元,用于當(dāng)所述計(jì)數(shù)子單元計(jì)數(shù)到最大計(jì)數(shù)值后,所述 翻轉(zhuǎn)信號生成子單元生成一翻轉(zhuǎn)信號,所述時(shí)鐘輸出子單元根據(jù)所述翻轉(zhuǎn)信號將所述輸 出時(shí)鐘的信號翻轉(zhuǎn)。
全文摘要
本發(fā)明提供了一種串行管理接口控制方法和裝置,方法包括獲取SMI寫操作信息,時(shí)序修改并發(fā)送給外部PHY芯片;獲取SMI讀操作信息,時(shí)序修改并發(fā)送給外部PHY芯片;獲取SMI讀寫操作的寫入數(shù)據(jù)和讀出數(shù)據(jù);調(diào)整寫入數(shù)據(jù)與讀出數(shù)據(jù)不一致時(shí)的時(shí)序,使寫入數(shù)據(jù)與讀出數(shù)據(jù)相一致;獲取寫入數(shù)據(jù)和讀出數(shù)據(jù)一致時(shí)的時(shí)序調(diào)整強(qiáng)度值;根據(jù)時(shí)序調(diào)整強(qiáng)度值對后續(xù)的SMI讀寫操作的時(shí)序進(jìn)行調(diào)整。本發(fā)明利用在寫入數(shù)據(jù)和讀出數(shù)據(jù)不一致的時(shí)候,對時(shí)序進(jìn)行調(diào)整,直到寫入數(shù)據(jù)和讀出數(shù)據(jù)一致,這樣可以使得時(shí)序適配,由此實(shí)現(xiàn)了CPU不用考慮外部外掛PHY芯片的時(shí)序適配性,能夠使CPU適應(yīng)所有的PHY芯片,對所有PHY芯片的自適應(yīng)。
文檔編號G06F13/20GK101692215SQ20091017143
公開日2010年4月7日 申請日期2009年8月28日 優(yōu)先權(quán)日2009年8月28日
發(fā)明者鄧志吉 申請人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司