Tags:
view all tags
---+ AMC13 MMC Software The AMC13 MMC software package can be found in the =amc13config= directory in the xDAQ release or Standalone Release. This package is a collection of python scripts which provide the ability to store configuration information into non-volatile EEPROM memory for each SPI port, to apply directly configuration information to an AMC13 after power up, and to issue useful commands remotely such as resets and handle swaps. NOTE!! Some of these scripts are use PERL scripts found in the =config_tools= directory | *Contents* | | [[#SystemVars][systemVars.py]] | | [[#ReadIps][readIPs.py]] | | [[#ReadNvMemory][readNVmem.py]] | | [[#ApplyConfig][applyConfig.py]] | | [[#StoreConfig][storeConfig.py]] | | [[#BackendPower][backendPower.py]] | | [[#ColdReset][coldReset.py]] | | [[#HandleOverride][handleOverride.py]] | #SystemVars ---++ systemVars.py This Python module holds some important variables which, once set, probably won't need to be changed again (on a given system). This file conveniently makes it so that once properly adjusted, all default values for =amc13Config= script flags should be useful. | *Variable* | *Description* | | =DEFAULT_HOST_IP= | The IP address for your commercial MCH module in the uTCA crate | | =DEFAULT_AMC13_SLOT= | The desired default slot value for your AMC13 (on-based, as listed on the front of the Vadatech uTCA crate) | | =DEFAULT_CONFIG_DIR= | The location of the PERL tools which are used for the MMC actions (this shouldn't ever need to be changed) | | =NETWORK_BASE= | The network base for all IP addresses in your uTCA crate | #ReadIps ---++ readIPs.py This Python script is used to read out the IP address for each Tongue on the AMC13 using IPMI: <verbatim> ./readIPs.py (--host=<ip_addr>) (--slot=<n>) </verbatim> All flags that are in parentheses are optional and and will take on their default values as listed in =systemVars.py= if not explicitly specified. | *Flag* | *Description* | | =--host= | Host IP address for your uTCA crate. This should be the IP address of your commercial MCH1 module. If not specified, defaults to value in =systemVars.py= | | =--slot= | Slot number (as seen on the uTCA crate, ie one-based) of AMC13 to be configured. If not specified, defaults to value in =systemVars.py= | #ReadNvMemory ---++ readNVmem.py This Python script is used to read out 40 bytes of non-volatile memory at an address specified by an NV area read <verbatim> ./readNVmem.py (--host=<ip_addr>) (--slot=<n>) </verbatim> | *Flag* | *Description* | | =--host= | Host IP address for your uTCA crate. This should be the IP address of your commercial MCH1 module. If not specified, defaults to value in =systemVars.py= | | =--slot= | Slot number (as seen on the uTCA crate, ie one-based) of AMC13 to be configured. If not specified, defaults to value in =systemVars.py= | #ApplyConfig ---++ applyConfig.py This Python script is used to apply (not store) IP address to each Tongue on the AMC13 after powerup: <verbatim> ./applyIPs.py (--host=<ip_addr>) (--slot=<n>) --spartan=<ip_addr> --virtex=<ip_addr> </verbatim> Optionally, you can specify only one IP address *instead of both*, which will apply the provided IP to T2 while applying an IP whose final byte is one higher than the provided IP to T1. For example, the flag command would set the following IP addresses: <verbatim> --ip=192.168.1.100 Spartan: 192.168.1.100 Virtex: 192.168.1.101 </verbatim> As yet another option, you can simply specify the serial number of your AMC13, which will apply IP addresses to both Tongues via the following scheme: <verbatim> --serial=<SN> Spartan: 192.168.1.(254-(2*SN)) Virtex: 192.168.1.(255-(2*SN)) </verbatim> All flags in parentheses are optional and will take on their values as listed in =systemVars.py= if not explicitly specified. | *Flag* | *Description* | | =--host= | Host IP address for your uTCA crate. This should be the IP address of your commercial MCH1 module. If not specified, defaults to value in =systemVars.py= | | =--slot= | Slot number (as seen on the uTCA crate, ie one-based) of AMC13 to be configured. If not specified, defaults to value in =systemVars.py= | | =--spartan= | IP address to be assigned to T2 | | =--virtex= | IP address to be assigned to T1 | | =--ip= | IP address to be assigned to T2 with an IP address with the final byte one larger than the provided IP to be assigned to T1. This flag can only be used *instead of* (not in addition to) the =--spartan= and =--virtex= flags | | =--serial= | Assign the IP addresses of both Tongues using the provided serial number: T2 ~ 192.168.1.(254-(2*SN)), T1 ~ 192.168.1.(255-(2*SN)) | #StoreConfig ---++ storeConfig.py This Python script is used to store (not apply) IP addresses in the MMC EEPROM for the configuration of both Tongues upon powerup: <verbatim> ./storeConfig.py (--host=<ip_addr>) (--slot=<n>) --spartan=<ip_addr> --virtex=<ip_addr> </verbatim> Optionally, you can specify only one IP address *instead of both*, which will store the provided IP for T2 while storing an IP whose final byte is one higher than the provided IP for T1. For example, the flag command would store the following IP addresses: <verbatim> --ip=192.168.1.100 Spartan: 192.168.1.100 Virtex: 192.168.1.101 </verbatim> As yet another option, you can simply specify the serial number of your AMC13, which will store IP addresses for both Tongues via the following scheme: <verbatim> --serial=<SN> Spartan: 192.168.1.(254-(2*SN)) Virtex: 192.168.1.(255-(2*SN)) </verbatim> All flags in parentheses are optional and will take on their values as listed in =systemVars.py= if not explicitly specified. | *Flag* | *Description* | | =--host= | Host IP address for your uTCA crate. This should be the IP address of your commercial MCH1 module. If not specified, defaults to value in =systemVars.py= | | =--slot= | Slot number (as seen on the uTCA crate, ie one-based) of AMC13 to be configured. If not specified, defaults to value in =systemVars.py= | | =--spartan= | IP address to be assigned to T2 | | =--virtex= | IP address to be assigned to T1 | | =--ip= | IP address to be assigned to T2 with an IP address with the final byte one larger than the provided IP to be assigned to T1. This flag can only be used *instead of* (not in addition to) the =--spartan= and =--virtex= flags | | =--serial= | Assign the IP addresses of both Tongues using the provided serial number: T2 ~ 192.168.1.(254-(2*SN)), T1 ~ 192.168.1.(255-(2*SN)) | #BackendPower ---++ backendPower.py This script is used to enable and disable the back-end power remotely to the AMC13. The script is to be run as follows: <verbatim> ./backend_power (--host=<ip_addr>) (--slot=<n>) --enable|--disable </verbatim> All flags in parentheses are optional and will take on their values as listed in =systemVars.py= if not explicitly specified. | *Flag* | *Description* | | =--host= | Host IP address for your uTCA crate. This should be the IP address of your commercial MCH1 module. If not specified, defaults to value in =systemVars.py= | | =--slot= | Slot number (as seen on the uTCA crate, ie one-based) of AMC13 to be configured. If not specified, defaults to value in =systemVars.py= | | =--enable= | Turn on the backend power | | =-disable= | Turn off the backend power | #ColdReset ---++ coldReset.py This script is used to issue a cold reset remotely to an AMC13. The script is to be run as follows: <verbatim> ./cold_reset (--host=<ip_addr>) (--slot=<n>) </verbatim> All flags in parentheses are optional and will take on their values as listed in =systemVars.py= if not explicitly specified. | *Flag* | *Description* | | =--host= | Host IP address for your uTCA crate. This should be the IP address of your commercial MCH1 module. If not specified, defaults to value in =systemVars.py= | | =--slot= | Slot number (as seen on the uTCA crate, ie one-based) of AMC13 to be configured. If not specified, defaults to value in =systemVars.py= | #HandleOverride ---++ handleOverride.py This script is used to issue a handle swap remotely to the AMC13. The script is to be run as follows: <verbatim> ./handle_override (--host=<ip_addr>) (--slot=<n>) --in|--out|--release|--cycle </verbatim> All flags in parentheses are optional and will take on their values as listed in =systemVars.py= if not explicitly specified. | *Flag* | *Description* | | =--host= | Host IP address for your uTCA crate. This should be the IP address of your commercial MCH1 module. If not specified, defaults to value in =systemVars.py= | | =--slot= | Slot number (as seen on the uTCA crate, ie one-based) of AMC13 to be configured. If not specified, defaults to value in =systemVars.py= | | =in= | Force handle in | | =out= | Force handle out | | =cycle= | Force handle out for 10 seconds and then issue a release | | =release= | Handle not forced, but instead the actual handle position is payed attention to | -- Main.CharlieHill - 08 May 2013
Edit
|
Attach
|
Watch
|
P
rint version
|
H
istory
:
r13
|
r7
<
r6
<
r5
<
r4
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r5 - 30 May 2013
-
DavidZou
Home
Site map
BUCMSPublic web
Main web
Sandbox web
TWiki web
BUCMSPublic Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
P
View
Raw View
Print version
Find backlinks
History
More topic actions
Edit
Raw edit
Attach file or image
Edit topic preference settings
Set new parent
More topic actions
Account
Log In
Register User
Edit
Attach
Copyright © 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback