專利名稱:光模塊參數(shù)傳輸方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及光纖通信技術(shù),尤其涉及一種光模塊參數(shù)傳輸方法及裝置。
背景技術(shù):
目前的國(guó)內(nèi)市場(chǎng)以及國(guó)際市場(chǎng),高帶寬、高速率和多種業(yè)務(wù)融合的光纖通信方向已經(jīng)開始應(yīng)用;在眾多的解決方案中,光纖到戶(FTTH)的出現(xiàn)便被認(rèn)為是寬帶接入的終極解決方案。FTTH網(wǎng)絡(luò)通常如圖I所示,中心局的OLT (Optical Line Terminal,光線路終端)通過ODN (光饋線網(wǎng)絡(luò))與POS (Passive Optical Splitter,無(wú)源分光器)相連,POS通常簡(jiǎn)稱為Splitter (分光器),一般有2N個(gè)均分端口,如果其上行端口輸入的光強(qiáng)為1,則其 每個(gè)下行端口輸出的光強(qiáng)為1/N。對(duì)于一個(gè)FTTH網(wǎng)絡(luò),一般是I個(gè)OLT放在電信中心局,然后通過分光器,一般至少是I分32,或者I分64甚至I分128,即I個(gè)OLT帶32或64或128個(gè)ONU (Optical Network Unit,光網(wǎng)絡(luò)單元)。每個(gè)ONU都包括一個(gè)ONU光模塊和一個(gè)ONU系統(tǒng)設(shè)備,ONU系統(tǒng)設(shè)備與ONU光模塊相連,ONU系統(tǒng)設(shè)備與家中或辦公室里的用戶端設(shè)備相連,用以接收用戶端設(shè)備發(fā)送的電信號(hào),通過ONU光模塊轉(zhuǎn)換為光信號(hào)后在上行方向上發(fā)送至0LT,并將ONU光模塊接收的光信號(hào)轉(zhuǎn)換為用戶端設(shè)備可接收的電信號(hào)向用戶端設(shè)備發(fā)送。通常,在OLT和ONU中都設(shè)置有光模塊,用以進(jìn)行光信號(hào)與電信號(hào)的互相轉(zhuǎn)換。OLT或ONU中光模塊都可以與OLT或ONU中的主機(jī)進(jìn)行通信。例如,ONU中,ONU光模塊通過IIC總線與ONU系統(tǒng)設(shè)備進(jìn)行通信;0LT中,OLT光模塊通過IIC總線與OLT系統(tǒng)設(shè)備進(jìn)行通信。為便于描述,本文中將ONU光模塊和OLT光模塊統(tǒng)稱為光模塊;將ONU中與光模塊通信的ONU系統(tǒng)設(shè)備,以及將OLT中與光模塊通信的OLT系統(tǒng)設(shè)備統(tǒng)稱為主機(jī)。一般而言,光模塊都需要具有數(shù)字診斷功能;數(shù)字診斷功能包括對(duì)溫度、電源電壓、發(fā)射偏置電流、發(fā)射光功率以及接收光功率等參數(shù)的采集與更新;每個(gè)參數(shù)通常存儲(chǔ)在兩個(gè)或兩個(gè)以上字節(jié)的寄存器中。為了讓主機(jī)能夠隨時(shí)讀取到光模塊的當(dāng)前狀態(tài),光模塊需要經(jīng)常更新寄存器中的參數(shù)值。然而,本發(fā)明的發(fā)明人發(fā)現(xiàn),主機(jī)在讀取光模塊中的參數(shù)時(shí)往往會(huì)讀取到錯(cuò)誤的參數(shù)值。例如,光模塊在采集接收功率后轉(zhuǎn)換的結(jié)果會(huì)在一個(gè)微小的范圍內(nèi)變動(dòng),比如當(dāng)接收功率為25. 6uff (-15. 92dBm)時(shí),光模塊采集的參數(shù)數(shù)值會(huì)在OxOOFF (-15. 93dBm)與0x0100 (-15. 92dBm)這2個(gè)數(shù)之間變動(dòng);主機(jī)從光模塊讀取參數(shù)時(shí),若讀取到OxOOFF或0x0100,則讀取到正確的參數(shù);然而,主機(jī)除了會(huì)讀到這2個(gè)數(shù)值外,還可能會(huì)讀到2個(gè)錯(cuò)誤的值 0x0000 與 OxOlFF。因此,現(xiàn)有技術(shù)的光模塊參數(shù)傳輸方法會(huì)出現(xiàn)主機(jī)讀取錯(cuò)誤參數(shù)的現(xiàn)象,具有更進(jìn)一步提高光模塊參數(shù)傳輸可靠性的需要
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了一種光模塊參數(shù)傳輸方法及裝置,用以提高光模塊參數(shù)傳輸可靠性。根據(jù)本發(fā)明的一個(gè)方面,提供了一種光模塊參數(shù)傳輸方法,包括在接收到主機(jī)發(fā)送的讀取參數(shù)的指令后,若確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位,則將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向所述主機(jī)發(fā)送;否則,將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向所述主機(jī)發(fā)送;其中,所述參數(shù)寄存器和備份參數(shù)寄存器為多字節(jié)的,所述更新標(biāo)志在更新所述參數(shù)寄存器中存儲(chǔ)的參數(shù)之前被置位,在所述參數(shù)寄存器中存儲(chǔ)的參數(shù)更新完畢后被復(fù)位。其中,所述將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向所述主機(jī)發(fā)送具體為 在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),在將所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)的高字節(jié)向所述主機(jī)發(fā)送前,先將所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)寫入到緩沖區(qū)中;在所述主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的備份參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。所述將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向所述主機(jī)發(fā)送具體為在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),在將所述參數(shù)寄存器中存儲(chǔ)的參數(shù)的高字節(jié)向所述主機(jī)發(fā)送前,先將所述參數(shù)寄存器中存儲(chǔ)的參數(shù)寫入到緩存區(qū)中;在所述主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。進(jìn)一步,在所述更新標(biāo)志被復(fù)位后,還包括根據(jù)所述參數(shù)寄存器中存儲(chǔ)的更新后的參數(shù),更新所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)。根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種光模塊參數(shù)傳輸裝置,包括參數(shù)發(fā)送模塊,用于在接收到主機(jī)發(fā)送的讀取參數(shù)的指令后,若確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位,則將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向所述主機(jī)發(fā)送;否則,將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向所述主機(jī)發(fā)送;參數(shù)更新模塊,用于在更新所述參數(shù)寄存器中存儲(chǔ)的參數(shù)之前將所述更新標(biāo)志置位,在更新所述參數(shù)寄存器中存儲(chǔ)的參數(shù)完畢后將所述更新標(biāo)志復(fù)位。其中,所述參數(shù)發(fā)送模塊包括更新標(biāo)志確認(rèn)單元、第一發(fā)送單元和第二發(fā)送單元;其中,所述更新標(biāo)志確認(rèn)單元用于在接收到主機(jī)發(fā)送的讀取參數(shù)的指令后,若確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位,向第一發(fā)送單元發(fā)送第一通知;否則,向第二發(fā)送單元發(fā)送第二通知;第一發(fā)送單元用于在接收到第一通知后,將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向所述主機(jī)發(fā)送;第二發(fā)送單元用于在接收到第二通知后,將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向所述主機(jī)發(fā)送。
所述第一發(fā)送單元包括高字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)的高字節(jié)向所述主機(jī)發(fā)送;參數(shù)緩存子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)寫入到緩存區(qū)中;低字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的備份參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。所述第二發(fā)送單元包括高字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述參數(shù)寄存 器中存儲(chǔ)的參數(shù)的高字節(jié)向所述主機(jī)發(fā)送;參數(shù)緩存子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述參數(shù)寄存器中存儲(chǔ)的參數(shù)寫入到緩存區(qū)中;低字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。進(jìn)一步,參數(shù)更新模塊還用于將所述更新標(biāo)志復(fù)位后,根據(jù)所述參數(shù)寄存器中存儲(chǔ)的更新后的參數(shù),更新所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)。所述裝置設(shè)置于光網(wǎng)絡(luò)單元光模塊中,所述主機(jī)具體為光網(wǎng)絡(luò)單元系統(tǒng)設(shè)備;或者所述裝置設(shè)置于光線路終端光模塊中,所述主機(jī)為光線路終端系統(tǒng)設(shè)備;以及所述參數(shù)具體為偏置電流參數(shù)、或發(fā)射光功率參數(shù)、或接收光功率參數(shù)。本發(fā)明實(shí)施例提供的光模塊中,由于在對(duì)采集的參數(shù)進(jìn)行更新時(shí),將更新標(biāo)志進(jìn)行置位,根據(jù)置位的更新標(biāo)志,可以防止主機(jī)從正在更新的新參數(shù)寄存器中錯(cuò)誤地讀取參數(shù),同時(shí)由于將備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)發(fā)送給主機(jī),可以保證主機(jī)讀取到正確的參數(shù),提高了主機(jī)讀取光模塊參數(shù)的準(zhǔn)確性,提高了參數(shù)從光模塊傳輸?shù)街鳈C(jī)的可靠性。進(jìn)一步,光模塊在向主機(jī)發(fā)送多字節(jié)的參數(shù)或備份參數(shù)的過程中,為了防止在發(fā)送數(shù)據(jù)過程中發(fā)生參數(shù)或備份參數(shù)更新事件,而導(dǎo)致發(fā)送錯(cuò)誤的數(shù)據(jù),光模塊在向主機(jī)發(fā)送高字節(jié)數(shù)據(jù)時(shí),即把參數(shù)或備份參數(shù)的低字節(jié)數(shù)據(jù)存入到緩存區(qū);之后,將緩存區(qū)中的低字節(jié)向主機(jī)傳輸;這樣,即使光模塊對(duì)參數(shù)或備份參數(shù)進(jìn)行了更新,導(dǎo)致參數(shù)或備份參數(shù)的低字節(jié)發(fā)生了改變,也不會(huì)妨礙光模塊將緩存區(qū)中的低字節(jié)數(shù)據(jù),保證了主機(jī)讀取光模塊參數(shù)的準(zhǔn)確性,提高了參數(shù)從光模塊傳輸?shù)街鳈C(jī)的可靠性。
圖I為現(xiàn)有技術(shù)的FTTH網(wǎng)絡(luò)示意圖;圖2為本發(fā)明實(shí)施例的光模塊參數(shù)傳輸方法流程圖;圖3為本發(fā)明實(shí)施例的光模塊向主機(jī)發(fā)送參數(shù)的方法流程圖;圖4為本發(fā)明實(shí)施例的光模塊向主機(jī)發(fā)送備份參數(shù)的方法流程圖;圖5為本發(fā)明實(shí)施例的光模塊參數(shù)傳輸裝置內(nèi)部結(jié)構(gòu)框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉出優(yōu)選實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。然而,需要說(shuō)明的是,說(shuō)明書中列出的許多細(xì)節(jié)僅僅是為了使讀者對(duì)本發(fā)明的一個(gè)或多個(gè)方面有一個(gè)透徹的理解,即便沒有這些特定的細(xì)節(jié)也可以實(shí)現(xiàn)本發(fā)明的這些方面。本申請(qǐng)使用的“模塊”、“系統(tǒng)”等術(shù)語(yǔ)旨在包括與計(jì)算機(jī)相關(guān)的實(shí)體,例如但不限于硬件、固件、軟硬件組合、軟件或者執(zhí)行中的軟件。例如,模塊可以是,但并不僅限于處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行程序、執(zhí)行的線程、程序和/或計(jì)算機(jī)。本發(fā)明的發(fā)明人對(duì)現(xiàn)有技術(shù)中出現(xiàn)的主機(jī)讀取錯(cuò)誤參數(shù)值的現(xiàn)象進(jìn)行分析,發(fā)現(xiàn)主要有如下兩種原因?qū)е略摤F(xiàn)象其中一個(gè)原因是,在光模塊對(duì)參數(shù)進(jìn)行更新的過程中,用于存儲(chǔ)該參數(shù)的多字節(jié)寄存器,有的寄存器(比如高字節(jié)寄存器)中存儲(chǔ)的值已經(jīng)更新了,有的寄存器(比如低字節(jié)寄存器)中存儲(chǔ)的值還未更新,此時(shí),主機(jī)讀取該參數(shù)會(huì)出現(xiàn)讀取到錯(cuò)誤參數(shù)的現(xiàn)象。一般而言,一個(gè)字節(jié)包括8個(gè)比特位(bit)。 另一原因是,主機(jī)在從光模塊讀取參數(shù)的過程中,在讀取了該參數(shù)的部分字節(jié)數(shù)值后,光模塊進(jìn)行該參數(shù)的更新,從而導(dǎo)致主機(jī)讀取到錯(cuò)誤的參數(shù)?;谏鲜龇治觯景l(fā)明的技術(shù)方案中,采用如下方法來(lái)提高主機(jī)讀取的參數(shù)的準(zhǔn)確性、光模塊參數(shù)傳輸?shù)目煽啃詫?duì)于光模塊中每個(gè)需要被主機(jī)讀取的參數(shù),除了采用參數(shù)寄存器來(lái)存儲(chǔ)該參數(shù)外,還采用一個(gè)備份參數(shù)寄存器來(lái)存儲(chǔ)該參數(shù)的備份參數(shù);并且,還設(shè)置一個(gè)該參數(shù)的更新標(biāo)志。該更新標(biāo)志在光模塊更新參數(shù)寄存器中存儲(chǔ)的參數(shù)之前被置位,在光模塊更新完畢參數(shù)寄存器中存儲(chǔ)的參數(shù)后被復(fù)位;在更新標(biāo)志復(fù)位后,光模塊再根據(jù)參數(shù)寄存器中存儲(chǔ)的更新后的參數(shù),對(duì)備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)進(jìn)行更新。參數(shù)的更新標(biāo)志的置位與復(fù)位,是更新標(biāo)志的兩種狀態(tài),用以指示不同的情況;參數(shù)的更新標(biāo)志的置位指示出該參數(shù)正處于更新的過程,即正在更新參數(shù)寄存器中的各個(gè)字節(jié);參數(shù)的更新標(biāo)志的復(fù)位,則指示出該參數(shù)已經(jīng)更新完畢,即參數(shù)寄存器中的各個(gè)字節(jié)都已經(jīng)更新完畢。對(duì)于多字節(jié)的參數(shù)及其備份參數(shù),分別存儲(chǔ)在多字節(jié)的參數(shù)寄存器和備份參數(shù)寄存器中;這樣,在主機(jī)讀取參數(shù)時(shí),若更新標(biāo)志為置位,則可以確定出正在逐個(gè)更新該參數(shù)的參數(shù)寄存器的各字節(jié),防止在逐個(gè)更新參數(shù)寄存器的字節(jié)時(shí)被打斷,出現(xiàn)讀取錯(cuò)誤的現(xiàn)象?;谏鲜龅墓饽K參數(shù)更新方法,本發(fā)明實(shí)施例提供的光模塊參數(shù)傳輸方法具體流程如圖2所示,包括如下步驟S201 :主機(jī)向光模塊發(fā)送讀取參數(shù)的指令。具體地,主機(jī)可以通過IIC總線向光模塊發(fā)送讀取參數(shù)的指令。S202 :光模塊接收到主機(jī)發(fā)送的讀取參數(shù)的指令后,確認(rèn)被讀取的參數(shù)的更新標(biāo)
O具體地,光模塊根據(jù)IIC (Inter-Integrated Circuit,交互集成電路)總線協(xié)議從主機(jī)發(fā)送的信號(hào)中解析出讀取參數(shù)的指令后,對(duì)主機(jī)需要讀取的參數(shù)的更新標(biāo)志進(jìn)行確認(rèn);即光模塊確認(rèn)接收到主機(jī)發(fā)送的讀取參數(shù)的指令后,對(duì)本光模塊中被讀取的參數(shù)的更新標(biāo)志進(jìn)行確認(rèn),確定該參數(shù)的更新標(biāo)志是置位還是復(fù)位。
S203 :根據(jù)對(duì)更新標(biāo)志的確認(rèn)結(jié)果,光模塊將該參數(shù)或該參數(shù)的備份參數(shù)向主機(jī)返回。具體地,光模塊若確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位,則將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向主機(jī)發(fā)送;否則,光模塊確認(rèn)被讀取的參數(shù)的更新標(biāo)志被復(fù)位,將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向主機(jī)發(fā)送。這樣,在更新標(biāo)志被置位時(shí),也就是在光模塊正在更新參數(shù)寄存器中的參數(shù)時(shí),光模塊從備份參數(shù)寄存器中讀取備份參數(shù)向主機(jī)發(fā)送,避免在更新參數(shù)寄存器的各字節(jié)時(shí)打斷參數(shù)的更新,從而避免了參數(shù)更新過程中出錯(cuò),也避免了主機(jī)讀取到錯(cuò)誤的參數(shù)。而在更新標(biāo)志被復(fù)位時(shí),表明參數(shù)寄存器中的參數(shù)已經(jīng)更新完畢,那么主機(jī)可以安全、可靠地讀取參數(shù)寄存器中的參數(shù)。
基于上述提到的主機(jī)讀取錯(cuò)誤參數(shù)值的第二個(gè)原因,上述步驟S203中的光模塊確認(rèn)被讀取的參數(shù)的更新標(biāo)志被復(fù)位,將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向主機(jī)發(fā)送的一種具體方法,流程可以如圖3所示,以防止主機(jī)在讀取參數(shù)過程中出現(xiàn)對(duì)該參數(shù)的更新、打斷該參數(shù)的讀取過程而造成主機(jī)讀取錯(cuò)誤參數(shù)的現(xiàn)象,該方法具體包括如下步驟S301 :光模塊確認(rèn)被讀取的參數(shù)的更新標(biāo)志被復(fù)位后,在主機(jī)讀取參數(shù)的高字節(jié)時(shí),將參數(shù)寄存器中存儲(chǔ)的該參數(shù)寫入到緩存區(qū),并將參數(shù)寄存器中存儲(chǔ)的參數(shù)的高字節(jié)向所述主機(jī)發(fā)送。具體地,主機(jī)在讀取多字節(jié)參數(shù)時(shí),往往從高字節(jié)開始讀?。挥绕涫侵鳈C(jī)通過串行IIC總線讀取多字節(jié)參數(shù)時(shí),主機(jī)從高字節(jié)開始,依次讀取參數(shù)的各字節(jié)中的數(shù)值。由于串行總線進(jìn)行字節(jié)發(fā)送時(shí),是一個(gè)bit —個(gè)bit地發(fā)送,因此,主機(jī)讀取一個(gè)字節(jié)的時(shí)間會(huì)比較長(zhǎng),即光模塊向主機(jī)發(fā)送一個(gè)字節(jié)的時(shí)間會(huì)比較長(zhǎng);在主機(jī)讀取參數(shù)的高字節(jié)數(shù)值時(shí),也就是光模塊向主機(jī)發(fā)送參數(shù)的高字節(jié)的過程中,光模塊有可能需要對(duì)參數(shù)寄存器中存儲(chǔ)的參數(shù)進(jìn)行更新。為避免在主機(jī)讀取參數(shù)的高字節(jié)數(shù)值時(shí),光模塊對(duì)參數(shù)寄存器中存儲(chǔ)的參數(shù)進(jìn)行了更新,導(dǎo)致主機(jī)讀取的參數(shù)的低字節(jié)為更新后的數(shù)值,從而造成參數(shù)讀取錯(cuò)誤;因此,本發(fā)明實(shí)施例提供的光模塊在將所述參數(shù)寄存器中存儲(chǔ)的參數(shù)的高字節(jié)向所述主機(jī)發(fā)送前,先將所述參數(shù)寄存器中存儲(chǔ)的參數(shù)寫入到緩存區(qū)中。S302:主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。在主機(jī)讀取了參數(shù)的高字節(jié)后,若主機(jī)繼續(xù)讀取所述參數(shù)的低字節(jié),則可將緩存區(qū)中存儲(chǔ)的參數(shù)的低字節(jié)向主機(jī)返回;這樣,即使在主機(jī)讀取參數(shù)的高字節(jié)數(shù)值時(shí),光模塊對(duì)參數(shù)寄存器中存儲(chǔ)的參數(shù)進(jìn)行了更新,向主機(jī)返回的緩存區(qū)中的參數(shù)的低字節(jié)仍然為更新前的數(shù)值,避免了參數(shù)讀取錯(cuò)誤。類似地,上述步驟S203中的光模塊確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位后,將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向主機(jī)發(fā)送的一種具體方法,流程可以如圖4所示,包括如下步驟S401 :光模塊確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位后,在主機(jī)讀取參數(shù)的高字節(jié)時(shí),將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)寫入到緩存區(qū),并將備份參數(shù)寄存器中存儲(chǔ)的參數(shù)的高字節(jié)向所述主機(jī)發(fā)送。S402:主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。本發(fā)明實(shí)施例提供的設(shè)置于光模塊中的光模塊參數(shù)傳輸裝置,如圖5所示,包括參數(shù)發(fā)送模塊501、參數(shù)更新模塊502。參數(shù)發(fā)送模塊501用于在接收到主機(jī)發(fā)送的讀取參數(shù)的指令后,若確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位,則將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向所述主機(jī)發(fā)送;否則,將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向所述主機(jī)發(fā)送;參數(shù)更新模塊502用于在更新所述參數(shù)寄存器中存儲(chǔ)的參數(shù)之前將所述更新標(biāo)志置位,在更新所述參數(shù)寄存器中存儲(chǔ)的參數(shù)完畢后將所述更新標(biāo)志復(fù)位。參數(shù)更新模塊502在將所述更新標(biāo)志復(fù)位后,根據(jù)所述參數(shù)寄存器中存儲(chǔ)的更新后的參數(shù),更新所述備份 參數(shù)寄存器中存儲(chǔ)的備份參數(shù)。其中,參數(shù)發(fā)送模塊501中包括更新標(biāo)志確認(rèn)單元511、第一發(fā)送單元512和第二發(fā)送單元513 ;更新標(biāo)志確認(rèn)單元511用于在接收到主機(jī)發(fā)送的讀取參數(shù)的指令后,若確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位,向第一發(fā)送單元512發(fā)送第一通知;否則,向第二發(fā)送單元513發(fā)送第二通知;第一發(fā)送單元512用于在接收到第一通知后,將所述備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向所述主機(jī)發(fā)送;第二發(fā)送單元513用于在接收到第二通知后,將所述參數(shù)寄存器中存儲(chǔ)的該參數(shù)向所述主機(jī)發(fā)送。在第一發(fā)送單元512中可以包括如下子單元高字節(jié)發(fā)送子單元、參數(shù)緩存子單元、低字節(jié)發(fā)送子單元。第一發(fā)送單元512中的高字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)的高字節(jié)向所述主機(jī)發(fā)送;第一發(fā)送單元512中的參數(shù)緩存子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)寫入到緩存區(qū)中;第一發(fā)送單元512中的低字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的備份參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。相類似地,第二發(fā)送單元513中可以包括如下子單元高字節(jié)發(fā)送子單元、參數(shù)緩存子單元、低字節(jié)發(fā)送子單元。第二發(fā)送單元513中的高字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述參數(shù)寄存器中存儲(chǔ)的參數(shù)的高字節(jié)向所述主機(jī)發(fā)送;第二發(fā)送單元513中的參數(shù)緩存子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述參數(shù)寄存器中存儲(chǔ)的參數(shù)寫入到緩存區(qū)中;第二發(fā)送單元513中的低字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。所述裝置設(shè)置于光網(wǎng)絡(luò)單元光模塊中,所述主機(jī)具體為光網(wǎng)絡(luò)單元系統(tǒng)設(shè)備;或者
上述的光模塊參數(shù)傳輸裝置具體可以設(shè)置于ONU光模塊中,上述的主機(jī)具體為ONU系統(tǒng)設(shè)備;或者,上述的光模塊參數(shù)傳輸裝置具體可以設(shè)置于OLT光模塊中,上述的主機(jī)具體OLT系統(tǒng)設(shè)備。上述光模塊向主機(jī)傳輸?shù)膮?shù)具體可以是偏置電流參數(shù)、或發(fā)射光功率參數(shù)、或接收光功率參數(shù)、或溫度參數(shù)、或電源電壓參數(shù)等參數(shù)。本發(fā)明實(shí)施例提供的光模塊中,由于在對(duì)采集的參數(shù)進(jìn)行更新時(shí),將更新標(biāo)志進(jìn)行置位,根據(jù)置位的更新標(biāo)志,可以防止主機(jī)從正在更新的新參數(shù)寄存器中錯(cuò)誤地讀取參數(shù),同時(shí)由于將備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)發(fā)送給主機(jī),可以保證主機(jī)讀取到正確的參數(shù),提高了主機(jī)讀取光模塊參數(shù)的準(zhǔn)確性,提高了參數(shù)從光模塊傳輸?shù)街鳈C(jī)的可靠性。進(jìn)一步,光模塊在向主機(jī)發(fā)送多字節(jié)的參數(shù)或備份參數(shù)的過程中,為了防止在發(fā) 送數(shù)據(jù)過程中發(fā)生參數(shù)或備份參數(shù)更新事件,而導(dǎo)致發(fā)送錯(cuò)誤的數(shù)據(jù),光模塊在向主機(jī)發(fā)送高字節(jié)數(shù)據(jù)時(shí),即把參數(shù)或備份參數(shù)的低字節(jié)數(shù)據(jù)存入到緩存區(qū);之后,將緩存區(qū)中的低字節(jié)向主機(jī)傳輸;這樣,即使光模塊對(duì)參數(shù)或備份參數(shù)進(jìn)行了更新,導(dǎo)致參數(shù)或備份參數(shù)的低字節(jié)發(fā)生了改變,也不會(huì)妨礙光模塊將緩存區(qū)中的低字節(jié)數(shù)據(jù),保證了主機(jī)讀取光模塊參數(shù)的準(zhǔn)確性,提高了參數(shù)從光模塊傳輸?shù)街鳈C(jī)的可靠性。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種光模塊參數(shù)傳輸方法,包括 在接收到主機(jī)發(fā)送的讀取參數(shù)的指令后,若確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位,則將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向所述主機(jī)發(fā)送;否則,將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向所述主機(jī)發(fā)送; 其中,所述參數(shù)寄存器和備份參數(shù)寄存器為多字節(jié)的,所述更新標(biāo)志在更新所述參數(shù)寄存器中存儲(chǔ)的參數(shù)之前被置位,在所述參數(shù)寄存器中存儲(chǔ)的參數(shù)更新完畢后被復(fù)位。
2.如權(quán)利要求I所述的方法,其特征在于,所述將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向所述主機(jī)發(fā)送具體為 在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),在將所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)的高字節(jié)向所述主機(jī)發(fā)送前,先將所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)寫入到緩沖區(qū)中;在所述主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的備份參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。
3.如權(quán)利要求2所述的方法,其特征在于,所述將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向所述主機(jī)發(fā)送具體為 在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),在將所述參數(shù)寄存器中存儲(chǔ)的參數(shù)的高字節(jié)向所述主機(jī)發(fā)送前,先將所述參數(shù)寄存器中存儲(chǔ)的參數(shù)寫入到緩存區(qū)中; 在所述主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。
4.如權(quán)利要求1-3任一所述的方法,其特征在于,在所述更新標(biāo)志被復(fù)位后,還包括 根據(jù)所述參數(shù)寄存器中存儲(chǔ)的更新后的參數(shù),更新所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)。
5.一種光模塊參數(shù)傳輸裝置,包括 參數(shù)發(fā)送模塊,用于在接收到主機(jī)發(fā)送的讀取參數(shù)的指令后,若確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位,則將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向所述主機(jī)發(fā)送;否則,將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向所述主機(jī)發(fā)送; 參數(shù)更新模塊,用于在更新所述參數(shù)寄存器中存儲(chǔ)的參數(shù)之前將所述更新標(biāo)志置位,在更新所述參數(shù)寄存器中存儲(chǔ)的參數(shù)完畢后將所述更新標(biāo)志復(fù)位。
6.如權(quán)利要求5所述的裝置,其特征在于,所述參數(shù)發(fā)送模塊包括更新標(biāo)志確認(rèn)單元、第一發(fā)送單元和第二發(fā)送單元; 其中,所述更新標(biāo)志確認(rèn)單元用于在接收到主機(jī)發(fā)送的讀取參數(shù)的指令后,若確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位,向第一發(fā)送單元發(fā)送第一通知;否則,向第二發(fā)送單元發(fā)送第二通知; 第一發(fā)送單元用于在接收到第一通知后,將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向所述主機(jī)發(fā)送; 第二發(fā)送單元用于在接收到第二通知后,將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向所述主機(jī)發(fā)送。
7.如權(quán)利要求6所述的裝置,其特征在于,所述第一發(fā)送單元包括 高字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)的高字節(jié)向所述主機(jī)發(fā)送;參數(shù)緩存子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)寫入到緩存區(qū)中; 低字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的備份參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。
8.如權(quán)利要求6所述的裝置,其特征在于,所述第二發(fā)送單元包括 高字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述參數(shù)寄存器中存儲(chǔ)的參數(shù)的高字節(jié)向所述主機(jī)發(fā)送; 參數(shù)緩存子單元,用于在所述主機(jī)讀取所述參數(shù)的高字節(jié)時(shí),將所述參數(shù)寄存器中存儲(chǔ)的參數(shù)寫入到緩存區(qū)中; 低字節(jié)發(fā)送子單元,用于在所述主機(jī)讀取所述參數(shù)的低字節(jié)時(shí),將所述緩存區(qū)中存儲(chǔ)的參數(shù)的低字節(jié)向所述主機(jī)發(fā)送。
9.如權(quán)利要求5-8任一所述的裝置,其特征在于, 參數(shù)更新模塊還用于將所述更新標(biāo)志復(fù)位后,根據(jù)所述參數(shù)寄存器中存儲(chǔ)的更新后的參數(shù),更新所述備份參數(shù)寄存器中存儲(chǔ)的備份參數(shù)。
10.如權(quán)利要求5-8任一所述的裝置,其特征在于,所述裝置設(shè)置于光網(wǎng)絡(luò)單元光模塊中,所述主機(jī)具體為光網(wǎng)絡(luò)單元系統(tǒng)設(shè)備;或者 所述裝置設(shè)置于光線路終端光模塊中,所述主機(jī)為光線路終端系統(tǒng)設(shè)備;以及 所述參數(shù)具體為偏置電流參數(shù)、或發(fā)射光功率參數(shù)、或接收光功率參數(shù)。
全文摘要
本發(fā)明公開了一種光模塊及其參數(shù)傳輸方法及裝置,所述方法包括在接收到主機(jī)發(fā)送的讀取參數(shù)的指令后,若確認(rèn)被讀取的參數(shù)的更新標(biāo)志被置位,則將備份參數(shù)寄存器中存儲(chǔ)的該參數(shù)的備份參數(shù)向所述主機(jī)發(fā)送;否則,將參數(shù)寄存器中存儲(chǔ)的該參數(shù)向所述主機(jī)發(fā)送;其中,所述參數(shù)寄存器和備份參數(shù)寄存器為多字節(jié)的,所述更新標(biāo)志在更新所述參數(shù)寄存器中存儲(chǔ)的參數(shù)之前被置位,在所述參數(shù)寄存器中存儲(chǔ)的參數(shù)更新完畢后被復(fù)位。由于在對(duì)采集的參數(shù)進(jìn)行更新時(shí),將更新標(biāo)志進(jìn)行置位,根據(jù)置位的更新標(biāo)志,可以防止主機(jī)從正在更新的新參數(shù)寄存器中錯(cuò)誤地讀取參數(shù),從而提高了參數(shù)從光模塊傳輸?shù)街鳈C(jī)的可靠性。
文檔編號(hào)H04L1/00GK102916776SQ20121039095
公開日2013年2月6日 申請(qǐng)日期2012年10月15日 優(yōu)先權(quán)日2012年10月15日
發(fā)明者鄧專 申請(qǐng)人:青島海信寬帶多媒體技術(shù)有限公司