專利名稱:一種實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及以太網(wǎng)通信指示技術(shù),特別是涉及一種實現(xiàn)以太網(wǎng)建鏈和收發(fā) 包指示的方法及裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)的發(fā)展與普及,以太網(wǎng)以其低成本、高可靠性、安裝簡便、維護 容易和易擴展等優(yōu)點成為非常流行的局域網(wǎng)技術(shù),并且,隨著以太網(wǎng)地不斷改 進,速率的不斷提高,其應(yīng)用范圍也從局域網(wǎng)擴展到城域網(wǎng)。以太網(wǎng)物理層(PHY)芯片是以太網(wǎng)設(shè)備中與外部信號接口的芯片,主要 用于提供以太網(wǎng)的接入通道。目前,大多數(shù)以太網(wǎng)PHY芯片能指示是否建鏈, 并能通過發(fā)光二極管(LED, Light Emitting Diode)指示燈的閃爍來指示收發(fā)包 的信息,但指示的方式并不統(tǒng)一,有的采用不同的LED燈分別來指示建鏈和收 發(fā)包,有的釆用一個LED燈指示。另外,還有些以太網(wǎng)PHY芯片或部分專用 通信芯片的以太網(wǎng)接口,由于接口設(shè)計的問題,并不能指示建鏈及收發(fā)包信息, 或是不能指示得很完備??傮w來說,現(xiàn)有以太網(wǎng)PHY芯片在能否指示建鏈和收發(fā)包信息方面存在兩 類主要的問題第一,不能完全符合用戶操作習(xí)慣。 一般,用戶的操作需求是使用一個LED 燈,當(dāng)以太網(wǎng)建鏈時,LED燈能夠亮,當(dāng)有收發(fā)包時,LED燈能夠閃爍。但現(xiàn) 在的實際應(yīng)用中,有的采用一個LED燈指示,有的釆用多個LED燈指示,并 不統(tǒng)一。第二,不能完善的作出指示。雖然芯片本身能提供用戶是否建鏈和是否有 收發(fā)包的特定指示信息,但這些信息不能通過簡單的電路直接提供到用戶界面上。原因在于 一方面,由于沒有專用管腳,特定指示信息無法直接傳遞并指 示,例如BROADCOM公司10G的PHY芯片BCM8705,由于沒有專門通過 LED指示建鏈和收發(fā)包的管腳,當(dāng)有包收發(fā)時,只能通過通用輸入輸出(GPIO) 管腳發(fā)出100us通、lOOus斷的脈沖,如果采用這樣的信號驅(qū)動LED,通過肉 眼很難分辨這樣的閃爍信號。另一方面,需要讀取專門的寄存器,比如 BCM8705中,是否建鏈只有通過軟件讀取芯片的內(nèi)部寄存器才能獲知。雖然,也可以采用通過軟件發(fā)出驅(qū)動LED命令的方式來實現(xiàn)信息指示,但 這樣做,就需要CPU實時監(jiān)控GPIO管腳信號的變化,而這個變化的頻率非常 快, 一般可能為100us,該變化頻率基本與CPU的運行速度相當(dāng),這樣的話, 如果CPU要反應(yīng)所有的脈沖變化,基本上就無法處理其他的任何事情,不僅耗 費大量的CPU資源,而且對于CPU負擔(dān)較重的單板,付出的代價比較大。發(fā)明內(nèi)容有鑒于此,本發(fā)明的主要目的在于提供一種實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的方法及裝置,能解決一些以太網(wǎng)PHY芯片信息指示不完善,LED燈指示不符合用戶操作習(xí)慣的問題。為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的本發(fā)明提出一種實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的方法,包括CPU根據(jù)從物理層PHY芯片獲取的信息確定是否建鏈,在確定建鏈時,CPU將獲取的建鏈信息寫入可編程邏輯器件CPLD, CPLD根據(jù)得到的建鏈信息驅(qū)動LED燈亮;CPLD檢測是否收到收發(fā)包脈沖,在收到收發(fā)包脈沖時,經(jīng)過延時或固定 頻率的處理,驅(qū)動LED燈閃爍。該方法進一步包括CPLD驅(qū)動LED燈閃爍后,如果在設(shè)定時間段內(nèi)未收 到收發(fā)包脈沖,則驅(qū)動LED燈切換為常亮。該方法進一步包括預(yù)先設(shè)定用于檢測收發(fā)包脈沖是否連續(xù)發(fā)送的時間段 長度。其中,所述時間段長度取值范圍為2秒到5秒。
上述方案中,所述LED燈閃爍為響應(yīng)閃爍、或為固定頻率閃爍。上述方案中,所述驅(qū)動LED閃爍具體為初始化計數(shù)器值為0;在收到第 一個收發(fā)包脈沖時啟動計數(shù),并在計數(shù)器值為閃爍周期長度一半時,對LED燈 指示狀態(tài)取反;在計數(shù)器值為閃爍周期長度時,對LED燈指示狀態(tài)取反,同時 對計數(shù)器值清零。相應(yīng)的,該方法進一步包括預(yù)先^L定對應(yīng)閃爍周期長度的 計數(shù)器值,所述計數(shù)器取值范圍為0.2秒到0.5秒。本發(fā)明還提出一種實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的裝置,包括CPU、 PHY 芯片以及一個LED燈;關(guān)鍵在于,該裝置還包括CPLD,連接于CPU、 PHY 芯片、LED燈之間,用于從CPU獲得建鏈信息,從PHY芯片獲取收發(fā)包信息, 并控制LED燈的指示狀態(tài);相應(yīng)的,CPU用于從PHY芯片的內(nèi)部寄存器讀取建鏈信息,并將獲取的 建鏈信息寫入CPLD。其中,所述PHY芯片的地址線和數(shù)據(jù)線連4妻到CPU, CPU的部分地址線 和數(shù)據(jù)線與CPLD的IO管腳相連;所述PHY芯片上用于指示收發(fā)包的GPIO 腳連接到CPLD的IO管腳;所述CPLD的IO管腳與LED燈相連。本發(fā)明所提供的實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的方法及裝置,在CPU與 GPIO管腳之間設(shè)置并連接可編程邏輯器件(CPLD), CPU只需通過讀取PHY 芯片的內(nèi)部寄存器來獲取建鏈信息并寫入CPLD,由CPLD來驅(qū)動LED燈的指 示。并且,CPLD通過直接監(jiān)控表示有收發(fā)包的PHY芯片上GPIO的脈沖信號, 并進行處理。如此,就可以通過CPLD實現(xiàn)以太網(wǎng)建鏈和收發(fā)包的指示功能, 不僅彌補了部分通訊處理芯片以太網(wǎng)接口 LED燈指示功能不完善的缺陷;而 且,不需要耗費很多CPU資源,又能很好地滿足用戶需求,無需人工干預(yù),成 本低廉,且實現(xiàn)起來相對筒單方便。
圖1為本發(fā)明中狀態(tài)切換示意圖; 圖2為本發(fā)明方法的實現(xiàn)流程示意圖3為本發(fā)明方法中閃爍控制流程示意圖。
具體實施方式
本發(fā)明的基本思想是:在CPU與GPIO管腳之間設(shè)置并連接CPLD,由CPU 負責(zé)讀取PHY芯片的內(nèi)部寄存器獲取信息并寫入CPLD,由CPLD通過直接監(jiān) 控表示有收發(fā)包的PHY芯片上GPIO的脈沖信號并進行處理,并由CPLD來驅(qū) 動LED燈的指示,通過CPLD的控制,使得所采用的一個LED燈能按用戶操 作習(xí)慣指示建鏈和收發(fā)包信息。本發(fā)明所提供的實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的裝置,包括CPU、 PHY芯 片、CPLD和一個LED燈。其中,PHY芯片用于提供建鏈信息和收發(fā)包信息; CPU用于從PHY芯片的內(nèi)部寄存器讀取建鏈信息,并將獲取的建鏈信息寫入 CPLD的內(nèi)部寄存器;CPLD用于從CPU獲得建鏈信息,從PHY芯片獲取收發(fā) 包信息,并控制LED燈的指示狀態(tài)。具體的,PHY芯片的地址線和數(shù)據(jù)線連 接到CPU, CPU的部分地址線和數(shù)據(jù)線與CPLD的IO管腳相連;PHY芯片上 用于指示收發(fā)包的GPIO腳連接到CPLD的IO管腳,CPLD的IO管腳與LED 燈相連,并驅(qū)動LED燈進行指示。實際應(yīng)用中,對于建鏈信息,PHY芯片接收到建鏈信息后保存在自身的寄 存器中,CPU讀取PHY芯片的內(nèi)部寄存器獲取此建鏈信息,再將所獲取的建 鏈信息寫入CPLD的內(nèi)部寄存器,CPLD即可獲得所述建鏈信息,然后CPLD 驅(qū)動LED燈亮來指示建鏈,LED保持亮的狀態(tài)。對于收發(fā)包信息,每當(dāng)有收發(fā)包信息時,PHY芯片就為CPLD提供lOOus 寬度的低電平脈沖,CPLD收到收發(fā)包脈沖后,會控制LED燈進行亮滅閃爍, 表示正在收發(fā)數(shù)據(jù)包。實際上,本發(fā)明的LED燈主要涉及三個狀態(tài)滅燈狀態(tài)、閃爍狀態(tài)和亮燈 保持狀態(tài),與這三個狀態(tài)一一對應(yīng)的信息狀態(tài)是未建鏈狀態(tài)、收發(fā)包狀態(tài)和 建鏈但未收發(fā)包狀態(tài)。因此,本發(fā)明在CPLD中設(shè)定了三個狀態(tài)機,如圖l所 示,包括滅燈狀態(tài)、亮燈保持狀態(tài)和閃爍狀態(tài)。當(dāng)CPLD處于未建鏈狀態(tài)收
到建鏈信息時,從滅燈狀態(tài)切換到亮燈保持狀態(tài)。當(dāng)CPLD處于亮燈保持狀態(tài) 時,如果收到收發(fā)包脈沖,則從亮燈保持狀態(tài)切換到閃爍狀態(tài);如果收到斷鏈 信息,則從亮燈保持狀態(tài)切換到滅燈狀態(tài)。當(dāng)CPLD處于閃爍狀態(tài)時,如果收 到斷鏈信息,則從閃爍狀態(tài)切換到滅燈狀態(tài);如果在指定時間內(nèi)未收到收發(fā)包 脈沖,則從閃爍狀態(tài)切換到亮燈保持狀態(tài)。這里,對于所述指定時間可以預(yù)先設(shè)置時長為M的定時器,該定時器在進 入閃爍狀態(tài)時啟動,每次收到收發(fā)包脈沖時初始化定時器,如果定時器超時, 說明在指定時間內(nèi)未收到過收發(fā)包脈沖,則切換狀態(tài)。所述指定時間也可以通 過閾值為M的計數(shù)器完成,該計數(shù)器在進入閃爍狀態(tài)時開始計lt,每次收到收 發(fā)包脈沖時計數(shù)器清零,如果計數(shù)器達到閾值,說明在指定時間內(nèi)未收到過收 發(fā)包脈沖,則切換狀態(tài)?;趫D1所示的狀態(tài)轉(zhuǎn)換,本發(fā)明實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的具體過 程,如圖2所示,包括以下步驟步驟201:當(dāng)前未建鏈時,LED燈滅。步驟202-203: CPU通過讀取PHY芯片的內(nèi)部寄存器,實時判斷是否建鏈, 如果未讀到建鏈信息,則未建鏈,返回步驟202繼續(xù)判斷,且LED燈保持滅;如果CPU讀到建鏈信息,則表示已建鏈,則CPU輸出低電平,將獲取的 建鏈信息寫入CPLD的內(nèi)部寄存器,CPLD獲得建鏈信息后,驅(qū)動LED燈亮。步驟204-205: CPLD實時檢測是否收到收發(fā)包脈沖,如果有,則驅(qū)動LED 燈開始或保持閃爍,時鐘清零,返回步驟204;否則,執(zhí)行步驟206。步驟206-208:判斷是否到達指定時間,如果是,則驅(qū)動LED燈切換為 常亮,返回步驟204;否則,增加計時,返回步驟204。這里,指定時間可以通過設(shè)定時長為M的定時器、或閾值為M的計數(shù)器 來作為時鐘,M的取值比較寬,從2s到5s都在考慮的范圍內(nèi)。本發(fā)明中,對LED燈閃爍頻率的控制需要結(jié)合考慮以太網(wǎng)的速率情況,比 如在發(fā)送IOM、 IOOOM速率的包時,如果直接把收發(fā)包脈沖指示接到LED 燈上,將會由于脈沖頻率過高,使用戶僅僅看到LED亮,無法達到閃爍的效果;
而通過PCping以太網(wǎng)接口時,由于LED脈沖過窄,用戶也無法看到一閃一閃 的效果。因此,本發(fā)明中可采用兩種閃爍方式 一種是響應(yīng)閃爍, 一種是固定 頻率閃爍。具體的,可預(yù)先設(shè)置一個速率門限,對于低于門限值的慢速收發(fā)包 情況,可以按實際收發(fā)包的頻率控制LED燈閃爍;對于超過門限的高速率收發(fā) 包情況,可采用固定頻率閃爍,也就是控制LED燈按一定周期閃爍,只要控制 閃爍的脈沖寬度能驅(qū)動LED燈,且能達到人眼能夠分辨的閃爍時間長度即可。 為了控制閃爍頻率,需要預(yù)先設(shè)定一個數(shù)值為N的計數(shù)器,在N值對應(yīng)的 時間段內(nèi)控制LED燈一半時間亮一半時間滅,N值可看作是閃爍周期長度。N 值的范圍在0,2s到0.5s之間,因為一般小于0,2s,人眼就無法分辨N/2也就是 O.ls的閃爍;大于0.5s就會感覺閃爍太慢。如圖3所示,具體的LED燈閃爍控制流程包括以下步驟 步驟301:對計數(shù)器值N清零,這里,LED燈的初始指示狀態(tài)是亮。 步驟302:判斷是否收到收發(fā)包脈沖,如果收到,則執(zhí)行步驟303;如果未 收到,返回步驟302繼續(xù)判斷。步驟303-304:判斷N是否為O,如果是,則啟動計it, LED燈保持原狀 態(tài),返回步驟302;否則,執(zhí)行步驟305。步驟305-306:判斷計數(shù)器值是否到N/2,如果等于N/2,則N繼續(xù)計數(shù), LED取反,即LED燈之前為亮,此時變滅;之前為滅,此時變亮,返回步驟 302;如果小于N/2, LED燈保持原狀態(tài),返回步驟302;如果大于N/2,則執(zhí) 行步驟307。步驟3(T7 :308:判斷計數(shù)器值是否到N,如果是,則LED取反,返回步驟 301;否則,LED燈保持原狀態(tài),返回步驟302。在閃爍控制過程中,不接受任何收發(fā)包脈沖。 一般,如果計數(shù)器值N設(shè)置 適當(dāng),也可以不區(qū)分固定頻率閃爍和響應(yīng)閃爍,因為最小的響應(yīng)閃爍周期為N。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
1、一種實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的方法,其特征在于,該方法包括CPU根據(jù)從物理層PHY芯片獲取的信息確定是否建鏈,在確定建鏈時,CPU將獲取的建鏈信息寫入可編程邏輯器件CPLD,CPLD根據(jù)得到的建鏈信息驅(qū)動LED燈亮;CPLD檢測是否收到收發(fā)包脈沖,在收到收發(fā)包脈沖時,經(jīng)過延時或固定頻率的處理,驅(qū)動LED燈閃爍。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進一步包括CPLD 驅(qū)動LED燈閃爍后,如果在設(shè)定時間段內(nèi)未收到收發(fā)包脈沖,則驅(qū)動LED燈 切換為常亮。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法進一步包括預(yù)先設(shè) 定用于檢測收發(fā)包脈沖是否連續(xù)發(fā)送的時間段長度。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述時間段長度取值范圍為 2秒到5秒。
5、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述LED燈閃爍為響應(yīng)閃 爍、或為固定頻率閃爍。
6、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述驅(qū)動LED閃爍具體為 初始化計數(shù)器值為0;在收到第一個收發(fā)包脈沖時啟動計數(shù),并在計數(shù)器值為閃爍周期長度一半時,對LED燈指示狀態(tài)取反;在計數(shù)器值為閃爍周期長 度時,對LED燈指示狀態(tài)取反,同時對計數(shù)器值清零。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,該方法進一步包括預(yù)先設(shè) 定對應(yīng)閃爍周期長度的計數(shù)器值,所述計數(shù)器取值范圍為0.2秒到0.5秒。
8、 一種實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的裝置,包括CPU、 PHY芯片以及 一個LED燈;其特征在于,該裝置還包括CPLD,連接于CPU、 PHY芯片、 LED燈之間,用于從CPU獲得建鏈信息,從PHY芯片獲取收發(fā)包信息,并控 制LED燈的指示狀態(tài); 相應(yīng)的,CPU用于從PHY芯片的內(nèi)部寄存器讀取建鏈信息,并將獲取的 建鏈信息寫入CPLD。
9、根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述PHY芯片的地址線和 數(shù)據(jù)線連接到CPU, CPU的部分地址線和數(shù)據(jù)線與CPLD的10管腳相連;所述PHY芯片上用于指示收發(fā)包的GPIO腳連接到CPLD的IO管腳;所述CPLD的IO管腳與LED燈相連。
全文摘要
本發(fā)明公開了一種實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的方法,包括CPU根據(jù)從物理層PHY芯片獲取的信息確定是否建鏈,在確定建鏈時,CPU將獲取的建鏈信息寫入可編程邏輯器件CPLD,CPLD根據(jù)得到的建鏈信息驅(qū)動LED燈亮;CPLD檢測是否收到收發(fā)包脈沖,在收到收發(fā)包脈沖時,經(jīng)過延時或固定頻率的處理,驅(qū)動LED燈閃爍。本發(fā)明還同時公開了一種實現(xiàn)以太網(wǎng)建鏈和收發(fā)包指示的裝置,采用本發(fā)明的方法及裝置,能解決一些以太網(wǎng)芯片信息指示不完善,LED燈指示不符合用戶操作習(xí)慣的問題。
文檔編號H04L12/28GK101132287SQ200710122549
公開日2008年2月27日 申請日期2007年9月26日 優(yōu)先權(quán)日2007年9月26日
發(fā)明者焦趙云, 羅向前, 強 閆, 陸建鑫 申請人:中興通訊股份有限公司