一種與多個(gè)光模塊可同時(shí)通信的裝置和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及光網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用于光網(wǎng)絡(luò)的與多個(gè)光模塊可同時(shí)通信的裝置和方法。
【背景技術(shù)】
[0002]在光網(wǎng)絡(luò)中的8端口的GE(Gi gab it Ethernet,千兆以太網(wǎng))上聯(lián)卡上,有8個(gè)光模塊,每個(gè)光模塊都通過(guò)I2C(Inter — Integrated Circuit)總線接口和CPU通信。光模塊是標(biāo)準(zhǔn)器件,并且,光模塊是固定的、不可設(shè)的;因此,安裝在一塊8端口的GE上聯(lián)卡上的每一個(gè)GE光模塊的地址是相同的,即8個(gè)光模塊擁有相同的I2C設(shè)備地址,CPU不能直接地同時(shí)和8個(gè)光模塊通信,且同時(shí)寫多個(gè)光模塊信息會(huì)導(dǎo)致CPU資源占用過(guò)多,系統(tǒng)工作效率低下。
[0003]如圖1所示,光模塊有兩個(gè)存儲(chǔ)區(qū):第一塊存儲(chǔ)區(qū)和第二塊存儲(chǔ)區(qū)。其中,第一塊存儲(chǔ)區(qū)的I2C設(shè)備地址是AOh,簡(jiǎn)稱A0表格;第二塊存儲(chǔ)區(qū)的I2C設(shè)備地址是A2h,簡(jiǎn)稱A2表格。
[0004]A0表格存儲(chǔ)的主要是光模塊的一些類型信息,比如光模塊的封裝、發(fā)射波長(zhǎng)、傳輸距離、速率、廠家信息、模塊型號(hào)以及生產(chǎn)日期和序列號(hào)等。A0表格還有一些空白保留的字節(jié),這些是留給生產(chǎn)廠家自定義使用以及后續(xù)協(xié)議增加新的功能使用的。
[0005]A2表格中存儲(chǔ)的主要是一些光模塊的實(shí)時(shí)數(shù)字診斷信息。還預(yù)留了用戶可寫的120字節(jié)區(qū)域,寄存器地址是從127字節(jié)-246字節(jié)。在這段地址空間里,系統(tǒng)可以根據(jù)產(chǎn)品需要,將必要的信息寫入到GE光模塊中。
[0006]目前,CPU和多個(gè)光模塊之間的通訊一般是通過(guò)采用專用的I2C開關(guān)芯片I2C_SWITCH來(lái)實(shí)現(xiàn)。以8個(gè)光模塊為例,如圖2所示,CPU通過(guò)一個(gè)專用的8 口 I2C開關(guān)芯片I2C_SWITCH來(lái)訪問(wèn)8個(gè)光模塊,CPU的I2C總線和8個(gè)光模塊的I2C總線都連接到開關(guān)芯片上,CPU通過(guò)I2C總線來(lái)控制開關(guān)芯片的選通寄存器,選擇和8個(gè)光模塊中的某1路總線通信,和其它7路總線斷開,完成這一路光模塊通信后,CPU再通過(guò)I2C總線來(lái)控制開關(guān)芯片的選通寄存器,斷掉這路的I2C總線的連接,等待下一次通信的開始。
[0007]但是,I2C總線是低速總線,速率可在ΙΟΟΚΗζ和400KHz中選擇,即在I2C器件支持的情況下,最高速率也只有400KHz,即一個(gè)時(shí)鐘周期為2.5uS0 一次I2C總線的操作時(shí)序約30個(gè)時(shí)鐘周期?,F(xiàn)有的技術(shù)中,因?yàn)榧尤隝2C開關(guān)芯片,在對(duì)光模塊的每一次操作前,增加了 I2C開關(guān)的選通操作,操作后,增加了 I2C開關(guān)的關(guān)閉操作。這樣是對(duì)光模塊的每一次I2C總線操作變成了 3次I2C總線操作,操作時(shí)間增加到約90個(gè)時(shí)鐘周期。
[0008]在A2表區(qū)的127字節(jié)-246字節(jié)中,可以寫入用戶自定義的一些信息,如系統(tǒng)的廠家信息,系統(tǒng)類型,系統(tǒng)版本等。這些信息對(duì)所有光模塊都是一致的。按照現(xiàn)有的技術(shù),每向1個(gè)光模塊寫入1個(gè)信息,需要90個(gè)I2C總線時(shí)鐘周期。向8個(gè)光模塊寫入1個(gè)相同的數(shù)據(jù)信息時(shí),需要約720個(gè)時(shí)鐘周期。
【發(fā)明內(nèi)容】
[0009]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種與多個(gè)光模塊可同時(shí)通信的裝置和方法,用于解決現(xiàn)有技術(shù)的光網(wǎng)絡(luò)中,CPU無(wú)法同時(shí)與多個(gè)光模塊進(jìn)行通訊,并且,即使可以實(shí)現(xiàn)CPU與多個(gè)光模塊的通訊,系統(tǒng)的效率也過(guò)低的問(wèn)題。
[0010]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種與多個(gè)光模塊可同時(shí)通信的裝置,應(yīng)用于光網(wǎng)絡(luò),所述與多個(gè)光模塊可同時(shí)通信的裝置包括:CPU單元,分別與多個(gè)所述光模塊通過(guò)I2C總線的串行數(shù)據(jù)線相連接;時(shí)鐘選通單元,與所述CPU單元通過(guò)高速并行總線連接,并分別與多個(gè)所述光模塊通過(guò)所述I2C總線的串行時(shí)鐘線連接;用于根據(jù)所述光模塊的數(shù)量分離時(shí)鐘信號(hào),并完成多個(gè)所述光模塊的時(shí)鐘信號(hào)的選通;其中,每一個(gè)所述I2C總線通過(guò)上拉電阻上拉至電源電平。
[0011]于本發(fā)明的一實(shí)施例中,所述時(shí)鐘選通單元內(nèi)設(shè)置多個(gè)比特時(shí)鐘選通寄存器位,每一個(gè)所述比特時(shí)鐘選通寄存器位對(duì)應(yīng)一個(gè)所述光模塊。
[0012]于本發(fā)明的一實(shí)施例中,所述比特時(shí)鐘選通寄存器位由所述CPU單元控制:當(dāng)所述比特時(shí)鐘選通寄存器位為“0”時(shí),對(duì)應(yīng)的所述光模塊的時(shí)鐘信號(hào)選通;當(dāng)所述比特時(shí)鐘選通寄存器位為“ 1 ”時(shí),對(duì)應(yīng)的所述光模塊的時(shí)鐘信號(hào)斷開。
[0013]于本發(fā)明的一實(shí)施例中,當(dāng)所述CPU單元對(duì)單個(gè)所述光模塊進(jìn)行寫操作時(shí),所述CPU單元通過(guò)所述高速并行總線在單個(gè)所述光模塊對(duì)應(yīng)的所述比特時(shí)鐘選通寄存器位寫入“1”,關(guān)閉其他的所述光模塊的時(shí)鐘信號(hào),使單個(gè)所述光模塊與所述CPU單元的時(shí)鐘信號(hào)相連通;完成所述CPU單元對(duì)單個(gè)所述光模塊的寫操作。
[0014]于本發(fā)明的一實(shí)施例中,當(dāng)所述CPU單元對(duì)多個(gè)所述光模塊同時(shí)進(jìn)行寫操作時(shí),所述CPU單元通過(guò)所述高速并行總線在多個(gè)所述光模塊對(duì)應(yīng)的多個(gè)所述比特時(shí)鐘選通寄存器位寫入“1”,使多個(gè)所述光模塊與所述CPU單元的時(shí)鐘信號(hào)相連通;完成所述CPU單元對(duì)多個(gè)所述光模塊的同時(shí)寫操作。
[0015]于本發(fā)明的一實(shí)施例中,所述光模塊為8個(gè)時(shí),且當(dāng)所述CPU單元對(duì)8個(gè)所述光模塊同時(shí)進(jìn)行寫操作時(shí),所述CPU單元在一個(gè)I2C寫操作周期內(nèi)同時(shí)完成對(duì)8個(gè)所述光模塊的寫操作。
[0016]于本發(fā)明的一實(shí)施例中,所述上拉電阻為2.2Kohm。
[0017]于本發(fā)明的一實(shí)施例中,所述時(shí)鐘選通單元采用CPLD進(jìn)行邏輯設(shè)計(jì)。
[0018]本發(fā)明還公開了一種與多個(gè)光模塊可同時(shí)通信的方法,應(yīng)用于光網(wǎng)絡(luò),所述與多個(gè)光模塊可同時(shí)通信的方法包括:對(duì)光模塊執(zhí)行寫操作;選通所述光模塊對(duì)應(yīng)的時(shí)鐘信號(hào);在一個(gè)I2C寫操作周期內(nèi)對(duì)所述光模塊完成寫操作。
[0019]于本發(fā)明的一實(shí)施例中,所述對(duì)光模塊執(zhí)行寫操作的步驟中:如果對(duì)單個(gè)所述光模塊執(zhí)行寫操作,那么選通單個(gè)所述光模塊對(duì)應(yīng)的時(shí)鐘信號(hào),關(guān)閉其他所述光模塊對(duì)應(yīng)的時(shí)鐘信號(hào);如果對(duì)多個(gè)所述光模塊執(zhí)行寫操作,那么全部選通多個(gè)所述光模塊對(duì)應(yīng)的時(shí)鐘信號(hào),并對(duì)多個(gè)所述光模塊在一個(gè)所述I2C寫操作周期內(nèi)同時(shí)完成寫操作。
[0020]如上所述,本發(fā)明的一種應(yīng)用于光網(wǎng)絡(luò)的與多個(gè)光模塊可同時(shí)通信的裝置和方法,解決了多個(gè)光模塊的I2C設(shè)備地址相同,不能同時(shí)掛在一條總線的問(wèn)題,且具有以下有益技術(shù)效果:
[0021]1.不需要專門的I2C總線開關(guān)芯片,且時(shí)鐘信號(hào)的選通通道的數(shù)目可以根據(jù)需要由CPLD進(jìn)行擴(kuò)展;非常靈活;
[0022]2.本發(fā)明利用I2C總線的時(shí)序特點(diǎn),用一個(gè)I2C寫操作周期完成8個(gè)模塊的寄存器寫操作,提高了系統(tǒng)效率:單個(gè)光模塊的寫操作大約需要30個(gè)I2C總線周期,現(xiàn)有的技術(shù)約需要90個(gè)I2C總線周期,而采用本發(fā)明的裝置,單個(gè)光模塊的寫操作也只需要大約30個(gè)I2C總線周期,時(shí)間縮短了 2/3,系統(tǒng)的效率獲得了顯著的提高;多個(gè)光模塊,例如8個(gè)光模塊,的同時(shí)寫操作大約需要30個(gè)I2C總線周期,現(xiàn)有的技術(shù)約需要90*8 = 720個(gè)I2C總線周期,系統(tǒng)效率提高24倍;
[0023]3.本發(fā)明既支持對(duì)光模塊的批量寫操作,也可支持單獨(dú)對(duì)光模塊的讀寫操作。
【附圖說(shuō)明】
[0024]圖1顯不為現(xiàn)有技術(shù)中光t旲塊的存儲(chǔ)映射關(guān)系不意圖。
[0025]圖2顯示為現(xiàn)有技術(shù)中解決CPU與多個(gè)光模塊同時(shí)通訊的方案的結(jié)構(gòu)示意圖。
[0026]圖3顯示為本發(fā)明實(shí)施例公開的一種與多個(gè)光模塊可同時(shí)通信的