SWIC front-end - Jianming You, x6682
SWIC controller firmware - Jianming You, x6682
SWIC controller hardware - Al Franck(x4987) and Joe Gomilar(x4072)
SWIC and multiwire instrumentation - Dan Schoo and Gianni Tassotto
These front-ends interface Segmented Wire Ionization Chambers (SWICs) and multiwires to the control system. SWICs and multiwires are used to measure the beam profile. Each SWIC or multiwire instrument is wired up to one SWIC controller. Each SWIC controller has an ARCNET connection. A SWIC/multiwire front-end will have at least one ARCNET connection. A SWIC controller and the front-end that services it communicate with each other over ARCNET. A SWIC/multiwire front-end provides additional functionality not present on the SWIC controllers, e.g., compuation of the mean. The controls department is responsible for both the front-end and the controllers.
Front-end Trunk/Node IP(gateway) Location #Dev MWAP10 B/4F 124.22(200) AP10 MWIRE0 A/0B 23.75(94) MI8 82:I:M83*, I:M840* MWIRE1 A/59 23.81(94) MI10 159:I:M10[1-4]*, I:M85* MWIRE2 A/5A 23.82(94) MI40 26:I:MABT* MWIRE3 A/5B 23.83(94) MI60 412:I:M70*, I:M71*
MWIRE4 A/5C 127.11(200) C0 49:T:MCBT*, T:MIC0* MWMB10 B/57 23.60:e0(62) MI10 E:M86*, E:M70*, E:MABT* MWMB12 B/5B 23.59:e0(62) MI12 E:MDMP* MWMI20 B/5C 23.49:e0(62) MI20 R:70[1-4]* SWIC A/17 127.19(200) Switchyard SWICT A/EB 124.44(200) EBT SWICT1 B/26 22.214.171.124 Madison/Brookhaven SWICT2 B/2E 126.96.36.199 minosPPC, Pitt SWICT4 B/55 Texas YOUJVX B/50 16.236(200) BTE214
Operating System VxWorks Software Architecture MOOC Processor Board Motorola MV2300, MV2401 (PowerPC) Bus VME Peripherals ARCNET controller, PMC SLD (for T-clock) Physical Network Connection Ethernet Transport Protocol ACNET encapsulated in UDP Application Protocols RETDAT, SETDAT, ACNET AUX
SWIC controllers - The SWIC controllers are custom hardware incorporating interfaces for ARCNET, SWIC/multiwire, T-clock, and serial communications along with an Intel 186 processor. SWIC controllers execute firmware which is loaded into Flash memory on the controller.
Front-endThe front-end code is maintained in CVS on nova.fnal.gov with the module name mwirePPC. The mwirePPC project contains a Makefile which automates the build and release process. The Makefile uses fe.mk to provide release managment functionality. So knowledge of fe.mk's release management procedures is applicable to "swic" front-end software. The following procedure is used to build and release a new front-end executable. Note that the "swic" front-ends load mooc, acnet, etc., dynamically from the startup script when they are rebooted. So to install new versions of mooc, etc. when changes to FE application code are not also needed just reboot the FEs. The operational front-ends are set to run only the designated stable mooc, acnet, etc.
1. Check out the mwirePPC project from CVS and change directory into the working copy of the mwirePPC project created by CVS.
2. Make your modifications to the source code. If you are creating a new version update the VID in the Makefile also.
3. Issue make in the working directory.
4. Make will build the new front-end executable in your working directory.
5. Your changes can be tested on SWICT, which has its boot parameters set to run the SWIC FE beta/latest code. In order to install a beta, you will need to commit your changes and then do a make beta.install.
6. Reboot SWICT and test your modifications. Go back to step 2 as needed.
7. To install your changes on the operational front-ends, which have their boot parameters set to run the SWIC FE stable code, issue a make promote and reboot them.
8. Do a CVS release on the mwirePPC project, if you chose.
Operating SystemThe standard kernels built by R. Neswold are used.
Individual Front-endsThe differences in the front-ends are handled by having each front-end use its own startup script. The differences in the startup scripts are the comments which indicate the expected boot parameters, setting the prompt, and setting the number of SWICs. The name of a front-end's script is startup_<the front-end>.cmd, e.g., SWIC uses startup_swic.cmd.
SWIC ControllersThe SWIC controller code is maintained in CVS on nova.fnal.gov with the module name mwire186. Data I/O PROM programmer reads in EPROM hex file and burnt into an EPROM. The tools to build the EPROM hex file, swic.hex, are also available from CVS repository, packaged in pc_prog.tgz. The pc_prog.tgz includes High-C 186 cross compiler and Intel186 emulator. The codes have been tested working on Window2000 Professional system. The PROM burnt by the Data I/O will need to be installed into the SWIC controller flash loader, which Joe Gomilar has. The flash loader needs to plugged into each controller to download the new code.
The procedure for building and releasing SWIC controller firmware is as follows:
1. Check out the mwire186 project from CVS and copy them to a PC which has High-C compiler and emulator. The directory structure should have root\hc186, root\I186EBN and root\mw186.
2. Modify the code on the PC. Update the revision information, i.e., sw_ver and sw_rev, in iopmain.c.
3. Issue the command ..\hc186\make hcswic in the root\mw186 directory.
4. Issue the command .\emswic in the root\mw186 directory to emulate.
5. Transfer swic.hex to the Data I/O Programmer and burn a 27C512 PROM from it. Swic.hex is in the Data I/O's 88 format and has an offset of 0xF0000, which needs subtracted.
6. Install the PROM in the flash loader and download the code into a test SWIC controller.
7. Commit your changes to the CVS repository.
8. Release the mwire186 project.
9. Have someone download the new code in to all deployed SWIC controllers.
Rollback SupportThe code for both the SWIC front-end and controller are in CVS, so rollback is supported through the use of the CVS update command with a date or tag. In addition, the front-end code uses fe.mk which adds additional rollback functionality including automated tagging.
Front-end Boot ParametersThe front-end boot parameters are documented in the comments of the startup script for each front-end.
Other DocumentationDABBEL template
Switchyard Rookie Book (Chapter 14 - SWICs)
ACL script to read out BlockTransferBuffer
ARCNET card manual, J. Firebough keeps a copy of the CC121 manual.
Documentation on the SWIC controller hardware and wiring prepared by Al Franck
Security, Privacy, Legal