Camera Control Nodes
Camera Electronics Workshop
30 January, 2008
With notes from:
Account of ELS Work
Figure: The Camera Control System.
Master controls nodes over CAT-5 Ethernet.
Possible Input-Output Formats:
- Servo Motor Drive
- Stepper Motor Drive
- TTL Switching Output
- Analog Temperature Input
- LVDS Communication
The Timing and Control Module:
- 50 MHz Data Clock Distribution
- 50 MBPS Serial Transmission
- 50 MBPS Serial Reception
- Transmit 32-MByte images
The CCS group proposes:
- Off-the-shelf ix86 processor in PC104 format
- Off-the-shelf input-output boards in PC104 format
- Custom input-output boards where necessary
- Linux operating system
Figure: Our PC104 Embedded Linux System.
Demonstration in Paris
Eric Aubourg and Laurent Guglielmi of APC-Paris 7 (IN2P3+) tried:
- AMD Geode board with 512 Mb RAM and 1 Gb flash memory "HDD"
- Minimal debian linux
- Compile C/C++ on VMWare similar system with full development environment
- Java Runtime (JRE) 6
- Compile Java on Mac/Win/Linux
- DMM IO board
- Digital 8-bit in/out
- Analog 12-bit in (8/16 ch)/out (2 ch)
- 100 kHz sampling
- Two lines of C to interface with Java
- A Java MBean represents its state
- Flashes lights fast enough to implement dimmer.
- Receives instructions from laptop running Java application.
- Reads thermometer and produces live temperature plot.
- Observed destruction of a PC104 computer several days after one analog output shorted.
Demonstration in Boston
Kevan Hashemi of Brandeis University tried:
- From WinSystems
- PCM-SC520 embedded computer, i486 133 MHz.
- PCM-UIO48A 48-line digital I/O card
- Embedded Linux System based upon Simply MEPIS
- Total price $1500 with flash card and power supply.
- Use PCM-UIO48A device driver binary supplied by WinSystems.
- Compile C-code on desktop Scientific Linux Machine.
- Copy compiled code to flash disk or transfer by ftp.
- Flash lights at up to 90 kHz.
- TCPIP transfer at 4 MBytes/s.
Figure: Minimum Output Bit Period.
- Cannot compile device drivers on Scientific Linux for our ELS.
- Can compile drivers from source code in VMWare emmulator.
- VMWare emmulation of embedded system easy to install.
Recommend: VMWare for development.
- Byte-by-byte device drivers compiled from C are slow.
Recommand: Block moves or drivers written in assembler.
- Off-the-shelf IO boards can expose PC104 motherboard to damage.
Recommend: Thorough destructive testing of Off-the-shelf boards.
Suggest: PC104-format custom-made IO boards for speed and reliability.
Re-Examination of CCS Architecture
Move PC104s Outside Camera
Reduce Cables: Old-Fasioned Way
Reduce Cables: New-Fangled Way
- 60 MHz 8-bit processor
- 10/100 Ethernet and TCPIP Stack
- Byte-Wide IO Ports
- Real-Time Clock
- $100 in single quantity
- Byte-wise IO: 3 MBytes/s
- TCPIP IO: 500 kBytes/s
- Development environment available only for Windows
- Development environment costs $200.
With Linux computers in Camera:
- VMWare is effective platform for embedded Linux development.
- Java libraries provide open-source publish-and-subscribe protocols.
- Expect no problems adding DDS to PC104 modules.
- Doubt we can run LabView effectively on PC104 modules.
- For fast response, need to find fast IO boards and drivers.
- For rugged system, need to make or find rugged IO boards.
With Linux computers out of Camera:
- Can use TCPIP-Parallel converter modules to communicate with IO boards.
- Camera-resident electronics becomes simpler and more rugged.
- Provides fast response at IO Boards.
- Minimal load upon local network.
- Branedis has extensive experience with this solution.
- Shorter development time for camera contol nodes.
- DDS and other control software runs on larger, faster machines.