📄 pm5337_config.tcl
字号:
#------------------------------------------------------------------------------# FILE NAME: PM5337_Config.tcl## DESCRIPTION: This file includes the following procedures:# 1) ADM622_Config1 (SONET/SDH Demo)# 2) ADM622_Config2 (Linear 1+1 APS Demo)# 3) ADM622_Config3 (MAPS Demo)# 4) ADM622_Config4 (PDH Demo)# 5) ADM622_Config5 (Ethernet Demo)# 6) ADM622_Config6 (Drop and Continue Demo)# # NOTES:# REVISION History:# Preliminary 1 - Script created##------------------------------------------------------------------------------#------------------------------------------------------------------------------# SCRIPT NAME: ADM622_Config1## DESCRIPTION: This procedure configures the ADM 622 device to demostrate the # SONET/SDH functional block.## # PARAMETERS: devID - This parameter is used to specify the device # under configuration## refclk_mode - 0 (Internal Clock), 1 (External via SMB)# 2 (Recover from Line Interface 1)# 3 (Recover from T1 clock)## line_intf_mode - 0 (disabled), 1 (OC-12), 2 (OC-3)## payload_config - 0 (STS-12c), 1 (STS-3c), 2 (STS-1), 3 (VT1.5)# 4 (VT2), 5 (VT3), 6 (VT6), 7 (AU4-4c), 8 (AU4/C4)# 9 (AU3/C3), 10 (AU4/TU11), 11 (AU4/TU12), # 12 (AU4/TU2), 13 (AU4/TU3), 14 (AU3/TU11), # 15 (AU3/TU12), 16 (AU3/TU2)# # ais_l - 0 (diabled), 1 (enabled) - Insert AIS-L into the data stream# as a consequence of line alarms## ais_p - 0 (diabled), 1 (enabled) - Insert AIS-P into the data stream# as a consequence of path alarms## ais_v - 0 (diabled), 1 (enabled) - Insert AIS-V into the data stream# as a consequence of tributary alarms## rdi_l - 0 (diabled), 1 (enabled) - Insert RDI-L into the data stream# as a consequence of line alarms## rdi_p - 0 (diabled), 1 (enabled) - Insert RDI-P into the data stream# as a consequence of path alarms## rdi_v - 0 (diabled), 1 (enabled) - Insert RDI-V into the data stream# as a consequence of tributary alarms## NOTES: ##------------------------------------------------------------------------------proc ADM622_Config1 { {devID 0} {refclk_mode 0} {line_intf_mode 1} {payload_config 0} {ais_l 0} {ais_p 0} {ais_v 0} {rdi_l 0} {rdi_p 0} {rdi_v 0}} { ################################################## ##### Sourcing all TCL configuration scripts ##### ################################################## source /usr/lib/cgi-bin/apps/tclscripts/PM5337_TOP.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_LINE_SONET.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_LINE_SONET_SLP.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_LINE_SONET_APS.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_LINE_SONET_HOPP.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_LINE_SONET_LOPP.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_LINE_SONET_LUT.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_LINE_SONET_ALARMS.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_SYS_SONET.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_PDH.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_EOS.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_CORE_XC.tcl source /usr/lib/cgi-bin/apps/tclscripts/PM5337_CORE_XC_MASU.tcl source /usr/lib/cgi-bin/apps/tclscripts/TDK_FPGA.tcl source /usr/lib/cgi-bin/apps/tclscripts/hdliu_init.tcl source /usr/lib/cgi-bin/apps/tclscripts/LED.tcl #################################### ##### Defining Local Variables ##### #################################### # Defining payload naming notation used by different procedure if {$payload_config == 0} { set XC_payload "STS-12c" set HO_payload "STS-12c" set LO_payload "STS-12c" set tu 0 ;# flag to indicate no VT/TUs in data stream } elseif {$payload_config == 1} { set XC_payload "STS-3c" set HO_payload "STS-3c" set LO_payload "STS-3c" set tu 0 ;# flag to indicate no VT/TUs in data stream } elseif {$payload_config == 2} { set XC_payload "STS-1" set HO_payload "STS-1" set LO_payload "STS-1" set tu 0 ;# flag to indicate no VT/TUs in data stream } elseif {$payload_config == 3} { set XC_payload "VT15" set HO_payload "STS-1" set LO_payload "VT15" set tu 1 ;# flag to indicate VT/TUs in data stream } elseif {$payload_config == 4} { set XC_payload "VT2" set HO_payload "STS-1" set LO_payload "VT2" set tu 1 ;# flag to indicate VT/TUs in data stream } elseif {$payload_config == 5} { set XC_payload "VT3" set HO_payload "STS-1" set LO_payload "VT3" set tu 1 ;# flag to indicate VT/TUs in data stream } elseif {$payload_config == 6} { set XC_payload "VT6" set HO_payload "STS-1" set LO_payload "VT6" set tu 1 ;# flag to indicate VT/TUs in data stream } elseif {$payload_config == 7} { set XC_payload "AU4-4c" set HO_payload "AU4-4c" set LO_payload "AU4-4c" set tu 0 ;# flag to indicate no VT/TUs in data stream } elseif {$payload_config == 8} { set XC_payload "AU4/C4" set HO_payload "AU4" set LO_payload "AU4/C4" set tu 0 ;# flag to indicate no VT/TUs in data stream } elseif {$payload_config == 9} { set XC_payload "AU3/C3" set HO_payload "AU3" set LO_payload "AU3/C3" set tu 0 ;# flag to indicate no VT/TUs in data stream } elseif {$payload_config == 10} { set XC_payload "AU4/TU11" set HO_payload "AU4" set LO_payload "AU4/TU11" set tu 1 ;# flag to indicate VT/TUs in data stream } elseif {$payload_config == 11} { set XC_payload "AU4/TU12" set HO_payload "AU4" set LO_payload "AU4/TU12" set tu 1 ;# flag to indicate VT/TUs in data stream } elseif {$payload_config == 12} { set XC_payload "AU4/TU2" set HO_payload "AU4" set LO_payload "AU4/TU2" set tu 1 ;# flag to indicate VT/TUs in data stream } elseif {$payload_config == 13} { set XC_payload "AU4/TU3" set HO_payload "AU4" set LO_payload "AU4/TU3" set tu 1 ;# flag to indicate VT/TUs in data stream } elseif {$payload_config == 14} { set XC_payload "AU3/TU11" set HO_payload "AU3" set LO_payload "AU3/TU11" set tu 1 ;# flag to indicate VT/TUs in data stream } elseif {$payload_config == 15} { set XC_payload "AU3/TU12" set HO_payload "AU3" set LO_payload "AU3/TU12" set tu 1 ;# flag to indicate VT/TUs in data stream } elseif {$payload_config == 16} { set XC_payload "AU3/TU2" set HO_payload "AU3" set LO_payload "AU3/TU2" set tu 1 ;# flag to indicate VT/TUs in data stream } ################################################### ##### Perform Device Reset and Initialization ##### ################################################### if {$devID == -1} { puts "<br>" puts "/*---------- Device Reset and Initialization ----------*/<br>" } # Call Top level initialization scripts TOP_Init $devID ########################################## ##### Reference Clock Configuration ##### ########################################## if {$devID == -1} { puts "<br>" puts "/*---------- Reference Clock Configuration ----------*/<br>" } if {$refclk_mode == 0} { # Configure 3-to-1 Mux to have no input wr cpld 0x3 0x0 # Enable free run mode set init_value [rd fpga 0x7] set value [expr $init_value | 0x1 << 10] set value [dec2hex $value] wr fpga 0x7 $value # Enable Fast Lock mode set init_value [rd fpga 0x7] set value [expr $init_value | 0x1] set value [dec2hex $value] wr fpga 0x7 $value # Setup Timing LED set timing_led 0x0 ;# free run mode set init_value [expr 0xFFCF & [rd fpga 0x2]] set value [expr $init_value | $timing_led << 4] set value [dec2hex $value] wr fpga 0x2 $value } elseif {$refclk_mode == 1} { # Configure 3-to-1 Mux to source from SMB connector wr cpld 0x3 0x1 # Enable Fast Lock mode set init_value [rd fpga 0x7] set value [expr $init_value | 0x1] set value [dec2hex $value] wr fpga 0x7 $value # Enable normal mode set init_value [rd fpga 0x7] set value [expr $init_value & 0xF9FF] set value [dec2hex $value] wr fpga 0x7 $value # Setup Timing LED set timing_led 0x1 ;# Extenal or T1 mode set init_value [expr 0xFFCF & [rd fpga 0x2]] set value [expr $init_value | $timing_led << 4] set value [dec2hex $value] wr fpga 0x2 $value } elseif {$refclk_mode == 2} { # Configure 3-to-1 Mux to source from PGMRCLK[1] wr cpld 0x3 0x2 # Enable Fast Lock mode set init_value [rd fpga 0x7] set value [expr $init_value | 0x21] set value [dec2hex $value] wr fpga 0x7 $value # Enable normal mode set init_value [rd fpga 0x7] set value [expr $init_value & 0xF9FF] set value [dec2hex $value] wr fpga 0x7 $value # Setup Timing LED set timing_led 0x2 ;# Recovered from Line Interface 1 set init_value [expr 0xFFCF & [rd fpga 0x2]] set value [expr $init_value | $timing_led << 4] set value [dec2hex $value] wr fpga 0x2 $value } elseif {$refclk_mode == 3} { # Configure 3-to-1 Mux to source from T1 wr cpld 0x3 0x3 # Enable Fast Lock mode set init_value [rd fpga 0x7] set value [expr $init_value | 0x1] set value [dec2hex $value] wr fpga 0x7 $value # Enable normal mode set init_value [rd fpga 0x7] set value [expr $init_value & 0xF9FF] set value [dec2hex $value] wr fpga 0x7 $value # Setup Timing LED set timing_led 0x1 ;# Extenal or T1 mode set init_value [expr 0xFFCF & [rd fpga 0x2]] set value [expr $init_value | $timing_led << 4] set value [dec2hex $value] wr fpga 0x2 $value } ############################################ ##### CORE_XC Subsystem Configuration ##### ############################################ if {$devID == -1} { puts "<br>" puts "/*---------- CORE_XC Subsystem Configuration ----------*/<br>" } ### Enable the CORE_XC subsystem to SMART Framing Mode with CMP switching ### ### in Incremental mode with CM2 active. ### CORE_XC_Init $devID 0 2 ### Configure Input Port Mux ### # Rx1 -> Input of MASU link 1 STM4-1 CORE_XC_Input_MUX_Config $devID 0x14 -1 -1 -1 -1 -1 -1 -1 -1 -1 ### Configure Output Port Mux ### # Output of MASU link 1 STM4-1 -> Tx1 CORE_XC_Output_MUX_Config $devID -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0x19 -1 -1 -1 -1 ############################################## ##### SYS_SONET Subsystem Configuration ##### ############################################## if {$devID == -1} { puts "<br>" puts "/*---------- SYS_SONET Subsystem Configuration ----------*/<br>" } # Disable System Side ESSI Links SYS_SONET_ESSI_Init $devID 0 ############################################### ##### LINE_SONET Subsystem Configuration ##### ############################################### if {$devID == -1} { puts "<br>" puts "/*---------- LINE_SONET Subsystem Configuration ----------*/<br>" } ### 1. Line Interface Configuration ### # Initialize LINE_SONET Subsystem LINE_SONET_Init $devID 1 ### 2. Configure line interfaces 1 ### if {$line_intf_mode == 1} { # Configure Line Interface #1 to OC-12 mode LINE_SONET_Line_Intf_Config $devID 0 0 1 0 10100 } elseif {$line_intf_mode == 2} { # Configure Line Interface #1 to OC-3 mode LINE_SONET_Line_Intf_Config $devID 0 0 0 0 10100 } ### 3. Linear APS Core Configuration ### # Disable Linear APS Core LINE_SONET_Linear_APS_Config $devID 0 ### 4. Payload Configuration ### LINE_SONET_HO_Payload_Config $devID 1 $HO_payload LINE_SONET_LO_Payload_Config $devID 1 $LO_payload ### 5. Alarm Configurations ### if {$ais_l == 1} { # Insert AIS-L in the event of OOF, LOF and LOS LINE_SONET_Line_AIS_Insert_Config $devID 1 1 1 1 0 0 } if {$ais_p == 1} { # Insert AIS-P in the event of AIS-L, RDI-L, RDI-P, UNEQ-P, AIS-P, LOP-P LINE_SONET_Path_AIS_Insert_Config $devID 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 } if {$ais_v == 1 && $tu == 1} { # Insert AIS-V in the event of UNEQ-V, LOP-V, AIS-V, LOM, PAIS LINE_SONET_LO_TAIS_Config $devID 1 0 0 0 0 0 1 0 1 1 1 1 } if {$rdi_l == 1} {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -