CMX881 Baseband Processor for PMR and Trunked Radios D/881/17 April 2009 Full-Feature Audio-Processing, Signalling and Data for Half Duplex Dual-Mode Analogue PMR and Trunked Radios Features * Automatic signal type scanning and IRQ on detection of valid Rx signals, level or RSSI * Voice processing facilities, including Tx and Rx gain setting and voice/subaudio filtering * Tone generator for caller recognition tunes * C-BUS serial host interface * Programmable powerdown control * RF interface allowing 1 or 2 point modulation * Programmable signal detection thresholds * Programmable soft limiter * Low Power operation with `Zero Power' mode * Programmable Selcall Codec * Uncommitted Aux ADC with switchable input to monitor signals * Meets ETS 300 086, MPT1327, PAA1382 and ETS 300 230 specifications * Zero `Talkdown' CTCSS decoder performance prevents dropouts * DTMF transmitter * Standard (39-tone) CTCSS and 23/24 bit DCS Codecs * Robust half-duplex FFSK/MSK modem, 1200/2400bps with CRC and parity generator/checker, gets data through when signal is too degraded for voice - for text messaging/paging, location transfer, etc. applications. 1.1 Brief Description CMX881, a full-function half-duplex audio and signalling processor IC for both PMR and Trunked radio systems suitable for complex and simple end-designs. Under the control of the host C, all voiceband requirements are catered for: voiceband and sub-audio filtering, pre/de-emphasis and audio routing and global level setting with single or two-point modulation in the transmit path. The combination of CTCSS and DCS functions and Selcall operation of this product offer, under software control, increased functionality, versatility and privacy. To cater for call setup and system signalling the CMX881 provides an embedded 1200/2400 bps MSK/FFSK free-format modem for text messaging/paging, passing GPS location data with checksum generation and reception and sync detection in the Rx path. (c) 2009 CML Microsystems Plc PMR Baseband Processor CMX881 With ultra low power requirements and graduated powersave, this product requires a smaller, lowerpower C than existing PMR or trunked radio solutions. It is available in compact SSOP and TSSOP packages. (c) 2009 CML Microsystems Plc 2 D/881/17 PMR Baseband Processor CMX881 CMX881 Functions and Facilities Half Duplex Operation Working in a half duplex mode, when the product is in Tx the Rx sections can be powered down to extend battery life, conversely in Rx major sections of the Tx can be treated in the same manner. Serial Control and Data Interface C-BUS: Serial control, data and command program interface compatible with SCI, SPI and Microwire type interfaces. Power Requirements and Economy With an ultra low power requirement, the CMX881 operates from a single 2.7 to 5.5 Volt supply with graduated `Sleep Mode' powersaving facilities for both Rx and Tx modes. Signalling: CTCSS Zero `Talkdown' performance eliminates unwanted breaks in communication. The CMX881 is preprogrammed with 39 standard CTCSS (+ Notone and DCS `turn off' tone) frequencies, any one of which can be selected for reception or transmission. Decoding is aided by the use of adjustable decode (c) 2009 CML Microsystems Plc 3 D/881/17 PMR Baseband Processor CMX881 bandwidths and threshold levels. Decoding is carried out rapidly thus avoiding the loss of the beginning of speech or data signals. DCS The DCS code is in NRZ format and is transmitted at 134.4b/s in either 23 or 24 bit patterns. The code, for transmission or reception is programmed via the host C with the `turn off' tone being supplied from the CTCSS facility. Decoding is carried out rapidly thus avoiding the loss of the beginning of speech or data signals. Selcall This product implements a fully programmable Selcall encoder and decoder employing normal and special tones. Tone frequencies, decoder bandwidths and thresholds are programmed by the host C. In receive the CMX881 scans its internal tone table for a match, reporting its results to the C. FFSK/MSK Data An MPT packet and free-format half duplex FFSK/MSK modem is implemented. In receive this device can decode data at either automatic or manually selected 1200b/s or 2400b/s rates. Additionally, in receive, a 16-bit programmed frame sync (MPT packet-type) pattern can be detected. Formatting control and data transfers to and from the modem is under the control of the host C. DTMF Tx The CMX881, under C control, can generate and transmit all standard DTMF tone-pairs. Signal Monitor An auxiliary circuit intended for the monitoring of any signal or level; both internal and external. This function can be used in conjunction with the host C to allow such activities as: VOX operation and/or the `wake-up' of powered-down circuitry. Audio Processing: Adjustable Gain Input Amplifiers Selectable, component adjustable inputs are available for microphone or line voiceband or discriminator inputs. In either mode (Tx or Rx) the selected input can be further level adjusted under the control of the host C prior to signal- or audio- processing. Voiceband and Sub-Audio Filtering with Limiting Both Rx and Tx paths present voiceband filtering; the Tx path filter can be configured to either 12.5 or 25 kHz channel spacing whilst the Rx path also includes a sub-audio passband filter. Voiceband Pre-emphasis and De-emphasis Voiceband pre-emphasis is selectable to either 12.5 or 25 kHz channel configurations in the Tx path; deemphasis at -6dB/ octave is selectable in the Rx path. Software Adjustable Gains, Volume, Mixing and Routing Providing total flexibility of operation, this product, under C control has the ability to select and route functions and audio and signal paths, set bandwidths and threshold levels, mix audio and sub bands and vary both input and out gain/attenuation levels. Output levels from all analogue ports can be `ramped' up and down at independently programmed rates. Attenuation-Adjustable Single/Two-Point Modulation Outputs To facilitate a wide range of transmitter types, the CMX881 has the ability to provide, independently programmable, modulation outputs; for single or two-point modulation schemes. (c) 2009 CML Microsystems Plc 4 D/881/17 PMR Baseband Processor CMX881 CONTENTS Page Section 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Features .............................................................................................................................1 Brief Description.................................................................................................................1 Block Diagram....................................................................................................................7 Signal List...........................................................................................................................8 External Components.......................................................................................................10 1.4.1 PCB Layout Guidelines and Power Supply Decoupling .....................................11 1.4.2 Modulator Outputs...............................................................................................12 General Description .........................................................................................................13 1.5.1 Sleep Mode and Auto Start Up ...........................................................................14 1.5.2 Auxiliary ADC ......................................................................................................14 1.5.3 Receive Mode .....................................................................................................15 1.5.4 Transmit Mode ....................................................................................................22 1.5.5 FFSK/MSK Data packeting .................................................................................26 1.5.6 C-BUS Operation ................................................................................................28 C-BUS Register Description ............................................................................................29 Application Notes .............................................................................................................52 1.7.1 CRC and Parity information ................................................................................52 Performance Specification ...............................................................................................53 1.8.1 Electrical Performance........................................................................................53 1.8.2 Packaging ...........................................................................................................63 Table Table 1 Table 2 Table 3 Table 4 Table 5 Table 6 Table 7 Table 8 Table 9 Page Concurrent Rx Signalling Modes Supported by the CMX881.......................................... 15 CTCSS Tones .................................................................................................................. 18 DCS Modulation Modes ................................................................................................... 18 DCS 23 Bit Codes ............................................................................................................ 19 Selcall Tones.................................................................................................................... 20 Concurrent Tx Modes Supported by the CMX881........................................................... 22 Data Frequencies for each Baud Rate ............................................................................ 25 DTMF Tone Pairs and Corresponding Tx Programming Codes ..................................... 26 Maximum Data Transfer Latency..................................................................................... 27 Figure Page Figure 1 Block Diagram................................................................................................................... 7 Figure 2 Recommended External Components............................................................................ 10 Figure 3 Power Supply Connections and De-coupling ................................................................. 11 Figure 4 Modulator output components to achieve -100dB/decade roll-off.................................. 12 Figure 5 Rx Audio Filter Frequency Response............................................................................. 16 Figure 6 De-emphasis Curve for TIA/EIA-603 Compliance.......................................................... 16 Figure 7 Low Pass Sub-Audio Band Filter for CTCSS and DCS.................................................. 17 Figure 8 25kHz Channel Audio Filter Response Template .......................................................... 23 Figure 9 12.5kHz Channel Audio Filter Response Template ....................................................... 23 Figure 10 Audio Frequency Pre-emphasis Template ................................................................... 24 Figure 11 Modulating Waveforms for 1200 and 2400 Baud FFSK/MSK Signals ......................... 25 Figure 12 C-BUS Transactions ..................................................................................................... 28 (c) 2009 CML Microsystems Plc 5 D/881/17 PMR Baseband Processor Figure 13 Figure 14 Figure 15 Figure 16 Figure 17 CMX881 Possible PMR Configuration......................................................................................... 52 C-BUS Timing ............................................................................................................... 61 Typical FFSK/MSK Bit Error Rate Graph ..................................................................... 62 Mechanical Outline of 28-pin SSOP (D6): Order as part no. CMX881D6.................. 63 Mechanical Outline of 28-pin TSSOP (E1): Order as part no. CMX881E1 ................ 63 It is always recommended that you check for the latest product datasheet version from the Datasheets page of the CML website: [www.cmlmicro.com]. (c) 2009 CML Microsystems Plc 6 D/881/17 PMR Baseband Processor 1.2 CMX881 Block Diagram Figure 1 Block Diagram (c) 2009 CML Microsystems Plc 7 D/881/17 PMR Baseband Processor 1.3 CMX881 Signal List Package D6, E1 Pin No. Name Type 23 VDD(D) Power The digital positive supply rail. This pin should be decoupled to VSS(D) by a capacitor mounted close to the device pins. 5 VSS(D) Power The negative supply rail (digital ground). 18 VDD(A) Power The analogue positive supply rail. Levels and thresholds within the device are proportional to this voltage. This pin should be decoupled to VSS(A) by a capacitor mounted close to the device pins. 9, 21 VSS(A) Power The negative supply rail. Both pins must be connected to analogue ground. Signal 1, 2 Description NC No connection should be made to these pins. 3 IRQN O/P A 'wire-Orable' output for connection to the Interrupt Request input of the host. This output is pulled down to VSS(D) when active and is high impedance when inactive. An external pull-up resistor is required. 4 REPLY_DATA T/S The C-BUS serial data output to the host. This output is held at high impedance when not sending data to the host. 6 SERIAL_CLOCK I/P The C-BUS serial clock input from the host. 7 CMD_DATA I/P The C-BUS serial data input from the host. 8 CSN I/P The C-BUS data loading control function. Data transfer sequences are initiated, and completed by the CSN signal. (c) 2009 CML Microsystems Plc 8 D/881/17 PMR Baseband Processor 1.3 CMX881 Signal List (continued) Package D6, E1 Pin No. Name Type 10 VBIAS O/P Internally generated bias voltage of approximately VDD(A)/2, except when bias is power-saved when VBIAS will discharge to VSS(A). This pin should be decoupled to VSS(A) by a capacitor mounted close to the device pins. 11 DISC I/P Input terminal of discriminator input amplifier. 12 DISC_FB O/P Output / feedback terminal of discriminator input amplifier. 13 INPUT_2 I/P Input terminal of amplifier 2, for either a second microphone or discriminator input. 14 INPUT_2_FB O/P Output / feedback terminal of input amplifier 2. 15 MIC I/P Input terminal of microphone input amplifier. 16 MIC_FB O/P Output / feedback terminal of microphone input amplifier. 17 SIG_MONITOR I/P Signal Monitor input to the internal level detecting circuit. 19 MOD_1 O/P Modulator 1 output. 20 MOD_2 O/P Modulator 2 output. 22 AUDIO O/P Output of the audio section. 24 CLOCK/XTAL I/P The input to the on-chip oscillator for an external crystal or a clock circuit. 25 CLOCK_OUT O/P Buffered (un-inverted) clock output available for use by other devices in the system. 26 I/P Test input, connect to VSS(D). 27, 28 NC No connection should be made to these pins. Signal Notes: I/P O/P T/S NC (c) 2009 CML Microsystems Plc = = = = Description Input Output 3-state Output No Connection 9 D/881/17 PMR Baseband Processor 1.4 CMX881 External Components VDD(D) NC R1 NC IRQN REPLY_DATA VSS(D) C-BUS Interface SERIAL_CLOCK CMD_DATA CSN Discriminator VSS(A) C8 R5 VBIAS C5 DISC DISC_FB R6 INPUT_2 INPUT_2_FB 1 28 2 27 3 26 4 25 5 24 6 23 CMX881 7 22 8 21 9 20 10 19 11 18 12 17 13 16 14 15 NC NC VSS(D) X1 CLOCK_OUT CLOCK/XTAL C2 AUDIO R2 Loudspeaker amp VSS(A) MOD_2 R3 Modulator reference MOD_1 R4 Modulator control VDD(A) C1 C3 C4 SIG_MONITOR MIC_FB VSS(A) MIC C7 C6 VSS(D) VDD(D) R7 C9* R8 D1* R9* R10* C10* Microphone VSS(A) Figure 2 Recommended External Components R1 R2 R3 R4 R5 R6 R7 R8 100k 100k 100k 100k See note 2 100k See note 3 100k R9 R10 C1 C2 C3 C4 C5 See note 6 See note 6 100pF 1nF 100pF 100pF 100pF C6 C7 C8 C9/10 See note 4 200pF See note 4 See note 6 X1 18.432MHz D1 See note 6 See note 1 Resistors 5%, capacitors and inductors 20% unless otherwise stated. Notes: 1. X1 can be a crystal or an external clock generator; this will depend on the application. The clock drift requirement is defined in section 1.8.1. The tracks between the crystal and pin 24 and pin 5 should be as short as possible to achieve maximum stability and best start up performance. 2. R5 should be selected to provide the desired dc gain (assuming C8 is not present) of the discriminator input, as follows: GAINDisc = 100k / R5 The gain should be such that the resultant output at the DISC_FB pin is within the discriminator input signal range specified in section 1.8.1. 3. R7 should be selected to provide the desired dc gain (assuming C6 is not present) of the microphone input, as follows: GAINMic = 100k / R7 The gain should be such that the resultant output at the MIC_FB pin is within the microphone input signal range specified in section 1.8.1. For optimum performance with low signal microphones, an additional external gain stage may be required. 4. C6 and C8 should be selected to maintain the lower frequency roll-off of the microphone and discriminator inputs as follows: C6 30nF x GAINMic C8 1F x GAINDisc (c) 2009 CML Microsystems Plc 10 D/881/17 PMR Baseband Processor CMX881 5. INPUT_2 and INPUT_2_FB connections allow the user to have a second discriminator or microphone input. Component connections and values are as for the networks around pins 11 and 12 or pins 15 and 16 respectively. If this input is not required pin 13 must be connected to pin 14. 6. The circuit formed by D1, C9, C10, R9 and R10 is a peak detector, this is only required when the signal monitor is connected to an ac signal (e.g. microphone or received signal). For a dc type signal (e.g. RSSI) these components are not required. The values of C9 and R10 set the attack time, C9 and R9 set the decay time. D1 can be any suitable small signal diode. R10 should be a high enough value so as not to distort the signal source. 1.4.1 PCB Layout Guidelines and Power Supply Decoupling Digital Ground VSS(D) provision for wire link 28 2 27 3 26 4 25 5 24 6 23 CM X881 7 22 8 21 C11 C12 Digital ground plane + Clock Output L1 VDD(D) Digital +ve Supply VSS(A) VSS(A) VBIAS C15 1 9 20 10 19 11 18 12 17 13 16 14 15 Analogue Ground C13 C14 + L2 VDD(A) Analogue +ve Supply Analogue ground plane Figure 3 Power Supply Connections and De-coupling C11 C12 C13 10nF 10F 10nF C14 C15 10F 100nF L1 L2 100nH 100nH See note 7 See note 7 Resistors 5%, capacitors and inductors 20% unless otherwise stated. Notes: 7. The inductors L1 and L2 can be omitted but this may degrade system performance. It is important to protect the analogue pins from extraneous inband noise and to minimise the impedance between the CMX881 and the supply and bias de-coupling capacitors. The de-coupling capacitors C11, C12, C13 and C14 should be as close as possible to the CMX881, particularly C11 and C13. It is therefore recommended that the printed circuit board is laid out with separate ground planes for the VSS(A) and VSS(D) in the area of the CMX881, with provision to make a link between them close to the CMX881. VBIAS is used as an internal reference for detecting and generating the various analogue signals. It must be carefully decoupled, to ensure its integrity, so apart from the decoupling capacitor shown, no other loads should be connected. If VBIAS needs to be used to set the discriminator mid-point reference, it must be buffered with a high input impedance buffer. The single ended microphone input(s) and audio output must be ac coupled as shown, so their return paths can be connected to VSS(A) without introducing dc offsets. Further buffering of the audio output is advised. The crystal X1 can be replaced with an external clock source if required/desired. The internal clock generating circuit can be placed in power-save mode if the clock is provided externally. (c) 2009 CML Microsystems Plc 11 D/881/17 PMR Baseband Processor CMX881 1.4.2 Modulator Outputs The combination of CMX881 and the modulator output components, R3/C3 and R4/C4, achieve roll-off rates better than -60dB/decade. If required this can be increased to better than -100dB/decade by replacing R3/C3 and R4/C4 with the active filter circuit shown in Figure 4. C17/C19 MOD_1 & 2 + R11/R13 R12/R14 C16/C18 Modulator 1 & 2 - VSS(A) Figure 4 Modulator output components to achieve -100dB/decade roll-off R11 R12 R13 R14 120k 120k 120k 120k C16 C17 C18 C19 220pF 440pF 220pF 440pF (2 x C16) (2 x C18) Resistors 5%, capacitors and inductors 20% unless otherwise stated. Notes: 8. The external op-amp must be chosen to ensure that the required signal output level can be driven within acceptable distortion limits. (c) 2009 CML Microsystems Plc 12 D/881/17 PMR Baseband Processor 1.5 CMX881 General Description The CMX881 is intended for use in half duplex analogue two way land mobile radio (LMR) equipment and is particularly suited to multi standard PMR systems. The CMX881 provides radio signal encoder and decoder functions for: Voice, Selcall, Tx DTMF, CTCSS, DCS and FFSK/MSK data permitting simple to sophisticated levels of tone control and data transfer. Power control facilities allow the device to be placed in varying levels of sleep allowing the user to fine tune the power depending on system requirements. The CMX881 includes a crystal clock generator, with buffered output, to provide a common system clock if required. A block diagram of the CMX881 is shown in Figure 1. Tx functions Audio o Single/dual microphone inputs with input amplifier and programmable gain adjustment o Filtering selectable for 12.5kHz and 25kHz channels o Selectable pre-emphasis o 2-point modulation outputs with programmable level adjustment Signalling o Pre-programmed 39 tone CTCSS encoder o Programmable 23/24bit DCS encoder o Programmable audio tone generator (for custom audio tones) o Programmable Selcall encoder o DTMF encoder o 1200/2400bps MSK modulator Rx functions Audio o Single/dual demodulator inputs with input amplifier and programmable gain adjustment o Voice-band and sub-audio rejection filtering o Selectable de-emphasis o Software volume control Signalling o 1 from 39 CTCSS decoder + Tone Clone mode o 23/24bit DCS decoder o Programmable Selcall decoder o 1200/2400bps MSK demodulator and 16-bit frame sync detector o Signal Monitor (RSSI / Microphone / Rx channel level monitor) Host Interface A serial data interface (C-BUS) is used for command, status and data transfers between the CMX881 and the host C; this interface is compatible with microwire, SPI etc. Interrupt signals notify the host C when a change in status has occurred and the C should read the status register across the C-BUS and respond accordingly. Interrupts only occur if the appropriate mask bit has been set. See section 1.6.15. Auxiliary (Signal Monitor) analogue signal The CMX881 includes a Signal level monitor. This is an 8-bit successive approximation ADC and a two level signal sensor. The two level sensor facility can be used in conjunction with the power saving mode to wake up powered down blocks, and issue an interrupt on the IRQN line when the Signal exceeds the preset threshold level. The auxiliary ADC voltage reference is taken directly from the VDD(A) supply, so the Signal level being monitored should be derived from this supply voltage. (c) 2009 CML Microsystems Plc 13 D/881/17 PMR Baseband Processor CMX881 1.5.1 Sleep Mode and Auto Start Up A power-on reset signal remains asserted for approximately 256 x xtal clock cycles after power is applied and the clock or xtal oscillator is established. It performs the same function as the C-BUS General Reset command ($01), further details of which are given in section 1.6.2. A temporary loss of power may cause the power-on reset signal to be re-asserted. If this happens, both the C-BUS registers and the Programming register block should be reprogrammed, once power has been restored and a C-BUS General Reset command has been issued. This is to prevent any possibility of data corruption within the device. Power-on reset or C-BUS general reset places the CMX881 into sleep mode, which results in all internal blocks, except the xtal clock circuit, being placed in power-saved mode. The xtal clock circuit can be power-saved but this must be done by an explicit C-BUS command. Power saving is achieved by turning off bias current sources or disabling local clocks, as appropriate. During system standby periods, parts of the device can be put into sleep mode by the host to conserve power. The Auxiliary ADC can be programmed so that when the level exceeds a threshold, an interrupt is issued over the C-BUS and the selected mode (Tx or Rx) "woken up" within 400s. If this time is too long to ensure no part of the signal is lost, the DISC or MIC input and ADC path can be kept powered up whilst in standby mode. The receive modes and transmit modes can also be activated by commands from the C-BUS. On wake up, activation of the various signal path stages are phased appropriately to avoid causing unwanted transients. More details are provided in section 1.6.4 on Signal Routing. The CMX881 can be programmed to wake up its receive path automatically (automatic start-up) when the DISC input level exceeds the `high' level threshold. While the CMX881 is in automatic receive start-up mode the DISC input must also be selected for the signal path. When not in automatic start-up mode it is recommended that the required input is selected during Auxiliary ADC operation to avoid subsequent switching of the input signal source. 1.5.2 Auxiliary ADC This section of the CMX881 operates in both Tx and Rx modes and can be used to monitor one of 4 signal sources: Sig_Monitor pin, MIC1, Input_2 or DISC inputs. Activity on the selected input will optionally issue an interrupt if host intervention is required. During idle periods the majority of the CMX881 can be placed into low power mode. If monitoring ac signals connected to the Sig_Monitor pin they must be rectified and filtered using passive external circuitry. The Auxiliary ADC facility comprises an 8-bit ADC, a comparator, an 8-bit result data word and two 8-bit threshold registers, one defining the `Signal high' level and the other the `Signal low' level. The two threshold registers are combined into one 16-bit C-BUS register word. The ADC measures the Signal level at intervals that are set by C-BUS command. It is advised that the interval be set to <125s while waiting for a new incoming signal so that the CMX881 and host C can be powered up and put into the correct mode in time to avoid missing any part of the signal. The default interval period following a reset is 20.8s. Power dissipation of the Auxiliary ADC can be reduced by increasing the conversion interval time. The result of the most recent Auxiliary ADC measurement can be read over the C-BUS whenever the Signal Processing and Aux ADC circuits are powered up. The Auxiliary ADC compares each conversion result with the values in the `Signal high' or the `Signal low' threshold registers. The CMX881 can, for example, issue an interrupt to the host C to wake up the receive path when the Auxiliary ADC input exceeds the `high' level threshold. The CMX881 can also issue an interrupt to the host C to indicate a weak or absent signal when it falls below the `low' level threshold. This provides a user programmable hysteresis facility. The host must ensure that the value in the `low' register is always less than that of the `high' register. The options for issuing interrupts and for automatic start-up are selected by C-BUS command. The Auxiliary ADC options are controlled by the $B2, $B3 and $C0 C-BUS registers. The auxiliary ADC data can be read from the $B4 C-BUS register. The Auxiliary ADC requires the Auxiliary ADC, BIAS and Xtal clock to all be enabled in the Power Down Control register. (c) 2009 CML Microsystems Plc 14 D/881/17 PMR Baseband Processor CMX881 1.5.3 Receive Mode The CMX881 can receive voice and various signal formats: CTCSS tone, DCS code, Selcall and FFSK/ MSK data at 1200 and 2400bps. Reception of each of these signal types can be independently enabled/disabled by C-BUS command. If enabled, an interrupt will be issued to notify the host C of the presence and type of the incoming signal. In receive mode the CMX881 performs signal type identification in 2 frequency bands, sub-audio (60 260Hz) and voice band (300 - 3kHz), to determine what type of signal is being received. When an enabled signal is detected this will be indicated to the host over the C-BUS and the CMX881 will continue to process the received signal in its band. Identification / process mode will continue in the other band. The CMX881 can process voice and simultaneously identify and process at least 2 other signal types. See Table 1 for valid combinations. The receive gain and audio output amplifier gain can be adjusted by the host C, via C-BUS command, to provide receive signal level adjustment and output volume control or muting. Table 1 Concurrent Rx Signalling Modes Supported by the CMX881 With Rx Voice Processing1 or Audio Tone generation Sub-Audio All combinations of: Voice band signalling Any one of A - C: DCS Inverted DCS CTCSS A: None B: Selcall C: 1200bps FFSK/MSK Sub-Audio All combinations of: No Voice Processing or Audio Tone generation DCS Inverted DCS CTCSS Sub-Audio All combinations of: No Voice Processing or Audio Tone generation No Subaudio processing Voice band signalling Any one of A - G: A: None B: Selcall C: 1200bps FFSK/MSK D: 2400bps FFSK/MSK E: 1200 & 2400 bps FFSK/MSK F: Selcall & 1200bps FFSK/MSK G: Selcall & 2400bps FFSK/MSK Voice band signalling Any one of A - H: A: None B: Selcall C: 1200bps FFSK/MSK D: 2400bps FFSK/MSK E: 1200 & 2400 bps FFSK/MSK F: Selcall & 1200bps FFSK/MSK G: Selcall & 2400bps FFSK/MSK H: Selcall & 1200bps & 2400bps FFSK/MSK 1 Including optional de-emphasis By disabling all the decoding modes, the device can be configured to receive voice only signals with no decoding of the voice band, CTCSS or DCS signalling. This will result in reception of all signals as if they are voice. In this case it is up to the user/host C to respond appropriately to incoming signals. The CMX881 operates in half duplex, so whilst in receive mode the transmit path (microphone input and modulator output amplifiers) can be disabled and powered down if required. The AUDIO output signal level is equalised (to VBIAS) before switching between the audio port and the modulator ports, to minimise unwanted audible transients. The Off/Power-save level of the modulator outputs is the same as the VBIAS pin, so the audio output level must also be at this level before switching. (c) 2009 CML Microsystems Plc 15 D/881/17 PMR Baseband Processor CMX881 1.5.3.1 Receiving Voice Band Signals When a voice based signal is being received, it is up to the C, in response to signal status information provided by the CMX881, to control muting/enabling of the voice band signal to the AUDIO output. The discriminator path through the device has a programmable gain stage. Whilst in receive mode this should normally be set to 0dB (the default) gain. Receive Filtering The incoming signal is filtered, as shown in Figure 5, to remove sub-audio components and to minimise high frequency noise. When appropriate the voice signal can then be routed to the AUDIO output. 10 250Hz 0 -10 Filter response -20 -30 Template -40 300Hz 3kHz -50 -60 10Hz 100Hz 1000Hz 10000Hz 100000Hz Frequency (Hz) Figure 5 Rx Audio Filter Frequency Response De-emphasis Optional de-emphasis at -6dB per octave from 300Hz to 3000Hz (shown in Figure 6) can be selected to facilitate compliance with TIA/EIA-603. 16 12 8 4 0dB/octave 0 -6dB/octave dB +1dB -4 0dB -8 -3dB -12 -16 -18dB/octave -20 100 1000 10000 Frequency (Hz) Figure 6 De-emphasis Curve for TIA/EIA-603 Compliance (c) 2009 CML Microsystems Plc 16 D/881/17 PMR Baseband Processor 1.5.3.2 CMX881 Receiving and Decoding CTCSS Tones The CMX881 is able to accurately detect valid CTCSS tones quickly to avoid losing the beginning of voice or possibly data transmissions, and is able to continuously monitor the detected tone with minimal probability of falsely dropping out. The received signal is filtered in accordance with the template shown in Figure 7, to prevent signals outside the sub-audio range from interfering with the sub-audio tone detection. 10 0 Gain (dB) -10 -20 -30 -40 -50 -60 -70 0 200 400 600 800 1000 Frequency (Hz) Figure 7 Low Pass Sub-Audio Band Filter for CTCSS and DCS Once a valid CTCSS tone has been detected, the voice band signal can be passed to the audio output. The voice band signal is extracted from the received signal by band pass filtering as shown in Figure 5. To help decode received CTCSS tones adjustable decoder bandwidths and threshold levels permit decode certainty and signal to noise performance to be traded when congestion or range limits the system performance. This entails setting the tone decoder bandwidth and threshold level in P2.1 of the Programming register ($C8) and programming the Audio & CTCSS Control register with the desired tone. Tone CloningTM: Tone CloningTM facilitates the detection of CTCSS tones 1 to 39 in receive mode. This allows the device to non-predictively detect any tone in this range. The received tone number will be reported in the Tones Status register. This tone code can then be programmed into the `Audio and Device Address Control' register, by the host C. The cloned tone will only be active when CTCSS is enabled in the Mode register. It is recommended that the CTCSS bandwidth selected in Programming Register word P2.1 is set to be sufficiently low to ensure no overlapping of adjacent tones. TM Tone Cloning is a trademark of CML Microsystems Plc. (c) 2009 CML Microsystems Plc 17 D/881/17 PMR Baseband Processor CMX881 CTCSS Tones Table 2 lists the CTCSS tones available. The tone numbers are decimal equivalents of the numbers written to the Audio & CTCSS Control register ($C2) and reported in the Tone Status register ($CC). Table 2 CTCSS Tones Tone Number 001 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 Notes: 1 2 Freq. (Hz) No Tone 67.0 71.9 74.4 77.0 79.7 82.5 85.4 88.5 91.5 94.8 97.4 100.0 103.5 107.2 110.9 114.8 118.8 123.0 127.3 Tone Number 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 Freq. (Hz) 131.8 136.5 141.3 146.2 151.4 156.7 162.2 167.9 173.8 179.9 186.2 192.8 203.5 210.7 218.1 225.7 233.6 241.8 250.3 69.3 Tone Number 40-54 552 >=56 Freq. (Hz) Reserved Invalid tone Reserved Tone number 00 in the Tone Status register ($CC) indicates that none of the above subaudio tones is being detected - see also section 1.6.19. If tone number 00 is programmed into the Audio & CTCSS Control register ($C2) no tone will be scanned for. If CTCSS transmit is selected this tone setting will cause the CTCSS generator to output no signal. Tone number 55 is reported in the Tone Status register ($CC), when CTCSS receive is enabled and a subaudio tone is detected that does not correspond to the selected tone. This could be a tone in the subaudio band which is not in the table or a tone in the table which is not the selected tone. 1.5.3.3 Receiving and Decoding DCS Codes DCS Code is in NRZ format and transmitted at 134.4 0.4bps. The CMX881 is able to decode any 23 or 24 bit pattern in either of the two DCS modulation modes defined by TIA/EIA-603 and described in Table 3. The CMX881 can detect a valid DCS Code quickly enough to avoid losing the beginning of voice transmissions. Table 3 DCS Modulation Modes Modulation Type: A B Data Bit: 0 1 0 1 FM Frequency Change: Minus frequency shift Plus frequency shift Plus frequency shift Minus frequency shift The CMX881 detects the DCS code that matches the programmed code defined in the `DCS Code' words (P2.2-3) in the Programming register ($C8). (c) 2009 CML Microsystems Plc 18 D/881/17 PMR Baseband Processor CMX881 To detect the pre-programmed DCS code the signal is low pass filtered to suppress all but the sub-audio band using the filter shown in Figure 7. Further equalisation filtering, signal slicing and level detection are done to extract the code being received. The extracted code is then matched with the programmed 23 or 24-bit DCS code to be recognised, in the order least significant first through to most significant DCS code bit last. Table 4 shows a selection of valid 23-bit DCS codes, this does not preclude other codes being programmed. Recognition of a valid DCS Code will be flagged if the decode is successful (3 or less errors). A failure to decode is indicated by a '0' flag. This flag is updated after the decoding of every 4th bit of the incoming signal. Once a valid DCS Code has been detected, the voice band signal can be passed to the AUDIO output under the control of the host C. The voice signal is extracted from the received input signal by band pass filtering; see Figure 5. More details for programming DCS Codes are provided in section 1.6.20.3. The end of DCS transmissions is indicated by a 134.4 0.5Hz tone for 150-200ms. To detect the DCS turn off tone while receiving DCS, the DCS turn off tone option must be selected in the Audio and CTCSS Control ($C2) register. When a DCS turn off tone is detected it will cause a DCS interrupt; the receiver audio output can then be muted by the host. Table 4 DCS 23 Bit Codes DCS Code 023 025 026 031 032 043 047 051 054 065 071 072 073 074 114 115 116 125 131 132 134 143 152 155 156 162 165 172 DCS bits 22-12 763 6B7 65D 51F 5F5 5B6 0FD 7CA 6F4 5D1 679 693 2E6 747 35E 72B 7C1 07B 3D3 339 2ED 37A 1EC 44D 4A7 6BC 31D 05F DCS bits 11-0 813 815 816 819 81A 823 827 829 82C 835 839 83A 83B 83C 84C 84D 84E 855 859 85A 85C 863 86A 86D 86E 872 875 87A DCS Code 174 205 223 226 243 244 245 251 261 263 265 271 306 311 315 331 343 346 351 364 365 371 411 412 413 423 431 432 DCS bits 22-12 18B 6E9 68E 7B0 45B 1FA 58F 627 177 5E8 43C 794 0CF 38D 6C6 23E 297 3A9 0EB 685 2F0 158 776 79C 3E9 4B9 6C5 62F DCS bits 11-0 87C 885 893 896 8A3 8A4 8A5 8A9 8B1 8B3 8B5 8B9 8C6 8C9 8CD 8D9 8E3 8E6 8E9 8F4 8F5 8F9 909 90A 90B 913 919 91A DCS Code 445 464 465 466 503 506 516 532 546 565 606 612 624 627 631 632 654 662 664 703 712 723 731 732 734 743 754 DCS bits 22-12 7B8 27E 60B 6E1 3C6 2F8 41B 0E3 19E 0C7 5D9 671 0F5 01F 728 7C2 4C3 247 393 22B 0BD 398 1E4 10E 0DA 14D 20F DCS bits 11-0 925 934 935 936 943 946 94E 95A 966 975 986 98A 994 997 999 99A 9AC 9B2 9B4 9C3 9CA 9D3 9D9 9DA 9DC 9E3 9EC 1.5.3.4 Receiving and Decoding Selcall Tones Selcall tones can be used to flag the start and end of a call. They may also occur during a call in which case the tone may be audible at the receiver. If enabled, an interrupt will be issued when a signal matching a valid Selcall tone is detected and when a present Selcall tone turns off or changes (i.e. at the (c) 2009 CML Microsystems Plc 19 D/881/17 PMR Baseband Processor CMX881 start and at the end of each Selcall tone). The audio path can then be turned on and off at the appropriate times under control of the host C. The CMX881 implements a fully programmable Selcall encoder / decoder. The frequency of each tone is defined in the Program registers P1.2-18. See section 1.6.20 for programming details. In receive the CMX881 scans through the tone table sequentially, the code reported will be the first one that matches the incoming frequency. Adjustable decoder bandwidths, threshold levels are programmable via the Programming register and permits certainty of detection and signal to noise performance to be traded when congestion or range limits the system performance. The Selcall signal is derived from the received input signal after the band pass filtering shown in Figure 5. Table 5 lists the Selcall codes available, these are 5 bit numbers set or reported in: Tx Tone register ($C3) and Tone Status register ($CC). Table 5 Selcall Tones Special / Information Tones (5th bit = 0) 4 bit Code Frequency set in Dec Hex Program register: 0 0 No Tone 1 1 2 2 3 3 4 4 5 5 6 6 1-13 7 7 Reserved 8 8 9 9 10 A 11 B 12 C 13 D 14 E P1.21,2 15 F Unrecognised tone Notes: 1 2 Normal Tones (5th bit = 1) 4 bit Code Frequency set in Dec Hex Program register: 0 0 P1.31 1 1 P1.41 2 2 P1.51 3 3 P1.61 4 4 P1.71 5 5 P1.81 6 6 P1.91 7 7 P1.101 8 8 P1.111 9 9 P1.121 10 A P1.131 11 B P1.141 12 C P1.151 13 D P1.161 14 E P1.171 15 F Unrecognised tone Special tone 14, and Normal tones 0 - 15 provide user programmable tone options for both transmit and receive modes as set in the indicated Program register, for programming information see section 1.6.20.2. To ensure correct operation tones should not be programmed with overlapping detect bandwidths. Special tone 14 is the repeat tone, this code must be used in transmit when the new code to be sent is the same as the previous one. e.g. to send `333' the sequence `3R3' should be sent, where `R' is the repeat tone. When receiving Selcall tones the CMX881 will indicate the repeat tone when it is received, it is up to the host to interpret this and decode tones accordingly. (c) 2009 CML Microsystems Plc 20 D/881/17 PMR Baseband Processor CMX881 1.5.3.5 Receiving FFSK Signals The CMX881 can decode incoming FFSK/MSK signals at either 1200 or 2400 baud data rates. It can achieve this by deriving the baud rate from the received signal. Alternatively a control word may set the baud rate, in which case the device only responds to signals operating at that rate. The form of FFSK/MSK signals for these baud rates, excluding noise, is shown in Figure 11. The received signal is filtered and data is extracted. A PLL is used to extract the clock from the recovered serial data stream. The recovered data is stored in a 1 byte buffer and an interrupt issued to indicate received data is ready. Data is transferred over the C-BUS, controlled by host instructions. If this data is not read before the next data is decoded it will be overwritten. The MSK bit clock is not output externally. It is up to the user to ensure that the data is transferred at an adequate rate following data ready being flagged, see Table 9. The extracted data is compared with up to three 16-bit programmed frame sync patterns (SYND, SYNC and it's inverse SYNT). SYNC and SYND are both preset to $C4D7 following a RESET command. An interrupt will be flagged when the programmed frame sync pattern is detected. The host may stop the frame sync search by disabling the MSK demodulator. FFSK may be transmitted in conjunction with a CTCSS or DCS sub-audio component. The device will handle the sub-audio signals as already described. If a sub-audio signal turns off during reception of FFSK, it is up to the host C to turn off the FFSK decoding as the device will continue receiving and processing the incoming signal until commanded otherwise by the host C. The host must keep track of the message length or otherwise determine the end of reception (e.g. by using sub-audio information or the Auxiliary ADC to check for signal level) and disable the FFSK demodulator at the appropriate time. (c) 2009 CML Microsystems Plc 21 D/881/17 PMR Baseband Processor CMX881 1.5.4 Transmit Mode The device operates in half duplex, so when the device is in transmit mode the receive path (discriminator and audio output amplifiers) should be disabled, and can be powered down, by the host C. Two modulator outputs with independently programmable gains are provided to facilitate single or twopoint modulation, separate sub-audio and voice band outputs. If one of the modulator outputs is not used it can be disabled to conserve power. To avoid erroneous transmission of out of band frequencies when changing from Rx to Tx the MOD_1 and MOD_2 outputs are ramped to the quiescent modulator output level, VBIAS before switching. Similarly, when starting a transmission, the transmitted signal strength is ramped up from the quiescent VBIAS level and when ending a transmission the transmitted signal strength is ramped down to the quiescent VBIAS level. The ramp rates are set in the Programming register P4.6. When the modulator outputs are disabled, their outputs will be set to VBIAS. When the modulator output drivers are powered down, their outputs will be floating (high impedance), so the RF modulator will need to be turned off. Table 6 Concurrent Tx Modes Supported by the CMX881 Sub-Audio CTCSS CTCSS CTCSS CTCSS CTCSS DCS DCS DCS DCS DCS Voice band + + + + Voice Selcall FFSK/MSK DTMF + + + + Voice Selcall DTMF FFSK/MSK Voice Selcall DTMF FFSK/MSK For all transmissions the host must only enable signals after the appropriate data and settings for those signals are loaded into the C-BUS registers. As soon as any signalling is enabled the CMX881 will use the settings to control the way information is transmitted. A programmable gain stage in the microphone input path facilitates a host controlled VOGAD capability. (c) 2009 CML Microsystems Plc 22 D/881/17 PMR Baseband Processor CMX881 1.5.4.1 Processing Voice Signals for Transmission over Analogue Channels The microphone input(s), with programmable gain, can be selected as the voice input source. Preemphasis is selectable with either version of the 2 analogue Tx audio filters (for 12.5kHz and 25kHz channel spacing). These are designed for use in ETS-300-086 and/or TIA/EIA-603 compliant applications. Both filters attenuate sub-audio frequencies below 250Hz by more than 33dB wrt the signal level at 1kHz. These filters together with a built in limiter help ensure compliance with ETS-300-086 (25kHz and 12.5kHz channel spacing) when levels and gain settings are set up correctly in the target system. 10 reference 0dB at 1kHz 3kHz +0.5dB/-2dB wrt ref. 0 -30 -14dB/octave 300Hz -20 250Hz Gain (dB) -10 -33dB -40 -50 -60 10 100 1000 10000 100000 Frequency (Hz) Figure 8 25kHz Channel Audio Filter Response Template The filter characteristics of the 12.5kHz channel filter fits the filter template shown in Figure 9 (solid outline). This filter also facilitates implementation of systems compliant with TIA/EIA-603 `A' and `B' bands. To achieve attenuation above 3kHz of better than -100dB/decade for TIA/EIA-603 `C' bands (dashed outline), additional external circuitry is required, such as suggested in section 1.4.2. 10 reference 0dB at 1kHz +0.5dB/-2dB wrt ref. 0 3kHz -30 -60dB/decade wrt ref. 2.55kHz 250Hz Gain (dB) -20 300Hz -10 -33dB -40 (-50dB) -50 20kHz -60 -100dB/decade -70 (-82.5dB) -80 20kHz -90 10 100 1000 10000 100000 Frequency (Hz) Figure 9 12.5kHz Channel Audio Filter Response Template (c) 2009 CML Microsystems Plc 23 D/881/17 PMR Baseband Processor CMX881 The CMX881 provides selectable pre-emphasis filtering of +6dB per octave from 300Hz to 3000Hz, matching the template shown in Figure 10. 16 12 +6dB/octave 8 4 +1dB 0dB 0 dB -4 -3dB -8 -12 -16 +12dB/octave -20 100 1000 10000 Frequency (Hz) Figure 10 Audio Frequency Pre-emphasis Template Modulator Output Routing The sub-audio component can be combined with the voice band signal and this composite signal routed to both MOD_1 and MOD_2 outputs, or the sub-audio and voice band signal can be output separately (sub-audio to MOD_2 and voice band to MOD_1), in accordance with the settings of the Signal Routing register ($B1). 1.5.4.2 CTCSS Tone The sub-audio CTCSS tone generated is defined in the Audio & CTCSS Control register ($C2). Table 2 lists the CTCSS tones and the corresponding value for programming the TX TONE bits. 1.5.4.3 DCS Code A 23 or 24-bit sub-audio DCS Code can be generated, as defined by the `DCS Code' words (P2.2-3) of the Programming register ($C8); the same DCS Code pattern is used for detection and transmission. The DCS Code is NRZ encoded at 134.40.4 bits/s, low pass filtered and added to the voice band signal, prior to passing the signal to the modulator output stages. Valid 23-bit DCS codes and the corresponding settings for the DCS Code Register are shown in Table 4, this does not preclude other codes being programmed. The least significant bit of the DCS code is transmitted first and the most significant bit is transmitted last. The CMX881 is able to encode and transmit either of the two DCS modulation modes defined by TIA/EIA-603 and described in Table 3. To signal the end of the DCS transmission, the host should set the special sub-audio bits in the Audio & CTCSS Control register ($C2) to enable the DCS turn off tone for 150ms to 200ms. After this time period has elapsed the host should then disable DCS in the Mode register ($C1). Do not enable CTCSS in the Mode Control ($C1) register when transmitting the DCS turn off tone. To summarize, detection of DCS turn off tone requires the CTCSS decoder to be enabled, whereas generation of the DCS turn off tone requires the CTCSS encoder to be disabled. (c) 2009 CML Microsystems Plc 24 D/881/17 PMR Baseband Processor CMX881 1.5.4.4 Transmitting Selcall Tones The Selcall tone to be generated is defined in the Tx In-Band Tones register ($C3). The tone level is set in the Programming register (P1.0). The Selcall tone must be transmitted without other signals in the voice band, so when either In-band signalling bit is selected, the voice path is automatically disabled. The voice path bit should not be set to '0' at this time, as this produces anomalous results. However, the voice path can be disabled by setting bits 4 and 5 to '00' in the Signal Routing register ($B1). Table 5 shows valid Selcall tones, together with the values for programming the Selcall bits of the Tx In-Band Tones register. Custom Selcall tone frequencies are set in the program register ($C8) P1.2-17. See section 1.6.20.2 for programming details. 1.5.4.5 Transmitting FFSK/MSK Signals The FFSK/MSK encoding operates in accordance with the bit settings in the Mode Control register ($C1). When enabled the MSK modulator begins transmitting data using the settings and values in the Tx Data register. Therefore, these registers should be programmed to the required value before transmission is enabled. The CMX881 generates it's own internal data clock and converts the binary data into the appropriately phased frequencies, as shown in Figure 11 and Table 7. The binary data is taken from register $CA, most significant bit first. The following data words must be provided over the C-BUS within certain time limits to ensure the selected baud rate is maintained. The time limits will be dependent on the data coding being used, see Table 9. Rx SIGNAL I/P 2400 BAUD LOGIC '0' LOGIC '1' LOGIC '1' LOGIC '0' Rx SIGNAL I/P 1200 BAUD LOGIC '0' LOGIC '1' LOGIC '1' LOGIC '0' Figure 11 Modulating Waveforms for 1200 and 2400 Baud FFSK/MSK Signals The table below shows the combinations of frequencies and number of cycles to represent each bit of data, for both baud rates. Table 7 Data Frequencies for each Baud Rate Baud Rate 1200 baud 2400 baud Data 1 0 1 0 Frequency 1200Hz 1800Hz 1200Hz 2400Hz Number of Cycles one one and a half half one Note: FFSK may be transmitted in conjunction with a CTCSS or DCS sub-audio component. (c) 2009 CML Microsystems Plc 25 D/881/17 PMR Baseband Processor CMX881 1.5.4.6 Transmitting DTMF Tones The DTMF signals to be generated are defined in the TX TONE register ($C3). Single tones and twist (lower frequency tone reduced by 2dB) can be enabled by setting the appropriate bit in the $C3 register to '1'. The DTMF level is set in programming register P1.0. The DTMF tones must be transmitted on their own within the voice band, the host C must disable other voice band signals prior to initiating transmission of the DTMF tones, and (if required) restore the voice band signals after the DTMF transmission is complete. Table 8 shows the DTMF tone pairs, together with the values for programming the `Tone Pair' field of the TX TONE register. Table 8 DTMF Tone Pairs and Corresponding Tx Programming Codes Tone Pair Code (Hex) 1 2 3 4 5 6 7 8 9 A B C D E F 0 Key Pad Position 1 2 3 4 5 6 7 8 9 0 * # A B C D Low Tone (Hz) 697 697 697 770 770 770 852 852 852 941 941 941 697 770 852 941 High Tone (Hz) 1209 1336 1477 1209 1336 1477 1209 1336 1477 1336 1209 1477 1633 1633 1633 1633 Note: Only the underlined tone is generated when the 'Single Tone' bit is enabled. 1.5.5 FFSK/MSK Data packeting The CMX881 has a built in 15 bit CRC and 1 bit parity generator / checker to ease host processing during transmission and reception of data packets. The CRC / parity function can be used with any length message in both Tx and Rx modes. In Tx the host may reset, add to or send the 2 byte checksum at any byte boundary in the data sequence. In Rx the host may reset the checking circuit at any byte boundary and the CMX881 will indicate for each subsequent byte if the preceding bytes satisfied the CRC and parity requirements. Tx frame example: Write Mode reg 2 MSK transfer flag Read Status reg 2 Write Tx Data reg 2 BS BS FS FS 0 1 2 3 0 1 2 ... Enable CRC bit 1 Tx CRC bit 1 Tx over air data BS = Bit sync Notes: BS BS FS FS 0 1 FS = Frame sync 2 3 CS 0, 1, ... Data bytes CS 0 1 2 ... CS = Checksum 1 The Tx CRC and Enable CRC bits are controlled by writing to the Tx Data register 2 Actions requiring a C-BUS transfer (c) 2009 CML Microsystems Plc 26 D/881/17 PMR Baseband Processor CMX881 Rx frame example: BS Rx over air data Write Mode reg BS FS FS 0 1 2 3 CS CS 0 1 2 ... 2 Frame Sync flag MSK transfer flag Read Status reg 2 Checksum bit 3 Read Rx Data reg 2 Enable CRC bit 0 BS = Bit sync Notes: 1 2 3 CS CS 0 1 2 2,1 FS = Frame sync 0, 1, ... Data bytes CS = Checksum 1 The Enable CRC bit is controlled by writing to the Tx Data register 2 Actions requiring a C-BUS transfer 3 The Checksum bit is read from the Rx Data register 1.5.5.1 Tx Hang bit When transmitting FFSK/MSK data, the user should ensure that the data is terminated with a hang bit. This is recommended regardless of whether the on-chip data formatting is used. To do this, the host must set the 'Last Data' bit in the Tx Data register ($CA) when the message is required to end. This will append a hang bit onto the end of the current byte and generate (if enabled) an interrupt when the last Tx data has left the modulator. Write Mode reg 2 MSK transfer flag Tx MSK end flag Read Status reg 2 Write Tx Data reg 2 Enable CRC bit BS BS FS FS 0 1 2 3 1 Tx CRC bit 1 Last Data bit 1 BS Tx over air data BS = Bit sync Notes: BS FS FS = Frame sync FS 0 1 2 0, 1, ... Data bytes 3 CS CS H CS = Checksum H = Hang Bit 1 The Tx CRC, Enable CRC and Last Data bits are changed by writing to the Tx Data register 2 Actions requiring a C-BUS transfer 1.5.5.2 Data Buffer Timing Data must be transferred at the rate appropriate to the signal type and data format. The CMX881 buffers signal data in the lower 8-bits of a 16-bit register. The CMX881 will issue interrupts to indicate when data is available or required. The host must respond to these interrupts within the maximum allowable latency for the signal type. Table 9 shows the maximum latencies for transferring signal data to maintain appropriate data throughput. Table 9 Maximum Data Transfer Latency Data type 1200b/s MSK 2400b/s MSK (c) 2009 CML Microsystems Plc Max time to read from or write to data buffer 6.6ms 3.3ms 27 Data buffer size 8 bits 8 bits D/881/17 PMR Baseband Processor CMX881 1.5.6 C-BUS Operation This block provides for the transfer of data and control or status information between the CMX881's internal registers and the C over the C-BUS serial interface. Each transaction consists of a single Register Address byte sent from the C which may be followed by one or more data byte(s) sent from the C to be written into one of the CMX881's Write Only Registers, or one or more data byte(s) read out from one of the CMX881's Read Only Registers, as illustrated in Figure 12. Data sent from the C on the Command Data line is clocked into the CMX881 on the rising edge of the Serial_Clock input. Reply Data sent from the CMX881 to the C is valid when the Serial_Clock is high. The CSN line must be held low during a data transfer and kept high between transfers. The C-BUS interface is compatible with most common C serial interfaces and may also be easily implemented with general purpose C I/O pins controlled by a simple software routine. The number of data bytes following an A/C byte is dependent on the value of the A/C byte. The most significant bit of the address or data are sent first. For detailed timings see section 1.8.1. C-BUS Write: See Note 1 See Note 2 CSN Serial_Clock CMD_DATA 7 6 5 4 3 2 1 MSB 0 7 LSB MSB Address / Command byte 6 ... 0 7 LSB MSB Upper 8 bits ... 0 LSB Lower 8 bits REPLY_DATA High Z state C-BUS Read: See Note 2 CSN Serial_Clock CMD_DATA 7 6 5 4 3 2 MSB 1 0 LSB Address byte Upper 8 bits REPLY_DATA 7 High Z state Data value unimportant 6 MSB Repeated cycles ... Lower 8 bits 0 7 LSB MSB ... 0 LSB Either logic level valid Figure 12 C-BUS Transactions Notes: 1. For Command byte transfers only the first 8 bits are transferred ($01 = Reset). 2. For single byte data transfers only the first 8 bits of the data are transferred. 3. The CMD_DATA and REPLY_DATA lines are never active at the same time. The Address byte determines the data direction for each C-BUS transfer. 4. The Serial_Clock input can be high or low at the start and end of each C-BUS transaction. 5. The gaps shown between each byte on the CMD_DATA and REPLY_DATA lines in the above diagram are optional, the host may insert gaps or concatenate the data as required. (c) 2009 CML Microsystems Plc 28 D/881/17 PMR Baseband Processor CMX881 1.6 C-BUS Register Description 1.6.1 C-BUS Register Summary C-BUS Write Only Registers ADDR. (hex) $01 $B0 $B1 $B2 $B3 $C0 $C1 $C2 $C3 $C7 $C8 $CA $CB $CD $CE $CF REGISTER C-BUS RESET ANALOGUE GAIN SIGNAL ROUTING AUXILIARY ADC THRESHOLDS AUXILIARY ADC CONTROL POWER DOWN CONTROL MODE CONTROL AUDIO & CTCSS CONTROL TX IN-BAND TONES RESERVED REGISTER ADDRESS PROGRAMMING REGISTER TX DATA RESERVED REGISTER ADDRESS AUDIO TONE INTERRUPT MASK RESERVED REGISTER ADDRESS Word Size (bits) 0 16 16 16 8 16 16 16 16 16 16 16 16 16 16 16 The C-BUS addresses $C7, $CB and $CF are allocated for production testing and must not be accessed in normal operation. C-BUS Read Only Registers ADDR (hex) $B4 $C5 $C6 $C9 $CC REGISTER AUX ADC MONITOR DATA RX DATA STATUS RESERVED REGISTER ADDRESS TONE STATUS Word Size (bits) 8 16 16 16 16 Interrupt Operation The CMX881 will issue an interrupt on the IRQN line when the IRQ bit (bit 15) of the Status register and the IRQ Mask bit (bit 15) are both set to `1'. The IRQ bit is set when the state of the interrupt flag bits in the Status register change from a '0' to a '1' and the corresponding mask bit(s) in the Interrupt Mask register is(are) set. All interrupt flag bits in the Status register except the Programming Flag (bit 0) are cleared and the interrupt request is cleared following the command/address phase of a C-BUS read of the Status register. The Programming Flag bit is set to '1' only when it is permissible to write a new word to the Programming register. (c) 2009 CML Microsystems Plc 29 D/881/17 PMR Baseband Processor 1.6.2 CMX881 $01 C-BUS RESET: address only. The reset command has no data attached to it. It sets the device registers into the states listed below. Addr. REG. $B0 ANALOGUE GAIN $B1 SIGNAL ROUTING $B2 AUXILIARY ADC THRESHOLDS $B3 AUXILIARY ADC TIMING $B4 AUX ADC MONITOR DATA $C0 POWER DOWN CONTROL $C1 MODE CONTROL $C2 AUDIO & CTCSS CONTROL $C3 TX IN-BAND TONES $C5 RX DATA $C6 STATUS $C7 Reserved Register Address $C8 PROGRAMMING REGISTER $CA TX DATA $CC TONE STATUS $CD AUDIO TONE $CE INTERRUPT MASK $CF Reserved Register Address 15 0 0 1 14 0 0 1 13 0 0 1 12 0 0 1 11 0 0 1 10 0 0 1 9 0 0 1 8 0 0 1 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 0 0 0 0 7 0 0 0 0 X 0 0 0 0 X 0 0 0 0 0 0 0 0 6 0 0 0 0 X 0 0 0 0 X 0 0 0 0 0 0 0 0 5 0 0 0 0 X 0 0 0 0 X 0 0 0 0 0 0 0 0 4 0 0 0 0 X 0 0 0 0 X 0 0 0 0 0 0 0 0 3 0 0 0 0 X 0 0 0 0 X 0 0 0 0 0 0 0 0 2 0 0 0 0 X 0 0 0 0 X 0 0 0 0 0 0 0 0 1 0 0 0 0 X 0 0 0 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 X 0 0 0 0 X 0 0 0 0 0 0 0 0 Whilst the Programming Register word is cleared to zero by a general C-Bus reset, the Programming Register blocks are not initialised by general C-Bus resets. Initialisation of the Programming Register blocks is controlled by the Power Down Control register (see section 1.6.7). (c) 2009 CML Microsystems Plc 30 D/881/17 PMR Baseband Processor 1.6.3 Bit: CMX881 $B0 ANALOGUE GAIN: 16-bit write-only 15 14 Inv_1 13 12 MOD_1 Attenuation 11 10 Inv_2 9 8 7 MOD_2 Attenuation 6 5 4 3 Input Gain 0 2 1 0 Audio Output Attenuation Bits 15 and 11 set the phase of the MOD_1 and MOD_2 outputs. When set to '0' the 'true' signal (0 phase shift) will be produced, when set to '1' the signal will be inverted (180 phase shift). This can be useful when interfacing with rf circuitry or when generating an inverted turn off tone for CTCSS. Any change will take place immediately after these bits are changed. The output paths provide user programmable attenuation stages to independently adjust the output levels of the modulators. Finer level control of the MOD_1 and MOD_2 outputs can be achieved with the FINE OUTPUT GAIN 1 and FINE OUTPUT GAIN 2 registers (P4.2-3). Bit 14 Bit 13 Bit 12 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 MOD_1 Output Attenuation Bit 10 Bit 9 Bit 8 MOD_2 Output Attenuation >40dB 12dB 10dB 8dB 6dB 4dB 2dB 0dB 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 >40dB 12dB 10dB 8dB 6dB 4dB 2dB 0dB Bit 7 is reserved - set to 0. Bits 6 to 4 control the input path programmable gain stage - useful when amplifying low power voice signals from the microphone inputs. Finer gain control can be achieved with the `FINE INPUT GAIN' control register (P4.0). In receive mode it is recommended to set the gain to 0dB. Bit 6 Bit 5 Bit 4 Input Gain Bit 3 Bit 2 Bit 1 Bit 0 Audio Output Attenuation 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0dB 3.2dB 6.4dB 9.6dB 12.8dB 16.0dB 19.2dB 22.4dB 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 >60dB 44.8dB 41.6dB 38.4dB 35.2dB 32.0dB 28.8dB 25.6dB 22.4dB 19.2dB 16.0dB 12.8dB 9.6dB 6.4dB 3.2dB 0dB Bits 3 to 0 control the output path programmable attenuation stage to adjust the volume of the audio output signal. Finer volume control can be achieved with the `FINE OUTPUT GAIN 1' control register (P4.2). (c) 2009 CML Microsystems Plc 31 D/881/17 PMR Baseband Processor 1.6.4 Bit: CMX881 $B1 SIGNAL ROUTING: 16-bit write-only 15 14 0 0 13 12 Tx MOD_1 and MOD_2 Routing 11 10 9 8 7 6 0 0 0 0 0 0 5 4 Analogue i/p select 3 2 AUDIO o/p select 1 0 Ramp Up Ramp Down Bits 15 and 14 reserved - set to 0. Bits 13 and 12 select the routing of the transmit signals allowing 1 or 2 point modulation and interfaces. Bit 13 Bit 12 Tx MOD_1 and MOD_2 routing 0 0 1 0 1 0 1 1 Tx, MOD_1 and MOD_2 outputs set to bias. Tx, In band signals to MOD_1, Subaudio signals to MOD_2 Tx, In band and Subaudio to MOD_1, Subaudio signals to MOD_2 Tx, In band and Subaudio to both MOD_1 and MOD_2 To route In-band and Subaudio to MOD_1 and Vbias to MOD_2, select b13 = 1 (b12 = 0 or = 1) and set MOD_2 attenuation to >40dB in the Analogue Gain register. `In-Band' in this context refers to any of the signals; Voice, Selcall tone, DTMF etc. Bits 11 to 6 are reserved - set to 0. Bit 5 Bit 4 Analogue Input select 0 0 1 1 0 1 0 1 Bit 3 Bit 2 AUDIO Output select 0 0 1 1 0 1 0 1 No output selected (Output = VBIAS) Received Voice signal MOD_1 signal (for Tx monitoring) Reserved, do not use No input selected (Input = VBIAS) Input amplifier 2 (Input_2 i/p) Microphone (MIC i/p) Discriminator (DISC i/p) When bits 1 or 0 are set to '1' output signals are ramped up (bit 1) or ramped down (bit 0) to reduce transients in the transmitted signal. Time to ramp up / down is set in the 'Ramp Rate Control' section of the Programming register (P4.6). 1.6.5 Bit: $B2 AUXILIARY ADC THRESHOLDS: 16-bit write-only 15 14 13 12 11 10 9 8 7 High Threshold [Range: 0 to 255] 6 5 4 3 2 1 0 Low Threshold [Range: 0 to 255] If the selected signal level exceeds the High Threshold, the `Signal High' bit of the Status register will be set to 1. If the Signal level falls below the Low Threshold, the `Signal Low' bit of the Status register will be set to 1. If the corresponding interrupt bit is enabled, a C-BUS interrupt will be generated. These status bits are cleared when the Status register is read. The behaviour of the CMX881 is not defined if the high threshold is less than the low threshold. Threshold resolution: Threshold accuracy: Differential linearity: VDD(A)/256 per LSB 2 LSB 1 LSB [monotonic] The `Auxiliary ADC Thresholds' register must not be updated whilst the Auxiliary ADC is enabled. (c) 2009 CML Microsystems Plc 32 D/881/17 PMR Baseband Processor 1.6.6 Bit: CMX881 $B3 AUXILIARY ADC CONTROL: 8-bit write-only 7 6 5 4 3 Aux ADC i/p select 2 1 0 Conversion Interval The `Conversion Interval' (bits 5 to 0) defines the time between measurements whilst the Auxiliary ADC is enabled. This allows the user to trade-off device power consumption with response time. Auxiliary ADC power Conversion Interval = 0.5mW/VDD(A)/conversion (approximate) (approximate) = 20.8s per LSB. The user should set an interval to ensure that no part of a received signal is missed, so that the signal type can be correctly identified. If using the Rx Auto start-up feature the recommended maximum Conversion Interval is 125s. The `Auxiliary ADC' register must not be updated whilst the Aux ADC is enabled. The Aux ADC i/p select (bits 7 to 6) control the input to the Auxiliary ADC. Control is independent of the Analogue i/p select bits and hence the Aux ADC can monitor any one of the 4 inputs independently. 1.6.7 Bit: Bit: Bit 7 Bit 6 0 0 1 1 0 1 0 1 Auxiliary ADC input from: Signal monitor (Sig_Monitor i/p) Input amplifier 2 (Input_2 i/p) Microphone (MIC i/p) Discriminator (DISC i/p) $C0 POWER DOWN CONTROL: 16-bit write-only 15 14 13 12 11 10 9 8 Input_2 amp MIC amp Disc amp Input Gain Output Fine Gain 1 Output Fine Gain 2 O/P Coarse Gain 1 O/P Coarse Gain 2 7 6 5 4 3 2 1 0 Audio Output BIAS Signal Processing Prog Reg Save Disable Xtal_N Disable Clock_Out_N Enable Aux ADC Rx Auto start-up Bits 15 to 5 provide the power control of the specified blocks. If a bit is '1', the corresponding block is on, else it is powered down. A C-BUS or Power up reset clears all bits in this register to '0'. If bit 5 is '0' the internal signal processing blocks are reset and placed into a power-save mode. If bit 4 is clear to `0', the program registers will be reset to the default state described below whenever the Signal Processing block comes out of power save (b5 0 1). To preserve the current settings of the Programming register values bit 4 should be set to a '1'. Setting bit 4 to `1' prevents the Programming register values being reset when the Signal Processing block comes out of power save, such as during Rx Auto start-up. This facility should only be used if all the Programming register values have been initialised or programmed by the host C prior to the signal processing block being put into power save. Bits 3 and 2 control the xtal clock circuit. The xtal circuit is powered down by setting bit 3 to '1'. Note: The Clock/Xtal pin may be driven by an external clock source regardless of the setting of these bits. The Clock_Out pin is disabled (held low) by setting bit 2 to `1'. After a Power-up or C-BUS reset bits 2 and 3 are cleared to `0', so that both the xtal circuit and clock output are enabled. Bit 1 controls the Auxiliary ADC. If set to '1' the Auxiliary ADC will generate interrupts in accordance with the settings of the interrupt mask bits. If bit 1 is '0' the Auxiliary ADC is disabled and powered down. Bit 0 controls Rx Auto start up. If bit 0 is set to '1' and the Aux ADC input rises above the `High Threshold' the device will automatically enter receive mode and initiate Rx signal type identification for those signals enabled in the Mode register. The correct Aux ADC input, Rx signal routing and power down bits must be set for automatic receive start up to operate, the mode control bits (b1, b0) should be set to `01' (Receive) in this case. If bit 0 is cleared to '0' the CMX881 will not automatically start-up and it is up to the host to (c) 2009 CML Microsystems Plc 33 D/881/17 PMR Baseband Processor CMX881 respond to Aux ADC interrupts in this case. Bit 0 must be set to '0' whilst writing through register $C8 Programming Register. Initialisation of the Programming Register Blocks Removal of the signal processing block from reset (b5 0 1), with b4 kept low (= 0), will cause all of the programming register words (P0 - P4) to be reset to zero, except the following: P0.0 P0.1 P0.2 P0.3 P4.7 Frame SYNC LSB Frame SYNC MSB Frame SYND LSB Frame SYND MSB Transmit Limiter Control - - 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 1 1 0 1 0 1 This initiates the device with the MPT frame SYNC pattern of $C4D7 and the PAA frame SYND pattern of $B433. The transmit limiter value is initialised to the maximum limit. 1.6.8 Bit: $C1 MODE CONTROL: 16-bit write-only 15 14 Enable Voice Bit: 13 In band signalling: Selcall, Tx DTMF 12 11 10 9 8 Generate Audio Tone Enable CTCSS Enable DCS Enable DCS Inverse 0 1 0 7 6 5 4 3 2 SYNC SYND SYNT Enable 2400b/s Enable 1200b/s 0 Mode Select Bits 1 and 0 control the overall mode of the CMX881 according to the table below: Bit 1 Bit 0 Device Mode 0 0 1 1 0 1 0 1 Idle Receive Mode Transmit Mode Reserved - do not use During transmit, only one signal type may be enabled for each of the sub-audio and voice bands, see Table 6, with the exception that "enable voice" must either be selected at all times or during transmission of audio tones or during Selcall tone transmissions or during DTMF transmissions. During receive the CMX881 will search for all signals enabled in this register and report those that are successfully decoded. See also Table 1 in section 1.5.3. In transmit mode the CMX881 begins transmission of a selected signal immediately after it has been enabled. The host C must ensure all associated data and control bits have been set to their required values before enabling the signal in this register. Bits 4 and 3 control the modem functions of the CMX881 in accordance with the following table: Bit 4 Bit 3 Tx - Transmitted signal Rx - Monitored signal(s) 0 0 1 1 0 1 0 1 None MSK 1k2b/s MSK 2k4b/s Reserved None MSK 1k2b/s MSK 2k4b/s MSK 1k2 & 2k4b/s In transmit mode data transmission will start or finish (regardless of whether all data has been transmitted) immediately after the modem control bits are changed. To transmit a second data message the modem control bits must be set to '0', data bytes for the following message loaded, and the required bits set to '1'. When MSK receive is enabled bits 5 to 7 allow the detection of the MSK SYND, SYNC and SYNT frame sync patterns respectively. Each frame sync pattern may be individually controlled so any combination of (c) 2009 CML Microsystems Plc 34 D/881/17 PMR Baseband Processor CMX881 the 3 patterns - SYND, SYNC (and it's inverse - SYNT) can be searched for. Once the frame sync pattern has been detected, all further bits are interpreted as data. To receive a second data message, the host must extract the length of the first message from the message, then switch back into sync detection mode by changing either bits 0 and 1 or bits 3 and 4 to '00' for at least 350s, before returning those bits to their original condition. Re-acquisition of bit sync followed by frame sync will then precede the reception of the second data message. When transmitting MSK, bits 5 to 7 should be set to '0' and the bit sync and frame sync patterns set in the first four 8 bit transfers from the host - see section 1.5.5. Bits 2 and 8 are reserved - set to '0'. Bits 11 to 9 determine the sub-audio transmission / reception signalling: Bit 11 Bit 10 Bit 9 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Tx - Transmitted signal: No Sub-Audio Transmitted Inverted DCS* DCS Do not use CTCSS Do not use Do not use Do not use Rx - Monitored signal(s): No Sub-audio Monitoring Inverted DCS* DCS DCS + inv DCS* CTCSS CTCSS + inv DCS* CTCSS + DCS CTCSS + DCS + inv DCS* * See Table 3 DCS Modulation Modes. Bit 12 enables Audio tone generation (see section 1.6.14). This operates in transmit and receive modes. In transmit mode this bit will only enable the Audio Generator when no other voice band signals are being transmitted i.e. bits 14, 13, 4 and 3 set to '0'. Bits 14 and 13 select the type of In band tone (Selcall or DTMF) to transmit or receive. When transmitting In band signals the voice path must be enabled by setting `Enable Voice' bit 15 to '1'. To de-emphasise received in-band tones, both b15 of this register and b0 of the Programming register P1.0 must be set to '1'. Note that the pre-emphasis of In-band signals other than voice is not allowed when the 'Enable Voice' bit 15 is set to '1'. Bit 14 Bit 13 0 0 1 1 0 1 0 1 Tx - Transmitted signal No voice band tone transmitted Selcall DTMF Reserved Rx - Monitored signal No voice band tones monitored Selcall Reserved Reserved When set to '1', bit 15 enables the voice path. In transmit mode the selected audio input is routed to the modulator outputs. In transmit mode bit 15, if set to '1', will be temporarily disabled (cleared to '0') whenever any of the bits 3, 4, 12, 13 and 14 are set to '1'. In receive mode the voice processing path is enabled to the audio output. In receive mode bit 15, if set to '1', will be temporarily disabled (cleared to '0') whenever bit 12 is set to '1'. It is up to the host C to control bit 15 when voice band signals are received. Bits 15, 14 and 13 should not be enabled in the same command instruction. When in receive mode, if Voice is enabled and Selcall tone detection is also selected, the voice processing quality (SINAD) is reduced. A 350s delay must be inserted between enabling Voice and Selcall tone detection. The Mode Control register ($C1) may be written to at any time (subject to C-BUS timing restrictions). If the enable bit of the currently decoded signal is cleared, the decoder is turned off. If it is subsequently reenabled, the decoder will enter the appropriate signal acquisition phase. The CMX881 will only detect signals when their amplitude is above the threshold set for each band (subaudio and voice), as set in the program registers. Therefore even if valid tones or signals are present the CMX881 will ignore them unless they exceed the detect threshold. Time and level hysteresis is applied to reduce chattering in marginal conditions. (c) 2009 CML Microsystems Plc 35 D/881/17 PMR Baseband Processor CMX881 Detection strategies used by the CMX881 whilst in receive mode: When in receive mode the CMX881 treats the received signal in two bands; Sub-audio (60-260Hz) and voice band (300-3kHz). For the sub-audio the CMX881 can monitor and decode CTCSS and DCS signals in parallel. Because certain FFSK bit patterns can mimic some Selcall tones the Selcall receiver is temporarily disabled when an FFSK frame sync is detected. The host must monitor the received data and restore Selcall (by setting bits 14 and 13 as required) when it has detected the end of data. Configuring the CMX881 for Automatic Receive Start-Up Prior to setting the CMX881 into Automatic Receive Start-Up mode, the Mode Control register should be clear (Tx and Rx modes disabled). Set up the Programming Register blocks as required. Write to the Powerdown Control register with the appropriate functions enabled or disabled, including Signal Processing bit clear (b5 = 0), Prog Reg Save bit set (b4 = 1) and the Rx Auto Start-Up bit set (b0 = 1). While the Signal Processing block is in its powersave condition, the Mode Control register should be set up for the appropriate signalling schemes to be processed and Rx mode selected (b1 = 0, b0 = 1). When the auto start-up is triggered, the signal processing bit in the Powerdown Control register will automatically be set (=1) and the selected receiver processing will start. Configuring and Changing Transmit or Receive Modes Bits 15-9 and 7-3 select the device function and bits 1,0 select the mode, transmit (TX), receive (RX) or IDLE. When IDLE mode is selected, all the function bits should also be cleared to `0' by the host. If a mode change places the device into IDLE mode, at least 350 s should elapse before changing the device again into an active mode (RX or TX). It is possible to transition between RX and TX modes without going through the IDLE mode. All the Programming register words must be configured as required, in accordance with the procedures defined in section 1.6.20, whilst the Mode Control register ($C1) is set in IDLE mode. In RX mode, concurrent signalling schemes are allowed, as described in section 1.5.3. Receive functions can be switched on or off at any time while in receive mode, by setting or clearing their respective enable bits in the Mode Control register. In TX mode, only up to one of the in-band signalling schemes, plus "enable voice", and only up to one of the sub-audio signalling schemes should be selected, as described in section 1.5.4, table 6. Special consideration is needed when changing from one in-band TX function to another whilst remaining in TX mode. To effect the change, set the current function to transmit a null signal, adjust settings for the next function as required, wait for at least 350s, then select the new function and turn off the current function by writing to the Mode Control register with the current function enable bit cleared and the new function enable bit set. * * * * * To select a null TX voice signal function, set Signal Routing register ($B1) bits 5,4 = 0,0. To select a null TX Selcall tone signal function, clear Tx In-Band Tones register ($C3) = 0. To select a null TX DTMF tone pair signal function, clear Tx In-Band Tones register ($C3) = 0 and select TX Selcall function [or select the null TX signal of the new function]. To select a null TX MSK signal function, set TX DATA register ($CA) `last data' bit 8 = 1, as described in sections 1.5.5.1 and 1.6.13. To start a new MSK data packet it is necessary to toggle between the MSK TX mode and IDLE mode or, if CTCSS or DCS require to be maintained, toggle between the MSK TX and null voice or null Selcall tone TX. CTCSS sub-audio transmission is turned off by putting the device into IDLE mode (Mode Control register = 0) [or by setting the Audio and CTCSS Control register bits 7-0 = 0, to select CTCSS No Tone]. DCS transmission is normally ended by applying the special DCS turn-off tone. To turn off the special subaudio DCS turn off tone, put the device into IDLE mode [or set the Audio & CTCSS Control register bits 70 = 0 and select CTCSS]. (c) 2009 CML Microsystems Plc 36 D/881/17 PMR Baseband Processor CMX881 Some configurations of the Audio and CTCSS Control register ($C2) and the TX Data register ($CA) are decoded by the device at the start of the function's operation, so they must be set up before selecting the function in the Mode Control register. Configuration features Register & Bits Action to instigate configuration change Voice filter and emphasis $C2, bits 12-10 Selcall or DTMF using Pre-/De-Emphasis $C2, bit 10 CTCSS tone $C2, bits 5-0 MSK tx initial bit sync data $CA Decode triggered by entering Voice mode from IDLE mode or from another function mode. Decode triggered by entering the in-band signalling mode from IDLE mode or from another function mode. Decode triggered by selecting CTCSS RX mode. Decode of transmitted CTCSS tones is continuous in TX mode. Decode triggered by selecting MSK TX mode. In the case of MSK transmit functions, the data register must be updated with new data as described in sections 1.5.5 and 1.6.13. Subsequent changes to the other configurations defined above will only take effect when the relevant operation is re-started from IDLE mode or by switching to another mode. Changes to other registers and configuration bits are permitted at any time, as appropriate. Normally the device will be configured prior to selecting the transmit or receive mode in the Mode Control register. (c) 2009 CML Microsystems Plc 37 D/881/17 PMR Baseband Processor 1.6.9 Bit: CMX881 $C2 AUDIO & CTCSS CONTROL: 16-bit write-only 15 14 13 12 11 10 0 0 0 Voice filter mode 9 8 Special Sub-Audio 7 6 0 0 5 4 3 2 1 0 CTCSS tone Bits 5 to 0 select the CTCSS tone to be used in both Tx and Rx modes, the range of valid addresses is 039 (in decimal). In Tx the CTCSS tone number is used to select the CTCSS tone. If the tone number is outside the valid range no signalling will occur. Decoding of the CTCSS tone number is continuous, so changing the CTCSS tone number will cause the transmitted CTCSS tone to change accordingly. In Rx the CTCSS tone number will be searched for when CTCSS is enabled in the Mode register and if detected, this number will be indicated in the Tone Status register $CC. The CTCSS tone number must be asserted before selecting CTCSS receive mode. Bits 9 and 8 select special sub-audio tones in accordance with the following table. Bit 9 * * Bit 8 Freq (Hz) Special Sub-Audio tone 0 0 None 0 1 134.4 DCS turn off tone 1 0 Reserved - do not set 1 1 Clone CTCSS Tone clone mode (Rx only) Selecting the `DCS turn off tone' during DCS transmit will cause the DCS turn off tone to be transmitted; this will override the DCS data being transmitted. Select `DCS turn off tone' in this register to enable detection of the DCS turn off tone during receive. CTCSS must be enabled in the Mode Control register to receive the `DCS turn off tone'. If the Tone CloneTM mode is selected this allows the device in Rx to non-predictively detect any CTCSS frequency in the range of valid tones, the received tone number will be reported in the Tone Status register $CC. The narrowest bandwidth should be selected in Programming Register word P2.1. The voice filter control bits 12 and 11 determine the Voice Band Filter mode applied to the voice signal before it is transmitted or after it has been received. Bit 10 controls the de-emphasis (Rx) or preemphasis (Tx) mode of the voice band filtering. Bit 12 Bit 11 Bit 10 X X 0 0 X X 0 1 0 1 X X 1 0 X 1 1 X Voice filter mode Disable de/pre-emphasis Enable de/pre-emphasis No filtering applied In transmit mode: HPF (to remove SA) + 12.5kHz channel filtering In receive mode: HPF (to remove SA) + Low pass filter In transmit mode: HPF (to remove SA) + 25.0kHz channel filtering In receive mode: HPF (to remove SA) + Low pass filter Reserved - do not use The settings of bits 10 to 12 must be asserted before voice Tx or Rx mode is selected. To change the operating modes controlled by these bits, the Tx or Rx operation must be turned off, then after the appropriate period (see section 1.6.8), apply the changes to this register and turn on the new mode in the Mode Control register. Bits 15 to 13 and 7 to 6 are reserved - set to `0'. (c) 2009 CML Microsystems Plc 38 D/881/17 PMR Baseband Processor 1.6.10 Bit: CMX881 $C3 Tx In-Band Tones: 16-bit write-only 15 14 13 12 11 Tx Selcall tone 10 9 8 7 6 5 4 0 0 0 0 0 Twist Single 3 2 1 0 Tx DTMF tone Bits 15 to 11 define the tone transmitted when Tx Selcall is enabled. The frequency is as defined in Table 5 Selcall Tones. Bits 10 to 6 are reserved - set to `0'. Bit 5 controls DTMF twist, when set to '0' the two tones are sent at the same level, when set to '1' the amplitude of the lower frequency tone is 2dB below the amplitude of the higher tone. Bit 4 controls whether a single tone is generated when transmitting DTMF, when set to '0' dual tones are sent, when set to '1' the single tone identified in Table 8 is sent on it's own. Bits 3 to 0 define the signals produced when Tx DTMF is enabled. The frequencies are as defined in Table 8 DTMF Tone Pairs and Corresponding Tx Programming Codes. 1.6.11 $C7 Reserved - Do not write to this register 1.6.12 $C8 PROGRAMMING REGISTER: 16-bit write-only Bit: 15 14 First Word Block Number 13 12 11 10 9 8 7 Block / Data 6 5 4 3 2 1 0 Programming Data See section 1.6.20 for a description of this register. 1.6.13 Bit: $CA TX DATA: 16-bit write-only 15 14 13 12 11 10 9 8 0 0 0 0 0 En CRC Tx CRC Last Data 7 6 5 4 3 2 1 0 Tx Data Byte Bits 15 to 11 are reserved, set to '0'. Bits 10 to 8 control the MPT1327 compatible CRC / parity circuit: See section 1.5.5 for timing diagrams. En CRC (bit 10): Tx: This bit should be changed when updating this register with new data. If this bit is set to '0' the CRC / parity circuit will be reset, bits 7 to 0 will be passed to both the modulator and CRC / parity circuit after it has been reset. If set to '1' the CRC / parity circuit will not be reset and bits 7 to 0 will be passed to both the modulator and CRC / parity circuit. Rx: In receive this bit should be changed before the interrupt for the next over-air byte occurs. If this bit is set to '0' the next received byte will be passed to the CRC / parity circuit after it has been reset. If this bit is set to '1' the next received byte will be passed to the CRC / parity circuit which will not be reset. Tx CRC (bit 9): If this bit is set to '1' the Tx Data Byte (bits 7-0) is transmitted and also passed to the CRC and parity generator. The following 2 bytes transmitted are the 15 bits of CRC and the 1 bit of parity. The request to load more data into the CMX881 will be raised after the 2nd byte is passed to the modulator. Last Data (bit 8): If this bit is set to '1' then the CMX881 will ignore bits 7 to 0, finish transmitting the current byte, append a hang bit and then turn off the FFSK modulator. At the end of transmitting the hang bit the CMX881 will set bit 7 of the Status register to '1' and an interrupt (if enabled) will be raised, the host may then wait a short time before shutting down the rf sections of the transmit path. Tx Data Byte (bits 7 to 0) holds the next byte of MSK data to be transmitted. Outgoing data is continuous, whatever data is in bits 7 to 0 will be re-transmitted if the host does not provide required data in time. Transmission of current data will be completed before transmission of newly loaded data begins. (c) 2009 CML Microsystems Plc 39 D/881/17 PMR Baseband Processor 1.6.14 Bit: CMX881 $CD AUDIO TONE: 16-bit write only 15 14 13 12 0 0 0 0 11 10 9 8 7 6 5 4 3 2 1 0 Audio Tone When the required bits of the Mode Control register ($C1) are set an audio tone will be generated with the frequency determined by bits (11-0) of this register in accordance with the formula below: frequency = Audio Tone (i.e. 1Hz per LSB) If bits 11-0 are programmed with '0' no tone (i.e. Vbias) will be generated when the Audio Tone is enabled. The Audio Tone frequency must only be set to generate frequencies from 300Hz to 3000Hz. The host must suppress other data and set the correct audio routing before generating an audio tone and re-enable data and audio routing on completion of the audio tone. The timing of intervals between these actions is also controlled by the host C. This register may be written to whilst the audio tone is being generated, any change in frequency will take place after the C-BUS write to this register. This allows sequences (e.g. ring or alert tunes) to be generated for the local speaker (Tx or Rx via the AUDIO pin) or transmitted signal (via the MOD1/2 pins). (c) 2009 CML Microsystems Plc 40 D/881/17 PMR Baseband Processor 1.6.15 CMX881 $CE INTERRUPT MASK: 16-bit write-only Bit: 15 14 13 12 IRQ MASK 0 Rx Selcall detect MASK 0 7 6 5 4 Tx MSK end MASK Data transfer MASK 0 Bit: Bit 15 Value 1 0 14 13 1 12 11 0 0 1 10 0 1 9, 8 7 6 5 4 3 2,1 0 0 1 0 1 0 1 0 0 1 0 1 0 0 1 0 (c) 2009 CML Microsystems Plc 11 10 9 8 Aux ADC High MASK Aux ADC Low MASK 2 1 0 0 0 Prog Flag MASK Rx CTCSS Rx DCS detect MASK detect MASK 3 Rx 2400b/s Rx 1200b/s detect MASK detect MASK Function Enable selected interrupts Disable all interrupts (IRQN pin not activated) Reserved - Set to 0 Enable interrupt when a change to a Selcall tone is detected as indicated by a '0' to '1' change of bit 13 of the Status register Disabled Reserved - Set to 0 Enable interrupt when a change to a programmed CTCSS tone is detected as indicated by a '0' to '1' change of bit 11 of the Status register Disabled Enable interrupt on a change in the detect status of the DCS decoder as indicated by a '0' to '1' change of bit 10 of the Status register Disabled Enable interrupt when the corresponding Aux ADC status bit changes Disabled Enable interrupt when MSK data transmission has ended Disabled Enable interrupt when an MSK data transfer is required Disabled Reserved - Set to 0 Enable interrupt when a valid 2400b/s frame sync is detected Disabled Enable interrupt when a valid 1200b/s frame sync is detected Disabled Reserved - Set to 0 Enable interrupt when Prog Flag bit of the Status register changes from '0' to '1' (see Programming register $C8) Disabled 41 D/881/17 PMR Baseband Processor CMX881 The following 4 registers are read only 1.6.16 $B4 AUX ADC MONITOR DATA: 8-bit read-only Bit: 7 6 5 4 3 2 1 0 Signal Monitor Data This data holds the result of the last measurement performed by the auxiliary ADC. The signal processor must be on to read Aux ADC data, so Power Down Control register b5 must be set to `1'. This is independent of whether Tx or Rx modes are selected. 1.6.17 Bit: Bit: $C6 STATUS: 16-bit read-only 15 14 13 12 11 10 9 8 IRQ 0 Selcall state change 0 CTCSS state change DCS state change Aux ADC Monitor High Aux ADC Monitor Low 7 6 5 4 3 2 1 0 Tx MSK end MSK data transfer required 0 Rx 2400b/s Rx 1200b/s Rx data information Programming Flag This word holds the current status of the CMX881: the value read out is only valid when bit 5 of the Power Down Control register ($C0) is set to '1'. Changes in the Status register will cause the IRQ bit (bit 15) to be set to '1' if the corresponding interrupt mask bit is enabled. An interrupt request is issued on the IRQN pin when the IRQ bit is '1' and the IRQ MASK bit (bit 15 of register $CE) is set to '1'. Bits 1 to 15 of the Status register are cleared to '0' after the Status register is read. Bit 0 is only cleared by writing to the Programming Register. Bits 14, 12 and 5 are reserved. Bits 13, 11 and 10 indicate that a Selcall, CTCSS or DCS event caused the interrupt, the host should then read the Tones Status register ($CC) for further information. In transmit these bits will be set to '0'. Detection of the DCS turn off tone and removal of DCS turn off tone are both flagged as DCS events in the Status register, not as CTCSS events. Aux ADC High (bit 9) and Aux ADC Low (bit 8) reflect the recent history of the Aux ADC level, with respect to the high and low thresholds. The most recent Aux ADC reading can be read from $B4. Aux ADC Monitor High 0 0 1 1 Aux ADC Monitor Low 0 1 0 1 Aux ADC history since last reading: Neither threshold crossed Signal gone below low threshold Signal gone above high threshold Signal gone below low threshold and above high threshold In Tx mode bit 7 will be set when the last bit of MSK data has been transmitted. Note; this bit will only be set if bit 8 of the Tx Data register ($CA) is set at the appropriate time. In Rx mode this bit will be set to '0'. Bit 6 indicates that new transmit data is required (in Tx mode) or received data is ready to be read (in Rx mode). For continuous transmission or reception of information, a data transfer should be completed within the time appropriate for that data (see Table 9 Maximum Data Transfer Latency). (c) 2009 CML Microsystems Plc 42 D/881/17 PMR Baseband Processor CMX881 Bits 4 and 3 indicate the received data rate after a valid frame sync pattern has been detected. Bits 2 and 1 indicate the received frame sync pattern detected. Bit 4 Bit 3 Data type 0 0 none 0 1 1200b/s 1 0 2400b/s 1 1 Reserved Bit 2 Bit 1 Received sync pattern: Reserved 0 0 0 1 1 0 1 1 Reserved Reserved SYNC SYNT SYND Programming Flag, bit 0: The Programming Register ($C8) should only be written to when bit 0 is set to '1' (with both Mode select bits set low - See register $C8). Writing to the Programming Register ($C8) clears bit 0 to '0'. Bit 0 is restored to '1' when the programming action is complete, normally within 250s, when it is then safe to write to the Programming Register. 1.6.18 Bit: $C5 RX DATA: 16-bit read-only 15 14 13 12 11 10 9 8 0 0 0 0 0 0 Rx CRC 0 7 6 5 4 3 2 1 0 Rx Data Byte Bits 15 to 10 and 8 are reserved. Rx CRC (bit 9) indicates the validity of the received data bytes since the En CRC bit has been set, a `1' indicates a valid CRC and parity bit, a `0' indicates that the received CRC and parity bits do not match the locally calculated values - see section 1.5.5. Rx Data Byte (bits 7 to 0) holds the most recent byte of decoded MSK data. Received data is continuous, if the data is not read before the next data is received the current data will be over-written. 1.6.19 Bit: $CC TONES STATUS: 16-bit read-only 15 14 13 12 11 Detected Selcall tone frequency 10 9 8 7 6 Sub-Audio Status 0 0 5 4 3 2 1 0 Detected CTCSS code This word holds the current status of the CMX881 sub-audio and Selcall sections. This word should be read by the host after an interrupt caused by a DCS, CTCSS or Selcall event. The value in bits 5 to 0, Detected CTCSS code, identifies the detected sub-audio tone by its position in Table 2 CTCSS Tones. If bits 5 to 0 = '000000' there is no CTCSS tone currently being detected. If bits 5 to 0 = '110111' (= 55 in decimal) this indicates that an Invalid Tone has been detected. An Invalid Tone is any tone in the subaudio band which is not the selected subaudio tone. A change in the state of bits 50 to Invalid Tone from the no tone condition will not cause Status register ($C6), b11 to be set to '1'. Any other change in the state of bits 5-0 will cause the Status register ($C6), b11 to be set to '1'. A detected Selcall frequency is indicated by the value in bits 15 to 11, `Detected Selcall tone frequency', identifies the frequency by its position in Table 5 Selcall Tones. If bits 15 to 11 = '00000' there is no Selcall tone currently being detected. A change in the state of bits 15 to 11 will cause bit 13 of the Status register ($C6), `Selcall State Change', to be set to '1', unless the change is between Unrecognised Tone and No Tone. Bits 10 to 8 indicate the DCS and special sub-audio tone status. The Status register ($C6) will indicate the type of signal detected. If DCS or special CTCSS tones are detected they will be indicated in bits 10 to 8 according to the table below and bits 5 to 0 will be set to '000000'. If a normal CTCSS tone is detected bits 10 to 8 will be set to '000' and bits 5 to 0 will indicate the decoded tone. A change in the state of bits 10 to 8 will cause the DCS state change bit of the Status register to be set to '1'. During DCS receive, the device can flag an interrupt when the DCS code fails to be recognised. This may be due to (c) 2009 CML Microsystems Plc 43 D/881/17 PMR Baseband Processor CMX881 code dropout. The turn off tone may be flagged shortly after, if the transmission is ending. Alternatively the DCS link may be restored and DCS detection will be flagged again. Bit 10 Bit 9 Bit 8 Sub-Audio status 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 No DCS or special CTCSS detected Reserved DCS sequence detected inverted DCS sequence detected Reserved 134.4Hz DCS turn off tone detected Reserved Reserved Only enabled with DCS Only enabled with DCS Only enabled with DCS When the relevant detection mode is not enabled, the associated bits will be set to '0'. In Tx mode this register will be set to '0'. Bits 7 and 6 are reserved. During DCS receive, the device can flag an interrupt when the DCS code fails to be recognised. This may be due to code dropout. The turn off tone may be flagged shortly after, if the transmission is ending. Alternatively the DCS link may be restored and DCS detection will be flagged again. (c) 2009 CML Microsystems Plc 44 D/881/17 PMR Baseband Processor 1.6.20 Bit: CMX881 $C8 PROGRAMMING REGISTER: 16-bit write-only 15 14 13 First Word Block Num. 12 11 10 9 8 7 Block Num. or Data 6 5 4 3 2 1 0 Programming Data This register is used for programming various gains, levels, offset compensations, tones and codes. The programmed values are initialised in accordance with the settings described in section 1.6.7 (Power Down Control), when the signal processing block is taken out of reset and the Prog Reg Save bit is clear (= 0). The Signal Processing function and the XTAL clock circuit must both be enabled in order to write to the Programming Register, so Power Down Control register bit 5 must be set to '1' and bit 3 must be set to '0'. All other interrupt sources should be disabled while loading the programming register blocks. The Programming Register should only be written to when the Programming Flag bit (bit 0) of the Status register is set to '1' and the Rx and Tx modes are disabled (bits 0 and 1 of the Mode Control register both '0'). The Programming Flag is cleared when the Programming Register is written to. When the corresponding programming action has been completed (normally within 250s) the CMX881 will set the flag back to '1' to indicate that it is now safe to write the next programming value. The Programming Register must not be written to while the Programming Flag bit is '0'. Programming is done by writing a sequence of 16-bit words to the Programming Register, in the order shown in the following tables. Writing data to the Programming Register must be performed in the order shown for each of the blocks, however the order in which the blocks are written is not critical. If later words in a block do not require updating the user may stop programming that block when the last change has been performed. e.g. If only 'Fine output gain 1' needs to be changed the host will need to write to P4.0, P4.1 and P4.2 only. The user must not exceed the defined word counts for each block. The word P4.8 is allocated for production testing and must not be accessed in normal operation. The high order bits of each word define which block the word belongs to, and if it is the first word of that block: Bit 15 1 0 X X X X X Bit 14 X X 1 1 1 1 0 Bit 13 X X 0 0 1 1 Bit 12 X X 0 1 0 1 Write to Bit 11 - Bit 0 1st data for each block 2nd and following data Write to block 0 (12 bit words) Write to block 1 (12 bit words) Write to block 2 (12 bit words) Reserved - do not use block 4 (14 bit words) Block 0 - Modem Configuration: Bit: 15 14 13 12 P0.0 1 1 0 0 0 MSK SYNC / SYNT LSB P0.1 0 1 0 0 0 MSK SYNC / SYNT MSB P0.2 0 1 0 0 0 MSK SYND LSB P0.3 0 1 0 0 0 MSK SYND MSB (c) 2009 CML Microsystems Plc 11 10 9 8 45 7 6 5 4 3 2 1 0 D/881/17 PMR Baseband Processor CMX881 Block 1 -Selcall Setup: Bit: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P1.0 1 1 0 1 P1.1 0 1 0 1 P1.2 0 1 0 1 0 Programmable Selcall Repeat Tone P1.3 0 1 0 1 0 Programmable Selcall Tone 0 P1.4 0 1 0 1 0 Programmable Selcall Tone 1 P1.5 0 1 0 1 0 Programmable Selcall Tone 2 P1.6 0 1 0 1 0 Programmable Selcall Tone 3 P1.7 0 1 0 1 0 Programmable Selcall Tone 4 P1.8 0 1 0 1 0 Programmable Selcall Tone 5 P1.9 0 1 0 1 0 Programmable Selcall Tone 6 P1.10 0 1 0 1 0 Programmable Selcall Tone 7 P1.11 0 1 0 1 0 Programmable Selcall Tone 8 P1.12 0 1 0 1 0 Programmable Selcall Tone 9 P1.13 0 1 0 1 0 Programmable Selcall Tone 10 P1.14 0 1 0 1 0 Programmable Selcall Tone 11 P1.15 0 1 0 1 0 Programmable Selcall Tone 12 P1.16 0 1 0 1 0 Programmable Selcall Tone 13 P1.17 0 1 0 1 0 Programmable Selcall Tone 14 P1.18 0 1 0 1 0 Reserved, set to zero 1 0 Audio band Tx level 0 Emph Audio band detect threshold Selcall detect bandwidth Block 2 - CTCSS and DCS Setup: Bit: 15 14 13 12 11 10 9 8 7 6 5 4 3 P2.0 1 1 1 0 P2.1 0 1 1 0 P2.2 0 1 1 0 DCS Code bits 11 - 0 P2.3 0 1 1 0 DCS Code bits 23/22 - 12 P2.4 0 1 1 0 2 1 0 CTCSS and DCS Tx level DCS 24 0 CTCSS detect bandwidth CTCSS and DCS detect threshold Sub-audio drop out time 0 Block 3 - Reserved. Do not use. (c) 2009 CML Microsystems Plc 46 D/881/17 PMR Baseband Processor CMX881 Block 4 - Gain and Offset Setup: Bit: 15 14 13 12 11 10 9 8 7 6 5 4 3 P4.0 1 0 Fine Input Gain P4.1 0 0 Reserved - set to '0' P4.2 0 0 Fine Output Gain 1 P4.3 0 0 Fine Output Gain 2 P4.4 0 0 Output 1 Offset Control P4.5 0 0 Output 2 Offset Control P4.6 0 0 Ramp Rate Control P4.7 0 0 Limiter Setting (all 1's = Vbias +/- 0.5 Vdd) P4.8 0 0 Special Programming Register (Production Test Only) 2 1 0 2 1 0 1.6.20.1 PROGRAMMING REGISTER Block 0 - Modem Configuration: $C8 (P0.0-3) MSK Frame SYNC / SYNT and SYND Bit: 15 14 13 12 P0.0 1 1 0 0 11 10 0 9 8 7 6 MSK SYNC / SYNT LSB 5 4 3 P0.1 0 1 0 0 0 MSK SYNC / SYNT MSB P0.2 0 1 0 0 0 MSK SYND LSB P0.3 0 1 0 0 0 MSK SYND MSB Bits 7 to 0 set the three 16-bit Frame Sync patterns used in Rx MSK data. Bit 7 of the MSB is compared to the earliest received data. Note: SYNT is the bitwise inverse of SYNC. After a power on reset SYNC is set to $C4D7 (MPT) and SYND is set to $B433 (PAA), if Powerdown Control bit 4 is clear when signal processing is enabled (See section 1.6.7). (c) 2009 CML Microsystems Plc 47 D/881/17 PMR Baseband Processor CMX881 1.6.20.2 PROGRAMMING REGISTER Block 1 - Selcall Setup: $C8 (P1.0) Voice band tones Tx Level Bit: 15 14 13 12 P1.0 1 1 0 1 11 10 9 8 7 6 5 4 3 2 1 0 Voice band tones Tx level Emph Bits 11 (MSB) to 1 (LSB) set the transmitted Selcall, DTMF, Audio Tone and MSK signal level (pk-pk) with a resolution of VDD(A)/2048 per LSB (1.465mV per LSB at VDD(A)=3V). Valid range for this value is 0 to 1536. Bit 0 controls Rx Selcall de-emphasis. When set to '0' the signal going to the Selcall tone detector is not de-emphasised. When voice processing is enabled in the Mode register, de/pre-emphasis is enabled in the Audio & Device Address register and this bit (b0) is set to '1', signals going to the Selcall tone detector are de-emphasised in accordance with Figure 6. $C8 (P1.1) Selcall Detect Bandwidth and Audio Band Detect Threshold Bit: 15 14 13 12 P1.1 0 1 0 1 11 10 9 0 8 7 6 5 4 Audio band detect threshold 3 2 1 0 Selcall detect bandwidth The `detect threshold' bits (bits 9 to 4) set the minimum Selcall and/or MSK signal level that will be detected. The levels are set according to the formula: Minimum Level = Detect Threshold x 3.63mV rms at VDD(A) = 3V The Selcall detected bandwidth is set in accordance with the following table: Bit 3 1 1 Recommended for EEA 1 1 Bit 2 0 0 0 0 Bit 1 0 0 1 1 BANDWIDTH Will Decode Will Not Decode 1.1% 2.4% 1.3% 2.7% 1.6% 2.9% 1.8% 3.2% Bit 0 0 1 0 1 $C8 (P1.2-17) Programmable Selcall Tones Bit: P1.2-17 15 14 13 12 11 0 1 0 1 0 10 9 8 7 6 5 4 3 2 1 0 Programmable Selcall Tone N (see below) R (see below) These words set the programmable Selcall tones used in transmit and receive. The frequency is set in bits 11-0 for each word according to the formula: N = Integer part of (0.042666 x frequency) R = (0.042666 x frequency - N) x 6000 / frequency (round to nearest integer) Example: For 1010Hz, N = 43, R = 1. The programmed tones should only be set to frequencies between 400Hz and 3000Hz. It is possible to programme frequencies outside these limits but the programmed transmitter signal levels and accuracy and receiver thresholds and decode bandwidths may not be applicable - see section 1.8.1, AC parameters of the Selcall Tone Detector and of the Selcall Tone Encoder. (c) 2009 CML Microsystems Plc 48 D/881/17 PMR Baseband Processor CMX881 1.6.20.3 PROGRAMMING REGISTER Block 2 - CTCSS and DCS Setup: $C8 (P2.0) CTCSS and DCS TX LEVEL Bit: 15 14 13 12 P2.0 1 1 1 0 11 10 9 8 7 6 5 4 3 2 1 0 CTCSS and DCS Level Bits 11 (MSB) to 0 (LSB) set the transmitted CTCSS or DCS sub-audio signal level (pk-pk) with a resolution of VDD(A)/16384 per LSB (0.183mV per LSB at VDD(A)=3V, giving a range 0 to 749.8mV pkpk). $C8 (P2.1) CTCSS TONE BW AND LEVEL Bit: 15 14 13 12 11 10 9 8 7 6 5 4 P2.1 0 1 1 0 DCS 24 0 CTCSS and DCS detect threshold 3 2 1 0 CTCSS detect bandwidth Bit 11, DCS 24, sets the length of DCS code transmitted or searched for. When this bit is set to `1' 24 bit codes are transmitted and decoded. When this bit is set to `0' 23 bit codes are used. The `detect threshold' bits (bits 9 to 4) set the minimum CTCSS or DCS signal level that will be detected. The levels are set according to the formula: Minimum Level = Detect Threshold x 2mV rms at VDD(A) = 3V The CTCSS detected tone bandwidth is set in accordance with the following table: Bit 3 TM 0 Recommended for Tone Cloning 0 1 Recommended for CTCSS 1 1 1 $C8 (P2.2-3) Bit 2 1 1 0 0 0 0 Bit 1 1 1 0 0 1 1 BANDWIDTH Will Decode Will Not Decode 0.5% 1.8% 0.8% 2.1% 1.1% 2.4% 1.3% 2.7% 1.6% 2.9% 1.8% 3.2% Bit 0 0 1 0 1 0 1 DCS CODE (LOWER) and DCS CODE (UPPER) Bit: 15 14 13 12 11 10 9 8 7 6 5 4 P2.2 0 1 1 0 DCS Data (bits 11-0) P2.3 0 1 1 0 DCS Data (bits 23/22-12) 3 2 1 0 These words set the DCS code to be transmitted or searched for. The least significant bit (bit 0) of the DCS code is transmitted or compared first and the most significant bit is transmitted or compared last. Note that DCS Data bit 23 is only used when bit 11 (DCS 24) of P2.1 is set to `1'. $C8 (P2.4) SUBAUDIO DROP OUT TIME Bit: 15 14 13 12 P2.4 0 1 1 0 11 10 9 8 Subaudio Drop Out Time 7 6 5 4 3 2 1 0 0 The Subaudio Drop Out Time defines the time that the sub-audio signal detection can drop out before loss of sub-audio is asserted. The period is set according to the formula: Time = Subaudio Drop Out Time x 8.0ms [range 0 to 120ms] The setting of this register defines the maximum drop out time that the device can tolerate. The setting of this register also determines the de-response time, which is typically 90ms longer than the programmed drop out time. (c) 2009 CML Microsystems Plc 49 D/881/17 PMR Baseband Processor CMX881 1.6.20.4 PROGRAMMING REGISTER Block 3 - Reserved 1.6.20.5 PROGRAMMING REGISTER Block 4 - Gain and Offset Setup $C8 (P4.0) FINE INPUT GAIN Bit: 15 14 P4.0 1 0 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Fine Input Gain (unsigned integer) Gain = 20 x log([32768-IG]/32768)dB IG is the unsigned integer value in the `Fine Input Gain' field Fine input gain adjustment should be kept within the range 0 to -3.5dB. $C8 (P4.1) Reserved Bit: 15 14 P4.1 0 0 13 12 11 10 9 8 7 6 5 4 3 2 1 0 4 3 2 1 0 Reserved - set to '0' This register is reserved and should be set to '0'. $C8 (P4.2-3) FINE OUTPUT GAIN 1 and FINE OUTPUT GAIN 2 Bit: 15 14 P4.2 0 0 13 12 11 10 Fine Output Gain 1 (unsigned integer) P4.3 0 0 Fine Output Gain 2 (unsigned integer) Gain = 20 x log([32768-OG]/32768)dB 9 8 7 6 5 OG is the unsigned integer value in the `Fine Output Gain' field Fine output gain adjustment should be kept within the range 0dB to -3.5dB. $C8 (P4.4-5) OUTPUT 1 OFFSET and OUTPUT 2 OFFSET Bit: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 P4.4 0 0 2's complement offset for MOD_1, resolution = VDD(A)/65536 per LSB P4.5 0 0 2's complement offset for MOD_2, resolution = VDD(A)/65536 per LSB 1 0 The programmed value is subtracted from the output signal. Can be used to compensate for inherent offsets in the output path via MOD_1 (Output 1 Offset) and MOD_2 (Output 2 Offset). It is recommended that the offset correction is kept within the range +/-50mV. $C8 (P4.6) RAMP RATE CONTROL Bit: 15 14 P4.6 0 0 13 12 11 10 9 8 Ramp Rate Up Control (RRU) 7 6 5 4 3 2 1 0 Ramp Rate Down control (RRD) The ramp-up rate and ramp-down rates can be independently programmed. The ramp rates apply to all the analogue output ports. They only affect those ports being turned on (ramp-up) or turned off (ramp down). The ramp rates should be programmed before ramping any outputs. Time to ramp-up to full gain = Time to ramp down to zero gain = (1 + RRU) x 1.333ms (1 + RRD) x 1.333ms Ramp up starts from when transmit mode starts (Mode Control Register bit 1 set = '1'). Ramp down starts from when transmit mode is turned off (Mode Control Register bit 1 cleared = '0'). (c) 2009 CML Microsystems Plc 50 D/881/17 PMR Baseband Processor $C8 (P4.7) CMX881 TRANSMIT LIMITER CONTROL Bit: 15 14 P4.7 0 0 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Limiter Setting, resolution = VDD(A)/16384 per LSB This unsigned number sets the clipping point (maximum deviation from the centre value) for the MOD_1 and MOD_2 pins. The maximum setting ($1FFF) is +/- VDD(A)/2 i.e. output limited from 0 to VDD(A). The limiter is set to maximum following a C-BUS Reset or a Power Up Reset. The limiter is applied to the composite inband and subaudio signal, not just the voice signal. The levels of internally generated signals must be limited by setting appropriate transmit levels. $C8 (P4.8) Special Programming Register - do not access. (c) 2009 CML Microsystems Plc 51 D/881/17 PMR Baseband Processor CMX881 1.7 Application Notes R adio S ection Rx D em odulator R e ce ive D iscrim inator input RF FF S K V o ice + S ub A u dio C M X 881 M odulator output 1 2-point T x M odulator A udio output A udio input 1 T ran sm it M IC 1 M odulator output 2 A udio input 2 FF S K V o ice + S ub A u dio M IC 2 C -B U S D isplay H ost M icroC ontroller D ata P ort K eypad Figure 13 Possible PMR Configuration 1.7.1 CRC and Parity information 15 bit CRC is used with the inbuilt data packeting with the following generator polynomial: x15 + x14+ x13+ x11+ x4+ x2 + x0 A 15 bit remainder is calculated for previous bytes sent. When the CMX881 is instructed to send the CRC these 15 bits are added onto the end of the message with the least significant bit inverted. The 16th bit of the checksum is an even parity bit calculated from the message data and 15 bit CRC result (including the inverted last bit of the CRC). In receive the 15 bit CRC is calculated and even parity is generated at each byte boundary. If the calculated receive CRC is zero and the parity bits match the CRC bit is set to indicate a correctly decoded message. (c) 2009 CML Microsystems Plc 52 D/881/17 PMR Baseband Processor CMX881 1.8 Performance Specification 1.8.1 Electrical Performance The performance data are target figures, that may change subject to the outcome of device evaluation. Absolute Maximum Ratings Exceeding these maximum ratings can result in damage to the device. Min. -0.3 -0.3 -0.3 -0.3 -30 -20 Max. 7.0 7.0 VDD(D) + 0.3 VDD(A) + 0.3 +30 +20 Unit V V V V mA mA 0 0 0.3 50 V mV D6 Package (SSOP) Total Allowable Power Dissipation at Tamb = 25C ... Derating Storage Temperature Operating Temperature Min. Max. 1490 14.9 +125 +85 Unit mW mW/C C C E1 Package (TSSOP) Total Allowable Power Dissipation at Tamb = 25C ... Derating Storage Temperature Operating Temperature Min. -55 -40 Max. 1110 11.1 +125 +85 Unit mW mW/C C C Min. 2.7 -40 18.3 Max. 5.5 +85 18.6 Unit V C MHz Supply: VDD(D)- VSS(D) VDD(A)- VSS(A) Voltage on any pin to VSS(D) Voltage on any pin to VSS(A) Current into or out of VDD(A), VSS(A), VDD(D) and VSS(D) Current into or out of any other pin Voltage differential between power supplies: VDD(D) and VDD(A) VSS(D) and VSS(A) -55 -40 Operating Limits Correct operation of the device outside these limits is not implied. Notes Supply (VDD - VSS) Operating Temperature Clock/Xtal Frequency Notes: 11 11 Nominal clock frequency is 18.432MHz. (c) 2009 CML Microsystems Plc 53 D/881/17 PMR Baseband Processor CMX881 Operating Characteristics For the following conditions unless otherwise specified: External components as recommended in Figure 2. Maximum load on digital outputs = 30pF. Xtal Frequency = 18.432MHz 0.01% (100ppm). VDD = 2.7V to 5.5V; Tamb = -40C to +85C. Signal levels are defined for Vdd = 3V. Signal levels track with supply voltage, so scale accordingly Reference Signal Level = 308mV rms at 1kHz with VDD = 3V. Signal to Noise Ratio (SNR) in bit rate bandwidth. Input stage gain = 0dB. Output stage attenuation = 0dB. DC Parameters Notes Supply Current IDD(D) (VDD = 3.0V) IDD(A) (VDD = 3.0V) IDD(D) (All Power-saved) (VDD = 3.0V) IDD(A) (All Power-saved) (VDD = 3.0V) 21 21 21 21 C-BUS Interface Input Logic `1' Input Logic `0' Input Leakage Current (Logic `1' or `0') Input Capacitance Output Logic `1' (IOH = 120A) Output Logic `0' (IOL = 360A) "Off" State Leakage Current IRQN (Vout = VDD(D)) REPLY_DATA (output HiZ) CLOCK_OUT Output Logic `1' Output Logic `0' 21 21 21 21 (IOH = 120A) (IOH = 1mA) (IOL = 360A) (IOL = -1.5mA) Max. Unit 4.5 1.0 2.0 2.0 8.0 2.0 10 10 mA mA A A 10% 10 1.0 1.0 VDD VDD A pF VDD VDD A A A 10% 15% VDD VDD VDD VDD 30% 1.0 7.5 -1.0 90% -1.0 -1.0 90% 80% 22 VBIAS Output voltage offset wrt VDD/2 (IOL < 1A) Output impedance 23 21 22 23 Typ. 70% CLOCK/XTAL Input Logic `1' Input Logic `0' Input current (Vin = VDD) Input current (Vin = VSS) Notes: Min. 70% 30% 40 -40 -2% +2% 22 VDD VDD A A VDD k Tamb = 25C, not including any current drawn from the device pins by external circuitry. Characteristics when driving the CLOCK/XTAL pin with an external clock source. Applies when utilising VBIAS to provide a reference voltage to other parts of the system. When using VBIAS as a reference, VBIAS must be buffered. VBIAS must always be decoupled with a capacitor as shown in Figure 3. (c) 2009 CML Microsystems Plc 54 D/881/17 PMR Baseband Processor CMX881 AC Parameters CLOCK/XTAL Input 'High' pulse width 'Low' pulse width Input impedance (at 18.432MHz) Powered-up Resistance Capacitance Powered-down Resistance Capacitance Clock frequency Notes Min. 31 31 21 21 32 32 33 33 22 22 VBIAS Start up time (from power-save) Unit ns ns k pF k pF MHz 100 CLOCK_OUT Output CLOCK/XTAL input to CLOCK_OUT timing: (in high to out high) (in low to out low) 'High' pulse width 'Low' pulse width 400 ppm ms 15 15 27.13 27.13 ns ns ns ns 33 33 30 Microphone, Input_2 and Disc Inputs (MIC, INPUT_2, DISC) Input impedance Input signal range Feedback load resistance (pins 12, 14 & 16) Amplifier open loop voltage gain (I/P = 1mV rms at 100Hz) Unity gain bandwidth Programmable Input Gain Stage Gain (at 0dB) Cumulative Gain Error (wrt attenuation at 0dB) 31 32 33 34 35 36 Max. 150 20 300 20 18.432 Clock stability/accuracy Clock start up (from power-save) Notes: Typ. 34 35 ms 1 10 80 90 60 1.0 M %VDD k dB MHz 36 -0.5 -1.0 0 0.5 dB 1.0 dB Timing for an external input to the CLOCK/XTAL pin. CLOCK/XTAL input driven by external source. 18.432MHz XTAL fitted. With no external components connected After multiplying by gain of input circuit, with external components connected. Gain applied to signal at output of buffer amplifier, pin 12, 14 or 16 (c) 2009 CML Microsystems Plc 55 D/881/17 PMR Baseband Processor CMX881 AC Parameters (cont.) Notes Modulator Outputs 1 and 2 and Audio Output (MOD_1, MOD_2, AUDIO) Power-up to output stable Modulator Attenuators Attenuation (at 0dB) Cumulative Attenuation Error (wrt attenuation at 0dB) Output Impedance Enabled Disabled Output current range (VDD = 3.0V) Output voltage range Load resistance Audio Attenuator Attenuation (at 0dB) Cumulative Attenuation Error (wrt attenuation at 0dB) Output Impedance Enabled Disabled Output current range (VDD = 3.0V) Output voltage range Load resistance Notes: 37 38 39 40 Min. 37 39 -1.0 Typ. Max. Unit 50 100 s 0 1.0 dB 0.6 dB k A V k -0.6 38 38 600 500 40 -125 0.5 20 39 -1.0 125 VDD-0.5 0 -1.0 38 38 40 1.0 dB 1.0 dB k A V k 600 500 -125 0.5 20 125 VDD-0.5 Power-up refers to issuing a C-BUS command to turn on an output. These limits apply only if VBIAS is on and stable. At power supply switch-on, the default state is for all blocks, except the XTAL and C-BUS interface, to be in placed in powersave mode. Small signal impedance, at VDD = 3.0V and Tamb = 25C. Wrt the signal at the feedback pin of the selected input port. With output driving a 20k load to VDD/2. (c) 2009 CML Microsystems Plc 56 D/881/17 PMR Baseband Processor CMX881 AC Parameters (cont.) Auxiliary ADC (Signal Monitor) 8 Bit ADC Mode Resolution Input Range Conversion time Input impedance Resistance Capacitance Zero error (input offset to give ADC output = 0) Integral Non-linearity Notes 41 45 45 46 47 45 46 47 Unit 90% 20.8 Bits VDD(A) s 10 5 M pF -20 Level Threshold Detect Mode Threshold Resolution Upper threshold range (VTH) Lower threshold range (VTL) Signal Monitor change to IRQ Signal Monitor change to Receiver-Turn-On 41 42 43 44 Max. 8 Source output impedance Notes: Typ. 10% 42 43 42 43 44 Differential Non-linearity Min. +20 2 4 1 3 24 mV LSB LSB LSB LSB k VDD(A) VTH 120 60 Bits V V s s 8 VTL VSS(A) With clock frequency of 18.432MHz. Vdd(A) >= 3.0V. Vdd(A) < 3.0V. Denotes output impedance of the driver of the Signal Monitor input, to ensure < 1 bit additional error under nominal conditions. Upper threshold > Lower threshold Time from Signal Monitor input rising above Upper Threshold or falling below Lower Threshold, to IRQN being asserted. Time from Signal Monitor input rising above Upper Threshold to receiver path powering up, settling and starting automatic signal type identification. (c) 2009 CML Microsystems Plc 57 D/881/17 PMR Baseband Processor CMX881 AC Parameters (cont.) Notes Min. Receiver Signal Type Identification Probability of correctly identifying signal type (SNR = 12dB) CTCSS Detector Sensitivity Response Time De-response Time Dropout immunity Frequency Range SELCALL Detector Sensitivity Response Time De-response Time Dropout immunity Frequency Range (Pure Tone) (Composite Signal) (Composite Signal) 51 52 52, 55 55 53 54 55 56 -26 140 210 160 60 (Pure Tone) (Good Signal) (Good Signal) 53 (Selcall) 56 400 51 58 54 54 260 dB ms ms ms Hz 52 20 3000 dB ms ms ms Hz 250 -26 35 100 Unit % mVp-p edges 2 FFSK/MSK Decoder Signal Input Dynamic Range Bit Error Rate (SNR = 20dB) Receiver Synchronisation (SNR = 12dB) Probability of bit 16 being correct 51 52 Max. >>99.9 DCS Decoder Sensitivity Bit-Rate Sync Time Notes: Typ. <1 800 mVrms -8 10 >99.9 % Sub-Audio Detection Level threshold set to 16mV. Composite signal = 308mV rms at 1kHz + 75mV rms Noise + 31mV rms SubAudio signal. Noise bandwidth = 5kHz Band Limited Gaussian. Selcall Tone Detection Level threshold set to 16mV. VDD (A) = 3.0V, for a "101010101 ... 01" pattern measured at the input amplifier feedback pin (12). Signal level scales with VDD (A). See Figure 15 for variation of BER with SNR. With sub-audio dropout time (P2.4) set to 120ms. The typical dropout immunity is approximately 40ms more than the programmed dropout immunity. The typical de-response time is approximately 90ms longer than the programmed dropout immunity. See section 1.6.20.3, P2.4 The device can decode in-band tones below the 400Hz lower limit but not necessarily within the selected bandwidth or with the selected threshold resolution. This can result in some CTCSS tones above approximately 160Hz being flagged in the Tone Status register as unrecognised in-band tones. Some tones in the range 250Hz to 400Hz cannot be defined by the `in-band' custom tones programming facility, but can be detected by selecting a valid close tone and using a suitably wide bandwidth setting. (c) 2009 CML Microsystems Plc 58 D/881/17 PMR Baseband Processor CMX881 AC Parameters (cont.) Notes CTCSS Encoder Frequency Range Tone Frequency Accuracy Tone Amplitude Tolerance Total Harmonic Distortion High tone Low tone (twist on) (twist off) 61 62 -1.0 65 400 63 62 -1.0 DCS Encoder Bit Rate Amplitude Tolerance Unit 2.0 260 0.3 +1.0 4.0 Hz % dB % 2.0 3000 0.3 +1.0 4.0 Hz % dB % 5 dB dB dB % +1.0 bits/s dB +1.0 5 3 1202 mVrms dB % % Hz 1802 2402 40 Hz Hz s 134.4 61 FFSK/MSK Encoder Output signal level Output level variation Output distortion rd 3 harmonic distortion Logic 1 freq 1200baud and 2400baud Logic 0 freq 1200baud 2400baud Isochronous distortion (0 to 1 and 1 to 0) 61 62 63 64 65 Max. 0 -2 0 2 64 64 Output distortion Notes: Typ. 60.0 Selcall Encoder Frequency Range Tone Frequency Accuracy Tone Amplitude Tolerance Total Harmonic Distortion DTMF Encoder Output signal level Min. -1.0 775 -1.0 1198 1200 1798 2398 1800 2400 VDD(A) = 3.0V and TX Sub-Audio Level set to 88mV p-p (31mV rms). Measured at MOD_1 or MOD_2 output. VDD(A) = 3.0V and Tx Audio Level set to 871mV p-p (308mV rms). With respect to high tone level `In-band tones between 400Hz and approximately 250Hz can be programmed, but the range is not contiguous and the transmitted tones may not be within the tone accuracy limits. (c) 2009 CML Microsystems Plc 59 D/881/17 PMR Baseband Processor CMX881 AC Parameters (cont.) Analogue Channel Audio Filtering Pass-band (nominal bandwidth): Received voice 12.5kHz channel transmitted voice 25kHz channel transmitted voice Pass-band Gain (at 1.0kHz) Pass-band Ripple (wrt gain at 1.0kHz) Stop-band Attenuation Residual Hum and Noise 71 72 73 74 75 76 Min. 71 72 73 300 300 300 Typ. Max. Unit 3000 2550 3000 76 -50 Hz Hz Hz dB dB dB dB 74 75 6 -6 dB/oct dB/oct 0 -2 33.0 Pre-emphasis De-emphasis Notes: Notes +0.5 The receiver voice filter complies with the characteristic shown in Figure 5. The high pass filtering removes sub-audio components from the audio signal. The 12.5kHz channel filter complies with the characteristic shown in Figure 9. The 25kHz channel filter complies with the characteristic shown in Figure 8. The pre-emphasis filter complies with the characteristic shown in Figure 10. The de-emphasis filter complies with the characteristic shown in Figure 6. Measured in a 30kHz bandwidth. (c) 2009 CML Microsystems Plc 60 D/881/17 PMR Baseband Processor CMX881 C-BUS Timing Figure 14 C-BUS Timing C-BUS Timing tCSE CSN Enable to SClk high time tCSH Last SClk high to CSN high time SClk low to ReplyData Output Enable tLOZ Time tHIZ CSN high to ReplyData high impedance CSN high time between transactions tCSOFF Inter-byte time tNXT SClk cycle time tCK SClk high time tCH SClk low time tCL Command Data setup time tCDS Command Data hold time tCDH Reply Data setup time tRDS Reply Data hold time tRDH Notes: Notes Min. 100 100 0.0 1.0 200 200 100 100 75 25 50 0 Typ. Max. Unit ns ns ns 1.0 s s ns ns ns ns ns ns ns ns 1. Depending on the command, 1 or 2 bytes of COMMAND DATA are transmitted to the peripheral MSB (Bit 7) first, LSB (Bit 0) last. REPLY DATA is read from the peripheral MSB (Bit 7) first, LSB (Bit 0) last. 2. Data is clocked into the peripheral on the rising SERIAL_CLOCK edge. 3. Commands are acted upon at the end of each command (rising edge of CSN). 4. To allow for differing C serial interface formats C-BUS compatible ICs are able to work with SERIAL_CLOCK pulses starting and ending at either polarity. 5. Maximum 30pF load on IRQN pin and each C-BUS interface line. These timings are for the latest version of C-BUS and allow faster transfers than the original C-BUS timing specification. The CMX881 can be used in conjunction with devices that comply with the slower timings, subject to system throughput constraints. (c) 2009 CML Microsystems Plc 61 D/881/17 PMR Baseband Processor CMX881 1.0E-01 1.0E-02 1.0E-03 2400 b/s 1200 b/s 1.0E-04 1.0E-05 4 5 6 7 8 9 10 11 12 13 14 SNR (dB) - Noise in bit rate bandwidth Figure 15 Typical FFSK/MSK Bit Error Rate Graph (c) 2009 CML Microsystems Plc 62 D/881/17 PMR Baseband Processor CMX881 1.8.2 Packaging Figure 16 Mechanical Outline of 28-pin SSOP (D6): Order as part no. CMX881D6 Figure 17 Mechanical Outline of 28-pin TSSOP (E1): Order as part no. CMX881E1 (c) 2009 CML Microsystems Plc 63 D/881/17 PMR Baseband Processor CMX881 Handling precautions: This product includes input protection, however, precautions should be taken to prevent device damage from electro-static discharge. CML does not assume any responsibility for the use of any circuitry described. No IPR or circuit patent licences are implied. CML reserves the right at any time without notice to change the said circuitry and this product specification. CML has a policy of testing every product shipped using calibrated test equipment to ensure compliance with this product specification. Specific testing of all circuit parameters is not necessarily performed.