NOTE: - the documentation and software on this page mostly is for the ELMB103 only; for ELMB128 stuff follow the link below. - the documentation and software provided on this page comes 'as-is' and without any warranty. Please send questions, remarks, comments to Henk Boterenbrood) |
|||
|
All ELMB embedded programs and source code provided below have been developed using the
Imagecraft
ICCAVR Integrated Development Environment for
ATMEL AVR microprocessor
application development.
The full toolset can be downloaded and used for free for up to 30 days.
Click here to download
the Imagecraft ICCAVR toolset.
A license for the standard version costs $199. Support is very good in my experience. |
|||
|
for ELMB128 resources
click here
The ELMB128 module with ATmega128 microcontroller is a pin-compatible upgrade of the ELMB103 module with ATmega103 microcontroller. The ELMB128 does not have the second onboard processor (AT90S2313) like the ELMB103 and a few other (minor) hardware modifications. |
|||
| ELMBio CANopen firmware |
ELMBio36mb3.hex A ready-to-download Intel-HEX file of the ELMBio v3.6 application with the 64-channel ELMB onboard 16-bit ADC, 8 to 16 digital inputs, 8 to 16 digital outputs and 64 analog output channels (using the ELMB DAC). This one runs on ELMB Motherboard version 3 only. Compared to older versions it has improved radiation tolerance (register and variable refresh from Flash and/or EEPROM) and ADC access overhead decreased by almost a factor of 2. See the Release Notes V3.6 for more details. For old Motherboards only: ELMBio35mb1.hex For all Motherboards: ELMBio35mba.hex Sources of ELMBio36 The complete source code of the ELMBio v3.6 application firmware. Serves as an application framework for developers who have to extend and/or modify the firmware to serve their specific requirements. Several compile options are available to configure the code, e.g. for different ADC configurations. Make sure to read the accompanying application notes (also included in the zip file) before using the code. ELMBio User Documentation v1.7 User manual for the ELMBio application: the mapping of the ELMB I/O pins, what the PDOs contain, a list of Emergency objects, an overview of the Object Dictionary in a series of tables. (For some more background information look here). |
||
| ELMBmon CANopen firmware (for Slave micro) |
ELMBmon15a.hex Intel-HEX file of the ELMBmon v1.5 application for the ELMB's AT90S2313 microcontroller: implements the Master (ATmega103) Watchdog function and provides the Master-firmware-download-via-CAN capability. This version does not take control at power-up. ELMBmon15b.hex In this version the Slave always takes control of the ELMB at power-up but releases it to the Master after 4 s unless a CAN-message was received within those 4 s; control is also handed over to the Master after a CANopen NMT Reset-Node message. Sources of ELMBmon15 The complete source code of the ELMBmon v1.5 application firmware, including an ICCAVR project file. (Release notes) |
||
| Some C-code examples |
The examples below use the ELMB's RS232 interface (9600 baud, 8-N-1)
to display some results, so the ELMB programming/adapter must be connected in order to see the output.
CRC Cyclic Redundancy Checksum calculation: a CCITT CRC-8 and a CRC-16 routine demonstrated in a small program. I2C-bus A working set of I2C-bus functions (in i2c.c, i2c.h) and a testprogram (in i2ctst.c) in which a number of I2C devices are being read out. This document describes how I2C-buses could be handled by the ELMB in a CANopen environment. JTAG A set of JTAG functions (in jtag.c, jtag.h) and a testprogram (in jtagtst.c) demonstrating how the JTAG functions could be used to determine the number of TAPs and the length of the data chain. This document describes how JTAG could be handled by the ELMB in a CANopen environment. Real Time Clock Some code to demonstrate how the ELMB is used to implement a Real-Time-Clock. |
||
| Host software |
OPENhost V2.7 (for NICAN v1.5 and newer) A WIN command-window tool to monitor CANopen bus traffic and to interactively compose and send CANopen messages; can be used to interact with the ELMB at the CANopen message level. This version works with the National Instruments PCI-CAN interface with NI-CAN software version 1.5 and newer. (Versions for VECTOR and IXXAT CAN-interfaces are available on request). OPENhost.exe V2.4 (for NICAN v1.4 and older) ELMBmldr V2.2 (for NICAN v1.5 and newer) A PC command-window tool to download programs to one or more ELMBs via the CAN-bus. This version works with the National Instruments PCI-CAN interface with NI-CAN software version 1.5 and newer. With command-line options (Type 'ELMBmldr -h' to get a list of options). Versions for KVASER, VECTOR and IXXAT CAN-interfaces are available on request. (A version with a GUI is under development, but with very low priority...). ELMBldr.exe V1.4 (for NICAN v1.4 and older) PonyProg The only ISP programming tool that works for me under Windows NT. The user interface is not very good, but at least it works... I use it like this: connect the ELMB programmer interface with the STK300 programmer dongle plugged into your PC's parallel port. In PonyProg in the 'Options' menu go to 'Setup', choose 'Parallel I/O' with 'AVR ISP I/O'; clicking 'Probe' should result in a little pop-up window with the text 'Test ok'. (If it fails try any combination of 'Parallel I/O' and protocol until the 'Test ok' appears, then use these settings). |
||
| Other ELMB applications |
ELMB PID-controller (framework) (user manual, draft) Describes the software framework for an ELMB-based multi PID-controller with CANopen interface. The complete source code (for the ICCAVR development toolset) can be found here. FLOWsCAN CANopen Gas Flow Meter Read-Out System (user manual) ELMB application, developed for the CERN Gas Group, serving as a front-end to a Gas Flow measurement system for the LHC experiments. MDT-DCS CANopen Module (user manual) ELMB application that takes care of local monitoring tasks on the Muon Drift Tube (MDT) chambers, part of the ATLAS detector; monitoring includes T-sensors, B-sensors and frontend-electronics. ELMBio version for radiation tests Documentation additional to the ELMBio document (see above) describing the special features added to ELMBio for the radiation tests with the ELMB. |
||
| DAC for the ELMB |
User Manual (v1.0). More info to be found on this webpage. |
||