📄 pm5337_config.tcl
字号:
# Insert RDI-L in the event of AIS-L LINE_SONET_Line_RDI_Insert_Config $devID 1 0 0 0 1 0 0 0 0 0 0 0 0 } if {$rdi_p == 1} { # Insert RDI-P in the event of AIS-P LINE_SONET_Path_RDI_Insert_Config $devID 1 1 } if {$rdi_v == 1 && $tu == 1} { # Insert RDI-V in the event of UNEQ-V LINE_SONET_LO_RDI_Config $devID 1 0 0 1 0 0 } ################################################### ##### Setup THPP to transmit a C2 byte = 0x01 ##### ################################################### for {set stm1_ind 0} {$stm1_ind <= 3} {incr stm1_ind} { for {set tug3_ind 0} {$tug3_ind <= 2} {incr tug3_ind} { admindwr 0 LINE_SONET::HOPP::THPP_1 0x0100 0x3 $stm1_ind $tug3_ind admindwr 0 LINE_SONET::HOPP::THPP_1 0x0002 0x1 $stm1_ind $tug3_ind } } ### 6. ADM 622 Reference Clock Configuration ### # Configure Line CSU to source clock input from SYSCLK_P/N and # set frequency to 155.52 MHz. LINE_SONET_Timing_Config $devID 1 1 # Configure PGMRCLK[1] to generate a 8kHz clock based on the recovered clock # from Line Interface #1. Configure PGMTCLK to generate a 8kHz clock. LINE_SONET_PGMCLK_Config $devID 1 0 4 1 0 4 0 0 0 ######################################## ##### EOS Subsystem Configuration ##### ######################################## if {$devID == -1} { puts "<br>" puts "/*---------- EOS Subsystem Configuration ----------*/<br>" } # EOS Subsystem is Unused # Disable FE and GE PHY set init_value [rd cpld 0x2] set value [expr ($init_value & 0xFFEF) | (1 << 5)] set value [dec2hex $value] wr cpld 0x2 $value ######################################## ##### PDH Subsystem Configuration ##### ######################################## if {$devID == -1} { puts "<br>" puts "/*---------- PDH Subsystem Configuration ----------*/<br>" } # PDH Subsystem is unused # Hold TDK LIU channels in Soft Reset TDKReset 0 TDKReset 1 TDKReset 2 # Disable HDLIU set init_value [rd cpld 0x2] set value [expr $init_value & 0xFFFD] set value [dec2hex $value] wr cpld 0x2 $value ############################### ##### MASU Configuration ##### ############################### if {$devID == -1} { puts "<br>" puts "/*---------- MASU Configuration ----------*/<br>" } ### Configure MASU Block with MAPS disabled ### if {$payload_config == 4 || $payload_config == 11 || $payload_config == 15 } { # Note: when the payload contain a VT2/TU12, the whole STM-16 must be configured CORE_XC_CM_Switchover $devID CORE_XC_LOME_Config $devID 1 $XC_payload 4 CORE_XC_LOMP_Config $devID CORE_XC_LOSU_Config $devID $XC_payload 4 CORE_XC_CM_Switchover $devID } else { # Note: Only the first STM-4 in the STM-16 link is configured CORE_XC_CM_Switchover $devID CORE_XC_LOME_Config $devID 1 $XC_payload 1 CORE_XC_LOMP_Config $devID CORE_XC_LOSU_Config $devID $XC_payload 1 CORE_XC_CM_Switchover $devID } ############################# ##### LED Status Update ##### ############################# # Set DS1 to reflect mode and timing LEDRateSet $line_intf_mode 0 LEDTimingSet $refclk_mode LEDLOSUpdate DS3Update }#------------------------------------------------------------------------------# SCRIPT NAME: ADM622_Config2## DESCRIPTION: This procedure configures the ADM 622 device to demostrate the # Linear 1+1 APS Function.## # 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 - 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: By default, Line Interface #1 is selected. Call Linear_APS_Source_Select# to change the traffic source.##------------------------------------------------------------------------------proc ADM622_Config2 { {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 PM5337_util.tcl ;# this file is sourced in the PM5337_TOP.tcl file 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 | 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 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} {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -