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!:
- Right-click on the digitizer’s icon () in the main window and select Terminal from the pop-up menu:
Check that there is two-way communication with the digitizer by pressing Enter. The digitizer should reply with ok on a new line. - 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.
- 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.
- 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.
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. - To update the system program, press S at the maintenance menu. The digitizer will display
Update System program
- 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.
- 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.
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. - 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.
- 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
- backupfram saves the current configuration in system flash ROM – this will then be
- 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. UseLLstreams 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.
- 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-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 duringsetmodem$
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)