CMX7031 and CMX7041 FAQs

[ Package Information FAQs ]


Tx and Rx FFSK Data Operations
Q. Is there a recommended procedure for handling FFSK/MSK data in transmit or receive modes when using the CMX70x1 FI-1.3 Two-Way Radio Processors.?

A. The linked pdf document provides an overview in the form of flow charts that illustrate which C-BUS registers need to be written-to and read-from when attempting a data transmission. It is indicative only and provides a minimum set of reads/writes to achieve successful data transfer.
[CMX70x1 Tx and Rx FFSK Data Operations]


Function Image Loading Options
Q. I am about to start a design using one of your FirmASIC® based products, what is the most suitable method of storing the associated Function Image™ in my project?

A. Our FirmASIC® based devices require a Function Image™ to configure their on-chip sub-systems.
This is a data file that is uploaded during device initialisation and defines the device's function and feature set. The Function Image™ can be loaded automatically from external serial EEPROM via a dedicated SPI bus or from a host µController over the built-in C-BUS serial interface.It is also possible with two specified memory devices to update the serial memory stored Function Image™ via the C-BUS and SPI interface.
CML supplies a dedicated Thick Stub Function Image™ to enable this capability. The linked flow diagram is an aide-memoir in that it makes it plain what is possible when choosing the most suitable method of storing a Function Image™ for your project.
[Function Image Loading Options]


Function ImageTM 1.x - Auxiliary ADCs
Q. Are there any differences between the CMX70x1 FI - 1.x and the CMX88x series of devices in the way the AuxADC handles interrupts when a signal passes through the high and low threshold points?

A. The threshold facility allows the relevant devices to trigger an interrupt when a signal exceeds the high threshold limit or falls below the lower threshold limit. This is a useful feature when trying to detect changes in received signal strengths or voice activity for example. These thresholds are programmable which allows a lot of flexibility when designing a system.

Please note though that there is a subtle difference between the way the CMX70x1 FI - 1.x and the CMX88x series of devices handle the resultant interrupts. The following link will take you to an illustration of how interrupts are handled. [Auxiliary ADC Interrupts]


Scrambling
Q. Can you give me any information on the use of scrambling when using these products?

A. In order to achieve reasonable intelligibility of recovered scrambled/descrambled speech, the limitations detailed in the linked document should be considered. [Frequency Inversion Scrambling]


for CMX70xx

Q. I am having problems initializing the CMX70xx device from power-up and from which it may become impossible to install a Function Image without reapplying power first.

A. The CMX70xx devices require a little time after the power is initially applied to settle into a known state, what follows are a few suggestion when implementing and testing your own design.

1. The BOOTEN pins must be stable when Vdd has settled at its static level. If the BOOTEN pins are controlled from the host processor via spare port pins it may be that the CMX70xx tests these pins before they have been set high by the host.
If so the device may become uncommunicative and must therefore be power cycled.

To test for this attach hard pulls-up resistors (20 kohms typically) to Vdd. Now power up the device and see if it [powers up correctly and can readily accept a FI install from host.

2. It is possible that the CMX70xx powers up and runs its internal reset mechanism before Vdd has stabilised. Again in this state it is possible that the device may not power up correctly.
2.1. Reduce the amount of decoupling on the power rails, so that the rise time is reduced.
2.2. Change the capacitors on the clock source (Xtal) so that the clock starts to oscillate a little later than previously, this can often provide enough time for VDD to stabilise.

Lastly if the problems continue, please contact your local distributor or technical support via the CML website.


For FI-1.3

Q. I am about to start to use the CMX7041 in an application that uses CTCSS and FFSK data, do you have a worked example or illustration that I can refer to?

A. The following link will take you to a document that includes 4 basic examples both in transmit and receive. Signal paths and C-BUS register settings are shown for clarity.
[view document]


For FI-2.0

Q. I am about to evaluate the CMX70x1 FI2.0 (4FSK Modem) using the PE0201, what recommendations can you give me?

A. Operation is straightforward when following the instructions in the user manuals and FAQs, however a modest modification to the PE0201 is recommended.
The baseband signal requires a Tx-to-Rx channel with a relatively flat frequency response. To achieve this with the PE0201 kit from the default build will require the removal and replacement of certain capacitors.

Note: If evaluating the 7041FI-2.x with a PE0401 kit the same modifications should be made.


For FI-3.0 modified: 11/05/07

Q. I am about to evaluate the CMX70x1 FI3.0 (C4FM Modem) using the PE0201 what recommendations can you give me?

A. Operation is straightforward when following the instructions in the user manuals and FAQs however a modest modification to the PE0201 is recommended.
The baseband signal requires a Tx-to-Rx channel with a relatively flat frequency response. To achieve this with the PE0201 kit from the default build will require the removal and replacement of certain capacitors.

Note: If evaluating the 7041FI-2.x with a PE0401 kit the same modifications should be made.


Function ImagesTM
Q.
How long does it take to download a typical Function ImageTM (FI) to a member of the CMX70xx family of devices?

A. The largest factor in overall Function ImageTM (FI) download time is the main sequence of writing words to the IC's programming register ($C8).

We will consider the repetitive nature of the recommended sequence in the linked illustration.
We can see that:

Download Time = FI word count x (TREAD + TWRITE + TMEM + TREG).

Where:

For a 6.144MHz clock we can approximate TREG ˜ 5.3us
For a 19.2MHz clock we can approximate TREG ˜ 1.6us

In evaluation it was shown that not using interrupts but polling the Status Register until the programming flag is set ($C6, b0), achieved best overall performance. This approach is further enhanced if the time taken by 8 x C-BUS sclk cycles is greater that the time taken for the CMX70xx to process a single prewritten Word.
Or:
1/Sclk x 8 < TREG

This process then takes advantage of the fact that the times TREAD and TREG are independent processes and can take place concurrently. The following link takes you to an illustration of this improved method.

Example:
Assume a maximum FI size of 23kWords, 2Mbps sclk, 6.144MHz clock source and a host processor latency of 10us. The calculation includes the improvement introduced by polling only (interrupt is masked) so TREG has been removed.

Download Time = FI word count x (TREAD + TWRITE + TMEM)

1/Sclk x 8 = 4us which is less than 5.3us so the above equation is valid

Therefore:
Download Time = 23k x (12us + 12us + 10us) = 800ms

Notes:

  1. Power cycling, resets of the CMX70xx will also add to the overall time. However under normal circumstances a FI re-write does not require power cycling a reset procedure will be sufficient.
  2. In practice real FI sizes will be less than the maximum 23Words, typical sizes will be half this figure. Please refer to the relevant FI pages on the CML web portal (My_CML).

Conclusion
It can be seen that FI downloads can reliably be written in no more than a few seconds. Updating an existing FI with a new variant will take no longer than the initial install as the RESET procedure is very quick.

The largest delay to FI installation potentially is the host processor latency and the speed at which the C-BUS sclk is driven.


Q. I note that the PE0001 Kit comes fitted with an 11.052 MHz crystal and the PE0201 comes with a 19.2MHz clock, is there anything that I have to be aware of when I load the latest CMX7031 FI?

A. The PE0201 kit is fitted via jumpers to a TCXO clock generator that operates at 19.2MHz. It is also possible to use other clock sources to suite; these options are:
the use of an External clock (via SMA socket) or the use of a separate Xtal mounted on the PCB (no socket).

Note however that the CMX7031 FI requires the use of a 6.144MHz clock by default so the device must be set-up to use the board's default 19.2MHz clock (divide by 3) if the other options are not being used.
There is a PE0001 script file supplied with the PE0001 (CMX7031set19-2.txt ) that should be run from the GUI prior to full operation.


Q. What are the new Clock features?

A. Two Auxiliary System Clocks with programmable frequencies are provided, so that external circuits can use the single xtal source of the CMX7031/ 7041.

The clock source for the CMX7031/CMX7041 is derived from an internal PLL, so allowing flexibility in selection of the Main CLK source (xtal or clock).
The CMX7031 also provides two RF synthesisers, which can provide Local Oscillators to the RF sections of the product (not available on the 7041).


Q. What are the NWR functions?

A. A new feature is the provision of NWR, which allows customers in the USA to decode and respond to the NWR / NOAA weather broadcasts.
The new signal processing architecture of the CMX7031/CMX7041 allows this signal to be decoded in parallel with the other PMR / FRS signal processing.


Q. What are the C-BUS differences between the CMX7031/CMX7041 and the 88x series?

A. The CMX7031 and CMX7041 are based on the successful 88x series of devices but offer some significant improvements and many functional enhancements.
The flexibility of the FirmASIC® platform allows for further development and features can be added as required. Some changes have been made to the C-BUS host interface to accommodate the complete set of features from the 88x series and the additional features of the 7031, however, whenever possible, backwards compatibility has been maintained to ease the transition to the new family.
The AuxADC/TX Mod Mode, Analog Output Gain and Input Gain registers ($A7, $B0, $B1) must be used to set up the Audio routing through the device.
The Powerdown, Mode Control, Interrupt Mask and Interrupt Status registers ($C0, $C1, $CE, $C6) have been changed to support the new functionality. The sub-audio signalling (CTCSS and DCS) control and reporting has been rationalised to use the Audio Control and Tone Status registers ($C2, $CC). 
The In-band signalling has been expanded to include DTMF Rx and uses Tx In-Band tones and Tone Status registers ($C3, $CC). All In-band tones activity is signalled to the host via IRQ bit13 (this includes DTMF Rx).
The frequency resolution of the Selcall and Custom tones has been improved, but the consequence is that the values used in the Program Registers are different from the 88x series. New Program block registers have been introduced to support the new and improved functionality.


Q. I am intending to evaluate the CMX7031 FI  using the PE0001 and PE0201 kits; can you give me some suggestions to help me get the most from these kits?

A. The IC that is mounted on the PE0201 is a device called the CMX703x, a generalised IC that is only used on the PE0201.
[ PE0201 Picture ].
It is the Function Image that is downloaded to the CMX703x that gives the IC and therefore the PE0201 specific functions.
For example, the current CMX7031 function image FI1.1 can be downloaded to the CMX703X, via the PE0201 and PE0001kits to provide the functionality of the CMX7031. 

Note that there are a number of items that must be understood in this context to enable the proper evaluation of the CMX7031:

1) The PE0201 by default uses a system clock of 19.2MHz, the CMX7031 specific function image (FI1.1) defaults to a system clock of 6.144MHz.
To ensure that the CMX7031 now functions correctly the Xtal/clock frequency settings must be updated, please refer to the CMX7031 data sheet for instructions on how to do this.
Alternatively, locate and download the script file "CMX7031set19-2.txt" that can be found in the CMX7031 specific PE0001 support files.

Note: This script should be used after the initial downloading of the FI or after any reset has been issued. The only exception to this is when a soft reset is performed and programming register settings are preserved.

2) The PE0001 communicates both script instructions and direct registers reads to the PC GUI via a 19200bps RS232 interface.
This means that the PE0001 and connected kits will be broadly compatible with the majority of PC's.
However the inherent latencies found within the GUI and the PC operating system means that complicated scripts cannot be "real-time"; for example FFSK data transfers should be classed as real time processing. This latency may make received FFSK data appear incorrect when compared to the original transmitted data if 1200bps data is being transferred from one device to another.

3) The following downloadable .pdf can be used to identify the active CMX7031 oriented pins on the PE0201. This pin layout is CMX7031 specific and may change if other function images are downloaded.

4) The initialisation of the PE0201 and PE0001 kits must be performed carefully. 

Please refer to the associated FAQs and App Notes that can be found elsewhere in the CMX7031 portal. Additional details of how to physically use the PE0001 and PE0201 can also be found in the portal.
PE0001/0201 for the CMX703x Q. The PE0001 FLASH firmware can be updated, with the latest upgrades from the CML portal, are there any tips that you can offer me?

Q. I will also be testing the Function Image; do you have any helpful comments?

A. Updating the PE0001 kit and/or PE0201 kit is relatively straight forward, but the following is one tried and tested method.

You should always remember to keep an eye on the portal and associated files to ensure that you have the latest files.

1. Attach 5V supply to the PE0201 kit (which by now should be connected to the PE0001)

2. Connect serial cable (in this case COM1 is used throughout).

3. Figures 1 and 2 are images of the CMX7031 portal, it is representative only.

4. Set-up 3 folders on the your PC called PE0001, PE0201 and CMX7031 (7031 data is found at the top of the page, PE kit data towards the bottom)

5. Download and extract PE0001 files to PE0001 folder, PE0201 files the PE0201 folder and so on.

6. Ensure JP1 on the PE0001 is now closedX

7. Power up PE0201 (with PE0001 connected)

8. Hold down Resetn for at least 5 seconds
Go to PE0001 folder, then the ESFLASH folder and launch the ESFLASH_X.exe
Selected Target Type = PE0001

9. Load File -> AM29LV040_XXXX.hex (from the PE0001 folder)
Module = FAT STUB -> then click OK

10. Load File -> EFXXXXXX.hex

11. Module = FLASH BANK ZERO -> then OK

12. Press Program

13. Select NO to thin stub code option

If at any point there is a problem, reset the PC, and power down the PE kits before repeating the above (from (X)

Now to download the latest Function Image (FI)

1. Remove JP1 from the PE0001

2. Ensure power to the PE0201/00001 PSU is applied

3. Execute ESXXXXXX.exe

4. Press Resetn when requested to do so

5. Go to Function Image Download Tab

6. Select the correct FI to download; in this case it will be the 7031_release_XX_XX.h.txt file that is found in the CMX7031 folder. Ensure the .txt extension is removed prior to the selection.

7. Copy and paste the PE0201 activation code (not the CMX7031 activation code) in the activation code text box, in this case 91B4DB72

8. Press download

Again if the download now fails at any time, remove all power and reset the PC.

9. Go to the C-BUS CONTROL Tab

10. Press General Reset

11. Locate the Tx Selcall script ("CMX7031TXselcall.txt") that can be found in the PE0001 folder and run it from the PE0001 GUI (using the script handler).

12. Read from the $C4 register, it should be $FF60…

A fixed level Tx Selcall tone should now be detected from the Mod1 pin.

If not start again, else the CMX7031 is now fully functional . . .

Please note the CML disclaimer notice for applications and FAQ information.