Firmware for the CMG-DM24 Mk3

Guralp digitizers manufactured after 2005 are of this type. Firmware for these modules has a version number above v.100.

The digitizer has three firmware components, which can be updated separately: the main system program, the DSP code and the boot loader. The .zip files on this page each contain all three of these files. If the bootloader in use is not the latest version for the required firmware (i.e. bootloader 207 for v.106 firmware and bootloader 130 for v.103 firmware), it should be upgraded first.

To find out what version of the main system program you are currently using, right-click on the digitizer’s icon (, not the Local or the Comxx icons) in Scream!’s main window and select Configure from the pop-up menu. This will open the Configuration setup window. The version number is given in the Software revision box.

When upgrading from a build below 42 to build 42 or above, it is necessary to run a command in order to reset certain system timing parameters. Failure to do this can compromise the accuracy of data timestamps. After the upgrade is complete, allow the system to boot normally and then copy and paste the command below to the command-line of the digitiser, and then reboot the unit. This command sets a number of values in the non-volatile configuration memory and only needs to be executed once per system.

  • For units without a programmable (variable) gain amplifier:

    ok-1  0 [pwm] ! [pwm] nv! 59920 bias ! bias nv! $06010F dspsync ! dspsync nv!

  • For units with a programmable (variable) gain amplifier:

    ok-1  0 [pwm] ! [pwm] nv! 50920 bias ! bias nv! $06010F dspsync ! dspsync nv!

Latest firmware for units without USB support

Download the latest v.106 DM24 mk3 firmware, a 267K .zip file including:

  • system program v.106 build 57d
  • boot loader v.20 build 13
  • DSP code v.10 build 90

Latest firmware for units with USB support

Download the latest v.103 DM24 mk3 firmware, a 181K .zip file including:

  • system program v.103 build 82
  • boot loader v.1 build 30
  • DSP code v.10 build 71

Earlier versions

Earlier versions of the DM24mk3 firmware, for testing or reference, may be downloaded from: the DM24mk3 download directory.

Upgrade instructions

You can update the digitizer firmware using any terminal program which supports the Xmodem protocol, such as hypertrm or newer versions of Scream!.

To install this firmware using Scream!:

  1. Right-click on the digitizer’s icon () in the main window and select Terminal from the pop-up menu:
    Scream-terminal-window
    Check that there is two-way communication with the digitizer by pressing Enter. The digitizer should reply with ok on a new line.
  2. Type re-boot to reinitialize the digitizer, and confirm with y. As it is restarting, the digitizer will report its status over the terminal connection, followed by a maintenance menu:
    MPE ARM ANS ROM PowerForth v6.20
    ARM Serial BootStrap v1.100, 11 August 2003
    Copyright (c) 2002-3  GSL, EDSL & MicroProcessor Engineering Ltd.
    Port 0 38400 baud
    Port 1 38400 baud
    Port 2 38400 baud
    
    Guralp Systems Ltd - ARM-BOOT v01.0 mgs 29/07/04 [b 015]
    System Code versions loaded :-
    0103:0000 Guralp Systems Ltd  DMARM  v01.0 mgs 09/07/04 [Build 017]
    0107:0000 Guralp Systems Ltd - DM+FW  v01.1  mgs  11/08/04 [Build 007]    Default
    010B:0000 Blank
    DSP Code :
    0101:0000  ARMT16D16-050304.BIN
    0102:0000  dm48ch1048.bin 04/08/04          Default
    Command keys:
    C - set real time Clock (2004 8 13 09:29:48 )
    I - view/upload InfoBlock
    F - run the Forth monitor
    R - Run an application
    E - Erase an application
    S - update System program
    B - update Boot program
    D - update DSP code
    N - set the default application Number (3)
    Q - Quit maintenance system
    5  seconds to auto-start
    Enter command:

    If you do not press a key in the next five seconds, the digitizer will start up normally. If you want a little more time to read the menu, press the space-bar and the time-out will be increased to thirty seconds.

  3. Look in the boot-up messages to find the version of the boot loader you are currently using.
    Guralp Systems Ltd - ARM-BOOT v01.0 mgs 29/07/04 [b 015]

    In this example, the current boot loader is version 1.0, build 15.

    If the boot loader in the firmware package is newer than the version you currently have installed, you will need to update it first. Press B at the maintenance menu to do this.

    The digitizer will then request a transfer using the Xmodem protocol. If you are using Scream!, a file browser window will appear automatically. If using a different terminal emulator, you may need to manually initiate an Xmodem upload.

  4. Navigate through the directories on your computer and select the file to be uploaded, or type in its full path and file name. Click Open.
    DM24-select-file-to-transmit
    Whilst the file is loading, a progress window will be displayed. Depending on the speed of the link, it may take several minutes to transfer the bootloader.
  5. To update the system program, press S at the maintenance menu. The digitizer will display
    Update System program
  6. There are three slots available for system application code. The digitizer will automatically use either the first free slot, or the slot which currently contains the oldest firmware version. In the example above, there are three System code versions loaded, of which the one in slot 2 (0107:0000 in memory) is currently the Default.The digitizer will then request a transfer using the Xmodem protocol. If you are using Scream!, a file browser window will appear automatically. If using a different terminal emulator, you may need to manually initiate an Xmodem upload.
  7. Navigate through the directories on your computer and select the file to be uploaded, or type in its full path and file name. Click Open.
    DM24-select-file-to-transmit
    Whilst the file is loading, a progress window will be displayed. Depending on the speed of the link, it may take up to twenty minutes to transfer the system program.Once the file is fully transferred, the digitizer will set the new firmware as the Default and return to the maintenance menu.If there was a problem during transfer, the previous Default will stay active, in which case you should go back to step 5 and try again.
  8. Look in the boot-up messages to find the version of the DSP code you are currently using.
    DSP Code :
    0101:0000  ARMT16D16-050304.BIN
    0102:0000  dm48ch1048.bin 04/08/04          Default

    There are two slots available for DSP code. In this example, the version in use is dm48ch1048.bin, i.e. version 1.048 .

    If the DSP code in the firmware package is newer than the version you have installed, you will need to update it. Press D at the maintenance menu to do this. The digitizer will reply with

    Enter 0/1 to select DSP code to update

    Select which of the two DSP code slots you want to overwrite, and press ENTER. The default is slot 0. The digitizer will then prompt:

    Enter Filename/date – upto      31 characters

    You can enter a descriptive string for the DSP code here. The digitizer will print this string at every boot-up, to remind you which version of the DSP code you are using. If you leave this blank, the original file-name will be used.

    The digitizer will then request a transfer using the Xmodem protocol, as described above.

  9. Press N to set the default application number.
    Set default Application Number
    Enter Application number 1..3:

    Type the number of the slot you have used for the new system code, followed by ENTER, and wait whilst the system reboots. This sets the Default application which will be used every time the digitizer starts up.

    Alternatively, you can test the new system code by pressing R at the maintenance menu, followed by the slot number of the new code. This will run the digitizer with the new firmware for one session only. When it is rebooted, the digitizer will revert to the Default application.

Release Notes

2012-05-03 : v.106 build 57d + DSP v10.90
This is now the recommended release for all MkIII DM24s other than those with USB support, for which the latest v.103 build should still be used.

  • This release properly fixes the “bin5″ problem in SI mode, which caused occasional data corruption. It requires DSP v10.90 for correct SI mode operation.
2011-11-10 : v.106 build 57b + DSP v10.89
  • Adds RAW selection for causal filter – DSP v10.88 addressed causal time-stamping
  • Fixes erratic behaviour of calibration commands when terminating one already in progress
  • Fixes component (z, n/s, e/w & all) commands in Borehole/OBS SoH modes
  • Fixes DSP bootloading to cope with corrupt slot value
  • Adds ‘raw’ tap parameter to causal command to allow use with 2kHz input data – o/p at 1000,500 or 400sps
  • Fixes problem with SI mode which caused occasional data corruption
2011-09-28 : v.106 build 56f + DSP v10.87
  • Adds support for ‘Causal Filters’ – requires DSP v10.87
  • Removes testdac option on I2C error
  • The system now automatically assigns a ‘cal’ stream if no others are selected – a situation which previously caused a crash
  • Removes erroneous ‘terminating’ message when starting ‘cal’ operations
  • Added causal and channels commands
  • Adds filtering for the clock offset figure in Unified Status Packets
  • Adds PGAalarm to Spectral Intensity mode
  • Adds various custom commands for Moglie OBS using network
  • Adds two new commands (from b55r):
    • backupfram saves the current configuration in system flash ROM – this will then be
      AUTOMATICALLY reloaded after a trashfram operation
    • restorefram can also be used to revert to the backed up configuration
2011-07-01 : v.106 build 55m + DSP v10.86 + Build 11 of the v2 bootloader
  • Fixes a problem where the ‘C’ stream (calibration return) sometimes appeared as ‘X’
  • Fixes a problem where using only very low sample rates (1sps) could trigger reboots via the watchdog timer
  • Adds support for other GPS receivers (e.g. Glonass) which require higher baudrate. This is specified as gps-type 4 and requires use of the 1 xxxx baud command to configure Port1 to the correct speed. The system will automatically report a problem if NMEA is not detected.
  • Improves system performance regarding interrupt response and timing control
  • Fixes a possible problem of spurious resyncronisation on GPS power cycle
  • Fixes setid and resetlabels to correctly restore default Z,N,E,X labelling
  • Adds n StrongMotion command to address lowlatency/SI configuration issues. The command takes a single numeric parameter ; 0 for off, 1 for a three-component system, 2 for two three-component systems.
  • Removes incompatabilities between original SoH and ModularSoh
  • Adds ‘BytePipe’ mode for packeting arbitrary data stream into GCF format
  • Enhances temperature compensation
  • Includes updated SNTP for Mogli clock setting
2010-05-26 : Build 9 of the v2 bootloader
  • Adds support for newer Flash memory chips.
2010-05-24 : v.106 build 46
  • Provides fixes for unified status reporting of the clock difference flag (the algorithm now uses a fixed drift rate of 0.07µs/s when the clock is unlocked).
  • The GPS NMEA parser now understands $GPGSL sentences from a Guralp central timing facility (RTM), and correctly passes through information about the RTM’s GPS fix and drift to the DM24.
  • Fixes a problem which affected the broadband calibration facility (. RANDOMCAL).
2010-02-16 : Build 7 of the v2 bootloader
  • Fixed a problem which could occur during an update from v1 Boot when a new system fails to load correctly: the session will now stay at the boot menu until a valid system code update occurs.
2010-02-01 : v.106 build 42
This release was recommended for all mkIII DM24s other than those with USB support, for which the latest v.103 build should still be used.

  • Adds support for 6/7 channel system with variable gain input stage.
  • Added short mux channel blocks for CD1.1 – 10 secsmux.
  • Added flush-flash command to ‘empty’ flash file.Use in preference to reset-flash: flush-flash simply sets the read pointer equal to the write pointer so the buffer is ‘empty’ – the data is still available until it is overwritten by wrapping round and the system continues to write from the current position.reset-flash resets the pointers back to the start so the old data gets overwritten straight away. The system uses the early part of the buffer more which is to be avoided in terms of durability (wear levelling).
  • Bug fixes :
    • %auto-centre rounding problem fixed
    • Improved handling for non-standard Baud rates
    • Scream TCP now reports version 4.5
    • .info command restored
    • Y/N handling of control chars
    • FireWire updated to handle full FAT size – 511 entries (as v103b70)
    • TCP/IP MSS issue fixed
2010-01-12 : v.103 build 82
  • This addresses issues with the accuracy and repeatability of data time-stamping and synchronising. Initial synchronisation to GPS has also been improved.
  • When updating from earlier firmware, the timing parameters will need to be reset using
    ok-1  0 [pwm] ! [pwm] nv! 59920 bias ! bias nv! $06010F dspsync ! dspsync nv!

    Newly manufactured units will be loaded with the correct defaults when initially run.

  • DSP1070 also addresses some potential problems for timing discrepacies between streams.
  • USP status now reports ‘calibrating’ for ‘ALL’ and the GPS sync/lock correctly.
  • GPS synchronisation always occurs after a startup/reboot – initial sync is better than 15 microseconds (this avoids a trim operation to align the clock from an initial 10 millisecond error, which would take a significant time, during which data would be inaccurately stamped).
2009-05-13 : v.103 build 78
  • Adds USB host support for memory sticks and improved trigger selection.
2008-06-30 : v.103 build 70
  • Properly handles GSL Disk filing – maximum 510 entries. Reports after transfer when insufficient space (number of files or free space) is left for next transfer and disables auto operation. Also advises when transfer size will result in more than 510 entries so disk capacity not fully utilised. Example status messages:
      2008  6 12 10:38:45 Data Ready to Transfer
      2008  6 12 10:41:25 Data Transfer Complete
      #Entries:  83 of 510
       Capacity   1.2GB        Used   1.0GB   Available 200.9MB
      Not enough space for next transfer   4.1GB FireWire Buffer
    
      2008  6 12 10:50:32 Transferring  30.0MB to Disk
      2008  6 12 10:50:53 Data Transfer Complete
      #Entries:  84 of 510
       Capacity  19.5GB        Used   1.0GB   Available  18.4GB
      FireWire buffer too  small for optimum  disk usage *****
  • Added PGA alarm setting, which operates on relay1/3 on CMG-STA-DISP interface module (SI alarm is on relay 0/2). Use command SetPGAalarm to set the level in gal.
    Function of outputs on CMG-STA-DISP interface module.
    Measurement Current loop output Relay output Sensor
    SI 0 0 Sensor A
    PGA 1 1 Sensor A
    SI 2 2 Sensor B
    PGA 3 3 Sensor B
  • Added LLstreams disable to suppress output of data streams, so that only strong motion computed values are output. Use LLstreams enable to return to previous operation.
  • Added extra trap for baudrates divisible by 1200 to baud command. Use the new Forth command [baud] for other rates.
2008-05-23 : v.103 build 68
Fixes ADC sync problem, for both doesn’t stop and doesn’t start on GPS sync (fixes problem where timing could be 1 second out without any indication in status). Added support to switch between unified status and CD status. Defaults to CD status; use uspmonitor to re-enable unified status packets.
2008-02-13 : v.103 build 65
Addresses problem with undetermined SOH control line selection during startup. Initialises cal relay twice. Addresses issue of erroneous X channel selection. ADC sync failure does not re-boot, but instead forces another sync sequence. Fixed power switching of borehole SOH I2C. Added SetTriggerLevels (protected) for real-units setup of level triggering.
2007-12-18 : v.103 build 64
Updated firewire operation to allow multiple DMs to access a single disk on the same firewire bus. Increased watchdog timeout. Flash bad block scan limited to 250 max.
2007-10-30 : v.103 build 62
Modified default modem init string (removed &H0 part). Remove spurious characters during setmodem$ command interaction.
2007-10-26 : v.103 build 61
Modem code now has configurable modem initialisation (command setmodem$). +modem supports option for ‘dial-in only’ mode.
2007-10-17 : v.103 build 60
Fixed bug in modem code.
2007-10-16 : v.103 build 59
Provides full SI (spectral intensity) functionality with DSP v.1060.
2007-09-19 : v.103 build 50
Sync test checks for ADCs that don’t stop/start on sync, fixes timing error where data <e;1 second out.
2007-07-16 : v.103 build 49
Support for 512Mb (4Gbit) NAND flash.
2007-07-12 : v.103 build 48
Force re-boot if failure to ‘sync’ detected.
2007-07-02 : v.103 build 47
Antares OBSN timemark stamping and support for MEMS level sensor.
2007-06-26 : v.103 build 46
Fixed issue with minimum motor speed for state of health and added “sticky” motor code.
2007-06-20 : v.103 build 45
Support for ORCA rubidium clock in palce of GPS – INGV OBS.
2007-06-04 : v.103 build 44
Updated borehole state of health for end of travel and baudrate with RTM.
2007-05-24 : v.103 build 41
Correctly resets state of health control lines to tristate.
2007-05-22 : v.103 build 40
Added error report if ADCs fail to run on GPS sync (or startup).
2007-05-16 : v.103 build 38
Added ‘height’ to GPS location display. Enhanced DSS status – allows output rate to be adjusted between 5 and 60 seconds (setdssrate). Supports ‘enhanced’ BRP mode developed for IP wireless networking. System also automatically ‘files’ data that would have been lost due to transmit buffer — can be recovered by selecting adaptive mode.
2007-03-20 : v.103 build 32
System sets up to run at 32MHz processor clock – problem with Cal DAC access causing timing errors.
2007-03-09 : v.103 build 31
Properly fixed dsp configuration problem.
2007-03-08 : v.103 build 30
Fixed problem with dsp configuration with certain sample rates and NAK handling with adaptive.
2007-03-01 : v.103 build 28
Fixes problem with large flash chips on board.
2007-02-27 : v.103 build 27
This and later versions require Boot1025 – larger program slots. Has full user HELP and EXPLAIN.
2007-02-16 : v.103 build 25
Added serial2 and resetlabels user commands for 2 sensor systems. Also support for 2 infoblks.
2007-02-07 : v.103 build 24
Removed support for ADS1217 – not compatible with ADS1216 on the DM24. Added autocal command. Fixed some compatability issues with borehole systems.
2006-12-14 : v.103 build 18
Added trap to reset xtal control to known good pwm when GPS lost (control off). Prevents large clock drift if gps lost during xtal adjustment.
2006-12-11 : v.103 build 17
Improved Flash bad block handling.

Note: Units running firmware before v.103 build 10 may incorrectly mark blocks of Flash memory as “bad” and not use them. To return incorrectly-marked blocks to use, download all data from Flash memory, then issue the commands

ok-1                             select extended dictionary vocabulary
direct                           switch off flash filing mode
.badblks                         show current table
0 blkerase .                     erase table (note the "." after blkerase)
checkflash                       rescan for marked bad blocks
.badblks                         show updated table
erasefile                        to completely clear the data in flash
[seal]                           revert to 'system' commands

Now reconfigure the digitizer to record to flash using the previous filing mode.

2006-11-07 : v.103 build 16
Support for new CMG-5TD LCD display interface
2006-08-05 : v.103 build 11
SETDSS command for extended status information
2006-08-01 : v.103 build 05
Support for high sample rates (200 – 1000 samples/s)
2006-06-23 : v.102 build 74 + DSP 1.055
LOWLATENCY mode for fast output at 20 samples/s
2006-06-02 : v.102 build 69
MICRO-G command for level trigger setup
2006-04-19 : v.102 build 68
COMPRESSION settings extended to allow short GCF blocks down to 20 records/block; SERIAL2 command supports dual serial numbers for 6-channel digitizers.
2006-04-12 : v.102 build 66
Fixed minor issues with new Flash chip types, bad block handling and Firewire.
2006-03-10 : v.102 build 61
Addressed problem where Firewire download would not necessarily transfer the complete up to date data. Added support for new Flash chip types and USB.
2006-02-01 : v.102 build 58
Added support for data in on ports 1 and 2, also pass-through terminal connection; USB for data-out or console; HELP and EXPLAIN commands; DUPLICATE filing mode as 6T.
2006-01-16 : v.102 build 55
LCD support. EVENTSLIST and EVENTS DOWNLOAD. Sends infoblock at boot.
2005-12-01 : v.102 build 52
Fixed issue with corruption of mux channels at start up (cal relay switching)

 

For more information, first contact your local distributor or email