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

📄 pm5337_line_sonet_lopp.tcl

📁 用于EOS芯片的驱动程序, 供参考 参考
💻 TCL
📖 第 1 页 / 共 3 页
字号:
     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 0x96 for SF-BER-V 10^-8     #     # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15          # ii) Set MAPS_LCODE[7:0] = 0x96 in MAPS_ID[5:0] = 01111b     set maps_lcode 0x96     set maps_table 0     set maps_id 0x0F     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 0x95 for SF-BER-V 10^-9     #     # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15          # ii) Set MAPS_LCODE[7:0] = 0x95 in MAPS_ID[5:0] = 01110b     set maps_lcode 0x95     set maps_table 0     set maps_id 0x0E     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 0x94 for SF-BER-V 10^-10     #     # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15          # ii) Set MAPS_LCODE[7:0] = 0x94 in MAPS_ID[5:0] = 01101b     set maps_lcode 0x94     set maps_table 0     set maps_id 0x0D     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 0x93 for SF-BER-V 10^-11     #     # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15  #        # ii) Set MAPS_LCODE[7:0] = 0x93 in MAPS_ID[5:0] = 01100b     set maps_lcode 0x93     set maps_table 0     set maps_id 0x0C     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 0x92 for SF-BER-V 10^-12     #     # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15          # ii) Set MAPS_LCODE[7:0] = 0x92 in MAPS_ID[5:0] = 01011b     set maps_lcode 0x92     set maps_table 0     set maps_id 0x0B     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 0x91 for SD-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] = 0x91 in MAPS_ID[5:0] = 01010b     set maps_lcode 0x91     set maps_table 0     set maps_id 0x0A     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 0x90 for SD-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] = 0x90 in MAPS_ID[5:0] = 01001b     set maps_lcode 0x90     set maps_table 0     set maps_id 0x09     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 0x8F for SD-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] = 0x8F in MAPS_ID[5:0] = 01000b     set maps_lcode 0x8F     set maps_table 0     set maps_id 0x08     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 0x8E for SD-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] = 0x8E in MAPS_ID[5:0] = 00111b     set maps_lcode 0x8E     set maps_table 0     set maps_id 0x07     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 0x8D for SD-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] = 0x8D in MAPS_ID[5:0] = 00110b     set maps_lcode 0x8D     set maps_table 0     set maps_id 0x06     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 0x8C for SD-BER-V 10^-8     #     # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15          # ii) Set MAPS_LCODE[7:0] = 0x8C in MAPS_ID[5:0] = 00101b     set maps_lcode 0x8C     set maps_table 0     set maps_id 0x05     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 0x8B for SD-BER-V 10^-9     #     # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15          # ii) Set MAPS_LCODE[7:0] = 0x8B in MAPS_ID[5:0] = 00100b     set maps_lcode 0x8B     set maps_table 0     set maps_id 0x04     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 0x8A for SD-BER-V 10^-10     #     # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15          # ii) Set MAPS_LCODE[7:0] = 0x8A in MAPS_ID[5:0] = 00011b     set maps_lcode 0x8A     set maps_table 0     set maps_id 0x03     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 0x89 for SD-BER-V 10^-11     #     # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15          # ii) Set MAPS_LCODE[7:0] = 0x89 in MAPS_ID[5:0] = 00010b     set maps_lcode 0x89     set maps_table 0     set maps_id 0x02     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 0x88 for SD-BER-V 10^-12     #     # i) Poll MAPS_BUSY until it is low     Poll_BUSY_Bit $devID $addr_1784 15          # ii) Set MAPS_LCODE[7:0] = 0x88 in MAPS_ID[5:0] = 00001b     set maps_lcode 0x88     set maps_table 0     set maps_id 0x01     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       ##############################################################    ##### 2. Set L-Code value for each LO MAPS alarm         #####    ##############################################################    # A) Configure, for each page, the SARC-L low-order Alarms    #    to enable/disable for MAPS.    #    In ACFG SARC-L Indirect Reg 0x02, set X_MAPSEN bits      #    to 1 to enable MAPS (where X is the alarm name)    # B) Select, for each page, the MAPS L-code value table    #    to use (table 0 or table 1).    #    In ACFG SARC-L Indirect Reg 0x02, set SW_MAPS_TABLE bit      #    to 0 to select L-code table 0 and 1 for L-code table 1.    #        for {set alarm_cfg_sel 0x0} {$alarm_cfg_sel<= 0xB} {incr alarm_cfg_sel} {                          # Poll BUSY bit until it is low      set busybit [admrdb $devID $addr_1782 15]      while {$busybit == 1} {        set busybit [admrdb $devID $addr_1782 15]      }                           # Set the X_MAPSEN bits high in the ACFG Indirect      # Register 0x02 "SARC-L MAPS Enable Configuration"      # and choose 0 for SW_MAPS_TABLE       admwr $devID $addr_1783 0x0819 ; # OOF_ESSI, TU-AIS, TU-LOP enabled      # Specify tributary address and set RWB = 0	      set ALARM_CFG_RWB 0      set ALARM_CFG_iaddr 0x2	      set ALARM_CFG_REQ 0x1      set taddr [expr [expr $alarm_cfg_sel << 0]|[expr $ALARM_CFG_iaddr << 8]| \	              [expr $ALARM_CFG_RWB << 14]|[expr $ALARM_CFG_REQ << 15]]	                    admwr $devID $addr_1782 $taddr	      # Poll BUSY bit until it is low      set busybit [admrdb $devID $addr_1782 15]      while {$busybit == 1} {        set busybit [admrdb $devID $addr_1782 15]      }    }            ##############################################################    ##### 3. Defining KILL1 and KILL2 L-Code                 #####    ##############################################################    set hwfail1_lcode 0xFF    set hwfail2_lcode 0xFF        set value [expr [expr $hwfail2_lcode << 8]|                    \              [expr $hwfail1_lcode << 0]]                             admwr $devID $addr_178B $value       ##############################################################    ##### 4. Select the configuration page, the SW Manual    #####    #####    and Force L-Code for specific tributary         #####    ##############################################################    # Set ALARM_CFG_SEL[3:0], SW_FORCE and SW_MANUAL in Trib.    # Indirect Reg. 02H    # In this example: ALARM_CFG_SEL = 0, SW_FORCE = 0,    # SW_MANUAL = 0 selected        if {$interface == 1} {      for {set stm1 1} {$stm1 <= 4} {incr stm1} {        for {set tug3 1} {$tug3 <= 3} {incr tug3} {          for {set tug2 1} {$tug2 <= 7} {incr tug2} {             for { set tu 1} {$tu <= 4} {incr tu} {              admindwr $devID LINE_SONET::LOPP::SARCL_1 0x0000 0x2 $stm1 $tug3 $tug2 $tu            }          }        }      }    } elseif {$interface == 2} {      for {set stm1 1} {$stm1 <= 4} {incr stm1} {        for {set tug3 1} {$tug3 <= 3} {incr tug3} {          for {set tug2 1} {$tug2 <= 7} {incr tug2} {             for { set tu 1} {$tu <= 4} {incr tu} {              admindwr $devID LINE_SONET::LOPP::SARCL_2 0x0000 0x2 $stm1 $tug3 $tug2 $tu            }          }        }      }    }          ##############################################################    ##### 5. Configure SARC-L MAPS Config register 0x1786    #####     #####    Set the G2i byte insertion                      #####    #####    Set the G2i byte extraction (must be the same   #####    #####    G2i byte position in SARC-H block)              #####    #####    Enable HOINSEN, HOEXTREN, LOINSEN, LOEXTREN     #####    ##############################################################    #set value [expr [expr $G2i_RowPosition << 4]|[expr $G2i_ColPosition << 8]|[expr $G2i_RowPosition << 12]|[expr $G2i_ColPosition << 10]]                  #set value [dec2hex $value]    #admwr $devID $addr_1786 $value            #admwrb $devID $addr_1786 2 1    #admwrb $devID $addr_1786 1 0    #admwrb $devID $addr_1786 0 1          # configure SARC-L payload type                admwrb $devID $addr_1786 3 1      }    ########################################  ##### Disable Low Order MAPS       #####  ########################################    if {$enable == "0"} {       # Disable SARC-L HOEXTREN, LOINSEN, LOEXTREN    admwrb $devID $addr_1786 0 0     admwrb $devID $addr_1786 1 0     admwrb $devID $addr_1786 3 0         # Clear COMAPSE     # Poll BUSY bit until it is low    Poll_BUSY_Bit $devID $addr_1782 15               # Set COMAPSE (bit 3) in ACFG indirect reg 0x3 to 0                          admwrb $devID $addr_1783 3 0    # Specify tributary address register value      set ALARM_CFG_RWB 0    set ALARM_CFG_iaddr 0x3    set ALARM_CFG_SEL 0x0    set ALARM_CFG_REQ 0x1        set taddr [expr [expr $ALARM_CFG_SEL << 0]|[expr $ALARM_CFG_iaddr << 8]|\	            [expr $ALARM_CFG_RWB << 14]|[expr $ALARM_CFG_REQ << 15]]	                                admwr $devID $addr_1782 $taddr	    # Poll BUSY bit until it is low    Poll_BUSY_Bit $devID $addr_1782 15    }}

⌨️ 快捷键说明

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