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

📄 pm5337_line_sonet_lopp.tcl

📁 用于EOS芯片的驱动程序, 供参考 参考
💻 TCL
📖 第 1 页 / 共 3 页
字号:
    # 1. Poll BUSY Bit    Poll_BUSY_Bit $devID $trace_iaddr_addr 15        # 2. Write Settings to Indirect Data Registers    admwr $devID $trace_idata1_addr 0x30CD    admwr $devID $trace_idata2_addr 0x3231    admwr $devID $trace_idata3_addr 0x3433    admwr $devID $trace_idata4_addr 0x3635            # 3. Specify Tributary Address for Expected Trace (0x1720) Bytes 0 to 7 (A[5..3] = 0)    set RWB 0    set A 0    set iaddr_value [expr [expr $RWB << 14]|[expr $A << 11]|[expr $stm1 << 8]|[expr $tug3 << 6]|\                    [expr $tug2 << 3]|[expr $tu]]      admwr $devID $trace_iaddr_addr $iaddr_value                  ### Step 2 ###         # 1. Poll BUSY Bit    Poll_BUSY_Bit $devID $trace_iaddr_addr 15        # 2. Write Settings to Indirect Data Registers    admwr $devID $trace_idata1_addr 0x3837    admwr $devID $trace_idata2_addr 0x4139    admwr $devID $trace_idata3_addr 0x4342    admwr $devID $trace_idata4_addr 0x4544            # 3. Specify Tributary Address for Expected Trace (0x1720) Bytes 8 to 15 (A[5..3] = 1)    set RWB 0    set A 1    set iaddr_value [expr [expr $RWB << 14]|[expr $A << 11]|[expr $stm1 << 8]|[expr $tug3 << 6]|\                    [expr $tug2 << 3]|[expr $tu]]      admwr $devID $trace_iaddr_addr $iaddr_value  }  }#------------------------------------------------------------------------------# SCRIPT NAME:  LINE_SONET_LO_BER_Config## DESCRIPTION:  This procedure configure the TBER block in the #               ADM622 device.##  PARAMETERS : devID     - This parameter is used to specify the device #                           under configuration ##               intf - 1 (interface 1), 2 (interface 2)##               payload - VT15, TU11, VT2, TU12, VT3, VT6, TU2, TU3##               sd_level - SD BER Monitoring Level, valid options are:#                          0x0 - Disabled SD Monitoring#                          0x3 - 10E-3#                          0x4 - 10E-4#                             ....#                          0xC - 10E-12##               sf_level - SF BER Monitoring Level, valid options are:#                          0x0 - Disabled SD Monitoring#                          0x3 - 10E-3#                          0x4 - 10E-4#                             ....#                          0xC - 10E-12##		stm1 - 1~4 (STS-3/STM1 #1~#4) [optional]##		tug3 -1~3 (TUG3 #1~#3) [optional]##		tug2 - 1~7 (TUG2 #1~#7) [optional]##		tu - 1~4 (TU #1~#4) [optional]##               #  NOTE : 	If no values are specified for stm1, tug3, tug2, #		or tu, then the process configures all tributaries.#               'ber_rate' used for SD/SF level#------------------------------------------------------------------------------proc LINE_SONET_LO_BER_Config {devID intf payload sd_level sf_level {stm1 -1} {tug3 -1} {tug2 -1} {tu -1} } {  source /usr/lib/cgi-bin/apps/tclscripts/PM5337_util.tcl    source /usr/lib/cgi-bin/apps/tclscripts/PM5337_LINE_SONET_LUT.tcl      ######################################  ##### Local Variable Declaration #####  ######################################    # Defining block name  if {$intf == 1} {    set TBER "LINE_SONET::LOPP::TBER_1"  } elseif {$intf == 2} {    set TBER "LINE_SONET::LOPP::TBER_2"  }    # Defining address offset  set addr_0x17C1 [expr 0x17C1 + (($intf - 1)* 0x200)]    # Defining CONFIG[1:0] values  if {$payload == "VT15" || $payload == "TU11"} {    set config 0x3  } elseif {$payload == "VT2" || $payload == "TU12"} {    set config 0x2  } elseif {$payload == "VT3"} {    set config 0x1  } elseif {$payload == "VT6" || $payload == "TU2" || $payload == "TU3"} {    set config 0x0  }    # Defining SD_EN value  if {$sd_level >= 0x3 && $sd_level <= 0xC} {    set sd_en 0x1  } else {    set sd_en 0x0  }    # Defining SF_EN value  if {$sf_level >= 0x3 && $sf_level <= 0xC} {    set sf_en 0x1  } else {    set sf_en 0x0  }           ##########################################  ##### Initializing TBER Lookup Table #####  ##########################################    #LINE_SONET_TBER_LUT_Config $devID $intf $payload   ##############################  ##### TBER Configuration #####  ##############################    # Defining block name  if {$intf == 1} {    set TBER "LINE_SONET::LOPP::TBER_1"  } elseif {$intf == 2} {    set TBER "LINE_SONET::LOPP::TBER_2"  }            if {$stm1 == -1 || $tug3 == -1 || $tug2 == -1 || $tu == -1} {        # Configure all VT/TU with same settings    for {set stm1_index 0x1} {$stm1_index <= 0x4} {incr stm1_index} {      for {set tug3_index 0x1} {$tug3_index <= 0x3} {incr tug3_index} {        for {set tug2_index 0x1} {$tug2_index <= 0x7} {incr tug2_index} {                    # Writing Settings to Configuration Register          set data [expr [expr $sf_level << 12]|[expr $sd_level << 18]|[expr $sf_en << 7]|[expr $sd_en << 6]|[expr $config << 0x4] ]          admindwr $devID $TBER $data $addr_0x17C1 $stm1_index $tug3_index $tug2_index 0x1                              }      }    }  } else {      # Configure specific VT/TU        set data [expr [expr $sf_level << 12]|[expr $sd_level << 18]|[expr $sf_en << 7]|[expr $sd_en << 6]|[expr $config << 0x4] ]              admindwr $devID $TBER $data $addr_0x17C1 $stm1 $tug3 $tug2 $tu    }}#------------------------------------------------------------------------------# SCRIPT NAME: LINE_SONET_LO_MAPS_Config## DESCRIPTION: 	This procedure configure the MAPS functionality in#		            the SARC-L block##  PARAMETERS :	devID     - This parameter is used to specify the device #                           under configuration ##		interface       - 1 or 2##               G2i_RowPosition - 1, 2, 3, ..., 9 (0x1 - 0x9)##		G2i_ColPosition - 1, 2, 3 (0x1 - 0x3)	##               enable - 0 to disable, 1 to enable#		#  NOTE : G2i position parameters are only applicable to TU3 #	        payload##------------------------------------------------------------------------------proc LINE_SONET_LO_MAPS_Config {devID interface G2i_RowPosition G2i_ColPosition enable} { source /usr/lib/cgi-bin/apps/tclscripts/PM5337_util.tcl    # Defining SARC-L register values  set addr_1782 [expr (0x1782 + (($interface-1)*0x0200))]   set addr_1783 [expr (0x1783 + (($interface-1)*0x0200))]   set addr_1784 [expr (0x1784 + (($interface-1)*0x0200))]   set addr_1785 [expr (0x1785 + (($interface-1)*0x0200))]   set addr_1786 [expr (0x1786 + (($interface-1)*0x0200))]  set addr_1787 [expr (0x1787 + (($interface-1)*0x0200))]   set addr_1788 [expr (0x1788 + (($interface-1)*0x0200))]  set addr_178B [expr (0x178B + (($interface-1)*0x0200))]         ########################################  ##### Enable Low Order MAPS        #####  ########################################  if {$enable == "1"} {      ##############################################################    ##### 1. Set L-Code value for each LO MAPS alarm         #####    ##############################################################    #      L-Code MAPS ID   Alarm      #       0xFC   11110   OOF_ESSI  (Same as HO MAPS)*    #       0xF9   11010   AIS HO    (Same as HO MAPS)*    #    #       0xA0   11100   AIS LO *    #       0x9F   11001   LOP*    #       0x9E   10111   UNEQ*    #       0x9D   10101   TIM, TIU    #       0x9C   11000   PSLM, PSLU    #           #       0x9B   10100   SF-BER-V 10^-3    #        ..     ...               ..    #       0x92   01011   SF-BER-V 10^-12    #                  #       0x91   01010   SD-BER-V 10^-3    #        ..     ...               ..    #       0x88   00001   SD-BER-V 10^-12        #    ##############################################    # Assign L-Code of 0xFC for OOF_ESSI    #        # i) Poll MAPS_BUSY until it is low    Poll_BUSY_Bit $devID $addr_1784 15        # ii) Set MAPS_LCODE[7:0] = 0xFC in MAPS_ID[5:0] = 11110b    set maps_lcode 0xFC    set maps_table 0    set maps_id 0x1E    set maps_rwb 0    set maps_req 0x1        set value [expr [expr $maps_rwb << 14]|[expr $maps_id << 1]|   \              [expr $maps_table << 0]|[expr $maps_req << 15]]                                    admwr $devID $addr_1785 $maps_lcode    admwr $devID $addr_1784 $value          ##############################################    # Assign L-Code of 0xF9 for AIS HO    #        # i) Poll MAPS_BUSY until it is low    Poll_BUSY_Bit $devID $addr_1784 15    # ii) Set MAPS_LCODE[7:0] = 0xF9 in MAPS_ID[5:0] = 11010b    set maps_lcode 0xF9    set maps_table 0    set maps_id 0x1A    set maps_rwb 0    set maps_req 0x1        set value [expr [expr $maps_rwb << 14]|[expr $maps_id << 1]|   \              [expr $maps_table << 0]|[expr $maps_req << 15]]                      admwr $devID $addr_1785 $maps_lcode    admwr $devID $addr_1784 $value           ##############################################    # Assign L-Code of 0xA0 for AIS LO    #    # i) Poll MAPS_BUSY until it is low    Poll_BUSY_Bit $devID $addr_1784 15    # ii) Set MAPS_LCODE[7:0] = 0xA0 in MAPS_ID[5:0] = 11100b    set maps_lcode 0xA0    set maps_table 0    set maps_id 0x1C    set maps_rwb 0    set maps_req 0x1        set value [expr [expr $maps_rwb << 14]|[expr $maps_id << 1]|   \              [expr $maps_table << 0]|[expr $maps_req << 15]]                      admwr $devID $addr_1785 $maps_lcode    admwr $devID $addr_1784 $value      ##############################################    # Assign L-Code of 0x9F for LOP    #    # i) Poll MAPS_BUSY until it is low    Poll_BUSY_Bit $devID $addr_1784 15    # ii) Set MAPS_LCODE[7:0] = 0x9F in MAPS_ID[5:0] = 11001b    set maps_lcode 0x9F    set maps_table 0    set maps_id 0x19    set maps_rwb 0    set maps_req 0x1     set value [expr [expr $maps_rwb << 14]|[expr $maps_id << 1]|   \              [expr $maps_table << 0]|[expr $maps_req << 15]]                      admwr $devID $addr_1785 $maps_lcode    admwr $devID $addr_1784 $value          ##############################################    # Assign L-Code of 0x9E for UNEQ    #    # i) Poll MAPS_BUSY until it is low    #Poll_BUSY_Bit $devID $addr_1784 15        # ii) Set MAPS_LCODE[7:0] = 0x9E in MAPS_ID[5:0] = 10111b    #set maps_lcode 0x9E    #set maps_table 0    #set maps_id 0x17    #set maps_rwb 0    #set maps_req 0x1     #set value [expr [expr $maps_rwb << 14]|[expr $maps_id << 1]|   \    #          [expr $maps_table << 0]|[expr $maps_req << 15]]                      #admwr $devID $addr_1785 $maps_lcode    #admwr $devID $addr_1784 $value      ##############################################    # Assign L-Code of 0x9D for TIM, TIU    #    # i) Poll MAPS_BUSY until it is low #   Poll_BUSY_Bit $devID $addr_1784 15 #   # ii) Set MAPS_LCODE[7:0] = 0x9D in MAPS_ID[5:0] = 10101b #   set maps_lcode 0x9D #   set maps_table 0 #   set maps_id 0x15 #   set maps_rwb 0 #   set maps_req 0x1 # #   set value [expr [expr $maps_rwb << 14]|[expr $maps_id << 1]|   \ #             [expr $maps_table << 0]|[expr $maps_req << 15]]  #                 #   admwr $devID $addr_1785 $maps_lcode #   admwr $devID $addr_1784 $value            ##############################################    # Assign L-Code of 0x9C for PSLM, PSLU    #    # i) Poll MAPS_BUSY until it is low #   Poll_BUSY_Bit $devID $addr_1784 15 #   # ii) Set MAPS_LCODE[7:0] = 0x9C in MAPS_ID[5:0] = 11000b #   set maps_lcode 0x9C #   set maps_table 0 #   set maps_id 0x18 #   set maps_rwb 0 #   set maps_req 0x1 #  #   set value [expr [expr $maps_rwb << 14]|[expr $maps_id << 1]|   \ #             [expr $maps_table << 0]|[expr $maps_req << 15]]  #                 #   admwr $devID $addr_1785 $maps_lcode #   admwr $devID $addr_1784 $value      ##############################################    # Assign L-Code of 0x9B for SF-BER-V 10^-3    #    # i) Poll MAPS_BUSY until it is low #   Poll_BUSY_Bit $devID $addr_1784 15 #   # ii) Set MAPS_LCODE[7:0] = 0x9B in MAPS_ID[5:0] = 10100b #   set maps_lcode 0x9B #   set maps_table 0 #   set maps_id 0x14 #   set maps_rwb 0 #   set maps_req 0x1 # #   set value [expr [expr $maps_rwb << 14]|[expr $maps_id << 1]|   \ #             [expr $maps_table << 0]|[expr $maps_req << 15]]   #                #   admwr $devID $addr_1785 $maps_lcode #   admwr $devID $addr_1784 $value      ##############################################    # Assign L-Code of 0x9A for SF-BER-V 10^-4    #    # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15     # ii) Set MAPS_LCODE[7:0] = 0x9A in MAPS_ID[5:0] = 10011b     set maps_lcode 0x9A     set maps_table 0     set maps_id 0x13     set maps_rwb 0     set maps_req 0x1       set value [expr [expr $maps_rwb << 14]|[expr $maps_id << 1]|   \               [expr $maps_table << 0]|[expr $maps_req << 15]]                        admwr $devID $addr_1785 $maps_lcode     admwr $devID $addr_1784 $value            ##############################################    # Assign L-Code of 0x99 for SF-BER-V 10^-5    #    # i) Poll MAPS_BUSY until it is low    #Poll_BUSY_Bit $devID $addr_1784 15         # ii) Set MAPS_LCODE[7:0] = 0x99 in MAPS_ID[5:0] = 10010b     set maps_lcode 0x99     set maps_table 0     set maps_id 0x12     set maps_rwb 0     set maps_req 0x1       set value [expr [expr $maps_rwb << 14]|[expr $maps_id << 1]|   \               [expr $maps_table << 0]|[expr $maps_req << 15]]                        admwr $devID $addr_1785 $maps_lcode     admwr $devID $addr_1784 $value        ##############################################    # Assign L-Code of 0x98 for SF-BER-V 10^-6    #    # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15          # ii) Set MAPS_LCODE[7:0] = 0x98 in MAPS_ID[5:0] = 10001b     set maps_lcode 0x98     set maps_table 0     set maps_id 0x11     set maps_rwb 0     set maps_req 0x1       set value [expr [expr $maps_rwb << 14]|[expr $maps_id << 1]|   \               [expr $maps_table << 0]|[expr $maps_req << 15]]                        admwr $devID $addr_1785 $maps_lcode     admwr $devID $addr_1784 $value              Poll_BUSY_Bit $devID $addr_1784 15         ##############################################     # Assign L-Code of 0x97 for SF-BER-V 10^-7     #     # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15          # ii) Set MAPS_LCODE[7:0] = 0x97 in MAPS_ID[5:0] = 10000b     set maps_lcode 0x97     set maps_table 0     set maps_id 0x10     set maps_rwb 0     set maps_req 0x1  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -