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

📄 pm5337_config.tcl

📁 用于EOS芯片的驱动程序, 供参考 参考
💻 TCL
📖 第 1 页 / 共 5 页
字号:
#------------------------------------------------------------------------------# 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 + -