📄 pm5337_line_sonet_lopp.tcl
字号:
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 + -