專利名稱:一種主從mii管理接口串行通信方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)及通信技術(shù)領(lǐng)域,特別涉及一種主從MII管理接口串行通"[目方法。
背景技術(shù):
MII 接口(Media Independent Interface,介質(zhì)無(wú)關(guān)接口)是 IEEE-802.3 定義的以太網(wǎng)串行通信標(biāo)準(zhǔn)接口,MII接口提供了 MAC層(介質(zhì)訪問(wèn)控制層)與PHY層(物理層)之間的互聯(lián)技術(shù)。MII接口中的管理接口(簡(jiǎn)稱做MII管理接口,也稱作Serial ManagementInterface,串行管理接口)用于MAC層與PHY層之間傳送控制信息和狀態(tài)信息,通過(guò)MII管理接口進(jìn)行MDIO數(shù)據(jù)串行通信,MAC層芯片可以訪問(wèn)PHY層芯片的寄存器,并通過(guò)這些寄存器來(lái)對(duì)PHY層芯片進(jìn)行控制和管理。在MDIO數(shù)據(jù)串行通信協(xié)議中,MDIO數(shù)據(jù)幀結(jié)構(gòu)如圖1所示,包括開始標(biāo)識(shí)字段(ST)、幀操作字段(OP)、PHY層地址字段(PHYAD)、寄存器地址字段(REGAD)、狀態(tài)轉(zhuǎn)換字段(TA)和數(shù)據(jù)字段(DATA)。其中:
起始標(biāo)識(shí)字段(ST)包含2個(gè)比特,即比特“01”,表示MDIO數(shù)據(jù)幀的起始位置。幀操作字段(OP)包含2個(gè)比特,比特“10”表示此幀為一個(gè)讀操作幀,比特“01”表示此幀為一個(gè)寫操作幀。PHY層地址字段(PHYAD)包含5個(gè)比特,用于指示物理層芯片的地址。寄存器地址字段(REGAD)包含5個(gè)比特,用于指示物理層芯片中的寄存器地址。狀態(tài)轉(zhuǎn)換字段(TA)包含2個(gè)比特,若此幀為讀操作幀,則第一比特高阻態(tài),第二比特由PHY層芯片置“0”;若此幀為寫操作幀,則由MAC層芯片控制連續(xù)輸出“10”兩個(gè)比特。數(shù)據(jù)字段(DATA)包含16個(gè)比特,若此幀為讀操作幀,則用于承載PHY層芯片傳送到MAC層芯片的狀態(tài)信息數(shù)據(jù);若此幀為寫操作幀,則用于承載MAC層芯片傳送到PHY層芯片的控制信息數(shù)據(jù)。在MDIO信號(hào)線傳輸每個(gè)MDIO數(shù)據(jù)幀之前以32個(gè)連續(xù)的“I”比特作為幀間隔標(biāo)識(shí)(或稱作幀前綴字段 ,PRE);在MDIO信號(hào)線空閑時(shí)(空閑狀態(tài)以IDLE表示),由于無(wú)源驅(qū)動(dòng),處高阻狀態(tài),但通常用上拉電阻使其處在高電平。MAC層芯片與PHY層芯片進(jìn)行MDIO數(shù)據(jù)串行通信時(shí),MAC層芯片的MII管理接口與PHY層芯片的MII管理接口都需要連接兩根信號(hào)線,即MDC (Management Data Clock,管理數(shù)據(jù)時(shí)鐘)信號(hào)線和MDIO (Management Data Input/Output,管理數(shù)據(jù)輸入/輸出)信號(hào)線;MDC信號(hào)線用于傳輸MDC時(shí)鐘,但MDIO數(shù)據(jù)串行通信協(xié)議中的MDC時(shí)鐘頻率通常與MAC層芯片、PHY層芯片所在系統(tǒng)的系統(tǒng)時(shí)鐘頻率不同,通常MDC時(shí)鐘頻率為2.5MHz ;MD10信號(hào)線用于傳輸MDIO數(shù)據(jù),即MAC層芯片的控制信息數(shù)據(jù)和PHY層芯片的狀態(tài)信息數(shù)據(jù);MDIO數(shù)據(jù)與MDC時(shí)鐘同步傳送至MII管理接口,MII管理接口在MDC時(shí)鐘的上升沿觸發(fā)傳輸MDIO數(shù)據(jù)的數(shù)據(jù)比特。MAC層芯片的MDIO處理模塊和PHY層芯片的MDIO處理模塊則根據(jù)處理程序控制,按照MDIO數(shù)據(jù)串行通信協(xié)議的MDC時(shí)鐘頻率將MII管理接口接收到的MDIO數(shù)據(jù)寫入或者向MII管理接口 MII管理接口讀出MDIO數(shù)據(jù)。在MAC層芯片與PHY層芯片進(jìn)行MDIO數(shù)據(jù)串行通信過(guò)程中,讀操作幀與寫操作幀的MDIO數(shù)據(jù)幀時(shí)序關(guān)系有所不同;在進(jìn)行幀間隔傳輸以及MDIO寫操作幀傳輸期間,MAC層芯片的MDIO處理模塊始終為讀操作狀態(tài),PHY層芯片的MDIO處理模塊始終為寫操作狀態(tài);在MDIO讀操作幀的起始標(biāo)識(shí)字段到寄存器地址字段的傳輸期間,MAC層芯片的MDIO處理模塊為讀操作狀態(tài),PHY層芯片的MDIO處理模塊為寫操作狀態(tài),而在MDIO讀操作幀的狀態(tài)轉(zhuǎn)換字段傳輸期間,MAC層芯片的MDIO處理模塊從讀操作狀態(tài)切換為寫操作狀態(tài),PHY層芯片的MDIO處理模塊從寫操作狀態(tài)切換為讀操作狀態(tài),此后MDIO讀操作幀中16個(gè)MDC時(shí)鐘周期的數(shù)據(jù)字段傳輸期間,MAC層芯片的MDIO處理模塊保持寫操作狀態(tài),PHY層芯片的MDIO處理模塊保持讀操作狀態(tài)。在MDC時(shí)鐘的同步控制下,MAC層芯片與PHY層芯片進(jìn)行MDIO數(shù)據(jù)串行通信的MDIO讀操作幀時(shí)序關(guān)系以及MDIO寫操作幀時(shí)序關(guān)系分別如圖2、圖3所示。MDIO串行通信協(xié)議允許一個(gè)MAC層芯片通過(guò)MII管理接口的MDIO串行通信同時(shí)驅(qū)動(dòng)控制多個(gè)PHY層芯片(最多支持32個(gè)),構(gòu)成一驅(qū)多的主從控制系統(tǒng)。在這種一驅(qū)多的主從控制系統(tǒng)中,通常將處于主導(dǎo)控制地位的MAC層芯片通常稱為主控器件,被控制的PHY層芯片通常稱為從屬器件,其系統(tǒng)結(jié)構(gòu)框圖如圖4所示??梢钥吹?,由于MAC層芯片和PHY層芯片的MII管理接口需要在MDC時(shí)鐘頻率下工作,而MAC層芯片和PHY層芯片的其它模塊在系統(tǒng)時(shí)鐘頻率工作,因此主控器件和各個(gè)從屬器件除了需要連接系統(tǒng)時(shí)鐘驅(qū)動(dòng)芯片獲得系統(tǒng)時(shí)鐘(Systm Clock,簡(jiǎn)稱SYSC)之外,還需要在MII管理接口連接MDC時(shí)鐘驅(qū)動(dòng)芯片獲得MDC時(shí)鐘(簡(jiǎn)稱MDC),或者由主控器件連接MDC時(shí)鐘驅(qū)動(dòng)芯片獲得MDC時(shí)鐘后再通過(guò)MII管理接口之間的MDC信號(hào)線將MDC時(shí)鐘傳送至各個(gè)從屬器件;且由于從屬器件數(shù)量較多,因此連線也較為繁多,容易導(dǎo)致系統(tǒng)PCB走線困難、PCB層數(shù)增加等情況,增加系統(tǒng)PCB走線設(shè)計(jì)難度;而且由于主控器件與從屬器件的MII管理接口之間存在MDIO數(shù)據(jù)與MDC時(shí)鐘時(shí)序同步的要求,在PCB走線時(shí),如果MDIO信號(hào)線與MDC信號(hào)線的走線等長(zhǎng)處理不當(dāng),可能會(huì)因?yàn)樽呔€傳輸延遲差異而導(dǎo)致MDIO數(shù)據(jù)與MDC時(shí)鐘時(shí)序錯(cuò)誤,從而從另一個(gè)層面進(jìn)一步增加了系統(tǒng)PCB走線設(shè)計(jì)的難度;并且系統(tǒng)中多個(gè)時(shí)鐘的使用,無(wú)疑也增加了系統(tǒng)中的時(shí)鐘驅(qū)動(dòng)芯片使用量或者時(shí)鐘驅(qū)動(dòng)芯片的管腳使用量,相應(yīng)的增加了硬件成本。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)的上述不足,本發(fā)明的目的在于提供一種主從MII管理接口串行通信方法,使得在不借助MDC時(shí)鐘驅(qū)動(dòng)芯片、無(wú)需MDC信號(hào)線的情況下,主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間即可進(jìn)行MDIO數(shù)據(jù)串行通信,以降低一驅(qū)多主從控制系統(tǒng)的PCB設(shè)計(jì)難度,減少一驅(qū)多主從控制系統(tǒng)的硬件成本。為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
一種主從MII管理接口串行通信方法,用于主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間的MDIO數(shù)據(jù)串行通信;主控器件的MDIO處理模塊以及各個(gè)從屬器件的MDIO處理模塊均按照MDIO串行通信協(xié)議進(jìn)行MDIO數(shù)據(jù)處理,主控器件的MII管理接口以及各個(gè)從屬器件的MII管 理接口僅連接MDIO串行總線;主控器件的MDIO處理模塊和MII管理接口之間還設(shè)有主控計(jì)數(shù)鎖存處理模塊,每個(gè)從屬器件的MDIO處理模塊和MII管理接口之間還設(shè)有從屬計(jì)數(shù)鎖存處理模塊,且主控器件和各個(gè)從屬器件所在系統(tǒng)的系統(tǒng)時(shí)鐘頻率設(shè)置為MDIO串行通信協(xié)議中MDC時(shí)鐘頻率的N倍,N為正整數(shù),主控器件的主控計(jì)數(shù)鎖存處理模塊以及各個(gè)從屬器件的從屬計(jì)數(shù)鎖存處理模塊均以系統(tǒng)時(shí)鐘頻率進(jìn)行累加計(jì)數(shù)和數(shù)據(jù)采樣操作;其中:
主控器件中,在主控器件的MDIO處理模塊進(jìn)行讀操作期間,主控計(jì)數(shù)鎖存處理模塊將MDIO處理模塊需要讀出的MDC時(shí)鐘頻率的MDIO數(shù)據(jù)以系統(tǒng)時(shí)鐘頻率進(jìn)行N倍采樣轉(zhuǎn)換為MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),通過(guò)主控器件的MII管理接口以系統(tǒng)時(shí)鐘頻率將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)發(fā)送至MDIO總線,且每當(dāng)MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中出現(xiàn)連續(xù)32N個(gè)高電平數(shù)據(jù)比特以后的第一個(gè)低電平數(shù)據(jù)比特時(shí)或者每當(dāng)累加計(jì)數(shù)到N時(shí),主控計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù);在主控器件的MDIO處理模塊進(jìn)行寫操作期間,主控計(jì)數(shù)鎖存處理模塊以系統(tǒng)時(shí)鐘頻率獲取主控器件的MII管理接口從MDIO總線接收到的MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),且每當(dāng)累加計(jì)數(shù)到N時(shí),主控計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù),每當(dāng)累加計(jì)數(shù)到第一預(yù)設(shè)取數(shù)值nl時(shí),主控計(jì)數(shù)鎖存處理模塊將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中當(dāng)前時(shí)刻的一個(gè)比特?cái)?shù)據(jù)鎖存并傳送給主控器件的MDIO處理模塊,從而從MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中恢復(fù)出MDC時(shí)鐘頻率的MDIO數(shù)據(jù)傳送給主控器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理;其中,0〈nl〈N ;
從屬器件中,在從屬器件的MDIO處理模塊進(jìn)行寫操作期間,從屬計(jì)數(shù)鎖存處理模塊以系統(tǒng)時(shí)鐘頻率獲取從屬器件的MII管理接口從MDIO總線接收到的MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),且每當(dāng)MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中出現(xiàn)連續(xù)32N個(gè)高電平數(shù)據(jù)比特以后的第一個(gè)低電平數(shù)據(jù)比特時(shí)或者每當(dāng)累加計(jì)數(shù)到N時(shí),從屬計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù),每當(dāng)累加計(jì)數(shù)到第二預(yù)設(shè)取數(shù)值n2時(shí),從屬計(jì)數(shù)鎖存處理模塊將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中當(dāng)前時(shí)刻的一個(gè)比特?cái)?shù)據(jù)鎖存并傳送給從屬器件的MDIO處理模塊,從而從MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中恢復(fù)出MDC時(shí)鐘頻率的MDIO數(shù)據(jù)傳送給從屬器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理;其中,0〈n2〈N ;在從屬器件的MDIO處理模塊進(jìn)行讀操作期間,從屬計(jì)數(shù)鎖存處理模塊將MDIO處理模塊需要讀出的MDC時(shí)鐘頻率的MDIO數(shù)據(jù)以系統(tǒng)時(shí)鐘頻率進(jìn)行N倍采樣轉(zhuǎn)換為MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),通過(guò)從屬器件的MII管理接口以系統(tǒng)時(shí)鐘頻率將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)發(fā)送至MDIO總線,且每當(dāng)累加計(jì)數(shù)到N時(shí),從屬計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù)。進(jìn)一步,所述主控器件進(jìn)行MDIO數(shù)據(jù)串行通信的過(guò)程中,主控器件的MDIO處理模塊在讀出MDIO讀操作幀中寄存器地址字段的全部數(shù)據(jù)之后主控計(jì)數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí),主控器件的MDIO處理模塊從讀操作切換為寫操作;主控器件的MDIO處理模塊在接收到MDIO讀操作幀中數(shù)據(jù)字段的全部數(shù)據(jù)之后主控計(jì)數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí),主控器件的MDIO處理模塊從寫操作切換為讀操作。進(jìn)一步,所述從屬器件進(jìn)行MDIO數(shù)據(jù)串行通信的過(guò)程中,若從屬器件的MDIO處理模塊接收到MDIO讀操作幀,且該MDIO讀操作幀中PHY層地址字段指示的物理層芯片地址與從屬器件的芯片地址相同,則從屬器件的MDIO處理模塊在接收到該MDIO讀操作幀中寄存器地址字段的全部數(shù)據(jù)之后從屬計(jì)數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí),從屬器件的MDIO處理模塊從寫操作切換為讀操作;從屬器件的MDIO處理模塊在讀出MDIO讀操作幀中數(shù)據(jù)字段的全部數(shù)據(jù)之后從屬計(jì) 數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí),從屬器件的MDIO處理模塊從讀操作切換為寫操作。
進(jìn)一步,所述N的優(yōu)選取值范圍為1(T100。進(jìn)一步,所述第一預(yù)設(shè)取數(shù)值nl的優(yōu)選取值范圍為N/3 ≤nl ≤2N/3 ;所述第二預(yù)設(shè)取數(shù)值n2的優(yōu)選取值范圍為N/3 ≤ n2 ≤ 2N/3。進(jìn)一步,所述主控器件和從屬器件可分別采用FPGA芯片編程實(shí)現(xiàn)。相比于現(xiàn)有技術(shù),本發(fā)明具有下述優(yōu)點(diǎn):
1、采用本發(fā)明主從MII管理接口串行通信方法,一驅(qū)多主從控制系統(tǒng)可以在不借助MDC時(shí)鐘驅(qū)動(dòng)芯片、無(wú)需MDC信號(hào)線的情況下,順利的完成主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間的MDIO數(shù)據(jù)串行通信,從而減少了主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間的數(shù)據(jù)連線,有助于降低系統(tǒng)PCB走線難度,減少PCB層數(shù),有助于降低系統(tǒng)PCB走線設(shè)計(jì)難度。2、采用本發(fā)明主從MII管理接口串行通信方法,由于無(wú)需MDC信號(hào)線,因此無(wú)需考慮因MDIO信號(hào)線與MDC信號(hào)線的走線等長(zhǎng)處理不當(dāng)導(dǎo)致MDIO數(shù)據(jù)與MDC時(shí)鐘時(shí)序錯(cuò)誤的問(wèn)題,由主控器件的主控計(jì)數(shù)鎖存處理模塊以及從屬器件的從屬計(jì)數(shù)鎖存處理模塊的控制,即可保證MDIO數(shù)據(jù)串行·通信以及MDIO數(shù)據(jù)處理的時(shí)序正確性,從而進(jìn)一步從整體上降低了系統(tǒng)PCB走線設(shè)計(jì)的難度。3、本發(fā)明主從MII管理接口串行通信方法中,在不借助MDC時(shí)鐘驅(qū)動(dòng)芯片的條件下實(shí)現(xiàn)了主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間的MDIO數(shù)據(jù)串行通信,減少了系統(tǒng)中的時(shí)鐘驅(qū)動(dòng)芯片使用量或者時(shí)鐘驅(qū)動(dòng)芯片的管腳使用量,降低了系統(tǒng)硬件成本。
圖1為MDIO數(shù)據(jù)幀結(jié)構(gòu)示意圖。圖2為MDIO串行通信協(xié)議中,MAC層芯片與PHY層芯片進(jìn)行MDIO數(shù)據(jù)串行通信的MDIO讀操作幀時(shí)序關(guān)系圖。圖3為MDIO串行通信協(xié)議中,MAC層芯片與PHY層芯片進(jìn)行MDIO數(shù)據(jù)串行通信的MDIO寫操作幀時(shí)序關(guān)系圖。圖4為現(xiàn)有技術(shù)中一驅(qū)多主從控制系統(tǒng)連接示意圖。圖5為采用本發(fā)明主從MII管理接口串行通信方法的一驅(qū)多主從控制系統(tǒng)連接示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)一步說(shuō)明。在現(xiàn)有技術(shù)的一驅(qū)多主從控制系統(tǒng)中,一方面,由于MAC層芯片(即主控器件)和PHY層芯片(即從屬器件)的MII管理接口需要在MDC時(shí)鐘的控制下進(jìn)行數(shù)據(jù)輸出操作,主控器件和從屬器件都需要連接系統(tǒng)時(shí)鐘信號(hào)線、MDIO信號(hào)線和MDC信號(hào)線等,而且從屬器件數(shù)量較多,因此連線也較為繁多,容易導(dǎo)致系統(tǒng)PCB走線困難、PCB層數(shù)增加等情況,增加系統(tǒng)PCB走線設(shè)計(jì)難度;另一方面,由于主控器件與從屬器件的MII管理接口之間存在MDIO數(shù)據(jù)與MDC時(shí)鐘時(shí)序同步的要求,在PCB走線時(shí),如果MDIO信號(hào)線與MDC信號(hào)線的走線等長(zhǎng)處理不當(dāng),可能會(huì)因?yàn)樽呔€傳輸延遲差異而導(dǎo)致MDIO數(shù)據(jù)與MDC時(shí)鐘時(shí)序錯(cuò)誤,從而又進(jìn)一步增加了系統(tǒng)PCB走線設(shè)計(jì)的難度。針對(duì)這些問(wèn)題,本發(fā)明提出了一種主從MII管理接口串行通信方法,用于主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間的MDIO數(shù)據(jù)串行通信,使得在不借助MDC時(shí)鐘驅(qū)動(dòng)芯片、無(wú)需MDC信號(hào)線的情況下,主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間即可進(jìn)行MDIO數(shù)據(jù)串行通信,以降低一驅(qū)多主從控制系統(tǒng)的PCB設(shè)計(jì)難度,減少一驅(qū)多主從控制系統(tǒng)的硬件成本。本發(fā)明的主從MII管理接口串行通信方法中,主控器件的MDIO處理模塊以及各個(gè)從屬器件的MDIO處理模塊均按照MDIO串行通信協(xié)議進(jìn)行MDIO數(shù)據(jù)處理,主控器件的MII管理接口以及各個(gè)從屬器件的MII管理接口僅連接MDIO串行總線;主控器件的MDIO處理模塊和MII管理接口之間還設(shè)有主控計(jì)數(shù)鎖存處理模塊,每個(gè)從屬器件的MDIO處理模塊和MII管理接口之間還設(shè)有從屬計(jì)數(shù)鎖存處理模塊,且主控器件和各個(gè)從屬器件所在系統(tǒng)的系統(tǒng)時(shí)鐘頻率設(shè)置為MDIO串行通信協(xié)議中MDC時(shí)鐘頻率的N倍,N為正整數(shù),主控器件的主控計(jì)數(shù)鎖存處理模塊以及各個(gè)從屬器件的從屬計(jì)數(shù)鎖存處理模塊均以系統(tǒng)時(shí)鐘頻率進(jìn)行累加計(jì)數(shù)和數(shù)據(jù)采樣操作。其中:主控器件中,在主控器件的MDIO處理模塊進(jìn)行讀操作期間,主控計(jì)數(shù)鎖存處理模塊將MDIO處理模塊需要讀出的MDC時(shí)鐘頻率的MDIO數(shù)據(jù)以系統(tǒng)時(shí)鐘頻率進(jìn)行N倍采樣轉(zhuǎn)換為MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),通過(guò)主控器件的MII管理接口以系統(tǒng)時(shí)鐘頻率將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)發(fā)送至MDIO總線,且每當(dāng)MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中出現(xiàn)連續(xù)32N個(gè)高電平數(shù)據(jù)比特以后的第一個(gè)低電平數(shù)據(jù)比特時(shí)或者每當(dāng)累加計(jì)數(shù)到N時(shí),主控計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù);在主控器件的MDIO處理模塊進(jìn)行寫操作期間,主控計(jì)數(shù)鎖存處理模塊以系統(tǒng)時(shí)鐘頻率獲取主控器件的MII管理接口從MDIO總線接收到的MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),且每當(dāng)累加計(jì)數(shù)到N時(shí),主控計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù),每當(dāng)累加計(jì)數(shù)到第一預(yù)設(shè)取數(shù)值nl時(shí),主控計(jì)數(shù)鎖存處理模塊將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中當(dāng)前時(shí)刻的一個(gè)比特?cái)?shù)據(jù)鎖存并傳送給主控器件的MDIO處理模塊,從而從MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中恢復(fù)出MDC時(shí)鐘頻率的MDIO數(shù)據(jù)傳送給主控器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理;其中,0〈nl〈N。從屬器件中,在從屬器件的MDIO處理模塊進(jìn)行寫操作期間,從屬計(jì)數(shù)鎖存處理模塊以系統(tǒng)時(shí)鐘頻率獲取從屬器件的MII管理接口從MDIO總線接收到的MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),且每當(dāng)MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中出現(xiàn)連續(xù)32N個(gè)高電平數(shù)據(jù)比特以后的第一個(gè)低電平數(shù)據(jù)比特時(shí)或者每當(dāng)累加計(jì)數(shù)到N時(shí),從屬計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù),每當(dāng)累加計(jì)數(shù)到第二預(yù)設(shè)取數(shù)值n2時(shí),從屬計(jì)數(shù)鎖存處理模塊將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中當(dāng)前時(shí)刻的一個(gè)比特?cái)?shù)據(jù)鎖存并傳送給從屬器件的MDIO處理模塊,從而從MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中恢復(fù)出MDC時(shí)鐘頻率的MDIO數(shù)據(jù)傳送給從屬器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理;其中,0〈n2〈N ;在從屬器件的MDIO處理模塊進(jìn)行讀操作期間,從屬計(jì)數(shù)鎖存處理模塊將MDIO處理模塊需要讀出的MDC時(shí)鐘頻率的MDIO數(shù)據(jù)以系統(tǒng)時(shí)鐘頻率進(jìn)行N倍采樣轉(zhuǎn)換為MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),通過(guò)從屬器件的MII管理接口以系統(tǒng)時(shí)鐘頻率將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)發(fā)送至MDIO總線,且每當(dāng)累加計(jì)數(shù)到N時(shí),從屬計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù)。在本發(fā)明的主從MII管理接口串行通信方法中,主控器件的MDIO處理模塊以及各個(gè)從屬器件的MDI O處理模塊可以保持與現(xiàn)有技術(shù)一樣,按照MDIO串行通信協(xié)議進(jìn)行MDIO數(shù)據(jù)處理,即依然以MDIO串行通信協(xié)議中的MDC時(shí)鐘頻率進(jìn)行MDIO數(shù)據(jù)讀出和寫入操作但與現(xiàn)有技術(shù)不同的是,系統(tǒng)中設(shè)置了系統(tǒng)時(shí)鐘頻率為MDIO串行通信協(xié)議中MDC時(shí)鐘頻率的N倍,N為正整數(shù),也就是說(shuō)N個(gè)系統(tǒng)時(shí)鐘周期就相當(dāng)于一個(gè)MDC時(shí)鐘周期,同時(shí)主控器件中的主控計(jì)數(shù)鎖存處理模塊以及每個(gè)從屬器件中的從屬計(jì)數(shù)鎖存處理模塊均以系統(tǒng)時(shí)鐘頻率進(jìn)行累加計(jì)數(shù)和數(shù)據(jù)采樣操作,且無(wú)論在進(jìn)行寫操作期間還是在進(jìn)行讀操作期間,主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊都會(huì)在累加計(jì)數(shù)到N時(shí)將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù),因此只要能確保主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù)的時(shí)刻與MDC時(shí)鐘周期切換的時(shí)刻相一致,即可讓主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊以系統(tǒng)時(shí)鐘頻率從零累加計(jì)數(shù)到N的N個(gè)系統(tǒng)時(shí)鐘周期與一個(gè)MDC時(shí)鐘周期相同步。為了確保這種同步,在本發(fā)明的主從MII管理接口串行通信方法中,由于MDIO數(shù)據(jù)中的幀間隔為MDC時(shí)鐘頻率的32個(gè)比特“ I”,并且MDIO數(shù)據(jù)幀中的起始標(biāo)識(shí)字段為比特“01”,因此MDC時(shí)鐘頻率的MDIO數(shù)據(jù)被N被采樣轉(zhuǎn)換為MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)后,MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中出現(xiàn)連續(xù)32N個(gè)高電平數(shù)據(jù)比特以后的第一個(gè)低電平數(shù)據(jù)比特的時(shí)刻,即表示MDIO數(shù)據(jù)中的幀間隔的最后一個(gè)MDC時(shí)鐘周期到MDIO數(shù)據(jù)幀的第一個(gè)MDC時(shí)鐘周期相切換的時(shí)刻,而這個(gè)切換時(shí)刻在MDIO數(shù)據(jù)串行通信過(guò)程中始終發(fā)生在主控器件的MDIO處理模塊進(jìn)行讀操作、從屬器件的MDIO處理模塊進(jìn)行寫操作的期間,因此主控器件的MDIO處理模塊進(jìn)行讀操作期間,主控計(jì)數(shù)鎖存處理模塊每當(dāng)在MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中出現(xiàn)連續(xù)32N個(gè)高電平數(shù)據(jù)比特以后的第一個(gè)低電平數(shù)據(jù)比特時(shí)會(huì)強(qiáng)制將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù),使得主控計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零的時(shí)刻與主控器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理的MDC時(shí)鐘周期切換時(shí)刻進(jìn)行同步,而從屬器件的MDIO處理模塊進(jìn)行寫操作期間,從屬計(jì)數(shù)鎖存處理模塊每當(dāng)在MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中出現(xiàn)連續(xù)32N個(gè)高電平數(shù)據(jù)比特以后的第一個(gè)低電平數(shù)據(jù)比特時(shí)也會(huì)強(qiáng)制將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù),使得從屬計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零的時(shí)刻與從屬器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理的MDC時(shí)鐘周期切換時(shí)刻進(jìn)行同步;也就是說(shuō),在每個(gè)MDIO數(shù)據(jù)幀開始的時(shí)刻,主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊從零到N的循環(huán)累加計(jì)數(shù)周期都會(huì)與MDC時(shí)鐘周期進(jìn)行一次同步,從而確保了每個(gè)MDIO數(shù)據(jù)幀從幀頭值幀尾的數(shù)據(jù)處理期間(MD10數(shù)據(jù)幀從幀頭值幀尾共32個(gè)MDC時(shí)鐘周期)主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊從零到N的循環(huán)累加計(jì)數(shù)周期與MDC時(shí)鐘周期 相同步。在這種同步得以保證的條件下,在主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間進(jìn)行MDIO數(shù)據(jù)串行通信的過(guò)程中,由于進(jìn)行幀間隔傳輸以及MDIO寫操作巾貞傳輸期間,主控器件的MDIO處理模塊始終為讀操作狀態(tài),從屬器件的MDIO處理模塊始終為寫操作狀態(tài),此期間,主控計(jì)數(shù)鎖存處理模塊將主控器件的MDIO處理模塊需要讀出的MDC時(shí)鐘頻率的MDIO數(shù)據(jù)以系統(tǒng)時(shí)鐘頻率進(jìn)行N倍采樣轉(zhuǎn)換為MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),通過(guò)主控器件的MII管理接口以系統(tǒng)時(shí)鐘頻率將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)發(fā)送至MDIO總線,同時(shí)從屬計(jì)數(shù)鎖存處理模塊以系統(tǒng)時(shí)鐘頻率獲取從屬器件的MII管理接口從MDIO總線接收到的MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),且每當(dāng)累加計(jì)數(shù)到第二預(yù)設(shè)取數(shù)值n2時(shí),0〈n2〈N,從屬計(jì)數(shù)鎖存處理模塊將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中當(dāng)前時(shí)刻的一個(gè)比特?cái)?shù)據(jù)鎖存并傳送給從屬器件的MDIO處理模塊,也就是說(shuō),從屬計(jì)數(shù)鎖存處理模塊在從0到N累加計(jì)數(shù)的N個(gè)系統(tǒng)時(shí)鐘周期中(即一個(gè)MDC時(shí)鐘周期中)會(huì)對(duì)MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)進(jìn)行一次下采樣鎖存處理,并將鎖存的數(shù)據(jù)值傳送給從屬器件的MDIO處理模塊,這樣就從MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中恢復(fù)出MDC時(shí)鐘頻率的MDIO數(shù)據(jù)傳送給從屬器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理,并且由于從屬計(jì)數(shù)鎖存處理模塊從零到N的循環(huán)累加計(jì)數(shù)周期與從屬器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理的MDC時(shí)鐘周期相同步,保證了從屬器件的MDIO處理模塊能夠?qū)謴?fù)出的MDC時(shí)鐘頻率的MDIO數(shù)據(jù)進(jìn)行正確的MDIO數(shù)據(jù)處理。而在進(jìn)行及MDIO讀操作幀傳輸過(guò)程中,在MDIO讀操作幀的起始標(biāo)識(shí)字段到寄存器地址字段的傳輸期間,主控器件的MDIO處理模塊為讀操作狀態(tài),從屬器件的MDIO處理模塊為寫操作狀態(tài),此期間,主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間的MDIO數(shù)據(jù)串行通信處理邏輯與進(jìn)行MDIO寫操作幀傳輸?shù)拇型ㄐ盘幚磉壿嬒嘁恢拢辉儋樖隽?;而在MDIO讀操作幀的狀態(tài)轉(zhuǎn)換字段傳輸期間,主控器件的MDIO處理模塊從讀操作狀態(tài)切換為寫操作狀態(tài),從屬器件的MDIO處理模塊從寫操作狀態(tài)切換為讀操作狀態(tài);此后MDIO讀操作幀中16個(gè)MDC時(shí)鐘周期的數(shù)據(jù)字段傳輸期間,主控器件的MDIO處理模塊保持寫操作狀態(tài),從屬器件的MDIO處理模塊保持讀操作狀態(tài),從屬計(jì)數(shù)鎖存處理模塊將從屬器件的MDIO處理模塊需要讀出的MDC時(shí)鐘頻率的MDIO數(shù)據(jù)以系統(tǒng)時(shí)鐘頻率進(jìn)行N倍采樣轉(zhuǎn)換為MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),通過(guò)從屬器件的MII管理接口以系統(tǒng)時(shí)鐘頻率將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)發(fā)送至MDIO總線,同時(shí)主控計(jì)數(shù)鎖存處理模塊以系統(tǒng)時(shí)鐘頻率獲取主控器件的MII管理接口從MDIO總線接收到的MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),且每當(dāng)累加計(jì)數(shù)到第一預(yù)設(shè)取數(shù)值nl時(shí),主控計(jì)數(shù)鎖存處理模塊將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中當(dāng)前時(shí)刻的一個(gè)比特?cái)?shù)據(jù)鎖存并傳送給主控器件的MDIO處理模塊,也就是說(shuō),主控計(jì)數(shù)鎖存處理模塊在從0到N累加計(jì)數(shù)的N個(gè)系統(tǒng)時(shí)鐘周期中(即一個(gè)MDC時(shí)鐘周期中)會(huì) 對(duì)MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)進(jìn)行一次下采樣鎖存處理,并將鎖存的數(shù)據(jù)值傳送給主控器件的MDIO處理模塊,這樣就從MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中恢復(fù)出MDC時(shí)鐘頻率的MDIO數(shù)據(jù)傳送給主控器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理,并且由于主控計(jì)數(shù)鎖存處理模塊從零到N的循環(huán)累加計(jì)數(shù)周期與主控器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理的MDC時(shí)鐘周期相同步,保證了主控器件的MDIO處理模塊能夠?qū)謴?fù)出的MDC時(shí)鐘頻率的MDIO數(shù)據(jù)進(jìn)行正確的MDIO數(shù)據(jù)處理;MD10讀操作幀的數(shù)據(jù)字段傳輸完成后,主控器件的MDIO處理模塊從寫操作狀態(tài)切換恢復(fù)為讀操作狀態(tài),從屬器件的MDIO處理模塊從讀操作狀態(tài)切換恢復(fù)為寫操作狀態(tài)。而由于主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊的數(shù)據(jù)采樣是以時(shí)鐘頻率進(jìn)行的,同時(shí)主控器件的MII管理接口以及各個(gè)從屬器件的MII管理接口之間的MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)傳輸也是以系統(tǒng)時(shí)鐘頻率進(jìn)行的,因此,在主控器件的MDIO處理模塊進(jìn)行讀操作期間主控計(jì)數(shù)鎖存處理模塊到主控器件的MII管理接口之間的數(shù)據(jù)傳輸,以及在從屬器件的MDIO處理模塊進(jìn)行讀操作期間從屬計(jì)數(shù)鎖存處理模塊到從屬器件的MII管理接口之間的數(shù)據(jù)傳輸,則都不需要進(jìn)行下采樣鎖存處理,直接以系統(tǒng)時(shí)鐘頻率進(jìn)行數(shù)據(jù)傳輸。采用本發(fā)明主從MII管理接口串行通信方法的一驅(qū)多主從控制系統(tǒng)連接示意圖如圖5所示,主控器件的MII管理接口以及各個(gè)從屬器件的MII管理接口僅連接MDIO串行總線(圖5中簡(jiǎn)稱為MD10);當(dāng)然,在系統(tǒng)中,主控器件和各個(gè)從屬器件還需要連接系統(tǒng)時(shí)鐘驅(qū)動(dòng)芯片以獲得系統(tǒng)時(shí)鐘(圖5中簡(jiǎn)稱為SYSC)。通過(guò)上述采用本發(fā)明主從MII管理接口串行通信方法的MDIO數(shù)據(jù)串行通信過(guò)程并結(jié)合圖5可以看到,一驅(qū)多主從控制系統(tǒng)可以在不借助MDC時(shí)鐘驅(qū)動(dòng)芯片、無(wú)需MDC信號(hào)線的情況下,順利的完成主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間的MDIO數(shù)據(jù)串行通信,從而減少了主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間的數(shù)據(jù)連線,有助于降低系統(tǒng)PCB走線難度,減少PCB層數(shù),并且也無(wú)需考慮因MDIO信號(hào)線與MDC信號(hào)線的走線等長(zhǎng)處理不當(dāng)導(dǎo)致MDIO數(shù)據(jù)與MDC時(shí)鐘時(shí)序錯(cuò)誤的問(wèn)題,從而從整體上降低系統(tǒng)PCB走線設(shè)計(jì)難度,同時(shí)有助于減少系統(tǒng)中的時(shí)鐘驅(qū)動(dòng)芯片使用量或者時(shí)鐘驅(qū)動(dòng)芯片的管腳使用量,降低系統(tǒng)硬件成本。由于在本發(fā)明主從MII管理接口串行通信方法中,主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊的數(shù)據(jù)采樣是以時(shí)鐘頻率進(jìn)行的,并且主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊是通過(guò)從零累加計(jì)數(shù)到N的N個(gè)系統(tǒng)時(shí)鐘周期與各自MDIO處理模塊的一個(gè)MDC時(shí)鐘周期相同步來(lái)保證下采樣鎖存處理的時(shí)序正確性;為了確保主控器件的MDIO處理模塊以及從屬器件的MDIO處理模塊進(jìn)行讀/寫操作切換前后,依然能夠很好的保證主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊進(jìn)行下采樣鎖存處理的時(shí)序正確性,作為一種進(jìn)一步優(yōu)化方案,主控器件進(jìn)行MDIO數(shù)據(jù)串行通信的過(guò)程中,主控器件的MDIO處理模塊在讀出MDIO讀操作幀中寄存器地址字段的全部數(shù)據(jù)之后主控計(jì)數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí)(即相當(dāng)于在MDIO讀操作幀中狀態(tài)轉(zhuǎn)換字段的起始時(shí)刻),主控器件的MDIO處理模塊從讀操作切換為寫操作;主控器件的MDIO處理模塊在接收到MDIO讀操作幀中數(shù)據(jù)字段的全部數(shù)據(jù)之后主控計(jì)數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí)(即相當(dāng)于在MDIO讀操作幀中數(shù)據(jù)字段的終止時(shí)刻),主控器件的MDIO處理模塊從寫操作切換為讀操作;由此,即可確保主控器件的MDIO處理模塊進(jìn)行讀/寫操作切換前后,依然能夠很好的保證主控計(jì)數(shù)鎖存處理模塊進(jìn)行下采樣 鎖存處理的時(shí)序正確性。相應(yīng)地,從屬器件進(jìn)行MDIO數(shù)據(jù)串行通信的過(guò)程中,若從屬器件的MDIO處理模塊接收到MDIO讀操作幀,且該MDIO讀操作幀中PHY層地址字段指示的物理層芯片地址與從屬器件的芯片地址相同,則從屬器件的MDIO處理模塊在接收到該MDIO讀操作幀中寄存器地址字段的全部數(shù)據(jù)之后從屬計(jì)數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí)(即相當(dāng)于在與該從屬器件相關(guān)的MDIO讀操作幀中狀態(tài)轉(zhuǎn)換字段的起始時(shí)刻;如果MDIO讀操作幀中PHY層地址字段指示的物理層芯片地址與從屬器件的芯片地址不相同相同,即對(duì)于與該從屬器件不相關(guān)的MDIO讀操作幀,從屬器件的MDIO處理模塊會(huì)選擇忽略該MDIO讀操作幀PHY層地址字段之后的數(shù)據(jù),不會(huì)切換進(jìn)入讀操作狀態(tài)),從屬器件的MDIO處理模塊從寫操作切換為讀操作;從屬器件的MDIO處理模塊在讀出MDIO讀操作幀中數(shù)據(jù)字段的全部數(shù)據(jù)之后從屬計(jì)數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí)(即相當(dāng)于在MDIO讀操作幀中數(shù)據(jù)字段的終止時(shí)刻),從屬器件的MDIO處理模塊從讀操作切換為寫操作;由此,即可確保從屬器件的MDIO處理模塊進(jìn)行讀/寫操作切換前后,依然能夠很好的保證從屬計(jì)數(shù)鎖存處理模塊進(jìn)行下采樣鎖存處理的時(shí)序正確性。在采用本發(fā)明的主從MII管理接口串行通信方法設(shè)計(jì)或生產(chǎn)一驅(qū)多主從控制系統(tǒng)的應(yīng)用過(guò)程中,設(shè)置系統(tǒng)時(shí)鐘頻率為MDIO串行通信協(xié)議中MDC時(shí)鐘頻率的N倍,由于MDIO串行通信協(xié)議中MDC時(shí)鐘頻率通常為2.5MHz,因此從實(shí)施可行性角度考慮,N的優(yōu)選取值范圍為1(T100,即相當(dāng)于優(yōu)選設(shè)置系統(tǒng)時(shí)鐘頻率為25 MHz 250MHz,系統(tǒng)時(shí)鐘頻率若設(shè)置過(guò)低,不利于保證N倍過(guò)采樣后再進(jìn)行下采樣鎖存處理的數(shù)據(jù)準(zhǔn)確性,而系統(tǒng)時(shí)鐘頻率若設(shè)置過(guò)高,則會(huì)使得主控計(jì)數(shù)鎖存處理模塊和各個(gè)從屬計(jì)數(shù)鎖存處理模塊的邏輯處理負(fù)荷過(guò)重,影響系統(tǒng)MDIO數(shù)據(jù)串行通信處理的效率;在本發(fā)明方案中,作為最優(yōu)選擇,可設(shè)置系統(tǒng)時(shí)鐘頻率為150 MHz0進(jìn)一步,考慮到實(shí)際設(shè)計(jì)或生產(chǎn)應(yīng)用中,由于所采用的系統(tǒng)時(shí)鐘芯片的實(shí)際時(shí)鐘頻率與預(yù)設(shè)的系統(tǒng)時(shí)鐘頻率存在不可避免的個(gè)體誤差,這種個(gè)體誤差會(huì)導(dǎo)致主控計(jì)數(shù)鎖存處理模塊以及從屬計(jì)數(shù)鎖存處理模塊從零到N的循環(huán)累加計(jì)數(shù)周期與MDC時(shí)鐘周期之間的同步存在少許的頻偏,這也是本發(fā)明主從MII管理接口串行通信方法中,在每個(gè)MDIO數(shù)據(jù)幀開始的時(shí)刻,主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊從零到N的循環(huán)累加計(jì)數(shù)周期都會(huì)與MDC時(shí)鐘周期進(jìn)行一次同步的原因,而為了進(jìn)一步避免這種少許的頻偏影響主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊進(jìn)行下采樣鎖存處理的時(shí)序正確性,設(shè)置第一預(yù)設(shè)取數(shù)值nl的優(yōu)選取值范圍為N/3 ^nl ^ 2N/3,設(shè)置第二預(yù)設(shè)取數(shù)值n2的優(yōu)選取值范圍為N/3 ^ n2 ^ 2N/3,使得主控計(jì)數(shù)鎖存處理模塊和從屬計(jì)數(shù)鎖存處理模塊在進(jìn)行下采樣鎖存處理的過(guò)程中存在先后N/3的頻偏容差范圍,保證下采樣鎖存處理的時(shí)序正確性;當(dāng)然,第一預(yù)設(shè)取數(shù)值nl和第二預(yù)設(shè)取數(shù)值n2的取值可以互不相同,并且作為最優(yōu)選擇,可以取第一預(yù)設(shè)取數(shù)值nl=N/2,取第二預(yù)設(shè)取數(shù)值n2=N/2。本發(fā)明主從MII管理接口串行通信方法中所述的主控器件、從屬器件中各個(gè)模塊的功能,都可以借助具備邏輯運(yùn)算處 理能力的處理芯片通過(guò)編程得以實(shí)現(xiàn),本領(lǐng)域技術(shù)人員可以根據(jù)自身具備的編程技術(shù)知識(shí)以及自己熟練掌握、習(xí)慣使用的編程語(yǔ)言,選擇相適宜的處理芯片編程實(shí)現(xiàn)主控器件和從屬器件,完成本發(fā)明的主從MII管理接口串行通信方法。對(duì)于本發(fā)明主從MII管理接口串行通信方法而言,主控器件和從屬器件可分別優(yōu)選采用FPGA芯片編程實(shí)現(xiàn),F(xiàn)PGA芯片應(yīng)用普遍,硬件成本低廉,而且目前市面上的FPGA芯片已經(jīng)能夠很好的滿足本發(fā)明主從MII管理接口串行通信方法對(duì)主控器件、從屬器件的性能要求。最后說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的宗旨和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種主從MII管理接口串行通信方法,用于主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間的MDIO數(shù)據(jù)串行通信;其特征在于,主控器件的MDIO處理模塊以及各個(gè)從屬器件的MDIO處理模塊均按照MDIO串行通信協(xié)議進(jìn)行MDIO數(shù)據(jù)處理,主控器件的MII管理接口以及各個(gè)從屬器件的MII管理接口僅連接MDIO串行總線;主控器件的MDIO處理模塊和MII管理接口之間還設(shè)有主控計(jì)數(shù)鎖存處理模塊,每個(gè)從屬器件的MDIO處理模塊和MII管理接口之間還設(shè)有從屬計(jì)數(shù)鎖存處理模塊,且主控器件和各個(gè)從屬器件所在系統(tǒng)的系統(tǒng)時(shí)鐘頻率設(shè)置為MDIO串行通信協(xié)議中MDC時(shí)鐘頻率的N倍,N為正整數(shù),主控器件的主控計(jì)數(shù)鎖存處理模塊以及各個(gè)從屬器件的從屬計(jì)數(shù)鎖存處理模塊均以系統(tǒng)時(shí)鐘頻率進(jìn)行累加計(jì)數(shù)和數(shù)據(jù)采樣操作;其中: 主控器件中,在主控器件的MDIO處理模塊進(jìn)行讀操作期間,主控計(jì)數(shù)鎖存處理模塊將MDIO處理模塊需要讀出的MDC時(shí)鐘頻率的MDIO數(shù)據(jù)以系統(tǒng)時(shí)鐘頻率進(jìn)行N倍采樣轉(zhuǎn)換為MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),通過(guò)主控器件的MII管理接口以系統(tǒng)時(shí)鐘頻率將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)發(fā)送至MDIO總線,且每當(dāng)MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中出現(xiàn)連續(xù)32N個(gè)高電平數(shù)據(jù)比特以后的第一個(gè)低電平數(shù)據(jù)比特時(shí)或者每當(dāng)累加計(jì)數(shù)到N時(shí),主控計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù);在主控器件的MDIO處理模塊進(jìn)行寫操作期間,主控計(jì)數(shù)鎖存處理模塊以系統(tǒng)時(shí)鐘頻率獲取主控器件的MII管理接口從MDIO總線接收到的MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),且每當(dāng)累加計(jì)數(shù)到N時(shí),主控計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù),每當(dāng)累加計(jì)數(shù)到第一預(yù)設(shè)取數(shù)值nl時(shí),主控計(jì)數(shù)鎖存處理模塊將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中當(dāng)前時(shí)刻的一個(gè)比特?cái)?shù)據(jù)鎖存并傳送給主控器件的MDIO處理模塊,從而從MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中恢復(fù)出MDC時(shí)鐘頻率的MDIO數(shù)據(jù)傳送給主控器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理;其中,0〈nl〈N ; 從屬器件中,在從屬器件的MDIO處理模塊進(jìn)行寫操作期間,從屬計(jì)數(shù)鎖存處理模塊以系統(tǒng)時(shí)鐘頻率獲取從屬器件的MII管理接口從MDIO總線接收到的MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),且每當(dāng)MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中出現(xiàn)連續(xù)32N個(gè)高電平數(shù)據(jù)比特以后的第一個(gè)低電平數(shù)據(jù)比特時(shí)或者每當(dāng)累加 計(jì)數(shù)到N時(shí),從屬計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù),每當(dāng)累加計(jì)數(shù)到第二預(yù)設(shè)取數(shù)值n2時(shí),從屬計(jì)數(shù)鎖存處理模塊將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中當(dāng)前時(shí)刻的一個(gè)比特?cái)?shù)據(jù)鎖存并傳送給從屬器件的MDIO處理模塊,從而從MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)中恢復(fù)出MDC時(shí)鐘頻率的MDIO數(shù)據(jù)傳送給從屬器件的MDIO處理模塊進(jìn)行MDIO數(shù)據(jù)處理;其中,0〈n2〈N ;在從屬器件的MDIO處理模塊進(jìn)行讀操作期間,從屬計(jì)數(shù)鎖存處理模塊將MDIO處理模塊需要讀出的MDC時(shí)鐘頻率的MDIO數(shù)據(jù)以系統(tǒng)時(shí)鐘頻率進(jìn)行N倍采樣轉(zhuǎn)換為MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù),通過(guò)從屬器件的MII管理接口以系統(tǒng)時(shí)鐘頻率將MDIO系統(tǒng)時(shí)鐘采樣數(shù)據(jù)發(fā)送至MDIO總線,且每當(dāng)累加計(jì)數(shù)到N時(shí),從屬計(jì)數(shù)鎖存處理模塊將計(jì)數(shù)復(fù)位為零并重新開始進(jìn)行累加計(jì)數(shù)。
2.根據(jù)權(quán)利要求1所述的主從MII管理接口串行通信方法,其特征在于,所述主控器件進(jìn)行MDIO數(shù)據(jù)串行通信的過(guò)程中,主控器件的MDIO處理模塊在讀出MDIO讀操作幀中寄存器地址字段的全部數(shù)據(jù)之后主控計(jì)數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí),主控器件的MDIO處理模塊從讀操作切換為寫操作;主控器件的MDIO處理模塊在接收到MDIO讀操作幀中數(shù)據(jù)字段的全部數(shù)據(jù)之后主控計(jì)數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí),主控器件的MDIO處理模塊從寫操作切換為讀操作。
3.根據(jù)權(quán)利要求1所述的主從MII管理接口串行通信方法,其特征在于,所述從屬器件進(jìn)行MDIO數(shù)據(jù)串行通信的過(guò)程中,若從屬器件的MDIO處理模塊接收到MDIO讀操作幀,且該MDIO讀操作幀中PHY層地址字段指示的物理層芯片地址與從屬器件的芯片地址相同,則從屬器件的MDIO處理模塊在接收到該MDIO讀操作幀中寄存器地址字段的全部數(shù)據(jù)之后從屬計(jì)數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí),從屬器件的MDIO處理模塊從寫操作切換為讀操作;從屬器件的MDIO處理模塊在讀出MDIO讀操作幀中數(shù)據(jù)字段的全部數(shù)據(jù)之后從屬計(jì)數(shù)鎖存處理模塊第I次計(jì)數(shù)復(fù)位為零時(shí),從屬器件的MDIO處理模塊從讀操作切換為寫操作。
4.根據(jù)權(quán)利要求1所述的主從MII管理接口串行通信方法,其特征在于,所述N的優(yōu)選取值范圍為10 100。
5.根據(jù)權(quán)利要求1所述的主從MII管理接口串行通信方法,其特征在于,所述第一預(yù)設(shè)取數(shù)值nl的優(yōu)選取值范圍為N/3 ≤nl ≤ 2N/3 ;所述第二預(yù)設(shè)取數(shù)值n2的優(yōu)選取值范圍為 N/3 ≤ n2 ≤ 2N/3。
6.根據(jù)權(quán)利要求1所述的主從MII管理接口串行通信方法,其特征在于,所述主控器件和從屬器件可分別采用FPGA 芯片編程實(shí)現(xiàn)。
全文摘要
本發(fā)明提出了一種主從MII管理接口串行通信方法,采用本發(fā)明方法實(shí)現(xiàn)一驅(qū)多主從控制系統(tǒng),可以在不借助MDC時(shí)鐘驅(qū)動(dòng)芯片、無(wú)需MDC信號(hào)線的情況下,順利的完成主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間的MDIO數(shù)據(jù)串行通信,從而減少了主控器件的MII管理接口與多個(gè)從屬器件MII管理接口之間的數(shù)據(jù)連線,有助于降低系統(tǒng)PCB走線難度,減少PCB層數(shù),并且也無(wú)需考慮因MDIO信號(hào)線與MDC信號(hào)線的走線等長(zhǎng)處理不當(dāng)導(dǎo)致MDIO數(shù)據(jù)與MDC時(shí)鐘時(shí)序錯(cuò)誤的問(wèn)題,從而從整體上降低系統(tǒng)PCB走線設(shè)計(jì)難度,同時(shí)有助于減少系統(tǒng)中的時(shí)鐘驅(qū)動(dòng)芯片使用量或者時(shí)鐘驅(qū)動(dòng)芯片的管腳使用量,降低系統(tǒng)硬件成本。
文檔編號(hào)G06F13/42GK103235767SQ20131012480
公開日2013年8月7日 申請(qǐng)日期2013年4月11日 優(yōu)先權(quán)日2013年4月11日
發(fā)明者李暉 申請(qǐng)人:和記奧普泰通信技術(shù)有限公司