專利名稱:一種光纖網(wǎng)絡(luò)適配器及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù),更具體地說(shuō),涉及一種光纖網(wǎng)絡(luò)適配器及方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)應(yīng)用的日益普及,各種各樣的網(wǎng)關(guān)設(shè)備在網(wǎng)絡(luò)中部署的越來(lái)越多,光 纖網(wǎng)絡(luò)環(huán)境的應(yīng)用也越來(lái)越廣泛,運(yùn)營(yíng)商和企業(yè)在網(wǎng)絡(luò)業(yè)務(wù)上對(duì)光纖網(wǎng)絡(luò)設(shè)備的穩(wěn)定性和 可靠性,即保證網(wǎng)絡(luò)的高可用性要求越來(lái)越高。網(wǎng)絡(luò)安全設(shè)備一般都是應(yīng)用在兩個(gè)或更多的網(wǎng)絡(luò)之間,比如內(nèi)網(wǎng)和外網(wǎng)之間,網(wǎng) 絡(luò)安全設(shè)備內(nèi)的應(yīng)用程序會(huì)對(duì)通過(guò)他的網(wǎng)絡(luò)封包來(lái)進(jìn)行分析,以判斷是否有威脅存在,處 理完后再按照一定的路由規(guī)則將封包轉(zhuǎn)發(fā)出去,而如果這臺(tái)網(wǎng)絡(luò)安全設(shè)備出現(xiàn)了故障,比 如斷電或死機(jī)后,那連接這臺(tái)設(shè)備上所以網(wǎng)段也就彼此失去聯(lián)系了,這個(gè)時(shí)候如果要求各 個(gè)網(wǎng)絡(luò)彼此還需要處于連通狀態(tài),那么就必須利用Bypass 了。Bypass顧名思義,就是旁路功能,也就是說(shuō)可以通過(guò)特定的觸發(fā)狀態(tài)(斷電或死 機(jī))讓兩個(gè)網(wǎng)絡(luò)不通過(guò)網(wǎng)絡(luò)安全設(shè)備的系統(tǒng),而直接物理上導(dǎo)通。所以有了 Bypass后,當(dāng) 網(wǎng)絡(luò)安全設(shè)備故障以后,還可以讓連接在這臺(tái)設(shè)備上的網(wǎng)絡(luò)相互導(dǎo)通,當(dāng)然這個(gè)時(shí)候這臺(tái) 網(wǎng)絡(luò)設(shè)備也就不會(huì)再對(duì)網(wǎng)絡(luò)中的封包做處理了。為提高網(wǎng)絡(luò)的可靠性和穩(wěn)定性需要解決各類網(wǎng)絡(luò)串接網(wǎng)關(guān)設(shè)備(如網(wǎng)絡(luò)防火墻、 IPS、防病毒網(wǎng)關(guān)、UTM、防垃圾郵件網(wǎng)關(guān)、VPN等)因意外失效(如硬件故障、電源故障、軟件 死鎖等)而成為單點(diǎn)故障,或在其它網(wǎng)關(guān)設(shè)備進(jìn)行升級(jí)維護(hù)時(shí)需及時(shí)切換設(shè)備,防止網(wǎng)絡(luò) 癱瘓。還需要解決因網(wǎng)絡(luò)手工切換帶來(lái)的時(shí)間延誤和網(wǎng)絡(luò)運(yùn)行管理的困難。目前解決這些 問(wèn)題,有的采用了雙線路方案來(lái)保證網(wǎng)絡(luò)高可用性,但成本非常高。因此,能將網(wǎng)絡(luò)鏈路保 護(hù)為旁路狀態(tài)的帶Bypass功能的光纖網(wǎng)絡(luò)適配器成為市場(chǎng)必然需要的產(chǎn)品。而現(xiàn)有技術(shù)中,Bypass 一般按照控制方式或者稱為觸發(fā)方式來(lái)分,可以分為以下 幾個(gè)方式1、通過(guò)電源觸發(fā)。這種方式下,一般是在設(shè)備沒(méi)有通電的情況下,Bypass功能打 開(kāi),如果設(shè)備一旦通電后,Bypass立即調(diào)整為關(guān)閉狀態(tài)。2、由通用輸入/輸出(General-Purpose IO ports,簡(jiǎn)稱GPI0)來(lái)控制。在進(jìn)入 OS后,可以通過(guò)GPIO來(lái)對(duì)特定的端口操作,從而實(shí)現(xiàn)對(duì)Bypass開(kāi)關(guān)的控制。3、由Watchdog來(lái)控制。這種情況實(shí)際是對(duì)方式2的一種延伸應(yīng)用,可以通過(guò) Watchdog來(lái)控制GPIO Bypass程序的啟用與關(guān)閉,從而實(shí)現(xiàn)對(duì)Bypass狀態(tài)的控制。使用這 種方式后,平臺(tái)如果死機(jī)就可以由Watchdog來(lái)打開(kāi)Bypass。在實(shí)際的應(yīng)用中,上述3種狀態(tài)往往是同時(shí)存在的,尤其是1和2兩種方式。但是, 現(xiàn)有技術(shù)中由于采了 GPIO控制,會(huì)帶來(lái)以下缺點(diǎn)1、軟件移植和硬件設(shè)計(jì)在通用性方面都比較差,會(huì)增加產(chǎn)品的開(kāi)發(fā)周期,2、系統(tǒng)開(kāi)關(guān)機(jī)的瞬間狀態(tài)不易確定。3、采用GPIO控制設(shè)計(jì),常采用邊沿觸發(fā),在系統(tǒng)開(kāi)關(guān)機(jī)時(shí)無(wú)論系統(tǒng)是否已進(jìn)入正常工作狀態(tài),只要GPIO出現(xiàn)邊沿觸發(fā)狀態(tài),Bypass功能單元就會(huì)改變狀態(tài),導(dǎo)致?tīng)顟B(tài)很難 控制,同時(shí)易受到干擾,易造成不穩(wěn)定。
發(fā)明內(nèi)容
本發(fā)明的目的之一,在于在光纖網(wǎng)絡(luò)中串接網(wǎng)關(guān)設(shè)備失效引起網(wǎng)絡(luò)單點(diǎn)故障或網(wǎng) 關(guān)設(shè)備升級(jí)維護(hù)時(shí)需要跟換設(shè)備,而引發(fā)網(wǎng)絡(luò)癱瘓或因網(wǎng)絡(luò)手工切換維護(hù)帶來(lái)時(shí)間延誤和 網(wǎng)絡(luò)運(yùn)行管理困難,而提供一種光纖網(wǎng)絡(luò)適配器及方法。本發(fā)明的目的之二,在于針對(duì)現(xiàn)有技術(shù)Bypass采用GPIO控制的缺點(diǎn),而提供一種 光纖網(wǎng)絡(luò)適配器及方法。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是構(gòu)造一種光纖網(wǎng)絡(luò)適配器,包括光 纖信號(hào)單元、與所述光纖信號(hào)單元連接的光纖切換單元以及與所述光纖切換單元連接的光 纖網(wǎng)絡(luò)接口,其中所述光纖信號(hào)單元用于計(jì)算機(jī)系統(tǒng)信號(hào)與光網(wǎng)絡(luò)信號(hào)之間的轉(zhuǎn)換處理; 所述光纖切換單元負(fù)責(zé)光網(wǎng)絡(luò)信道的切換,包括正常工作狀態(tài)和旁路工作狀態(tài)的切換;所 述光纖網(wǎng)絡(luò)接口設(shè)有光纖接口并通過(guò)該光纖接口與外網(wǎng)進(jìn)行光纖連接;其中,所述光纖切換單元2采用I2C總線作為控制總線,用于通過(guò)I2C總線進(jìn)行數(shù) 據(jù)接收、識(shí)別并執(zhí)行輸出用戶預(yù)期的動(dòng)作,包括在系統(tǒng)死機(jī)或主機(jī)掉電的意外情況下,通過(guò) 其內(nèi)部機(jī)制實(shí)現(xiàn)工作狀態(tài)強(qiáng)制轉(zhuǎn)換或看門狗復(fù)位并保留當(dāng)前的狀態(tài),以保護(hù)網(wǎng)絡(luò)的正常通 行;該內(nèi)部機(jī)制設(shè)置有正常工作模式、旁路工作模式、看門狗工作模式控制網(wǎng)絡(luò)的正常工作 狀態(tài)和旁路工作狀態(tài)當(dāng)接到正常工作模式的命令,系統(tǒng)被強(qiáng)制進(jìn)入正常工作狀態(tài);當(dāng)接到旁路工作模式的命令,系統(tǒng)被強(qiáng)制進(jìn)入旁路工作狀態(tài);當(dāng)系統(tǒng)工作在看門狗工作模式,系統(tǒng)要在設(shè)置時(shí)間內(nèi)給出喂狗指令,否則系統(tǒng)將 觸發(fā)看門狗,系統(tǒng)進(jìn)入旁路工作狀態(tài)。本發(fā)明中,所述光纖信號(hào)單元包括網(wǎng)絡(luò)芯片以及連接在所述網(wǎng)絡(luò)芯片與所述光纖 切換單元之間的光電模塊,所述網(wǎng)絡(luò)芯片將主機(jī)的一組PCIE X4的信號(hào)轉(zhuǎn)換為光纖網(wǎng)絡(luò)電 信號(hào)并輸入至所述光電模塊,所述光電模塊負(fù)責(zé)將輸入的光纖網(wǎng)絡(luò)電信號(hào)轉(zhuǎn)換為光信號(hào)并 輸出至所述光纖切換單元。本發(fā)明中,所述光纖切換單元包括連接在所述光電模塊與所述光纖網(wǎng)絡(luò)接口之間 的光纖切換器以及與所述光纖切換器連接的控制模塊,所述光纖切換器在控制模塊的控制 下對(duì)網(wǎng)絡(luò)工作狀態(tài)進(jìn)行切換。本發(fā)明中,所述控制模塊包括單片機(jī)以及與所述單片機(jī)連接的狀態(tài)指示燈,當(dāng)控 制模塊控制光纖切換單元進(jìn)行網(wǎng)絡(luò)工作狀態(tài)切換時(shí),通過(guò)控制模塊改變所述狀態(tài)指示燈的 指示情況。本發(fā)明還同時(shí)公開(kāi)了一種控制光纖切換的方法,在用戶內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間設(shè)置一光纖網(wǎng)絡(luò)適配器,該光纖網(wǎng)絡(luò)適配器包 括采用I2C總線作為控制總線;單片機(jī)控制器通過(guò)I2C總線進(jìn)行數(shù)據(jù)接收、識(shí)別并執(zhí)行輸出用戶預(yù)期的動(dòng)作,包 括在系統(tǒng)死機(jī)或主機(jī)掉電的意外情況下,通過(guò)其內(nèi)部機(jī)制實(shí)現(xiàn)工作狀態(tài)強(qiáng)制轉(zhuǎn)換或看門狗復(fù)位并保留當(dāng)前的狀態(tài),以保護(hù)網(wǎng)絡(luò)的正常通行;其中,該內(nèi)部機(jī)制設(shè)置的正常工作模式、旁路工作模式、看門狗工作模式控制網(wǎng)絡(luò) 的正常工作狀態(tài)和旁路工作狀態(tài)當(dāng)接到正常工作模式的命令,系統(tǒng)被強(qiáng)制進(jìn)入正常工作狀態(tài);當(dāng)接到旁路工作模式的命令,系統(tǒng)被強(qiáng)制進(jìn)入旁路工作狀態(tài);當(dāng)系統(tǒng)工作在看門狗工作模式,系統(tǒng)要在設(shè)置時(shí)間內(nèi)給出喂狗指令,否則系統(tǒng)將 觸發(fā)看門狗,系統(tǒng)進(jìn)入旁路工作狀態(tài)。本發(fā)明中,還包括在系統(tǒng)中通過(guò)I2C總線對(duì)單片機(jī)進(jìn)行控制設(shè)置。本發(fā)明中,對(duì)單片機(jī)進(jìn)行控制設(shè)置的步驟具體包括I2C通信檢測(cè)步驟;數(shù)據(jù)接收步驟;定時(shí)器操作步驟;以及執(zhí)行輸出動(dòng)作步驟,其中,I2C總線通信檢查步驟具體包括開(kāi)機(jī)時(shí)對(duì)寄存器、定時(shí)器的預(yù)分頻器以及 看門狗進(jìn)行定義并初始化設(shè)置,檢測(cè)I2C總線通信是否開(kāi)始,若沒(méi)有則進(jìn)入定時(shí)器操作步 驟,若檢測(cè)開(kāi)始則進(jìn)入數(shù)據(jù)接收步驟;數(shù)據(jù)接收處理步驟具體包括先接收主機(jī)發(fā)過(guò)來(lái)的地址數(shù)據(jù)并檢測(cè)是否正確,正 確后接著接收模式數(shù)據(jù),否則直接跳到定時(shí)器操作處理步驟。單片機(jī)接收完模式數(shù)據(jù)就開(kāi) 始檢測(cè)本次通信是否結(jié)束,若是則進(jìn)入數(shù)據(jù)處理步驟并產(chǎn)生相應(yīng)的輸出動(dòng)作,否則視為異 常直接進(jìn)入定時(shí)器處理步驟,其中系統(tǒng)約定數(shù)據(jù)的通信格式是一個(gè)字節(jié)地址數(shù)據(jù)和一個(gè) 字節(jié)模式數(shù)據(jù)。定時(shí)器操作步驟具體包括看門狗的時(shí)間計(jì)數(shù),當(dāng)處理完畢跳回I2C總線通信檢 測(cè)入口處進(jìn)行新一輪的數(shù)據(jù)檢測(cè)。執(zhí)行輸出動(dòng)作步驟具體包括對(duì)緩沖區(qū)的數(shù)據(jù)類型進(jìn)行進(jìn)一步的模式鑒別,根據(jù) 鑒別結(jié)果將輸出置為正常工作模式,或旁路工作模式,或看門狗工作模式。本發(fā)明中,還包括數(shù)據(jù)保護(hù)處理步驟,具體包括檢測(cè)看門狗是否復(fù)位,復(fù)位則將部分寄存器賦予初 值,否則將全部寄存器賦予初值。本發(fā)明中,I2C總線通信檢查步驟的初始化設(shè)置之后還包括讀入A 口狀態(tài),建立單片機(jī)的通信地址,置輸出為正常工作模式,將內(nèi)部計(jì)時(shí)器清零。本發(fā)明中,對(duì)看門狗定義的時(shí)間控制模式包括2秒,4秒,16秒,32秒,64秒,128 秒和256秒的時(shí)間控制模式。實(shí)施本發(fā)明所述光纖網(wǎng)絡(luò)適配器及方法,具有以下有益效果1、可有效防止各類網(wǎng)絡(luò)串接網(wǎng)關(guān)設(shè)備(如網(wǎng)絡(luò)防火墻、IPS、防病毒網(wǎng)關(guān)、UTM、防 垃圾郵件網(wǎng)關(guān)、VPN等)因意外失效(如硬件故障、電源故障、軟件死鎖等)而成為單點(diǎn)故 障,或在其它網(wǎng)關(guān)設(shè)備進(jìn)行升級(jí)維護(hù)時(shí)提供有利幫助,防止網(wǎng)絡(luò)癱瘓,提高網(wǎng)絡(luò)可靠性。2、可避免因網(wǎng)絡(luò)手工切換帶來(lái)的時(shí)間延誤和網(wǎng)絡(luò)運(yùn)維管理困難,在網(wǎng)絡(luò)手工切換 時(shí)使網(wǎng)絡(luò)鏈路保護(hù)為旁路狀態(tài),確保網(wǎng)絡(luò)暢通。
3、采用本發(fā)明所述光纖網(wǎng)絡(luò)適配器及方法,作為為各企事業(yè)單位網(wǎng)絡(luò)高可用性運(yùn) 行保障解決方案成本低,解決了采用雙線路方案保證網(wǎng)絡(luò)高可用性帶來(lái)的高額成本問(wèn)題。進(jìn)一步的,實(shí)施本發(fā)明所述光纖網(wǎng)絡(luò)適配器及方法,還具有以下有益效果由于本 發(fā)明Bypass采用傳統(tǒng)的I2C總線設(shè)計(jì)可縮短產(chǎn)品的開(kāi)發(fā)周期,并且采用I2C總線控制,在 系統(tǒng)沒(méi)有進(jìn)入正常工作狀態(tài)前,I2C總線沒(méi)法工作,Bypass功能單元不會(huì)隨意改變狀態(tài),而 一直保持初始值,因此可以解決在系統(tǒng)開(kāi)關(guān)機(jī)時(shí)狀態(tài)難控制,同時(shí)易受到干擾,易造成不穩(wěn) 定等的問(wèn)題。
下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明,附圖中
圖1是本發(fā)明所述光纖網(wǎng)絡(luò)適配器的系統(tǒng)框圖2是圖1的優(yōu)選實(shí)施例的示意圖3是本發(fā)明所述控制模塊的電路框圖4是本發(fā)明所述控制器的結(jié)構(gòu)示意圖5是本發(fā)明控制器的軟件部分的流程圖6是本發(fā)明接收數(shù)據(jù)的流程圖7是本發(fā)明定時(shí)器計(jì)數(shù)的流程圖8是本發(fā)明將接收到的數(shù)據(jù)進(jìn)行處理的流程圖9是本發(fā)明1路看門狗的執(zhí)行單元處理數(shù)據(jù)的流程圖10是本發(fā)明2路看門狗的執(zhí)行單元處理數(shù)據(jù)的流程圖11是本發(fā)明保護(hù)看門狗復(fù)位前的數(shù)據(jù)狀態(tài)的流程圖12是本發(fā)明所述光纖網(wǎng)絡(luò)適配器處于Bypass狀態(tài)下的示意圖13是本發(fā)明所述光纖網(wǎng)絡(luò)適配器處于Normal狀態(tài)下的示意圖。
具體實(shí)施例方式為了使本發(fā)明所要解決的技術(shù)問(wèn)題、技術(shù)方案及有益效果更加清楚明白,以下結(jié) 合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用 以解釋本發(fā)明,并不用于限定本發(fā)明。如圖1所示,本發(fā)明所述光纖網(wǎng)絡(luò)適配器,其包括光纖信號(hào)單元1、與所述光纖信 號(hào)單元1連接的光纖切換單元2以及與所述光纖切換單元2連接的光纖網(wǎng)絡(luò)接口 3,其中所 述光纖信號(hào)單元1用于計(jì)算機(jī)系統(tǒng)信號(hào)與光網(wǎng)絡(luò)信號(hào)之間的轉(zhuǎn)換處理;所述光纖切換單元 2負(fù)責(zé)光網(wǎng)絡(luò)信道的切換,包括正常工作狀態(tài)和旁路工作狀態(tài)的切換;所述光纖網(wǎng)絡(luò)接口 3 設(shè)有光纖接口并通過(guò)該光纖接口與外網(wǎng)進(jìn)行光纖連接。其中,光纖切換單元2采用I2C總線作為控制總線,用于通過(guò)I2C總線進(jìn)行數(shù)據(jù)接 收、識(shí)別并執(zhí)行輸出用戶預(yù)期的動(dòng)作,包括在系統(tǒng)死機(jī)或主機(jī)掉電的意外情況下,通過(guò)其內(nèi) 部機(jī)制實(shí)現(xiàn)工作狀態(tài)強(qiáng)制轉(zhuǎn)換或看門狗復(fù)位并保留當(dāng)前的狀態(tài),以保護(hù)網(wǎng)絡(luò)的正常通行; 該內(nèi)部機(jī)制設(shè)置的正常(Normal)工作模式、旁路(Bypass)工作模式、看門狗工作模式控制 網(wǎng)絡(luò)的正常工作狀態(tài)和旁路工作狀態(tài)當(dāng)接到正常工作模式的命令,系統(tǒng)被強(qiáng)制進(jìn)入正常工作狀態(tài);
當(dāng)接到旁路工作模式的命令,系統(tǒng)被強(qiáng)制進(jìn)入旁路工作狀態(tài);當(dāng)系統(tǒng)工作在看門狗工作模式,系統(tǒng)要在設(shè)置時(shí)間內(nèi)給出喂狗指令,否則系統(tǒng)將 觸發(fā)看門狗,系統(tǒng)進(jìn)入旁路工作狀態(tài)。其中,光纖信號(hào)單元1包括網(wǎng)絡(luò)芯片4以及連接在網(wǎng)絡(luò)芯片4與光纖切換單元2 之間的光電模塊5,網(wǎng)絡(luò)芯片4將主機(jī)的一組PCIE X4插口的信號(hào)轉(zhuǎn)換為光纖網(wǎng)絡(luò)電信號(hào)并 輸入至所述光電模塊5,光電模塊5負(fù)責(zé)將輸入的光纖網(wǎng)絡(luò)電信號(hào)轉(zhuǎn)換為光信號(hào)并輸出至 光纖切換單元2,其中網(wǎng)絡(luò)芯片4采用PCIE總線,將基本的計(jì)算機(jī)PCIE總線協(xié)議格式的數(shù) 據(jù)轉(zhuǎn)換成IEEE802網(wǎng)絡(luò)協(xié)議格式傳輸數(shù)據(jù),構(gòu)成與計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)傳輸接口核心。此外,光纖切換單元2包括連接在光電模塊5與光纖網(wǎng)絡(luò)接口 3之間的光纖切換 器6以及與光纖切換器6連接的控制模塊7。光纖切換器6是在控制模塊7的控制下進(jìn)行 網(wǎng)絡(luò)切換的設(shè)備,通過(guò)控制模塊7可以對(duì)網(wǎng)絡(luò)工作狀態(tài)進(jìn)行切換。本發(fā)明所述的光纖網(wǎng)絡(luò)適配器接于用戶內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間,光纖網(wǎng)絡(luò)適配 器可以嵌入至串行網(wǎng)關(guān)設(shè)備中,也可與串行網(wǎng)關(guān)設(shè)備并行安裝在網(wǎng)絡(luò)中,光纖網(wǎng)絡(luò)適配器 包含Bypass工作狀態(tài)和Normal工作狀態(tài),在Bypass工作狀態(tài)下(如圖12所示),數(shù)據(jù)不 通過(guò)串行網(wǎng)關(guān)設(shè)備,用戶內(nèi)部網(wǎng)絡(luò)通過(guò)該光纖網(wǎng)絡(luò)適配器與外部網(wǎng)絡(luò)物理接通;在正常工 作狀態(tài)下(如圖13所示),該光纖網(wǎng)絡(luò)適配器處于透明工作狀態(tài),用戶內(nèi)部網(wǎng)絡(luò)通過(guò)串行網(wǎng) 關(guān)設(shè)備與外部網(wǎng)絡(luò)物理接通。本發(fā)明的一個(gè)優(yōu)選實(shí)施例如圖2所示,網(wǎng)絡(luò)芯片4將主機(jī)的一組PCIE X4插口的 電信號(hào)轉(zhuǎn)換為兩組光纖網(wǎng)絡(luò)電信號(hào)輸入至兩組光電模塊5,光電模塊5負(fù)責(zé)將輸入的光纖 網(wǎng)絡(luò)電信號(hào)轉(zhuǎn)換為光纖網(wǎng)絡(luò)光信號(hào)并輸出至光線切換器6,這里網(wǎng)絡(luò)芯片4的型號(hào)可以采 用INTEL 82571EB型號(hào)的芯片。光纖切換器6負(fù)責(zé)進(jìn)行光纖切換以實(shí)現(xiàn)Bypass功能。光纖切換器6實(shí)現(xiàn)Bypass 工作狀態(tài)切換的控制模塊7采用I2C總線的單片機(jī)編程設(shè)計(jì),以提高產(chǎn)品的通用性能及 可靠性,其控制模塊7的電路框圖如圖3所示,包括單片機(jī)、狀態(tài)指示燈及其它控制芯片。 Bypass控制電路采用I2C總線的單片機(jī)編程設(shè)計(jì),提高了產(chǎn)品的通用性能及可靠性,可以 廣泛應(yīng)用于各種網(wǎng)安設(shè)備當(dāng)中,其工作原理如下當(dāng)系統(tǒng)通過(guò)I2C總線發(fā)送指令給單片機(jī), 單片機(jī)接受指令判斷系統(tǒng)是要求對(duì)A組或B組進(jìn)行Bypass工作狀態(tài)切換,從而發(fā)出A或B 的控制信號(hào)給光纖切換器,要求它控制光纖切換器A或B (本優(yōu)選實(shí)施例中設(shè)置有兩個(gè)光纖 切換器)的控制腳R(圖1中所示)工作電壓,從而實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)工作狀態(tài)的切換,例如,當(dāng)控 制腳工作電壓被給為Vcc (光纖切換器工作電壓)時(shí),光纖切換器為正常工作狀態(tài),當(dāng)控制 腳工作電壓不被給為Vcc (光纖切換器工作電壓)時(shí),光纖切換器為Bypass工作狀態(tài)。當(dāng) 控制模塊7控制光纖切換單元2進(jìn)行網(wǎng)絡(luò)工作狀態(tài)切換時(shí),可以通過(guò)控制模塊7改變所述 狀態(tài)指示燈的指示情況。本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,控制模塊7是采用價(jià)廉的10P05MCU單片機(jī)作為控制 器,直接掛在I2C總線上。主機(jī)通過(guò)對(duì)I2C總線操作達(dá)到控制單片機(jī)的目的。該控制器的 結(jié)構(gòu)示意圖如圖4所示該控制器具備兩路獨(dú)立的輸出。以1路為例(圖4中為WDT0UT1, Normal_LED 1,Bypass_LED 1),Normal_LED 1,Bypass_LED 1 這兩 Pin 引腳用來(lái)指示 1 路當(dāng)前的 工作狀態(tài),WDTOUT1是輸出控制光口繼電器的信號(hào)。1路處于Bypass工作模式時(shí),WDTOUT1 輸出有效控制信號(hào)控制光口繼電器發(fā)生動(dòng)作。
整個(gè)控制結(jié)構(gòu)的軟件控制部分主要由I2C總線通信檢測(cè)、數(shù)據(jù)接收處理、定時(shí)器 操作、執(zhí)行輸出動(dòng)作這四個(gè)模塊組成,具體流程包括首先是對(duì)用到的寄存器進(jìn)行初始化, 并建立一些關(guān)鍵標(biāo)志位用于過(guò)程控制(比如看門狗標(biāo)志);其次是I2C總線通信流程設(shè)置; 再次是內(nèi)部定時(shí),因?yàn)樵搯纹瑱C(jī)不支持中斷,所以在定時(shí)時(shí)只能采用計(jì)數(shù)的方法來(lái)處理;然 后是對(duì)接收的數(shù)據(jù)進(jìn)行處理與跳轉(zhuǎn),在此需要注意異常數(shù)據(jù)的處理與解決;最后是整體軟 件結(jié)構(gòu)的構(gòu)成,對(duì)各個(gè)功能采用模塊調(diào)用有利于編程與日后的維護(hù)升級(jí)。以下將對(duì)上述軟 件控制部分的具體流程作進(jìn)一步的說(shuō)明。圖5所示的流程圖主要是開(kāi)機(jī)時(shí)對(duì)寄存器、定時(shí)器的預(yù)分頻器、看門狗進(jìn)行定義 并初始化,然后讀入A 口狀態(tài),建立單片機(jī)的通信地址,并將內(nèi)部計(jì)時(shí)器RTCC清零,并置1 路、2路為默認(rèn)的Normal工作模式。之后開(kāi)始檢測(cè)I2C總線通信是否開(kāi)始。若沒(méi)有則進(jìn)入 定時(shí)器記時(shí)處理(如圖7所示),若是便進(jìn)入如圖6所示的接收數(shù)據(jù)流程。如圖6所示,該接收數(shù)據(jù)流程主要是接收主機(jī)發(fā)過(guò)來(lái)的數(shù)據(jù),第一個(gè)數(shù)據(jù)是地址, 接收并檢測(cè)地址是否正確,正確后再進(jìn)行接收接下來(lái)傳過(guò)來(lái)的數(shù)據(jù),否則跳過(guò)檢測(cè)進(jìn)入定 時(shí)器記時(shí)處理。等待檢測(cè)到接收數(shù)據(jù)結(jié)束信號(hào),則進(jìn)入數(shù)據(jù)處理(如圖8所示);等待檢測(cè) 不到接收數(shù)據(jù)結(jié)束信號(hào),則視為異常并進(jìn)入定時(shí)器記時(shí)處理(如圖7所示)。圖7所示的流程是定時(shí)器記時(shí)處理,主要用于看門狗的時(shí)間計(jì)數(shù)。處理完后跳回 到重新檢測(cè)I2C總線通信入口處進(jìn)行新一輪的數(shù)據(jù)檢測(cè),具體流程為進(jìn)入定時(shí)入口,讀取RTCC計(jì)時(shí)器值,并判斷RTCC計(jì)時(shí)器值是否大于預(yù)設(shè)值(例如 39),大于則將RTCC計(jì)時(shí)器值重新賦值;否則跳到圖5中檢測(cè)入口步驟。對(duì)RTCC計(jì)時(shí)器值 重新賦值后,判斷1路是否處于看門狗模式(TF. 0 = 1代表1路處于看門狗模式),1路是 處于看門狗模式則將1路看門狗的時(shí)間計(jì)數(shù)器C0UNT11自減并判斷是否為零,為零則再將 1路看門狗的時(shí)間計(jì)數(shù)器C0UNT11重新賦值,COUNTl自減并判斷是否為零,為零則作1路溢 出處理。上述1路溢出處理后,或1路不是處于看門狗模式,或C0UNT11不為零,則進(jìn)入判 斷2路是否處于看門狗模式(TF. 1 = 1代表2路處于看門狗模式,若2路是處于看門狗模 式,則將2路看門狗的時(shí)間計(jì)數(shù)器C0UNT22自減并判斷是否為零,為零則再將2路看門狗的 時(shí)間計(jì)數(shù)器C0UNT22重新賦值,C0UNT2自減并判斷是否為零,為零則作2路溢出處理。上 述2路溢出處理后,或2路不是處于看門狗模式,或C0UNT22不為零,則跳到圖5中檢測(cè)入 口步驟。圖8所示的流程主要用于處理接收到的數(shù)據(jù)的類型,并轉(zhuǎn)入相應(yīng)的執(zhí)行單元。具 體流程包括進(jìn)入數(shù)據(jù)處理入口,讀入RXBUF緩沖區(qū)的數(shù)據(jù),判斷RXBUF. 3是否為1,則繼續(xù)判斷 RXBUF. 2是否為1,為1則跳到2路數(shù)據(jù)模式處理,為零則跳到1路數(shù)據(jù)處理;若RXBUF. 3等 于零,則表明此數(shù)據(jù)是喂狗,因此將分別判斷TF. 0和TF. 1是否為1 (注意TF. 0是1路的看 門狗狀態(tài)標(biāo)志位,為1則表示該路處于看門狗模式,為0則表示該路不處于看門狗模式;同 理TF. 1是2路看門狗狀態(tài)標(biāo)志位,為1則表示該路處于看門狗模式,為0表示不出于看門 狗模式。)以1路為例,若檢測(cè)到TF. 0等于1,再判斷RXBUF. 0是否等于1,為1表示喂狗, 為零則說(shuō)明不喂狗;同理2路的處理方法類似1路,這里不再細(xì)講。圖9所示的流程是1路看門狗的執(zhí)行單元,即處理主機(jī)發(fā)過(guò)來(lái)的數(shù)據(jù)并輸出執(zhí)行 動(dòng)作。具體流程包括
進(jìn)入到1路模式處理入口后,通過(guò)檢測(cè)RXBUF. 0和RXBUF. 1這兩位進(jìn)行進(jìn)一步的 模式鑒別,若RXBUF. 0和RXBUF. 1的值為00則說(shuō)明將1路置于看門狗工作模式;為01表示 將1路置于強(qiáng)制BYPASS模式;為10則表示將1路置于0FF_WDT模式;為11則表示將1路 置于NORMAL模式。圖10所示的流程是2路看門狗的執(zhí)行單元,用于處理接收到的數(shù)據(jù)并輸出執(zhí)行動(dòng) 作。圖9圖10所示的結(jié)構(gòu)基本一樣,只是處理的對(duì)象不同,MOSIl處理代表的是1路數(shù)據(jù)處 理,同理M0SI2代表的是2路的數(shù)據(jù)處理。RXBUF代表的是程序里的接收緩沖區(qū),RXBUF. 0 與RXBUF. 1兩位代表的是數(shù)據(jù)的類型。BYPASS 1、BYPASS2分別代表1路與2路的BYPASS處 理,WDT1、WDT2分別代表的是1路與2路的看門狗處理。0FF_WDT1、0FF_WDT2分別代表的是 1路2路的關(guān)看門狗。N0RMAL1、N0RMAL2分表代表的是1路和2路的正常工作模式處理。上述圖8-10關(guān)于Normal工作模式、Bypass工作模式以及看門狗工作模式的設(shè)定,
可以參考下面的數(shù)據(jù)格式 圖11所示的流程主要是用于保護(hù)由于外界的干擾導(dǎo)致看門狗復(fù)位后進(jìn)行的一些 數(shù)據(jù)保護(hù)處理,主要是保護(hù)了看門狗復(fù)位前的數(shù)據(jù)狀態(tài)。具體包括以下流程進(jìn)入復(fù)位入口,檢測(cè)看門狗WDT是否復(fù)位,復(fù)位則將部分寄存器賦予初值,否則將 全部寄存器賦予初值,然后跳到圖5中的檢測(cè)入口步驟。綜上,本發(fā)明控制光纖切換的方法,首先是對(duì)用到的寄存器進(jìn)行初始化,并建立一 些關(guān)鍵標(biāo)志位用于過(guò)程控制(比如看門狗標(biāo)志);其次是I2C通信的編程,在編程中要注意 在實(shí)際過(guò)程中可能出現(xiàn)的問(wèn)題并加以解決;再次是內(nèi)部定時(shí),因?yàn)樵搯纹瑱C(jī)不支持中斷,所 以只能采用定計(jì)數(shù)的方法來(lái)處理;然后是對(duì)接受的數(shù)據(jù)進(jìn)行處理與跳轉(zhuǎn),在此需要注意異 常數(shù)據(jù)的處理與解決;最后是整體軟件結(jié)構(gòu)的構(gòu)成,對(duì)各個(gè)功能采用模塊調(diào)用有利于編程與日后的維護(hù)升級(jí)。綜上所述,由于本發(fā)明采用I2C總線控制光纖Bypass電路以提高產(chǎn)品的通用性, 兩組Bypass控制,同時(shí)支持電源失效Bypass控制。支持看門狗控制模式,有2秒,4秒,16 秒,32秒,64秒,128秒和256秒等時(shí)間控制模式。前面板有正常模式與Bypass模式LED指 示燈,具有以下有益效果1.網(wǎng)絡(luò)鏈路斷路自動(dòng)保護(hù)可自動(dòng)監(jiān)測(cè)網(wǎng)線連接情況,若發(fā)現(xiàn)串行網(wǎng)關(guān)設(shè)備網(wǎng)線 斷路,系統(tǒng)將自動(dòng)切換網(wǎng)絡(luò)連接,旁路串行網(wǎng)關(guān)設(shè)備,從而保護(hù)網(wǎng)絡(luò)運(yùn)行正常。2.可自定義軟件切換便于串行網(wǎng)關(guān)設(shè)備下線維護(hù)或升級(jí)時(shí),可自定義程序在系 統(tǒng)中通過(guò)I2C總線對(duì)單片機(jī)進(jìn)行控制,當(dāng)單片機(jī)控制使單片機(jī)對(duì)光纖切換器進(jìn)行隨時(shí)切 換,亦可以支持定時(shí)做切換,提高網(wǎng)絡(luò)靈活。3.斷電自動(dòng)保護(hù)功能系統(tǒng)設(shè)備掉電的時(shí)候,光纖切換器R腳工作電壓不被給 為Vcc (光纖切換器工作電壓)時(shí),光纖切換器自動(dòng)進(jìn)行工作狀態(tài)切換,使光纖切換器進(jìn)入 Bypass狀態(tài),能夠保障網(wǎng)絡(luò)運(yùn)行正常。4. Bypass燈指示當(dāng)控制模塊對(duì)光纖切換單元狀態(tài)進(jìn)行切換時(shí),同時(shí)通過(guò)控制模 塊改變狀態(tài)燈的指示情況,使Bypass狀態(tài)指示燈或正常工作狀態(tài)指示燈點(diǎn)亮,可以很方便 地知道系統(tǒng)網(wǎng)絡(luò)的工作狀態(tài)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡是本發(fā)明的精 神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種光纖網(wǎng)絡(luò)適配器,其特征在于,包括光纖信號(hào)單元(1)、與所述光纖信號(hào)單元(1)連接的光纖切換單元(2)以及與所述光纖切換單元(2)連接的光纖網(wǎng)絡(luò)接口(3),其中所述光纖信號(hào)單元(1)用于計(jì)算機(jī)系統(tǒng)信號(hào)與光網(wǎng)絡(luò)信號(hào)之間的轉(zhuǎn)換處理;所述光纖切換單元(2)負(fù)責(zé)光網(wǎng)絡(luò)信道的切換,包括正常工作狀態(tài)和旁路工作狀態(tài)的切換;所述光纖網(wǎng)絡(luò)接口(3)設(shè)有光纖接口并通過(guò)該光纖接口與外網(wǎng)進(jìn)行光纖連接;其中,所述光纖切換單元(2)采用I2C 總線作為控制總線,用于通過(guò)I2C總線進(jìn)行數(shù)據(jù)接收、識(shí)別并執(zhí)行輸出用戶預(yù)期的動(dòng)作,包括在系統(tǒng)死機(jī)或主機(jī)掉電的意外情況下,通過(guò)其內(nèi)部機(jī)制實(shí)現(xiàn)工作狀態(tài)強(qiáng)制轉(zhuǎn)換或看門狗復(fù)位并保留當(dāng)前的狀態(tài),以保護(hù)網(wǎng)絡(luò)的正常通行;該內(nèi)部機(jī)制設(shè)置有正常工作模式、旁路工作模式、看門狗工作模式控制網(wǎng)絡(luò)的正常工作狀態(tài)和旁路工作狀態(tài)當(dāng)接到正常工作模式的命令,系統(tǒng)被強(qiáng)制進(jìn)入正常工作狀態(tài);當(dāng)接到旁路工作模式的命令,系統(tǒng)被強(qiáng)制進(jìn)入旁路工作狀態(tài);當(dāng)系統(tǒng)工作在看門狗工作模式,系統(tǒng)要在設(shè)置時(shí)間內(nèi)給出喂狗指令,否則系統(tǒng)將觸發(fā)看門狗,系統(tǒng)進(jìn)入旁路工作狀態(tài)。
2.根據(jù)權(quán)利要求1所述的光纖網(wǎng)絡(luò)適配器,其特征在于,所述光纖信號(hào)單元(1)包括網(wǎng) 絡(luò)芯片⑷以及連接在所述網(wǎng)絡(luò)芯片⑷與所述光纖切換單元⑵之間的光電模塊(5),所 述網(wǎng)絡(luò)芯片(4)將主機(jī)的一組PCIE X4的信號(hào)轉(zhuǎn)換為光纖網(wǎng)絡(luò)電信號(hào)并輸入至所述光電模 塊(5),所述光電模塊(5)負(fù)責(zé)將輸入的光纖網(wǎng)絡(luò)電信號(hào)轉(zhuǎn)換為光信號(hào)并輸出至所述光纖 切換單元⑵。
3.根據(jù)權(quán)利要求2所述的光纖網(wǎng)絡(luò)適配器,其特征在于,所述光纖切換單元(2)包括連 接在所述光電模塊(5)與所述光纖網(wǎng)絡(luò)接口(3)之間的光纖切換器(6)以及與所述光纖切 換器(6)連接的控制模塊(7),所述光纖切換器(6)在控制模塊(7)的控制下對(duì)網(wǎng)絡(luò)工作狀 態(tài)進(jìn)行切換。
4.根據(jù)權(quán)利要求3所述的光纖網(wǎng)絡(luò)適配器,其特征在于,所述控制模塊(7)包括單片機(jī) 以及與所述單片機(jī)連接的狀態(tài)指示燈,當(dāng)控制模塊(7)控制光纖切換單元(2)進(jìn)行網(wǎng)絡(luò)工 作狀態(tài)切換時(shí),通過(guò)控制模塊(7)改變所述狀態(tài)指示燈的指示情況。
5.一種控制光纖切換的方法,其特征在于,在用戶內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)之間設(shè)置一光纖網(wǎng)絡(luò)適配器,該光纖網(wǎng)絡(luò)適配器包括 采用I2C總線作為控制總線;單片機(jī)控制器通過(guò)I2C總線進(jìn)行數(shù)據(jù)接收、識(shí)別并執(zhí)行輸出用戶預(yù)期的動(dòng)作,包括在 系統(tǒng)死機(jī)或主機(jī)掉電的意外情況下,通過(guò)其內(nèi)部機(jī)制實(shí)現(xiàn)工作狀態(tài)強(qiáng)制轉(zhuǎn)換或看門狗復(fù)位 并保留當(dāng)前的狀態(tài),以保護(hù)網(wǎng)絡(luò)的正常通行;其中,該內(nèi)部機(jī)制設(shè)置的正常工作模式、旁路工作模式、看門狗工作模式控制網(wǎng)絡(luò)的正 常工作狀態(tài)和旁路工作狀態(tài)當(dāng)接到正常工作模式的命令,系統(tǒng)被強(qiáng)制進(jìn)入正常工作狀態(tài); 當(dāng)接到旁路工作模式的命令,系統(tǒng)被強(qiáng)制進(jìn)入旁路工作狀態(tài); 當(dāng)系統(tǒng)工作在看門狗工作模式,系統(tǒng)要在設(shè)置時(shí)間內(nèi)給出喂狗指令,否則系統(tǒng)將觸發(fā) 看門狗,系統(tǒng)進(jìn)入旁路工作狀態(tài)。
6.根據(jù)權(quán)利要求5所述的控制光纖切換的方法,其特征在于,還包括在系統(tǒng)中通過(guò)I2C總線對(duì)單片機(jī)進(jìn)行控制設(shè)置。
7.根據(jù)權(quán)利要求6所述的控制光纖切換的方法,其特征在于,對(duì)單片機(jī)進(jìn)行控制設(shè)置 的步驟具體包括I2C通信檢測(cè)步驟;數(shù)據(jù)接收步驟;定時(shí)器操作步驟;以及執(zhí)行輸出動(dòng)作步驟,其中,I2C總線通信檢查步驟具體包括開(kāi)機(jī)時(shí)對(duì)寄存器、定時(shí)器的預(yù)分頻器以及看門 狗進(jìn)行定義并初始化設(shè)置,檢測(cè)I2C總線通信是否開(kāi)始,若沒(méi)有則進(jìn)入定時(shí)器操作步驟,若 檢測(cè)開(kāi)始則進(jìn)入數(shù)據(jù)接收步驟;數(shù)據(jù)接收處理步驟具體包括先接收主機(jī)發(fā)過(guò)來(lái)的地址數(shù)據(jù)并檢測(cè)是否正確,正確后 接著接收模式數(shù)據(jù),否則直接跳到定時(shí)器操作處理步驟。單片機(jī)接收完模式數(shù)據(jù)就開(kāi)始檢 測(cè)本次通信是否結(jié)束,若是則進(jìn)入數(shù)據(jù)處理步驟并產(chǎn)生相應(yīng)的輸出動(dòng)作,否則視為異常直 接進(jìn)入定時(shí)器處理步驟,其中系統(tǒng)約定數(shù)據(jù)的通信格式是一個(gè)字節(jié)地址數(shù)據(jù)和一個(gè)字節(jié) 模式數(shù)據(jù)。定時(shí)器操作步驟具體包括看門狗的時(shí)間計(jì)數(shù),當(dāng)處理完畢跳回I2C總線通信檢測(cè)入 口處進(jìn)行新一輪的數(shù)據(jù)檢測(cè)。執(zhí)行輸出動(dòng)作步驟具體包括對(duì)緩沖區(qū)的數(shù)據(jù)類型進(jìn)行進(jìn)一步的模式鑒別,根據(jù)鑒別 結(jié)果將輸出置為正常工作模式,或旁路工作模式,或看門狗工作模式。
8.根據(jù)權(quán)利要求7所述的控制光纖切換的方法,其特征在于,還包括數(shù)據(jù)保護(hù)處理步驟,具體包括檢測(cè)看門狗是否復(fù)位,復(fù)位則將部分寄存器賦予初值,否 則將全部寄存器賦予初值。
9.根據(jù)權(quán)利要求7所述的控制光纖切換的方法,其特征在于,I2C總線通信檢查步驟的 初始化設(shè)置之后還包括讀入A 口狀態(tài),建立單片機(jī)的通信地址,置輸出為正常工作模式,將內(nèi)部計(jì)時(shí)器清零。
10.根據(jù)權(quán)利要求5-9任一項(xiàng)所述的控制光纖切換的方法,其特征在于,對(duì)看門狗定義 的時(shí)間控制模式包括2秒,4秒,16秒,32秒,64秒,128秒和256秒的時(shí)間控制模式。
全文摘要
本發(fā)明涉及一種光纖網(wǎng)絡(luò)適配器,其包括光纖信號(hào)單元、與所述光纖信號(hào)單元連接的光纖切換單元以及與所述光纖切換單元連接的光纖網(wǎng)絡(luò)接口,其中所述光纖信號(hào)單元用于計(jì)算機(jī)系統(tǒng)信號(hào)與光網(wǎng)絡(luò)信號(hào)之間的轉(zhuǎn)換處理;所述光纖切換單元負(fù)責(zé)光網(wǎng)絡(luò)信道的切換,包括正常工作狀態(tài)和旁路工作狀態(tài)的切換;所述光纖網(wǎng)絡(luò)接口設(shè)有光纖接口,與外網(wǎng)進(jìn)行光纖連接。本發(fā)明可有效防止各類網(wǎng)絡(luò)串接網(wǎng)關(guān)設(shè)備因意外失效而成為單點(diǎn)故障,或在其它網(wǎng)關(guān)設(shè)備進(jìn)行升級(jí)維護(hù)時(shí)及時(shí)切換設(shè)備,使網(wǎng)絡(luò)鏈路保護(hù)為旁路狀態(tài),從而防止網(wǎng)絡(luò)癱瘓,提供網(wǎng)絡(luò)可靠性。同時(shí),避免了網(wǎng)絡(luò)手工切換帶來(lái)時(shí)間延誤和網(wǎng)絡(luò)運(yùn)維管理困難的問(wèn)題。
文檔編號(hào)H04B10/12GK101931458SQ20091010810
公開(kāi)日2010年12月29日 申請(qǐng)日期2009年6月22日 優(yōu)先權(quán)日2009年6月22日
發(fā)明者唐先文, 林金城 申請(qǐng)人:研祥智能科技股份有限公司