📄 pm5337_line_sonet_hopp.tcl
字号:
} elseif {$ber_rate == 9} { set ipH 0x0007 set ipL 0xA38D set sthre 0x015 set cthre 0x00F } elseif {$ber_rate == 10} { set ipH 0x004C set ipL 0x6337 set sthre 0x015 set cthre 0x00F } elseif {$ber_rate == 11} { set ipH 0x02FB set ipL 0xDFDB set sthre 0x015 set cthre 0x00F } } ##### Define system block name ##### if {$interface == 1} { set PBER "LINE_SONET::HOPP::PBER_1" } elseif {$interface == 2} { set PBER "LINE_SONET::HOPP::PBER_2" } ######################################################################## ##### Configuring and Enable BER for Signal Degrade (SD) Detection ##### ######################################################################## if {$sd_sf == 1 && $enable == 1} { ### 1. Set SD_EN to 0 to temporarily disable SD BER detection ### if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER 0x0000 0x06 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER 0x0000 0x06 $stm1 $stm0 } ### 2. Configure PBER SD BERM Set Threshold ### if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER $sthre 0x04 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER $sthre 0x04 $stm1 $stm0 } ### 3. Configure PBER SD BERM Clear Threshold ### if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER $cthre 0x05 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER $cthre 0x05 $stm1 $stm0 } ### 4. Configure PBER SD BERM Set Integration Period [31:0] if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER $ipH 0x07 $stm1_index $stm0_index admindwr $devID $PBER $ipL 0x08 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER $ipH 0x07 $stm1 $stm0 admindwr $devID $PBER $ipL 0x08 $stm1 $stm0 } ### 5. Set SD_EN to 1 to enable SD BER detection ### if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER 1 0x06 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER 1 0x06 $stm1 $stm0 } } ################################################# ##### Disable Signal Degrade (SD) Detection ##### ################################################# if {$enable == 0 && $sd_sf == 1} { ### Set SD_EN to 0 disable SD BER detection ### if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER 0x0000 0x06 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER 0x0000 0x06 $stm1 $stm0 } } ######################################################## ##### Configuring and Enable PBER for SF detection ##### ######################################################## if {$sd_sf == 0 && $enable == 1} { ### 1. Set SF_EN to 0 to disable SF BER detection if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER 0x0000 0x16 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER 0x0000 0x16 $stm1 $stm0 } ### 2. Configure PBER SF BERM Set Threshold ### if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER $sthre 0x14 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER $sthre 0x14 $stm1 $stm0 } ### 3. Configure PBER SF BERM Clear Threshold ### if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER $cthre 0x15 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER 0x15 $cthre $stm1 $stm0 } ### 4. Configure PBER SF BERM Set Integration Period [31:0] ### if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER $ipH 0x17 $stm1_index $stm0_index admindwr $devID $PBER $ipL 0x18 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER $ipH 0x17 $stm1 $stm0 admindwr $devID $PBER $ipL 0x18 $stm1 $stm0 } ### 5. Set SF_EN to 1 to enable SF BER detection ### if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER 1 0x16 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER 1 0x16 $stm1 $stm0 } } ##################################################### ##### Disable BER Signal Degrade (SD) Detection ##### ##################################################### if {$sd_sf == 0 && $enable == 0} { ### 1. Set SF_EN to 0 to temporarily disable SF BER detection ### if {$stm1 == -1 || $stm0 == -1} { # Write same settings to all 12 paths for {set stm1_index 0} {$stm1_index <= 3} {incr stm1_index} { for {set stm0_index 0} {$stm0_index <= 2} {incr stm0_index} { admindwr $devID $PBER 0x0000 0x16 $stm1_index $stm0_index } } } else { # Write setting to specified path admindwr $devID $PBER 0x0000 0x16 $stm1 $stm0 } } }#------------------------------------------------------------------------------# SCRIPT NAME: LINE_SONET_HO_MAPS_Config# DESCRIPTION: This procedure configure the MAPS functionality in# the SARC-H block## PARAMETERS : devID - This parameter is used to specify the device # under configuration ## interface - 1 or 2## enable - 0 to disable, 1 to enable## G2i_RowPosition - 1, 2, 3, ..., 9 (0x1 - 0x9)## G2i_ColPosition - 1, 2, 3 (0x1 - 0x3)# # NOTE : Incoming G2i position and Outgoing G2i position are# the same##------------------------------------------------------------------------------proc LINE_SONET_HO_MAPS_Config {devID interface enable G2i_RowPosition G2i_ColPosition} { source /usr/lib/cgi-bin/apps/tclscripts/PM5337_util.tcl ##################################### ##### Defining SARC-H registers ##### ##################################### set addr_0x1480 [expr (0x1480 + (($interface-1)*0x0100))] set addr_0x1481 [expr (0x1481 + (($interface-1)*0x0100))] set addr_0x1482 [expr (0x1482 + (($interface-1)*0x0100))] set addr_0x1486 [expr (0x1486 + (($interface-1)*0x0100))] set addr_0x1487 [expr (0x1487 + (($interface-1)*0x0100))] set addr_0x1488 [expr (0x1488 + (($interface-1)*0x0100))] set addr_0x1489 [expr (0x1489 + (($interface-1)*0x0100))] set addr_0x148A [expr (0x148A + (($interface-1)*0x0100))] set addr_0x1494 [expr (0x1494 + (($interface-1)*0x0100))] set addr_0x1495 [expr (0x1495 + (($interface-1)*0x0100))] set addr_0x1496 [expr (0x1496 + (($interface-1)*0x0100))] set addr_0x149C [expr (0x149C + (($interface-1)*0x0100))] if {$enable == 1} { ##################################################################################### ##### 1. Specify L-CODE (G2i byte) insertion coordinate in 0x148A + 0x100*(n-1) ##### ##################################################################################### set value [expr [expr $G2i_RowPosition << 2]|$G2i_ColPosition] admwr $devID $addr_0x148A $value ################################################################## ##### 2. Defining a L-Code for each of the interested defect ##### ##### indications ##### ################################################################## # High-Order Path Level UPSR/SNCP Ring Alarm Priority #--------------------------------------------------------------------------------------- # Priority Alarm [Alarm ID] [L Code] #--------------------------------------------------------------------------------------- # High Loss of Signal (LOS) [111000] 0xFE # Loss of Frame (LOF) [110111] 0xFD # Out of Frame (OOF) [111010] 0xFC # APS byte failure defect (APSBF) [111011] 0xFB # Section Trace Identifier Mismatch (TIM-S) [111001] 0xFA # Line AIS (AIS-L) [110110] 0xF9 # Signal Fail (SF-L) / Excessive BER (EXC-MS) [110000] 0xF8 # Path AIS (AIS-P) [110101] 0xF7 # Loss of Pointer (LOP-P) [110100] 0xF6 # Path Unequipped Signal label (UNEQ-P) [110011] 0xF5 # Path Trace Identifier Mismatch (TIM-P) [110001] 0xF4 # Payload Label Mismatch (PLM-P) [110010] 0xF3 # Path Signal Fail (SF-P) (10-3 to 10-11) [101111~100111] 0xF2 to 0xEA # PDI codes (28 down to 1) [100110~001011] 0xE9 to 0xCE # Path Signal Degrade (SD-P) (10-3 to 10-11) [001001~000001] 0x87 to 0x7F # Low Signal Degrade (SD-L) [001010] 0x7E #----------------------------------------------------------------------------------------- ##### For example, assign an L-Code of "0xFE" for the LOS defect ##### # i) Poll MAPS_BUSY until it is low Poll_BUSY_Bit $devID $addr_0x1488 15 # ii) Set ALARM_LCODE[7:0] = 0xFE in ALARM_ID[5:0] = 111000b set alarm_lcode 0xFE set alarm_id 0x38 set maps_rwb 0 set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id] admwr $devID $addr_0x1488 $value ##### For example, assign an L-Code of "0xFD" for the LOF defect ##### # i) Poll MAPS_BUSY until it is low Poll_BUSY_Bit $devID $addr_0x1488 15 # ii) Set ALARM_LCODE[7:0] = 0xFD in ALARM_ID[5:0] = 110111b set alarm_lcode 0xFD set alarm_id 0x37 set maps_rwb 0 set value [expr [expr $maps_rwb << 14]|[expr $alarm_lcode << 6]|$alarm_id] admwr $devID $addr_0x1488 $value
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -