⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pm5337_line_sonet_hopp.tcl

📁 用于EOS芯片的驱动程序, 供参考 参考
💻 TCL
📖 第 1 页 / 共 3 页
字号:
    } 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 + -