CMX990 CML Microcircuits COMMUNICATION SEMICONDUCTORS GMSK Packet Data Modem and RF Transceiver D/990/1 April 2004 Advance Information Features Applications • Single Chip RF Transceiver and GMSK Modem • Narrowband Data Over Radio • IF, RF, Control and Synthesizer Stages • Mobitex Data Terminals • Selectable Bt = 0.3 or 0.5 • 400MHz to 1GHz Radio Data Systems • Full Mobitex Compatibility • Radio Modems • Packet and Freeformat (Raw) Data • Wireless Telemetry • Versatile Data Rates: 4kbps to 16kbps • SCADA Terminals • Simple Parallel Interfacing • Suitable for EN 300 113 and FCC • Low-Power, Low Profile, Low-Cost BOM CFR 47 Part 90 Applications • Flexible System Clocks 1. Brief Description A single-chip GMSK packet-data modem and RF transceiver, the CMX990 provides the majority of circuits and functions, including host µC interfaces, to implement a full-feature ‘wireless modem’ subsystem. The CMX990 can operate in RF ranges of 400MHz to 1GHz at data rates of 4 to 16 kbps and is fully Mobitex compatible. 2004 CML Microsystems Plc GMSK Packet Data Modem and RF Transceiver CMX990 With a minimum of external components and circuits, this half-duplex device provides on-chip: a flexible, formattable GMSK packet and freeformat modem, a dual operation synthesiser fed from an external source, IF and RF stages for both Rx and Tx modes, and auxiliary ADCs and DACs for system control and monitoring. This versatile GMSK modem is programmable to both packet and freeformat data operations via an efficient task-oriented Rx and Tx format and command structure, which is combined with data scrambling, interleaving and FEC and CRC capabilities. Rx data acquisition, extraction and tracking abilities, allied with Rx data quality feedback, allow the CMX990 to operate seamlessly in varying signal environments. IF and RF functions in the Tx path handle all the required signal mixing and up-conversion to produce the FM modulation for the final external PA circuitry. In the Rx path these circuits provide initial selectivity and rejection characteristics and mix down the inputs to provide baseband signals for the modem. Comprehensive internal and external system control and monitoring is provided by the 8-bit host interface registers and the on-chip ADCs and DACs. Requiring a power supply input in the range 3.0 to 3.6 Volts, the CMX990 can be used in wireless products designed to comply with such standards as EN 300 113 and FCC CFR 47 Part 90. Operating over a temperature range of -40°C to +85°C, the CMX990 consolidates the core radio modem functions to enable a new generation of small, narrow-band wireless data modems. The CMX990 comes in a 64-pin low profile VQFN package. 2004 CML Microsystems Plc 2 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 CONTENTS Section Page 1. Brief Description.................................................................................. 1 2. Block Diagram ..................................................................................... 4 3. Signal List ............................................................................................ 5 4. External Components.......................................................................... 8 4.1 Processor Interface................................................................. 9 4.2 Synthesiser and TCXO ......................................................... 10 4.3 Transmit ................................................................................ 11 4.4 Receive .................................................................................. 12 4.5 Power Supply Decoupling and Layout ................................ 13 5 General Description........................................................................... 15 5.1 Baseband Modem ................................................................. 15 5.1.1 Description of Blocks............................................... 15 5.1.2 Modem - µC Interaction ............................................ 17 5.1.3 Data Formats............................................................. 18 5.1.4 Programmer’s View of the Modem .......................... 20 5.1.5 CRC, FEC, Interleaving and Scrambling Details..... 37 5.1.6 Application Notes ..................................................... 40 5.2 µC Interface ........................................................................... 44 5.2.1 Memory Map and Interface....................................... 44 5.2.2 Power-on and Reset ................................................. 45 5.2.3 Clock Control............................................................ 46 5.2.4 Status Registers ....................................................... 47 5.2.5 Write Only Registers ................................................ 48 5.2.6 Read Only Registers................................................. 52 5.3 Auxiliary DAC and ADC......................................................... 54 5.4 Synthesiser............................................................................ 57 5.5 RF and IF ............................................................................... 59 5.5.1 Receiver Section....................................................... 59 5.5.2 Transmitter Section.................................................. 60 5.5.3 Alternative Receiver Architecture ............................ 60 6. Application Notes .............................................................................. 62 6.1 General .................................................................................. 62 6.2 Transmitter ............................................................................ 62 6.3 Receiver................................................................................. 64 6.4 Variable Bt ............................................................................. 69 7. Performance Specification................................................................ 71 7.1 Electrical Performance.......................................................... 71 7.2 Packaging.............................................................................. 77 It is always recommended that you check for the latest product datasheet version from the Datasheets page of the CML website: [www.cmlmicro.com]. Note: This product is in development: Changes and additions will be made to this specification. Items marked TBD or left blank will be included in later issues. Information in this data sheet should not be relied upon for final product design. 2004 CML Microsystems Plc 3 D/990/1 GMSK Packet Data Modem and RF Transceiver 2. CMX990 Block Diagram Figure 1 Block Diagram 2004 CML Microsystems Plc 4 D/990/1 GMSK Packet Data Modem and RF Transceiver 3. CMX990 Signal List Package Q1 Pin No. Name Type 1 PA-CNTL O/P DAC0 output to control PA power. 2 TX FB I/P Tx feedback input signal. 3 TXIF2 BI Offset loop filter connection. 5 TXIF1 BI Offset loop filter connection. 7 TXPLL O/P Tx Phase Detector output. 8 RF IN A I/P RF input A for received signal. 9 RF IN B I/P RF input B for received signal. 11 IF OUT O/P Output to the external IF filter. 14 LNA ON O/P Digital output to turn on external LNA block. 16 IF IN I/P Input from the external IF filter. 43 DAC3 O/P Spare D/A output. 44 DAC2 O/P Spare D/A output. 45 ADC5 I/P Spare A/D input. 46 ADC4 I/P Spare A/D input. 47 OP2T O/P Uncommitted op-amp 2 output, internally connected to ADC3. 48 OP2N I/P Uncommitted op-amp 2 negative input. 49 OP2P I/P Uncommitted op-amp 2 positive input. 50 OP1T O/P Uncommitted op-amp 1 output, internally connected to ADC2. 51 OP1N I/P Uncommitted op-amp 1 negative input. 52 OP1P I/P Uncommitted op-amp 1 positive input. 53 REFCLK I/P Master clock input from external TCXO. 54 TCXO-CNTL O/P DAC1 output to control TCXO. 55 TCXO-TEMP I/P A/D input to measure TCXO temperature, internally connected to ADC1. 56 LOCLKN I/P Inverted input from the RF Oscillator circuit. 57 LOCLK I/P Input from the RF Oscillator circuit. 59 MAINPLL O/P Main PLL output, connect to external filter. 61 AUXPLL O/P Aux PLL output, connect to external filter. 63 IFCLK I/P Input from the IF Oscillator circuit. 64 PA-TEMP I/P A/D input to measure PA temperature, internally connected to ADC0. Signal 2004 CML Microsystems Plc Description 5 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Package Q1 Pin No. Name Type 17 A5 I/P 18 A4 I/P " 19 A3 I/P " 20 A2 I/P " 21 A1 I/P " 22 A0 I/P " 29 RDN I/P Read. An active low logic level input used to control the reading of data from the modem into the controlling µC. 30 WRN I/P Write. An active low logic level input used to control the writing of data into the modem from the controlling µC. 31 CSN I/P Chip Select. An active low logic level input used to enable a data read or write operation. 32 IRQN O/P A ‘wire-ORable’ output for connection to the host Interrupt Request input. This output has a low impedance pull down to VSS when active and is high impedance when inactive. An external pullup resistor is required. 34 D7 BI 35 D6 BI " 36 D5 BI " 37 D4 BI " 38 D3 BI " 39 D2 BI " 40 D1 BI " 41 D0 BI " Signal 2004 CML Microsystems Plc Description Register address select logic inputs. Tri-state µC interface data line. 6 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Package Q1 Pin No. Name Type 4 VDD Tx Power Power supply to Tx IF and RF circuits. 6 VSS Tx Power Return for VDD Tx, good decoupling required. 10 VDD Rx1 Power Power supply to Rx RF circuits. 12 VSS Rx1 Power Return for VDD Rx1, good decoupling required. 13 VSS Rx2 Power Return for VDD Rx2, good decoupling required. 15 VDD Rx2 Power Power supply to Rx IF circuits. 23 VDD Dig Power Power supply to base band digital circuits. 24 VDD Ana Power Power supply to aux ADC, DAC, OP1/2 circuits. 25 VBIAS O/P Output of internal bias generator, decouple to VSS Ana. 26 VSS Ana Power Return for VDD Ana, good decoupling required. 27 VSS Dig Power Return for VDD Dig, good decoupling required. 28 VSS H Power Return for VDD H, good decoupling required. 33 VDD H Power Power supply to host interface and 2.5V regulator circuit. 42 V-CONT O/P Control signal for external regulating transistor. 58 VSS Synth Power Return for VDD Synth, good decoupling required. 60 VDD VCO Power Power supply to the VCO charge pump, decouple to VSS H. 62 VDD Synth Power Power supply to synthesiser circuits. Notes: I/P O/P BI T/S NC Signal = = = = = 2004 CML Microsystems Plc Description Input Output Bidirectional 3-state Output No Connection 7 D/990/1 GMSK Packet Data Modem and RF Transceiver 4. CMX990 External Components SYNTHESISER Vdd Rx2 IF IN 52 51 50 49 48 2 47 3 46 4 45 5 44 6 43 7 42 8 41 CMX990 9 40 10 39 11 38 12 37 13 36 14 35 15 34 16 33 17 18 19 20 21 22 23 24 25 26 28 29 30 31 ADC4 ADC5 DAC2 Spare Aux ADC & DAC DAC3 V-CONT D0 D1 D2 D3 D4 Host Interface D5 D6 D7 Vdd H 32 IRQN CSN WRN RDN Vss H Vss Dig Vss Ana Vbias Vdd Ana Vdd Dig A0 A1 A2 A3 A4 A5 Host Interface 27 OP2T LNA ON 53 OP2N Vss RX2 54 OP2P Rx RF Vss Rx1 55 OP1T IF OUT 56 OP1N Vdd Rx1 57 OP1P RF IN B 58 REFCLK RF IN A 59 TCXO-CNTL TXPLL 60 TCXO-TEMP Vss Tx 61 LOCLKN TXIF1 62 LOCLK Vdd Tx 63 Vss SYNTH TXIF2 64 MAINPLL Tx RF 1 Vdd VCO TX FB AUXPLL PA-CNTL Vdd SYNTH IFCLK PA-TEMP OP-AMP & Aux ADC interface Host Interface Figure 2 CMX990 Pin Overview 2004 CML Microsystems Plc 8 D/990/1 GMSK Packet Data Modem and RF Transceiver 4.1 CMX990 Processor Interface Figure 3 Recommended External Configuration - Processor Interface 2004 CML Microsystems Plc 9 D/990/1 GMSK Packet Data Modem and RF Transceiver 4.2 CMX990 Synthesiser and TCXO The CMX990 synthesiser section provides two independent synthesisers. The PLLs implement a Type II loop with a phase / frequency phase detector providing an output of a charge pump current. Various types of loop filter can be used and should be optimised for VCO gain of a particular design. Figure 4 gives typical configuration and values. Figure 4 Recommended External Components - Synthesiser and TCXO C4 C92 C93 C99 C100 C101 C113 Notes: 1 2 3 1 nF 1 nF 1 nF 27 nF 27 nF 680 nF 1 nF C114 C116 T2 R79 R80 R87 R91 U1 1 nF 150 nF TCM4-25 2.7 kΩ 1.2 kΩ 39 kΩ 1.5 kΩ See notes Resistors ±2%, capacitors ±5% unless otherwise stated. For optimum lock time / phase noise it is recommended C113 and C116 use a low piezo type such as PPS film; optimum performance is not guaranteed with X7R or Y5V types. U1 Should be a VCTCXO or TCXO depending on application requirements. A typical device is the Golledge GTXO-81. The CMX990 has a high impedance input suitable for use with oscillators with clipped sine wave output. An external DC blocking capacitor (as shown, C4) is required. 2004 CML Microsystems Plc 10 D/990/1 GMSK Packet Data Modem and RF Transceiver 4.3 CMX990 Transmit The CMX990 transmitter uses an offset phase-locked loop to accurately modulate RF signals. Details are contained in subsequent sections of this document. The components used around the CMX990 will depend on application requirements however a typical configuration is shown in Figure 5. Figure 5 Recommended External Components - Transmit Notes: 1 2 3 4 C51 C86 C87 C89 6.8 pF 15 nF TBD nF 68 nF L5 270 nH R62 R63 R64 R68 R69 R71 18 Ω 270 Ω 270 Ω 47 Ω 10 Ω 36 Ω Resistors ±2%, capacitors ±5% unless otherwise stated. The coupler may be a packaged type (e.g. 0869CP14A090) or printed on the PCB; alternatively a sample of the output can be obtained with a resistive or capacitive tap. Tx loop filter components need to be optimised for selected VCO. Components between TXIF1 and TXIF2 act as a resonant load to the mixer. They should be matched to the selected IF frequency whilst attenuating its odd harmonics. The Q of this filter can be controlled by changing the ratio of C51 to L5 whilst the centre frequency can be maintained by keeping the product of C51 and L5 a constant. A higher value of C51 will give a higher Q. The Q should not be so high as to prevent accommodation of the natural frequency range of the VCO. The values shown are approximate for an IF of 90MHz. Approximate values for an IF of 45MHz are 18pF and 560nH. 2004 CML Microsystems Plc 11 D/990/1 GMSK Packet Data Modem and RF Transceiver 4.4 CMX990 Receive The receiver relies on external LNA, filtering and T/R switch; details can be found in the following sections. The 1st mixer in the CMX990 has a differential input. To ensure optimum performance a balun is required when driving from typical LNAs or filters. The balun may be a transformer type, which is implemented using LC networks. Suitable matching components around the balun, selected for the desired operating frequency, provide matching to 50Ω. Figure 6 shows a typical configuration for 800 840MHz operation. Figure 6 Recommended External Components - Receive C18 C21 C25 C41 C46 C47 C48 Notes: 1 2 5 pF 1 nF 5 pF 1 nF 10 nF 15 pF 5.6 pF L2 L17 T1 R29 R36 RXX RYY F1 1.2 µH 15 nH 2.7 kΩ 330 Ω 39 kΩ 100 Ω 100 Ω 45G7B1 Resistors ±2%, capacitors ±5% unless otherwise stated. F1 is a 4 pole crystal filter with a ±3.5kHz pass-band, implemented as a matched pair. The recommended part is from Golledge, however other parts may be equally suitable although matching arrangements will vary. When selecting and matching a crystal filter care should be taken to ensure a flat pass-band. 2004 CML Microsystems Plc 12 D/990/1 GMSK Packet Data Modem and RF Transceiver 4.5 CMX990 Power Supply Decoupling and Layout The CMX990 has dual supply voltages: a 3.3V supply is required for the PLLs and charge pump circuits and for the digital I/O pads, and a 2.5V supply (with separate decoupling) is required for the RF sections (Rx1, Rx2, Tx) as well as the baseband analogue and digital circuits. The 3.3V supply must be provided by an external regulator circuit. The 2.5V supply may be provided by an external regulator, or alternatively may be derived from the 3.3V supply using an off-chip low dropout transistor in conjunction with the on-chip control circuit (enabled by register PowerUp1 bit 5) - an example of this arrangement is shown in Figure 7. Whichever method is used to generate the 2.5V supply, the 2.5V regulator may be turned off while the CMX990 is quiescent in order to save power. The CMX990 will then allow the supply to drop to 2.0V, at which point it will be clamped by a separate on-chip micropower regulator. This is done so that the data in the on-chip registers and memories is not lost. The main 2.5V regulator circuit must be powered up again and allowed to settle before any RF or analogue circuitry, or the clock to the internal logic, is enabled. In other words, PowerUp1 (bits 7-6 and 4-0) and PowerUp2 (bits 7-4 and 0) must not be set high until the main 2.5V supply has been reestablished. The circuit shown in Figure 7 is an example, and will require that the 3.3V supply is regulated to within +/5%. This is necessary to ensure that the PNP transistor shown (TR3) does not enter saturation, taking worst case ambient conditions and bandgap / component tolerances into account. VDD Ana (24) Bandgap Reference CMX990 (33) VDD H - 3.3V Supply Low power 2V reg + R126 (23) VDD Dig TR3 - High Power 2.5V reg Control Circuit R125 2.5V Supply (42) Vcont + (Pin number) C158 Enable Figure 7 Voltage Regulator Connections C158 TR3 100 µF PMBT4403 R125 R126 330 Ω 47 kΩ Resistors ±5%, capacitors and inductors ±20% unless otherwise stated. 2004 CML Microsystems Plc 13 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 L6 VDD H 3.3V L5 VDD VCO L4 VDD DIG L3 VDD Synth 2.5V L2 VDD Plane for RX2 & ANA L1 VDD Plane for RX1 & TX C7 C6 C5 C4 C3 C2 GND GND for: VSS DIG VSS H GND Plane for: VSS RX1 VSS RX2 VSS Synth VSS ANA Figure 8 Power Supply Connections and De-coupling C2 C3 C4 C5 C6 C7 10 nF 10 nF 10 nF 10 nF 10 nF 10 nF L1 L2 L3 L4 L5 L6 TBA TBA TBA TBA TBA TBA Resistors ±5%, capacitors and inductors ±20% unless otherwise stated. Layout Recommendations To achieve good noise performance, decoupling of VBIAS and all supplies is very important as is protection of the receive path from extraneous in-band signals. It is recommended that the printed circuit board is laid out with a ground plane in the CMX990 area to provide a low impedance connection between the VSS pins and all VDD and VBIAS decoupling capacitors. As shown in Figure 8 the ground for VSS digital signals should be kept separate from that used for analogue / RF signals. The digital ground should be routed back to a suitable star point. The CMX990 package has a copper area connected to ground under the main body of the IC. This pad should be connected to analogue ground. It will be noted that caution should be exercised over placing any tracks underneath the CMX990. Further any vias other than ground should be avoided under the device unless manufacturers can guarantee that the exposed ground pad on the CMX990 will not cause shorts while a good electrical contact is maintained between the device and ground. Apart from these recommendations normal RF layout practices should apply such as keeping tracks as short as possible, equal track lengths on differential inputs, care with coupling between tracks etc. 2004 CML Microsystems Plc 14 D/990/1 GMSK Packet Data Modem and RF Transceiver 5. CMX990 General Description The CMX990 comprises a baseband modem and an associated RF section to provide the air-interface to the required Mobitex standard. Device control and status is transferred via a set of memory mapped registers. The following paragraphs provide a description of operation of each of the sections that make up the device. The CMX990 is composed of 5 main sections: 5.1 Baseband modem 5.2 µC interface 5.3 Auxiliary ADC and DAC 5.4 Synthesiser 5.5 RF and IF Each of the above will be described in its own section below: 5.1 Baseband Modem This section has been designed to be compliant with the appropriate sections of the "Mobitex Interface Specification" including Short Block Frame formatting for the extended battery saving protocol. References to ‘data blocks’ in this section apply to both the normal (18 byte) Data Block and the smaller (4 byte) Short Data Block. The function of this section is further divided into Receive and Transmit sections that operate in half duplex. In transmit mode the data is encoded according to the Mobitex standard. This includes the calculation and appending of a Cyclic Redundancy Checksum (CRC) and Forward Error Correction (FEC), and Interleaving to reduce the effects of noise. The subsequent NRZ data stream is then filtered digitally and the resulting digital data processed to produce an I and Q signal as the baseband form of the required FM signal. These are converted to analogue signals via D-A converters and passed to the RF section for subsequent transmission. In receive mode, the analogue I and Q representations, at baseband, of the FM signal from the RF section are converted to digital signals via A-D converters. These signals are digitally filtered to suppress the adjacent channels and demodulated digitally. The resulting signal is then filtered, to optimise the signal to noise performance, before slicing to resolve into a digital bit stream. Mobitex specified error correction and de-interleaving is applied and the resulting data is presented for transfer to an external processor. 5.1.1 Description of Blocks Status and Data Quality Registers 8-bit registers which the µC can read to determine the status of the modem and the received data quality. Command, Mode and Control Registers The values written by the µC to these 8-bit registers control the operation of the modem. Data Buffer An 18-byte buffer used to hold receive or transmit data to or from the µC. 2004 CML Microsystems Plc 15 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Frame Assembly / Disassembly Each of these blocks consists of 4 circuits which generate (in transmit mode) or check (in receive mode) the bits of both short and normal Mobitex data blocks. CRC Generator/Checker A circuit which generates (in transmit) or checks (in receive) the CRC bits, which are included in transmitted Mobitex data blocks so that the receive modem can detect transmission errors. FEC Generator/Checker In transmit mode this circuit calculates and adds the FEC (4 bits) to each byte presented to it. In receive mode the FEC information is used to correct most transmission errors that have occurred in Mobitex data blocks or in the Frame Head control bytes. Interleave/De-interleave Buffer This circuit interleaves data bits within a data block before transmission and de-interleaves the received data block so that the FEC system is best able to handle short noise bursts or signal fades. Scramble/De-scramble This block may be optionally used to scramble/de-scramble the transmitted and received data blocks. It does this by modulating the data with a 511-bit pseudorandom sequence, as described in section 5.1.5.4. Scrambling improves the transmitted spectrum, especially when repetitive sequences are to be transmitted. Frame Sync Detect This circuit, which is only active in receive mode, is used to look for the user specified 16-bit Frame Synchronisation pattern which is transmitted to mark the start of every frame. Tx Modulator and Low Pass Filter The filter is used in transmit mode and is a low pass transitional Gaussian filter having a 3dB loss at 0.3 or 0.5 times the bit rate (BT=0.3 or 0.5). See figure 9. This filter eliminates the high frequency components which would otherwise cause interference into adjacent radio channels. The unmodulated baseband ‘eye’ diagrams of the transmitted signal is shown in Figure 10. The Tx Modulator converts the baseband signal into an I and Q form which is passed to the Tx IF stage. Figure 9 Typical Tx Baseband Filter Response 2004 CML Microsystems Plc 16 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Figure 10 Baseband Transmitter Signal Eye Diagrams Rx Low Pass Filter This filter is a low pass transitional Gaussian filter having a 3dB loss at 0.56 times the bit rate (BT=0.56). It is used to reject HF noise to improve the BER. Level Track and DPLL These circuits, which operate only in receive mode, extract a bit rate clock from the received signal and measure the received signal amplitude and dc offset. This information is then used to extract the received bits and also to provide an input to the received Data Quality measuring circuit. 5.1.2 Modem - µC Interaction In general, data is transmitted over air in the form of messages, or ‘Frames’, consisting of a ‘Frame Head’ optionally followed by one or more formatted data blocks. The Frame Head includes a Frame Synchronisation pattern designed to allow the receiving modem to identify the start of a frame. The following data blocks are constructed from the ‘raw’ data using a combination of CRC (Cyclic Redundancy Checksum) generation, Forward Error Correction coding, Interleaving and Scrambling. Details of the message formats handled by this modem are given in section 5.3. To reduce the processing load on the host µC, this modem has been designed to perform as much as possible of the computationally intensive work involved in Frame formatting and deformatting and (when in receive mode) in searching for and synchronising onto the Frame Head. In normal operation the modem will only require servicing by the µC once per received or transmitted data block. Thus, to transmit a block, the host µC has only to load the unformatted (raw) binary data into the modem's data buffer then instruct the modem to format and transmit that data. The modem will then calculate and add the CRC bits as required, encode the result with Forward Error Correction coding, interleave then scramble the bits before transmission. In receive mode, the modem can be instructed to assemble a block’s worth of received bits, de-scramble and de-interleave the bits, check and correct them (using the FEC coding) and check the resulting CRC before placing the received binary data into the Data Buffer for the µC to read. The modem can also handle the transmission and reception of unformatted data, to allow the transmission of special Bit and Frame Synchronisation sequences or test patterns. 2004 CML Microsystems Plc 17 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.1.3 CMX990 Data Formats Raw data If required the user may transmit and receive raw data. This is transferred between the host and device a byte (8 bits) at a time. Note that it is important to have established frame synchronisation before receiving data to enable the receiving device to decode synchronously. The user may add error detection and correction by way of algorithms performed on the host device. General Purpose Formats In a proprietary system the user may employ the data elements provided by this device to construct a custom, over-air data structure. For example, 16 bits of bit sync + 2 bytes of frame sync + 4 bytes of receiver and sender address + n data blocks would be sent as: TQB (bit and frame sync) + TQB (addresses) + (n x TDB) + TSB And received as: SFS + RSB + RSB + RSB + RSB + (n x RDB) Mobitex Frame Structure The Mobitex format for transmitted data is in the form of a Frame Head immediately followed by either 1 Short Data Block or a number of Data Blocks (0 to 32). The Frame Head consists of 7 bytes: 2 bytes of bit sync: 1100110011001100 from base, 0011001100110011 from mobile bits are transmitted from left to right 2 bytes of frame sync: System specific. 2 bytes of control data. 1 byte of FEC code, 4 bits for each of the control bytes: bits 7-4 (leftmost) operate on the first control byte. bits 3-0 (rightmost) operate on the second control byte. Each byte in the Frame Head is transmitted bit 7 (MSB) first to bit 0 (LSB) last. The normal and short data blocks consist of: 18 bytes of data (Data Block) OR 4 bytes of data (Short Data Block). 2 bytes of CRC calculated from the data bytes. 4 bits of FEC code for each of the data and CRC bytes The resulting data block bits are interleaved and scrambled before transmission. 2004 CML Microsystems Plc 18 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Figure 11 shows how the over air signal is built up from Frame Sync and Bit Sync patterns, Control bytes and Data Blocks. The binary data transferred between the modem and the host µC is that shown enclosed by the thick dashed rectangles near the top of the diagram. Figure 11 Mobitex Over Air Signal Format 2004 CML Microsystems Plc 19 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.1.4 CMX990 Programmer’s View of the Modem The modem appears to the programmer as a series of 8-bit read and write registers, individual registers being selected by the A0 to A5 address pins. Most of the baseband control for formatting or decoding the data is controlled by the following registers: Address $00 $01 $02 $03 5.1.4.1 Write to Modem Data Buffer Command Register Control Register Mode Register Read from Modem Data Buffer Status 1 Register Data Quality Register Status 2 Register Data Buffer This is an 18-byte read/write buffer which is used to transfer data (as opposed to command, status, mode, data quality and control information) between the modem and the host µC. It appears to the µC as a single 8-bit register; the modem ensuring that sequential µC reads or writes to the buffer are routed to the correct locations within the buffer. The µC should only access this buffer 2 µs after the Status Register BFREE (Buffer Free) bit is set to ‘1’. The buffer should only be written to while in Tx mode and read from while in Rx mode (except when loading Frame Sync detection bytes while in Rx mode). 5.1.4.2 Command Register Writing to this register tells the modem to perform a specific action or actions, depending on the setting of the TASK and acquire bits. The enable packet detect bit is used to indicate the presence of data signals in the receive path. Command Register Bit: $01 Write 7 6 5 4 Acquire Bit Clock Acquire I Q Offset Acquire AFC Enable packet detect 3 2 1 0 Task Control When it has no action to perform (but is not ‘powersaved’), the modem will be in an ‘idle’ state. If the modem is in transmit mode the input to the Tx filter will be connected to a mid level. In receive mode the modem will continue to measure the received data quality and extract bits from the received signal, supplying them to the de-interleave buffer, but will otherwise ignore the received data. Command Register B7: Acquire Bit Clock This bit has no effect in transmit mode. In receive mode, whenever a byte with the Acquire Bit Clock set to ‘1’ is written to the Command Register, and TASK is not set to RESET, it initiates an automatic sequence designed to achieve bit timing synchronisation with the received signal as quickly as possible. This involves setting the Phase Locked Loop of the received bit timing extraction circuits to its widest bandwidth, then gradually reducing the bandwidth as timing synchronisation is achieved, until it reaches the 'normal' value set by the PLL Control bits of the Control Register. Setting this bit to ‘0’ (or changing it from ‘1’ to ‘0’) has no effect, however note that the acquisition sequence will be re-started every time that a byte written to the Command Register has the Acquire Bit Clock bit set to ‘1’. Details of the acquisition sequence are in section 5.1.4.3. 2004 CML Microsystems Plc 20 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 The Acquire Bit Clock will normally be set to '1' up to 12 bits before an SFS (Search for Frame Sync) or SFH (Search for Frame Head) task, however it may also be used independently to reestablish clock synchronisation quickly after a long fade. Alternatively, a SFS or SFH task may be written to the Command Register with the Acquire Bit Clock bit set to ‘0’ if it is known that clock synchronisation does not need to be re-established. Details of the acquisition sequence are in section 5.1.4.3. Command Register B6: Acquire I Q Offset This bit has no effect in transmit mode. In receive mode, when this bit is changed from a '0' to a '1' it initiates an automatic sequence designed to compensate the gross dc offset of the received I and Q signal. This sequence involves temporarily disabling the RF input and setting the analogue offset measurement circuits to compensate for the resulting I and Q dc offset. Once this has been completed the RF input will be reasserted and remaining I and Q offsets will be measured and compensated depending on the setting of bits 4 and 5 of the Control Register ($02). Changing this bit from ‘1’ to ‘0’ will terminate acquisition and the ‘normal’ value set by bits 4 and 5 of the Control Register ($02) will be carried out. The Acquire I Q Offset bit will normally be set after changing or reacquiring a channel (e.g. after powering up from a sleep condition). This would normally be done so the acquisition sequence was completed before an SFS or SFH task is initiated. Alternatively, a SFS or SFH task may be written to the Command Register without previously setting the Acquire I Q Offset bit to ‘1’ if it is known that there is no need to re-establish the received signal offsets, e.g. when receiving another message on the same channel in quick succession. Details of the acquisition sequence are in section 5.1.4.3. The error rate is highest immediately after an Acquire Bit Clock and Acquire I Q Offset sequence is triggered and rapidly reduces to its static value soon after. These erroneous bits could incorrectly trigger the frame sync detection circuits and so it is suggested that a SFH or SFS task is set 12 bits after setting the Acquire Bit Clock sequence and when the Acquire I Q Offset has completed. Command Register B5: Acquire AFC This bit has no effect in transmit mode. In receive mode, when this bit is changed from a '0' to a '1' it initiates an automatic sequence designed to measure and compensate for small differences in the carrier frequencies of the transmitter and receiver. If the TCXO frequency is too far out the dc offset in the demodulated signal will become excessive and limit the decode performance of the device. In these cases the host must adjust the TCXO frequency via the on chip DAC based on the value read from the Frequency Offset register ($04). In Mobitex systems the carrier frequencies of basestations are very accurate compared to the permitted tolerances of mobile units. Therefore once a mobile unit has set up it's local TCXO frequency it should be suitable for transmitting or receiving with any basestation. The Slow tracking mode should be sufficient to track any variations caused by environmental changes. Details of the acquisition sequence are in section 5.1.4.3. Command Register B4: Enable packet detect This bit has no effect in transmit mode. In receive mode if this bit is set to '1' the device will monitor the demodulated waveform for signals likely to be valid data. The likely presence of valid data will be reported via bit 0 of Status Register 1. This information can assist in the timing of setting a SFS or SFH task. Note 2004 CML Microsystems Plc 21 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 that some noise signals may appear in the baseband as valid data, the RSSI signal should be used to confirm that the received signal is suitable before relying on this signal. It is recommended that this bit is only set to ‘1’ when searching for the start of a packet. Once a frame sync has been detected this bit should be set to ‘0’ until the start of a new packet needs to be found. Command Register B3, B2, B1, B0: Task Operations such as transmitting a data block are treated by the modem as ‘tasks’ and are initiated when the µC writes a byte to the Command Register with the TASK bits set to one of the data handling commands (marked BOLD in the table below). Mobitex modem tasks: B3 B2 B1 B0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 1 0 Receive Mode NULL SFH R3H RDB SFS RSB LFSB RESET SFHZ RSD SFSZ Search for Frame Head Read 3 byte Frame Head Read Data Block Search for Frame Sync Read Single Byte Load Frame Sync Bytes Cancel any current action SFH with zero errors Read Short Data Block SFS with zero errors Transmit Mode NULL T7H TDB TQB TSB TSO RESET TSD Transmit 7 byte Frame Head Reserved Transmit Data Block Transmit 4 Bytes Transmit Single Byte Transmit Scrambler Output Cancel any current action Reserved Transmit Short Data Block Reserved Note: All other bit patterns are reserved. Bold text indicates a ‘data handling command’ The µC should not write a data handling command to the Command Register or write to or read from the Data Buffer when the BFREE (Buffer Free) bit of the Status 1 Register is ‘0’. Different tasks apply in receive and transmit modes. Detailed timings for the various tasks are given in Figures 14 and 15. Transmit Operation When the modem is in transmit mode, all data handling commands other than TSO instruct the modem to transmit data from the Data Buffer, formatting it as required. For these tasks the µC should wait until the BFREE (Buffer Free) bit of the Status 1 Register is ‘1’, before writing the data to the Data Buffer. If more than 1 byte needs to be written to the Data Buffer, byte number 0 of the block should be written first. The host should then write the desired task to the Command Register. Once the byte containing the desired task has been written to the Command Register, the modem will: Set the BFREE (Buffer Free) bit of the Status 1 Register to ‘0’. Take the data from the Data Buffer as quickly as it can - transferring it to the Interleave Buffer for eventual transmission. This operation will start immediately if the modem is ‘idle’ (i.e. not transmitting data from a previous task), otherwise it will be delayed until there is sufficient room in the Interleave Buffer. Once all of the data has been transferred from the Data Buffer the modem will set the BFREE and IRQ bits of the Status 1 Register to ‘1’, (causing the chip IRQN output to go low if the IRQ Enable bit of the Mode Register has been set to ‘1’) to tell the µC that it may write new data and the next task to the modem. 2004 CML Microsystems Plc 22 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 In this way the µC can write a task and the associated data to the modem while the modem is still transmitting the data from the previous task. See Figure 12. Figure 12 The Transmit Process 2004 CML Microsystems Plc 23 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Receive Operation When the modem is in receive mode, the µC should wait until the BFREE bit of the Status 1 Register is ‘1’, then write the desired task to the Command Register. Once the byte containing the desired task has been written to the Command Register, the modem will: Set the BFREE bit of the Status Register to ‘0’. Wait until enough received bits are in the De-interleave Buffer. Decode them as needed, and transfer any resulting data to the Data Buffer. Then the modem will set the BFREE and IRQ bits of Status 1 Register to ‘1’, (causing the IRQN output to go low if the IRQ Enable bit of the Mode Register has been set to ‘1’) to tell the µC that it may read from the Data Buffer and write the next task to the modem. If more than 1 byte is contained in the Data Buffer, byte number ‘0’ of the data will be read first. In this way the µC can read data and write a new task to the modem while the received bits needed for this new task are being stored in the De-interleave Buffer. See Figure 13. The above is not true for loading the Frame Sync detection bytes (LFSB): the bytes to be compared with the incoming data must be loaded prior to the task bits being written. Figure 13 The Receive Process 2004 CML Microsystems Plc 24 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Task Descriptions: NULL - No effect This task is provided so the acquisition commands can be issued without loading a new task. SFH - Search for Frame Head Causes the modem to search the received signal for a Frame Head. The Frame Head will consist of a 16-bit Frame Sync followed by control data (see Figure 11 - Mobitex Over Air Signal). The search will continue until a Frame Head has been found, or until the RESET task is loaded. The search is carried out by first attempting to match the incoming bits against the previously programmed (task LFSB) 16-bit Frame Sync pattern (allowing up to any one bit (of 16) in error). When a match has been found, the modem will read the next 3 received bytes as Frame Head bytes, these bytes will be checked, and corrected if necessary, using the FEC bits. The two Frame Head Data bytes are then placed into the Data Buffer. The BFREE and IRQ bits of the Status 1 Register will then be set to a logic ‘1’ to indicate that the µC may read the 2 Frame Head Data bytes from the Data Buffer and write the next task to the Command Register. If the FEC indicates uncorrectable errors the modem will set the CRCFEC bit in the Status 1 Register to a logic ‘1’. The MOBAN bit (Mobile or Base) in the Status 1 Register will be set according to the polarity of the 3 bits preceding the Frame Sync pattern. R3H - Read 3-byte Frame Head This task, which would normally follow an SFS task, will place the next 3 bytes directly into the Data Buffer. It also causes the modem to check the 3 bytes as Frame Head control data bytes and will set the CRCFEC bit to a logic ‘1’ (high) only if the FEC bits indicate uncorrectable errors. Note: This task will not correct any errors and, due to the Mobitex FEC specification, will not detect all possible uncorrectable error patterns. The BFREE and IRQ bits of the Status 1 Register will be set to ‘1’ when the task is complete to indicate that the µC may read the data from the Data Buffer and write the next task to the modem's Command Register. The CRCFEC bit in the Status 1 Register will be set according to the validity of the received FEC bits. RDB - Read Data Block This task causes the modem to read the next 240 bits as a Mobitex Data Block. It will de-scramble and de-interleave the bits, FEC correct and CRC check the resulting 18 data bytes and place them into the Data Buffer, setting the BFREE and IRQ bits of the Status 1 Register to ‘1’ when the task is complete to indicate that the µC may read the data from the Data Buffer and write the next task to the modem’s Command Register. The CRCFEC bit will be set according to the outcome of the CRC check. Note: in receive mode the CRC checksum circuits are initialised on completion of any task other than NULL. SFS - Search for Frame Sync This task, which is intended for special test and channel monitoring purposes, performs the first part only of a SFH task. It causes the modem to search the received signal for a 16-bit sequence which matches the Frame Synchronisation pattern with up to any 1 bit in error. When a match is found the modem will set the BFREE and IRQ bits of the Status 1 Register to ‘1’ and update the MOBAN bit. The µC may then write the next task to the Command Register. 2004 CML Microsystems Plc 25 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 RSB - Read Single Byte This task causes the modem to read the next 8 bits and translate them directly (without deinterleaving or FEC) to a single byte which is placed into the Data Buffer (B7 will represent the earliest bit received). The BFREE and IRQ bits of the Status 1 Register will then be set to ‘1’ to indicate that the µC may read the data byte from the Data Buffer and write the next task to the Command Register. This task is intended for special tests and channel monitoring - perhaps preceded by an SFS task. LFSB - Load Frame Sync Bytes This task takes 2 bytes from the Data Buffer and updates the Frame Sync detect bytes. The MSB of byte ‘0’ is compared to the first bit of a received Frame Sync pattern and the LSB of byte ‘1’ is compared to the last bit of a received Frame Sync pattern. This task does not enable Frame Sync detection. Unlike other Rx tasks, the data buffer must be loaded before the task is issued and the task must only be issued ‘between’ received messages, i.e. before the first task for receiving a message and after the last data is read out of the data buffer. Once the modem has read the Frame Sync bytes from the Data Buffer, the BFREE and IRQ bits of the Status 1 Register will be set to ‘1’, indicating to the µC that it may write the next task to the modem. SFHZ - Search for Frame Head with Zero Errors This performs the same task as SFH task but allowing no bits to be in error over the 16-bit Frame Sync pattern. RSD - Read Short Data Block This task causes the modem to read the next 72 bits as a Mobitex Short Data Block. It will de-scramble and de-interleave the bits, FEC correct and CRC check the resulting 4 data bytes and place them into the Data Buffer, setting the BFREE and IRQ bits of the Status 1 Register to ‘1’ when the task is complete to indicate that the µC may read the data from the Data Buffer and write the next task to the modem’s Command Register. The CRCFEC bit will be set according to the outcome of the CRC check. Note: in receive mode the CRC checksum circuits are initialised on completion of any task other than NULL. SFSZ - Search for Frame Sync with Zero Errors This performs the same task as SFS task but allowing no bits to be in error over the 16-bit Frame Sync pattern. T7H - Transmit 7-byte Frame Head This task takes 6 bytes of data from the Data Buffer, calculates and appends 8 bits of FEC from bytes ‘4’ and ‘5’ then transmits the result as a complete Mobitex Frame Head. Bytes ‘0’ and ‘1’ form the bit sync pattern, bytes ‘2’ and ‘3’ form the frame sync pattern and bytes ‘4’ and ‘5’ are the frame head control bytes. Bit 7 of byte ‘0’ of the Data Buffer is sent first, bit 0 of the FEC byte last. Once the modem has read the data bytes from the Data Buffer, the BFREE and IRQ bits of the Status 1 Register will be set to ‘1’, indicating to the µC that it may write the next task and its data to the modem. 2004 CML Microsystems Plc 26 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 TQB - Transmit 4 Bytes This task takes 4 bytes of data from the Data Buffer and transmits them, bit 7 first. Once the modem has read the data bytes from the Data Buffer, the BFREE and IRQ bits of the Status 1 Register will be set to ‘1’, indicating to the µC that it may write the next task and its data to the modem. TDB - Transmit Data Block This task takes 18 bytes of data from the Data Buffer, calculates and applies a 16-bit CRC and forms the FEC for the 18 data bytes and the CRC. This data is then interleaved and passed through the scrambler, if enabled, before being transmitted as a Mobitex Data Block. Once the modem has read the data bytes from the Data Buffer, the BFREE and IRQ bits of the Status Register will be set to ‘1’, indicating to the µC that it may write the next task and its data to the modem. Note: In transmit mode the CRC checksum circuit is initialised on completion of any task other than NULL. TSB - Transmit Single Byte This task takes a byte from the Data Buffer and transmits the 8 bits, bit 7 first. Once the modem has read the data byte from the Data Buffer, the BFREE and IRQ bits of the Status 1 Register will be set to ‘1’, indicating to the µC that it may write the next task and its data to the modem. TSO - Transmit Scrambler Output This task, intended for channel set-up, enables the scrambler and transmits its output. When the modem has started the task the Status 1 Register bits will not change and hence these will not raise an IRQ. The µC may write the next task and its data to the modem at any time and the scrambler output will stop when the new task has produced its first data. TSD - Transmit Short Data Block This task takes 4 bytes of data from the Data Buffer, calculates and applies a 16-bit CRC and forms the FEC for the 4 data bytes and the CRC. This data is then interleaved and passed through the scrambler, if enabled, before being transmitted as a Mobitex Data Block. Once the modem has read the data bytes from the Data Buffer, the BFREE and IRQ bits of the Status 1 Register will be set to ‘1’, indicating to the µC that it may write the next task and its data to the modem. Note: In transmit mode the CRC checksum circuit is initialised on completion of any task other than NULL. RESET - Stop any current action This task takes effect immediately, and terminates any current task the modem may be performing and sets the BFREE bit of the Status 1 Register to ‘1’, without setting the IRQ bit. It should be used when VDD is applied to set the modem into a known state. Note that due to delays in the internal circuitry, it will take approximately 3 bit times for any change to become apparent at the transmitter output. 2004 CML Microsystems Plc 27 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Task Timings The device should not write to the Command Register whenever the Enable Baseband bit is changed from ‘0’ to ‘1’ and for at least 2 bit times after the following: Changing the Tx/Rx bit. Resetting or after power is applied to the device. This is to ensure that the internal operation of the device is initialised correctly for the new task. Note that this only applies to the Command Register, the other registers may be accessed as normal. Figure 14 Transmit Mode Timing Diagram t1 t2 Time from writing first task (modem in ‘idle’ state) to application of first transmit bit to Tx Low Pass filter Time from application of first bit of task to Tx Low Pass filter until BFREE goes to a logic ‘1’ (high) t3 Time to transmit all bits of task t4 Max time allowed from BFREE going to a logic ‘1’ (high) for next task (and data) to be written to modem 2004 CML Microsystems Plc 28 Task Typical time (bit-times) Any 1 T7H TQB TDB TSB TSD T7H TQB TDB TSB TSD T7H TQB TDB TSB TSD 36 24 20 1 6 56 32 240 8 72 18 6 218 6 64 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Figure 15 Receive Mode Timing Diagram Task t3 Time to receive all bits of task t6 Maximum time between first bit of task entering de-interleave circuit and task being written to modem t7 Time from last bit of task entering de-interleave circuit to BFREE going to a logic ‘1’ (high) 2004 CML Microsystems Plc 29 SFH R3H RDB RSB RSD SFH R3H RDB RSB RSD Any Typical time (bit-times) 56 24 240 8 72 14 18 218 6 64 1 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Tx and Rx Low Pass Filter Delay The previous task timing figures are based on the signal at the input to the RF sections (in transmit mode) or the input to the de-interleave buffer (in receive mode). There is an additional delay of about 2 bit times in both transmit and receive modes due to the Tx/Rx filtering and RF circuitry, as illustrated in the figure below. Figure 16 Low Pass Filter Delay 5.1.4.3 Control Register This 8-bit write only register controls the response times of the receive clock extraction and signal level measurement circuits. Control Register Bit: 7 $02 6 AGC Control Write 5 4 IQ Offset Control 3 2 Frequency tracking (AFC) Control 1 0 PLL Control The modem needs to make accurate measurements of the received signal level, dc offset and frequency offset and bit timing to achieve reasonable error rates. Accurate measurements, especially in the presence of noise, are best made by averaging over a relatively long time. However, in most cases the modem will be used to receive isolated messages from a distant transmitter and may be turned on for a very short time before the message starts. Also, the received baseband signal out of the radio's frequency discriminator will have a dc offset due to small differences between the receiver and transmitter reference oscillators and hence their ‘carrier’ frequencies. To cater for this situation acquire bits 7 to 5 are provided in the Command register ($01) which, when triggered, cause the modem to follow an automatic sequence designed to perform these measurements as quickly as possible. After these acquisition sequences have completed the circuits return to the mode as set in this register. 2004 CML Microsystems Plc 30 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Control Register B7, B6: AGC Control These two bits have no effect in transmit mode. In receive mode these bits set the response of the AGC circuit. The 'Run' and 'Max Gain and Run' settings allow the circuit to acquire and track incoming signals. B7 0 0 1 1 B6 0 1 0 1 Setting Max Gain and Hold Hold* Run Max Gain and Run Action AGC set to maximum gain and held AGC gain not updated by internal circuit AGC tracks input signal AGC set to maximum gain and tracks input signal * Host may override AGC setting by writing to $19 only when this setting is selected. Control Register B5, B4: I/Q Offset Control These two bits have no effect in transmit mode. In receive mode, these set the ‘normal’ response of the I/Q offset measuring circuits. The offset control is in two sections, an analogue 'coarse' setting and a digital 'fine' setting. The host may read and directly overwrite the coarse setting via registers $18 and $19. The coarse and fine settings will be overridden by the Acquire I Q Offset command (bit 6 of Command register) which will go through a sequence of: Reset Run with Coarse Tracking for 12 bits to correct gross I/Q offset error Run with Fine Tracking for 640 bits to adjust for remaining I/Q offsets Revert to normal setting (hold / fine / coarse) B5 0 0 1 1 B4 0 1 0 1 Setting Reset and Hold Hold* Fine Tracking* Coarse Tracking Action I/Q offset tracking reset and held I/Q offset tracking held at current setting I/Q fine offset tracking I/Q coarse offset tracking * Host may override Coarse I/Q Offset by writing to registers $18 and $19 only when these settings are selected and bit 6 of Command register is = '0'. Control Register B3, B2: Frequency tracking (AFC) Control These two bits have no effect in transmit mode. In receive mode, they set the ‘normal’ response of the frequency tracking circuits. This setting will be temporarily overridden by the Acquire AFC command (bit 5 of Command register) which will go through a sequence of: Reset Run with Fast Tracking for 96 bits to correct frequency offset error Run with Slow Tracking for 750 bits to follow any further frequency offsets Revert to normal setting (hold / slow / fast) B3 0 0 1 1 B2 0 1 0 1 Setting Reset and Hold Hold Slow Tracking Fast Tracking Action Frequency tracking reset and held Frequency tracking held at current setting Frequency slow tracking Frequency fast tracking For Mobitex systems, and most general purpose applications using the modem, these bits should normally be set to Slow Tracking after the host has activated the automatic sequence. 2004 CML Microsystems Plc 31 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 The Fast setting allows the modem to respond quickly without µC intervention - although at the cost of reduced Bit Error Rate versus Signal to Noise performance. Note that the AFC measuring system requires ‘00’ and ‘11’ bit pairs to be received at reasonably frequent intervals. The AFC tracking will eventually fail if ‘1’ or ‘0’ is transmitted continuously. Control Register B1, B0: PLL Control These two bits have no effect in transmit mode. In receive mode, they set the ‘normal’ bandwidth of the Rx clock extraction Phase Locked Loop circuit. This setting will be temporarily overridden by the Acquire Bit Clock command (bit 7 of Command register) which will go through a sequence depending if a frame sync is being searched for (SFH or SFS task is started within 14 bits): Frame sync search: Wide setting until Frame Sync is detected 30 bits of medium setting Revert to normal setting B1 0 0 1 1 B0 0 1 0 1 PLL Bandwidth Hold Narrow Medium Wide No frame sync search: 16 bits of wide setting 30 bits of medium setting Revert to normal setting Suggested use Signal fades < ± 20ppm bit rate error systems Wide bit rate error or long preamble acquisition Quick acquisition The ‘hold’ setting is intended for use during signal fades, otherwise the minimum bandwidth consistent with the transmit and receive modem bit rate tolerances should be chosen. The wide and medium bandwidth settings allow the modem to respond rapidly to fresh messages and recover rapidly after a fade without µC intervention - although at the cost of reduced Bit Error Rate versus Signal to Noise performance. Note that the clock extraction circuits work by detecting the timing of edges, i.e. a change from ‘0’ to ‘1’ or ‘1’ to ‘0’. The clock extraction will eventually fail if ‘1’ or ‘0’ is transmitted continuously 2004 CML Microsystems Plc 32 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 5.1.4.4 Mode Register The contents of this 8-bit write only register control the basic operating modes of the modem: Mode Register Bit: $03 Write 7 6 5 4 3 2 1 0 IRQ Enable INVBit TxRxN SCREn En PLL Lock IRQ Enable DQ IRQ Enable Main ADC Enable Main DAC Mode Register B7: IRQ Enable - IRQN Output Enable When this bit is set to ‘1’ the IRQN chip output pin is pulled low (to Vss) whenever the IRQ bit of the Status Register is a ‘1’. Mode Register B6: INVBIT - Invert Bits This bit controls inversion of transmitted and received data. This allows for frequency inversions in the RF chain and has the effect of swapping I and Q paths in both transmitter and receiver. Mode Register B5: TXRXN - Tx/Rx Mode Setting this bit to ‘1’ puts the modem into Transmit mode, clearing it to ‘0’ puts the modem into Receive mode. When changing from Rx to Tx there must be a 2-bit pause before setting a new task to allow the filter to stabilise. (See also Baseband Enable bit). Note that changing between receive and transmit modes will cancel any current task. Note also that this bit does not enable Tx or Rx sections of the CMX990 which must be enabled by separate control bits. Mode Register B4: SCREN - Scramble Enable The scrambler only takes effect during the transmission or reception of a Mobitex Data Block, Short Data Block and during a TSO task. Setting this bit to ‘1’ enables scrambling, clearing it to ‘0’ disables scrambling. The scrambler is only operative, if enabled by this control bit, during TSO, RDB, RSD, TSD or TDB, it is held in a reset state at all other times. This bit should not be changed while the modem is decoding or transmitting a Mobitex Data Block. Mode Register B3: En PLL Lock IRQ - Enable Phase Lock Loop lost IRQ Setting this bit to ‘1’ causes the IRQ bit of the Status 1 Register to be set to ‘1’ whenever The PLL Lock lost bit is set to 1. (The Phase Lock lost bit of Status 2 Register will also be set to ‘1’ at the same time.) Mode Register B2: Enable DQ IRQ - Enable Data Quality IRQ In receive mode, setting this bit to ‘1’ causes the IRQ bit of the Status 1 Register to be set to ‘1’ whenever a new Data Quality reading is ready. (The DQRDY bit of the Status 1 Register will also be set to ‘1’ at the same time.) In transmit mode this bit has no effect. Mode Register B1 - 0: Enable Main ADC / Enable Main DAC When the respective bit is set to ‘1’ the main ADC and DAC are enabled, power may be saved by setting these bits to ‘0’ when the ADC or DAC are not needed. Bit ‘0’ would normally only be set to ‘1’ when bit 5 is set to ‘1’. Bit ‘1’ would normally only be set to ‘1’ when bit 5 is set to ‘0’. 2004 CML Microsystems Plc 33 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.1.4.5 CMX990 Status 1 Register This register may be read by the µC to determine the current state of the modem. Status 1 Register Bit: $01 Read 7 6 5 4 3 2 1 0 IRQ BFREE IBEMPTY DIBOVF CRCFEC DQRDY MoBaN Packet Detect Status 1 Register, B7: IRQ - Interrupt Request This bit is set to ‘1’ by: The Status 1 Register BFREE bit going from ‘0’ to ‘1’, unless this is caused by a RESET task or by a change to the Mode Register Enable Baseband or TXRXN bits. or The Status 1 Register IBEMPTY bit going from ‘0’ to ‘1’, unless this is caused by a RESET task or by changing the Mode Register Enable Baseband or TXRXN bits. or The Status 1 Register DQRDY bit going from ‘0’ to ‘1’ (If DQEN = ‘1' ). or The Status 1 Register DIBOVF bit going from ‘0’ to ‘1’. or The Status 1 Register Packet Detect bit going from ‘0’ to ‘1’ if the Enable Packet Detect bit is set in the Command Register. or The Status 2 Register bits 7, 3, 2, 1 or 0 going from ‘0’ to ‘1’. The host must read Status 1 Register first after detecting or looking for an interrupt condition. The IRQ bit is cleared to ‘0’ immediately after a read of the Status Register that caused the interrupt. In the case where 1 or more bits in Status 2 Register cause an interrupt the IRQ bit is only cleared after reading Status 2 Register. If the IRQEN bit of the Mode Register is ‘1’, then the chip IRQN output will be pulled low (to Vss) whenever the IRQ bit is ‘1’. Status 1 Register, B6: BFREE - Data Buffer Free This bit reflects the availability of the Data Buffer and is cleared to ‘0’ whenever a task other than NULL, RESET or TSO is written to the Command Register. In transmit mode, the BFREE bit will be set to ‘1’ (also setting the Status 1 Register IRQ bit to ‘1’) when the modem is ready for the µC to write new data to the Data Buffer and the next task to the Command Register. In receive mode, the BFREE bit is set to ‘1’ (also setting the Status 1 Register IRQ bit to ‘1’) by the modem when it has completed a task and any data associated with that task has been placed into the Data Buffer. The µC may then read that data and write the next task to the Command Register. The BFREE bit is also set to ‘1’, but without setting the IRQ bit, by a RESET task or when the Mode Register Enable Baseband or TXRXN bits are changed. Status 1 Register, B5: IBEMPTY - Interleave Buffer Empty In transmit mode, this bit will be set to ‘1’, also setting the IRQ bit, when less than two bits remain in the Interleave Buffer. Any transmit task written to the modem after this bit goes to ‘1’ will be too late to avoid a gap in the transmit output signal. The bit is also set to ‘1’ by a RESET task or by a change of the Mode Register TXRXN or Enable Baseband bits, but in these cases the IRQ bit will not be set. 2004 CML Microsystems Plc 34 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 The bit is cleared to ‘0’ by writing a task other than NULL, RESET or TSO to the Command Register. Note: When the modem is in transmit mode and the Interleave Buffer is empty, a mid-level voltage (VBIAS) will be applied to the Tx low pass filter. In receive mode this bit will be ‘0’. Status 1 Register, B4: DIBOVF - De-Interleave Buffer Overflow In receive mode this bit will be set to ‘1’ (also setting the IRQ bit) when a task is written to the Command Register too late to allow continuous reception. The bit is cleared to ‘0’ by reading the Status 1 Register or by writing a RESET task to the Command Register or by changing the Enable Baseband or TXRXN bits of the Mode Register. In transmit mode this bit will be ‘0’. Status 1 Register, B3: CRCFEC - CRC or FEC Error In receive mode this bit will be updated at the end of a Mobitex Data Block task, after checking the CRC, and at the end of receiving Frame Head control bytes, after checking the FEC. A ‘0’ indicates that the CRC was received correctly or the FEC did not find uncorrectable errors, a ‘1’ indicates that errors are present. The bit is only cleared to ‘0’ by a RESET task or by changing the Enable Baseband or TXRXN bits of the Mode Register. In transmit mode this bit will be ‘0’. Status 1 Register, B2: DQRDY - Data Quality Reading Ready In receive mode, this bit is set to ‘1’ whenever a Data Quality reading has been completed. The bit is cleared to '0' after reading the Data Quality Register. Immediately after a RESET task, or a change in the Enable Baseband or TXRXN bits to ‘0’, the DQRDY bit may be set and generate an interrupt. The value in the Data Quality Register will not be valid in this case. Status 1 Register, B1: MOBAN - Mobile or Base Bit Sync Received In receive mode this bit is updated at the end of the SFS and SFH tasks. This bit is set to ‘1’ whenever the 3 bits immediately preceding a detected Frame sync are ‘011’ (received left to right), with up to any one bit in error. The bit is set to ‘0’ if the bit pattern is ‘100’, again with up to any one bit in error. Thus, if this bit is set to ‘1’ then the received message is likely to have originated from a Mobile and if it is set to ‘0’ from a Base Station. In transmit mode this bit is a logic ‘0’. Status Register 1, B0: Packet Detect This bit indicates the status of the Packet Detect circuit and will be set to '0' when a packet is not present, as described in the description for Command Register bit B4. In transmit mode this bit will be ‘0’. 2004 CML Microsystems Plc 35 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.1.4.6 CMX990 Data Quality Register Data Quality Register $02 Bit: 7 6 Read 5 4 3 2 1 0 Data Quality Reading (0-255) This is intended to indicate the quality of the receive signal during a Mobitex Data Block or 30 single bytes. In receive mode, the modem measures the ‘quality’ of the received signal by comparing the actual received zero crossing time against an internally generated time. This value is averaged over 240 bits and at the end of the measurement the Data Quality Register and the DQRDY bit in the Status 1 Register is updated. Note: An interrupt will only occur at this time if the Enable DQ IRQ bit = ‘1’. To provide synchronisation with Data Blocks, and hence ensure the Data Quality Register is updated in preparation to be read when the RDB task finishes, the measurement process is reset at the end of tasks SFH, SFS, RDB and R3H. In transmit mode all bits of the Data Quality Register will be ‘0’. Figure 17 shows how the value (0-240) read from the Data Quality Register varies with received signal to noise ratio. Figure 17 Typical Data Quality Reading (after 240 bits) vs baseband S/N (noise in bit rate bandwidth) 2004 CML Microsystems Plc 36 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 5.1.5 CRC, FEC, Interleaving and Scrambling Information: 5.1.5.1 CRC This is a 16-bit CRC code used in both the Mobitex Data Block and Short Data Block. In transmit it is calculated by the modem from the data block bytes using the following generator polynomial: g(x) = x16 + x12 + x5 + 1 i.e. CRC - CCITT X.25. This code detects all (single) error bursts of up to 16 bits in length and about 99.998% of all other error patterns. The CRC register is initialised to all ‘1s’ and the CRC is calculated octet by octet starting with the least significant bit of ‘byte 0’. The CRC calculated is bit-wise inverted and appended to the data bytes with the most significant bit transmitted earliest. In receive mode, a 16-bit CRC code is generated from the data bytes of each Mobitex Data Block or Short Data Block as above and the bit-wise inverted value is compared with the received CRC bytes. If a mis-match is present, then an error has been detected. 2004 CML Microsystems Plc 37 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.1.5.2 CMX990 FEC In transmit mode, during T7H, TSD and TDB, the modem generates a 4-bit Forward Error Correction code for each coded byte. The FEC is defined by the following H matrix: 7______0 3___0 11101100 1000 H = 11010011 0100 10111010 0010 01110101 0001 Generation of the FEC consists of logically ANDing the byte to be transmitted with bits 7 to 0 of each row of the H matrix. Even parity is generated for each of the 4 results and these 4 parity bits, in the positions indicated by the last 4 columns of the H matrix, form the FEC code. In checking the FEC, the received 12-bit word is logically ANDed with each row of the H matrix (earliest bit received compared with the first column). Again even parity is generated for the 4 resulting words and these parity bits form a 4-bit nibble. If this nibble is all zero then no errors have been detected. Other results ‘point’ to the bit in error or indicate that uncorrectable errors have occurred. This code can correct any single error that has occurred in each 12-bit (8 data + 4 FEC) section of the message. Example: If the byte to be coded is ‘00101100’ then the FEC is derived as follows: H matrix row: A B A AND B Even Parity: 1 11101100 00101100 00101100 1 2 11010011 00101100 00000000 0 3 10111010 00101100 00101000 0 4 01110101 00101100 00100100 0 where A is bits 7 - 0 of one row of the H matrix and B is the byte to be coded. The even parity bits apply to the result of ‘A AND B’. So the word formed will be: ‘00101100 1000’ sent left to right When the same process is carried out on these 12 bits as above, using all 12 bits of each H matrix row, the resulting 4 parity bits will be ‘0000’. 5.1.5.3 Interleaving All the bits of transmitted Mobitex Data Blocks and Short Data Blocks are interleaved by the modem to give protection against noise bursts and short fades. Interleaving is not performed on any bits in the Mobitex Frame Head. In the Mobitex Data Block case, considering the 240 bits to be numbered sequentially before interleaving as 0 to 239 (‘0’ = bit 7 of byte 0, ‘11’ = bit 0 of FEC for byte 0, ... , ‘239’ = bit 0 of FEC for byte 19 - see Figure 6), then they will be transmitted as shown in Figure 13. The Mobitex Short Data Block is interleaved in a similar way; referring to Figure 13 consider bytes 4 and 5 as the CRC data and ignore bits 72 to 239 in the lower part of the diagram. i.e. the last bit to be transmitted will be ‘71’. The modem performs the inverse operation (de-interleaving) in receive mode on both Mobitex Data Blocks and Short Data Blocks. 2004 CML Microsystems Plc 38 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Figure 18 Interleaving - Input/Output 5.1.5.4 Scrambling All formatted bits of both Mobitex Data Blocks and Short Data Blocks are XORed with the output of a 9-bit scrambler. This scrambler is initialised at the beginning of the first data block in every Frame. The 511-bit sequence is generated with a 9-bit shift register with the output of the 5th and 9th stages XOR’ed and fed back to the input of the first stage. The scrambler is disabled during all other tasks, apart for TSO. 2004 CML Microsystems Plc 39 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 5.1.6 Application Notes 5.1.6.1 Transmit Frame Example If the device is required to send a Mobitex Frame the following control signals and data should be issued to the modem, assuming the device is not starting from a powersave state, TXRXN is set to ‘1’ and that the relevant control bits have been set as required after power was applied to the device: 1. 6 bytes forming the Frame Head are loaded into the Data Buffer, followed by a 2-bit pause to let the filter stabilise, followed by setting T7H task. 2. Device interrupts host µC with IRQN when the 6th byte is read from the Data Buffer. 3. Status Register is read and 18 bytes are loaded, followed by setting TDB task. 4. Device interrupts host µC with IRQN when 18th byte is read from the Data Buffer. 5. Status 1 Register is read, host may load data and set next task as required: GOTO ‘1’ GOTO ‘3’ GOTO ‘6’ if the last Data Block for this Frame has been transmitted and another Frame is to be immediately transmitted if another Data Block in this Frame is to be transmitted if no more data is to be immediately sent 6. 1 byte representing the ‘hang byte’ is loaded into the Data Buffer, followed by setting the TSB task. If the ‘hang byte’ has been transmitted and no more data is to be sent then a new task need not be written and the µC can wait for the IBEMPTY interrupt when, after a few bits to allow for the Tx filter delay, it can shut down the Tx RF circuits. A top level flowchart of the transmit process is shown in Figure 19. Hang Byte The filtering required to reduce the transmitted bandwidth causes energy from each bit of information to be smeared across 3 bit times. To ensure that the last bit transmitted is received correctly it is necessary to add an 8-bit ‘hang byte’ to the end of each message. Thus the tasks required to transmit an isolated Mobitex frame are: T7H + (n x TDB) + TSB When receiving this data, the extra byte can be ignored as its only function is to ensure integrity of the last bit and not to carry any information itself. It is suggested that a ‘00110011’ or ‘11001100’ pattern is used for this ‘hang byte’. 2004 CML Microsystems Plc 40 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Figure 19 Transmit Process 2004 CML Microsystems Plc 41 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.1.6.2 CMX990 Receive Frame Example If the device is required to decode a Mobitex Frame the following control signals should be issued to the modem. The host should set the Control Register and activate the Acquire I Q Offset and Acquire AFC each time a new channel is selected when the RSSI indicates a valid signal or carrier only is present before packets are decoded. This also assumes that the device is initially not in powersave, the SCREN is set as required, TXRXN bit is set to ‘0’ and a Packet Detect event has occurred, or a Frame Head is imminently expected: 1. 2 Frame Sync bytes are loaded. 2. 2 bits after the carrier has been detected, a LFSB task is loaded, along with setting the Acquire Bit Clock to initiate the bit clock extraction sequence. 3. Device interrupts host µC with IRQN when 2nd byte is read from Data Buffer. 4. Status Register is read, 12 bits later task is set to SFH to search for a Mobitex Frame Head. 5. Device will interrupt host µC with IRQN when valid Frame Sync is detected and header bytes decoded. 6. Host µC reads Status 1 Register, checks MOBAN and CRCFEC bit and reads out 2 Frame Head control bytes. 7. Host µC disables Packet Detect and sets the task to RDB to receive a Mobitex Data Block. 8. Device will interrupt host µC with IRQN when the Data Block has been received and the CRC has been calculated. 9. Host µC reads Status 1 Register, checks CRC validity and reads 18 Data Block bytes. The Data Quality Register can also be read to obtain the received S/N level. 10. Host µC sets task if more information is expected: GOTO ‘4’ GOTO ‘7’ if last Data Block and another Frame Head imminently expected. if another Mobitex Data Block expected. If the last Data Block has been decoded and no more information is expected then the task bits need not be set as the device will automatically select the idle state. A top level flowchart of the receive process is shown in Figure 20. 2004 CML Microsystems Plc 42 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Figure 20 Receive Process 2004 CML Microsystems Plc 43 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.2 CMX990 µC Interface 5.2.1 Memory Map and Interface The following is a summary of the internal registers as seen by the host, details of operation may be found in the relevant section. Address Read Write $00 $01 $02 Data Buffer (Rx) Status 1 Data Quality Data Buffer (Tx) Command Control $03 Status 2 Mode $04 $05 $08 Freq Offset RSSI Aux ADC 0 LSB Power Up 1 Power Up 2 Aux DAC 0 LSB $09 $0A Aux ADC 0 MSB Aux ADC 1 LSB Aux DAC 0 MSB Aux DAC 1 LSB $0B $0C $0D $0E $0F $10 $11 $12 $13 $14 $15 Aux ADC 1 MSB Aux ADC 2 LSB Aux ADC 2 MSB Aux ADC 3 LSB Aux ADC 3 MSB Aux ADC 4 LSB Aux ADC 4 MSB Aux ADC 5 LSB Aux ADC 5 MSB - Aux DAC 1 MSB Aux DAC 2 LSB Aux DAC 2 MSB Aux DAC 3 LSB Aux DAC 3 MSB RAM DAC control Aux ADC control 1 Aux ADC control 2 Aux Ram Data1 LSB Aux Ram Data1 MSB $16 $17 $18 Analogue Setup 1 Aux Ram Data2 LSB Aux Ram Data2 MSB Analogue Setup 1 $19 $1A Analogue Setup 2 - Analogue Setup 2 Special Command $1B $1C $1D Special Data0 LSB Special Data0 MSB Special Data1 LSB Special Data0 LSB Special Data0 MSB Special Data1 LSB $1E $20 Special Data1 MSB - Special Data1 MSB Main PLL M div LSB $21 $22 - Main PLL M div MSB Main PLL N div LSB $23 $24 $25 - Main PLL N div NSB Main PLL N div MSB Aux PLL M div LSB $26 $27 - Aux PLL M div MSB Aux PLL N div LSB $28 $TBA - Aux PLL N div MSB Clock Control Note: All unused addresses from $00 to $3F are reserved for future use. 2004 CML Microsystems Plc 44 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Data Bus Buffers The circuitry driving the D0-7 pins consists of 8 internal bidirectional 3-state logic level buffers between the internal registers and the external data bus lines. Address and R/W Decode Transfer of data bytes between the µC and the internal registers is controlled according to the state of the Write and Read Enable inputs (WRN and RDN), the Chip Select input (CSN) and the Register Address inputs A0 to A5. The Data Bus Buffers, Address and R/W Decode blocks provide a byte-wide parallel µC interface, which can be memory-mapped, as shown in Figure 2. 5.2.2 Power-on and Reset When power is first applied to the device an internal circuit will reset internal registers to '0' and put all circuit blocks in an inactive and power saved state. Read bits will be reset to '0' - the inactive state. Counters / states will be reset to an inactive and known condition after a reset event - which can occur asynchronously. Setting the RESET bit to '1' is similar except the RESET bit does not control the 'V Reg', 'Preserve registers' and 'Vbias' bits, they will remain at the last programmed state, as shown in bold in the following 2 register diagrams. Power control The following registers control individual power-up state of the indicated blocks. Note: Other sections of the device have the power control bits included in the control registers for those blocks. Blocks are disabled and in the zero power state when the associated control bit is '0'. Power Up 1 Bit: $04 Write 7 6 5 4 3 2 1 0 Enable Clock Enable Baseband V Reg Enable OP1 OP2 Rx IF Rx RF1 Rx RF2 Tx RFIF If the Enable Clock is set to '0' the on chip clock buffer will be disabled, the clock buffer must be enabled if setting RESET (bit 3 of $05) or if any of the internal circuits are powered up apart from those controlled by the 'V Reg', 'Vbias' and 'OP1 OP2' bits. The Enable Baseband bit controls the data packeting and clock extraction circuits. If V Reg bit is set to '0' an internal circuit will hold the nominal 2.5V supply pins at approximately 2V for data retention only. For normal operation the host must set this bit to '1' before enabling any other circuitry. If an external supply provides the nominal 2.5V then the V Reg bit should be set to '0'. See section 4.5 for more details. When the OP1 OP2 bit is low both OP 1 and OP 2 amplifiers are disabled the OP1T and OP2T pins will become high impedance inputs to ADC2 and ADC3 respectively. When set to ‘1’ both op-amps are enabled. Rx IF bit enables the circuitry from the IF IN pin to the differential I and Q outputs to the baseband. Rx RF1 bit enables the circuitry from the RF IN A and RF IN B pins to the output of the 1st mixers. Rx RF2 bit enables the circuitry from the output of the 1st mixers to the IF OUT pin. Tx RFIF bit enables all the transmit RF and IF circuits from the differential I and Q inputs to the Tx RF interface pins. 2004 CML Microsystems Plc 45 D/990/1 GMSK Packet Data Modem and RF Transceiver Power Up 2 Bit: $05 CMX990 Write 7 6 5 4 AUX DAC3 AUX DAC2 AUX DAC1 AUX DAC0 3 2 1 0 RESET LNA ON (External) Preserve Registers Vbias The Vbias control bit must be enabled early enough so that the output is stable before any of the other circuit blocks are enabled as this circuit takes some time to stabilise after being enabled. Setting the RESET bit to '1' will not change the Vbias bit. If set to '1' the Preserve Registers bit will preserve most user settings programmed via the Special Command register, e.g. Rx channel filter coefficients and non assigned memory. In Rx mode the AGC, offsets and timing estimates of the received signal will be lost after a RESET event. LNA ON bit directly controls the LNA ON pin and does not control any internal analogue circuitry. Any time delay for the external circuitry to stabilise must be taken into account when controlling this bit. This control bit will be cleared to '0' after a power on reset or if the RESET bit is set to '1'. Whenever a '1' is written to the RESET bit all registers will be cleared to '0' apart from the Clock Control register, bit 5 of the Power Up 1 register and bits 1 and 0 of the Power Up 2 register. This will put all internal circuits in an inactive and power saved state. The 'V Reg', 'Preserve registers' and 'Vbias' bits will be unchanged. To ensure a clean exit from the RESET condition the RESET bit should be set to '0' before any other circuitry is enabled. i.e. To enter RESET write '000010xx' to $05. To exit RESET write '000000xx' then 'xxxx0xxx', where 'x' is the desired condition for the Aux DACs, LNA ON, 'Preserve registers' and 'Vbias' bits. The host may then program the rest of the device to the desired configuration. The AUX DAC0-3 bits control the relevant auxiliary D2A converter. 5.2.3 Clock Control The Ref Clock input can be divided down and then multiplied up to the required frequency to give the desired bit rate. Note: The reference for the synthesizers is the Ref Clock input to the device. The following table gives examples for common bit rates: Ref clock (MHz) 4.8 Ref Clock Division 2 Base clock (MHz) 2.4 Base clock (MHz) 2.4 Base clock multiplier 4 Baseband clock (MHz) 9.6 12 5 2.4 2.4 8 19.2 8000 14.4 5 2.88 2.4 16 38.4 16000 16.8 7 2.4 2.88 4 11.52 4800 19.2 8 2.4 2.88 8 23.04 9600 21.6 9 2.4 Bit rate 4000 The Ref clock input to the device must be in the range 3.8MHz to 24MHz. The Base Clock resulting from the division of the Ref Clock must be in the range 1.9MHz to 3.0MHz. Clock Control Bit: 7 $TBA Write 6 5 4 3 Base clock multiplier, 2 - 16 (0000 = x16, 0001 = Illegal state) 2 1 0 Ref Clock division, 2 - 16 (0000 = /16, 0001 = Illegal state) Notes: 1) To program '16' the host should load '0000', the value '0001' for both the above values should not be programmed. 2) The baseband clock will not be available for TBAms after exiting Reset. 2004 CML Microsystems Plc 46 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.2.4 CMX990 Status Registers Two status registers indicate events that may require action by the host. Those marked as bold in the diagrams below will cause bit 7 of Status1 (IRQ) to go high when they change from a 0 to 1. Interrupts are enabled by setting bit 7 of the Mode register ($03) to '1', the IRQN pin will then be pulled low whenever the IRQ bit goes high. If the IRQN line to the host is pulled low or if the host is polling for interrupts then Status Register 1 should be read first then optionally followed by reading Status Register 2. The IRQ bit will be cleared to a '0' when the status register containing the interrupt(s) is read. Status1 Bit: $01 7 IRQ 6 BFREE Read 5 IBEMPTY 4 3 DIBOVF CRCFEC 2 1 0 DQRDY MoBaN Packet Detect See section 5.1.4.5 for a description of Status register 1. Status2 Bit: $03 Read 7 6 5 4 3 2 1 0 PLL Lock lost Main PLL in lock Aux PLL in lock Tx PLL in lock SPC command complete Aux ADC conversion complete Freq offset error IQ offset complete 'PLL Lock lost' bit will be set to '1' whenever bits 4, 5 or 6 go from '1' to '0' since that bit was read as a '1' from Status Register 2, i.e. PLL Lock lost bit is only set if lock has been gained, the host has read the register to confirm this and that bit subsequently goes from a '1' to a '0'. This will cause bit 7 of Status1 to be set to '1' only if bit 3 of the Mode register ($03) is set to '1'. This bit will be cleared to ‘0’ immediately after reading the Status 2 register. Bits 6 to 4 represent the lock status for the corresponding PLL at the time of the read of Status 2 register. A '1' indicates the PLL is in lock, a '0' indicates that the PLL is not in lock. Buffer circuitry will prevent changes in the lock status being lost while this register is being read. When operating a special command the 'SPC command complete' bit will be set to '1' when a command has finished and any associated data can then be read out. The correct sequence to initiate a special command is to load any required data into the special data registers $1B to $1E then issue the special command by writing to the special command register $1A. Having issued a special command the host must not read or write to the special command or data registers ($1A to $1E) until it has completed. Reading register Status 2 will clear this bit to '0'. 'Aux ADC conversion complete' bit will be set to '1' when all enabled ADC channels have been converted. This bit will not be set if continuous conversion is selected, the host may read the latest conversion for each channel as required. Reading register Status 2 will clear this bit to '0'. During Rx mode the CMX990 continuously compares the local reference clock frequency against the received RF signal frequency. If these 2 frequencies deviate by more than the limit set by the host, the frequency offset error bit will be set to '1'. This bit will be cleared to '0' by reading register Status 2. By default the error limit is set so that this bit never gets set. This default value can be changed by issuing a special command to the CMX990 (see section 5.2.4). 'IQ offset complete' bit will be set to '1' when the sequence to estimate the IQ offsets of the receive channel has completed. During the offset acquisition sequence the received signal will be unreliable. 2004 CML Microsystems Plc 47 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.2.5 CMX990 Write Only Registers Data Buffer $00 7 Bit: Write 6 5 4 3 2 1 0 3 2 1 0 1 0 Tx Data Command Register $01 Write 7 6 5 4 Acquire Bit Clock Acquire I Q Offset Acquire AFC Enable packet detect Bit: Control Register $02 7 Bit: Write 6 5 AGC Control 4 3 $03 Write 6 5 4 3 2 1 0 IRQ Enable INVBit TxRxN SCREn En PLL Lock IRQ Enable DQ IRQ Enable Main ADC Enable Main DAC Power Up 1 Bit: $04 Write 7 6 5 4 3 2 1 0 Enable Clock Enable Baseband V Reg OP1 OP2 Rx IF Rx RF1 Rx RF2 Tx RFIF $05 Write Power Up 2 Bit: 7 6 5 4 3 2 1 0 AUX DAC3 AUX DAC2 AUX DAC1 AUX DAC0 RESET LNA ON (External) Preserve Registers Vbias 7 6 5 4 3 2 0 0 0 0 0 0 7 6 5 4 3 2 0 0 0 0 0 0 7 6 5 4 3 2 0 0 0 0 0 0 7 6 5 4 3 2 0 0 0 0 0 0 Aux DAC 0 7 $08-09 Write 6 5 4 3 2 1 0 MSB Aux DAC 1 7 6 5 Aux DAC 2 7 4 3 2 1 0 6 5 Aux DAC 3 7 0 LSB 1 0 LSB $0C-0D Write 4 3 2 1 0 MSB Bit: 1 $0A-0B Write MSB Bit: PLL Control 7 Bit: Bit: 2 Frequency Tracking Control IQ Offset Control Mode Register Bit: Task Control 1 0 LSB $0E-0F Write 6 5 4 3 2 1 0 MSB 2004 CML Microsystems Plc 48 1 0 LSB D/990/1 GMSK Packet Data Modem and RF Transceiver RamDac control Bit: $10 7 6 Inc Aux RAM address En Aux RAM access Aux Control1 $11 Bit: 5 4 3 RAM DAC scan rate [0-7 = /1024 to /8] En auto cycle En RAM DAC 3 2 1 0 0 0 Enable ADC 5 Enable ADC 4 Enable ADC 3 Enable ADC 2 Enable ADC 1 Enable ADC 0 5 4 3 2 1 0 0 Conversion rate Enable cont conversion Start conversion Write 7 6 DAC RAM Polarity Reset DAC RAMs 7 0 0 $14-15 Write 6 5 4 3 2 1 0 7 6 7 5 4 3 2 $18 6 5 4 3 2 0 0 0 0 0 0 7 6 5 4 3 2 0 0 0 0 0 0 1 0 LSB 1 0 6 Analogue Setup 2 7 $19 6 5 $1A 6 0 LSB 4 3 2 1 0 Coarse Rx I offset, '10000' = Mid value '00000' = Max -ve offset, '11111' = Max +ve offset Write 5 Set Rx AGC: '11' = +40, '10' = +25 '01' = +10, '00' = -5dB Special Command 1 Write Set Tx attenuation: '11' = 10dB, '10' = 15 '01' = 25, '00' = 35 7 7 $16-17 Write Analogue Setup 1 Bit: Scan direction 4 MSB Bit: 0 5 AuxRamData2 Bit: 1 6 MSB Bit: 2 7 AuxRamData1 Bit: Write Write Aux Control2 $12 Bit: CMX990 4 3 2 1 0 Coarse Rx Q offset, '10000' = Mid value '00000' = Max -ve offset, '11111' = Max +ve offset Write 5 4 3 2 1 0 Special Command 2004 CML Microsystems Plc 49 D/990/1 GMSK Packet Data Modem and RF Transceiver Special Data0 Bit: 7 CMX990 $1D-1E 6 5 4 Read and Write 3 2 1 0 7 6 5 4 MSB Data Special Data1 Bit: 7 5 4 Bit: 7 6 5 3 2 1 0 7 6 5 4 6 5 4 Sign 0 0 0 7 2 1 7 6 0 2 1 0 1 0 7 6 5 4 3 2 1 0 LSB Write 0 7 6 5 4 3 2 1 0 7 6 5 4 NSB 3 2 1 0 LSB $25-26 Write 5 4 3 Tx IF Filter TX IF DIV 2 MSB Aux PLL N divider Bit: 3 MSB 3 6 Aux PLL Enable 4 $22-23-24 Aux PLL M divider Bit: 3 LSB Data 0 Main PLL N divider 7 0 $20-21 Write Main PLL Tx LO Enable DIV Bit: 1 Read and Write MSB Data Main PLL M divider 2 LSB Data $1B-1C 6 3 2 1 0 7 6 5 4 MSB 3 2 1 0 LSB $27-28 Write 5 2004 CML Microsystems Plc 4 3 2 1 0 7 MSB 6 5 4 3 2 1 0 LSB 50 D/990/1 GMSK Packet Data Modem and RF Transceiver Special Command (SPC) Bit: 7 $1A 6 CMX990 Write 5 4 3 2 1 0 Special Command The 8 bit value written to this register instructs the modem to perform special tasks such as loading coefficients or reading receive values. When executing a special task that requires input data, the data should be loaded into the Special Data0/1 registers before writing the special command. When the special command has completed the 'SPC command complete' bit will be set to '1' and the host can read out any reply data from the Special Data0/1 registers. Note: When the internal circuits read this register as a non zero value they will attempt to complete the task when there is a gap in processing. Function Cmd No. (Hex) Input Data Data 1 Data 0 $1B $1C $1D $1E address - Returned Data Data1 Data 0 $1B $1C $1D $1E - Null Set address Set tx filter Set rx channel filter Set rx gauss 00 01 09 0A 0B - - - - Poke(addr) Peek(addr) Branch Enter setup 0C 0D 0E 11 data - address address address - - *address - Enter setup and wait Exit setup Exit setup and initialise User channel filter Set BT = 0.3 12 - - - - 13 14 - - - - 15 - - - - 1A - - - - 1B 1C 18 - Limit Offset - - - - Set BT = 0.5 Set AFC limit Set Decode Threshold - Notes No command - do nothing address1 = address address1 = tx filter address address1 = rx channel filter address address1 = rx gauss filter address *address=data Branches to address Enters setup (debug code only) Enters setup (debug code only) synced to sample clk Returns to tx/rx Returns to tx/rx & initialises Loads rx channel filter from data at address1 Tx and Rx with BT = 0.3 (Default setting) Tx and Rx with BT = 0.5 Set data decode threshold level. Default = 2400 Notes: *address = data in memory pointed to by 'address'. 2004 CML Microsystems Plc 51 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.2.6 CMX990 Read Only Registers Data Buffer Bit: $00 7 Read 6 5 4 3 2 1 0 3 2 1 0 Rx Data Status1 $01 Bit: 7 Read 6 IRQ 5 BFREE IBEMPTY Data Quality Register $02 Bit: 7 4 DIBOVF CRCFEC DQRDY MoBaN Packet Detect 4 3 2 1 0 Read 6 5 Data Quality Reading (0-255) Status2 $03 Bit: 7 6 PLL Lock lost 5 Main PLL in lock Frequency Offset Bit: Read Aux PLL in lock $04 7 4 3 2 1 0 Tx PLL in lock SPC command complete Aux ADC conversion complete Freq offset error IQ offset complete 4 3 2 1 0 Read 6 5 Rx measured RF frequency offset (-64 to 63) Good Data The 2's complement number read from bits 7 to 1 represents the estimate of the frequency error between the transmitter and receiver carriers and is equivalent to 16Hz per bit, this value is only valid if bit 0 = '1'. If bit 0 = '0' the RF frequency offset will not be computed and bits 7 to 1 will hold the last value calculated. Signal Strength Bit: $05 7 Read 6 5 4 3 2 1 0 Rx measured signal strength RSSI (0-255) The value read from this register represents the latest estimate of the RSSI as the number of dB above a level of -150 dB (to be confirmed). Aux ADC 0 Bit: 7 $08-09 Read 6 5 4 3 2 1 0 MSB Aux ADC 1 Bit: 7 6 5 Aux ADC 2 7 6 5 4 3 2 X X X X X X 7 6 5 4 3 2 X X X X X X 7 6 5 4 3 2 X X X X X X 1 0 LSB $0A-0B Read 4 3 2 1 0 MSB Bit: 7 1 0 LSB $0C-0D Read 6 5 4 3 2 1 0 MSB 2004 CML Microsystems Plc 52 1 0 LSB D/990/1 GMSK Packet Data Modem and RF Transceiver Aux ADC 3 Bit: CMX990 $0E-0F Read 7 6 5 4 3 2 1 0 MSB Aux ADC 4 Bit: 7 6 5 4 Aux ADC 5 3 2 1 0 5 4 3 2 X X X X X X 7 6 5 4 3 2 X X X X X X 7 6 5 4 3 2 X X X X X X 1 0 LSB 1 0 LSB $12-13 Read 7 6 5 4 3 2 1 0 MSB Analogue Setup 1 Bit: 6 $10-11 Read MSB Bit: 7 $18 7 6 X Channel filter overflow 1 0 LSB Read 5 4 3 2 1 0 Coarse Rx I offset, '10000' = Mid value '00000' = Max -ve offset, '11111' = Max +ve offset Bit 6 is set to '1' when the receive channel filters have a numerical overflow. This bit is reset to '0' after this register is read. This bit does not generate an interrupt and is intended for test purposes only for evaluating custom receive filter coefficients. Bits 5 to 0 indicate the current coarse offset correction in the receive I path. Analogue Setup 2 Bit: 7 $19 6 AGC setting 0-3 Read 5 4 3 2 1 0 Coarse Rx Q offset, '10000' = Mid value '00000' = Max -ve offset, '11111' = Max +ve offset Bits 7 to 6 indicate the current gain setting of the AGC circuit. Bits 5 to 0 indicate the current coarse offset correction in the receive Q path. 2004 CML Microsystems Plc 53 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.3 5.3.1 CMX990 Auxiliary DAC and ADC Aux DAC 0-3 $08-0F Auxiliary DAC Data Registers (Write only) $08-09 $0A-0B $0C-0D $0E-0F Aux DAC 0 Aux DAC 1 Aux DAC 2 Aux DAC 3 Auxiliary DAC 0 Data Register Auxiliary DAC 1 Data Register Auxiliary DAC 2 Data Register Auxiliary DAC 3 Data Register LSB - MSB LSB - MSB LSB - MSB LSB - MSB $08, $0A, $0C, $0E Bit 7 6 5 4 3 2 0 0 0 0 0 0 6 5 4 3 2 1 0 DAC Data [1:0] $09, $0B, $0D, $0F Bit 7 1 0 DAC Data [9:2] There are two input registers for each of the four auxiliary DACs. Writing to the LSB register writes the two least significant bits of DAC data. Writing to the MSB register writes the eight most significant bits of DAC data and then passes all ten bits to the appropriate DAC input. If the MSB register is written while the LSB register is left constant, the converter may be treated as an 8-bit DAC. 5.3.2 Bit: RamDac Control 7 6 Inc Aux RAM address En Aux RAM access $10 Auxiliary RAM DAC Control Register 5 4 3 RAM DAC scan rate [0-7 = /1024 to /8] 2 1 0 Scan direction En auto cycle En RAM DAC Setting bit 7 high will cause read operations to the auxiliary DAC RAM to increment the address pointer. Setting this bit low causes write operations to increment the address pointer. Bit 6 enables access to the auxiliary DAC RAM. Setting bit 6 low resets the RamDac address pointer. Bits 5 to 3 control the rate at which the RAM DAC address pointer changes: Bit 5 Bit 4 Bit 3 Rate of change 0 0 0 MCLK/1024 0 0 1 MCLK/512 0 1 0 MCLK/256 0 1 1 MCLK/128 1 0 0 MCLK/64 1 0 1 MCLK/32 1 1 0 MCLK/16 1 1 1 MCLK/8 Bit 2 controls the direction of the memory scan operation. Setting this bit high will cause the memory address pointer to increment to the top location, setting this bit low will cause the memory address pointer to decrement to the bottom location. If this bit is changed while the 2004 CML Microsystems Plc 54 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 memory is being scanned, the current scan will complete before the new state of this bit takes effect. When bit 1 is set high, the memory address pointer continuously increments to the top location and then decrements to the bottom location. Bit 0 controls whether DAC0 is driven by the RAM (when set high) or the Aux DAC 0 register (when set low). 5.3.3 AuxRamData1/2 $14-17 Auxiliary DAC Memory I/O Access Addresses $14 Bit 7 6 5 4 3 2 1 0 0 0 0 0 0 0 RAM data [1:0] 7 6 5 4 3 2 1 0 0 $15 Bit RAM data [9:2] $16 Bit 7 6 5 4 3 2 1 0 0 0 0 0 0 RAM data [1:0] 7 6 5 4 3 2 1 $17 Bit 0 RAM data [9:2] These four address locations allow access to the 64 x 10-bit RAM. The contents of this RAM can be pre-loaded with a table of values that can be automatically sent to the auxiliary DAC0 in either a single cycle or continuous mode. Therefore the RAM can be used in conjunction with DAC0 to enable user defined profile power ramping of an external RF power transmitter stage. The RAM contents are addressed incrementally by first setting bit 6 of RamDac Control register. While this bit is low, the RAM address pointer is held reset. The first two data words are written by writing to addresses $14 to $17 in order. Accessing location $17 post-increments the address pointer. Bit 7 of the RamDac Control register determines whether a read or write operation will increment the RAM address pointer. Further write operations to addresses $14 to $17, will load the next two locations. All locations are accessed incrementally; further accesses to this port while bit 7 of the RamDac Control register is active are not valid and may cause data loss. 2004 CML Microsystems Plc 55 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.3.4 Aux ADC 0-5 Data Registers $08-09 $0A-0B $0C-0D $0E-0F $10-11 $12-13 CMX990 $08-13 Aux ADC 0 Aux ADC 1 Aux ADC 2 Aux ADC 3 Aux ADC 4 Aux ADC 5 Read Auxiliary ADC 0 Data Register Auxiliary ADC 1 Data Register Auxiliary ADC 2 Data Register Auxiliary ADC 3 Data Register Auxiliary ADC 4 Data Register Auxiliary ADC 5 Data Register LSB - MSB LSB - MSB LSB - MSB LSB - MSB LSB - MSB LSB - MSB $08, $0A, $0C, $0E, $10, $12 Bit 7 6 5 4 3 2 X X X X X X 6 5 4 3 2 1 0 ADC Data [1:0] $09, $0B, $0D, $0F, $11, $13 Bit 7 1 0 ADC Data [9:2] These registers enable the user to inspect the conversion value for each of the six auxiliary ADCs. There are two read registers per ADC, one to obtain the two least significant bits of the data, the other for the eight most significant bits. Reading these registers does not affect the ADC conversion cycle. Reading the MSB register directly reads the ADC output and simultaneously causes the two bits in the LSB register to be written to a holding register. This holding register is read when the LSB register is read. This mechanism is necessary to allow the user to read MSB and LSB data from the same ADC conversion cycle. If only the MSB register is read, the converter can be considered as an 8-bit ADC. If a 10-bit conversion is required, the MSB register must be read first. 5.3.5 Bit: Aux Control1 $11 Write 7 6 5 4 3 2 1 0 0 0 Enable ADC 5 Enable ADC 4 Enable ADC 3 Enable ADC 2 Enable ADC 1 Enable ADC 0 This register controls which ADC channels are converted. These bits may be changed at any time, but will only update the active state of the ADC channel for the next time it is converted. 5.3.6 Bit: Aux Control2 $12 Write 7 6 5 4 3 2 1 0 DAC RAM Polarity Reset DAC RAMs 0 0 0 Conversion rate Enable cont conversion Start conversion If bit 6 is set to '1' the RAM associated with DAC 0 is reset, if bit 7 is high the RAM is reset to all 1's, if bit 7 is low the RAM is reset to all 0's. This feature can be used to avoid programming every RAM location when short ramp profiles are required. Bit 2 selects the conversion rate of the auxiliary ADC. If set low, the ADC will be clocked at MCLK/16, giving a conversion time of 176 MCLK periods per enabled channel. Setting this bit high halves the ADC clock rate and doubles the conversion time. Setting bit 1 high will cause each enabled ADC channels to be converted continuously. Setting bit 0 high will cause a single conversion of all enabled ADC channels. This bit is automatically set low when the ADC conversion has been completed. Note that this bit only has an effect when bit 1 is set low. 2004 CML Microsystems Plc 56 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.4 CMX990 Synthesiser Two integer-N synthesisers are provided, one as the main RF synthesiser (Main PLL), which provides the tuneable frequency to enable channel selection, and the other (Aux PLL) for the generation of lower frequency for mixing from IF to baseband. These two synthesisers are fully programmable, via the processor interface, to any frequency in the range 600 MHz to 2 GHz and 150 MHz to 250 MHz respectively. Both the synthesised frequencies are internally divided down. The main RF frequency is divided by two for use in the offset loop in the transmitter and also for the image reject mixer in the receiver. Note that, in order to obtain quadrature signals for the IR mixer, both the rising and falling edges of the VCO generated signal are used; it is important, therefore, that the VCO produce a waveform that is as close as possible to a mark to space ratio of one. The second synthesiser is optionally divided by 2 or 4 for the transmitter and divided by 4 for the receiver. Both synthesisers are phase locked loops (PLLs) and utilise external VCOs and loop filters. The phase noise of the VCOs should be adequate for the application with particular attention paid to the performance of the main VCO. It will be noted that as the CMX990 includes an internal divide-by-two in the LO path the PLL phase noise will be improved by approximately 6dB. The loop filters will need to be designed as required based on switching bandwidths, VCO gain etc. The CMX990 phase detectors are of the phase-frequency type with a high impedance charge pump output requiring just passive components in the loop filter. As a result standard design equations for a type II PLL can be used to select loop filter components. Lock detect functions are built in to each synthesiser and the status reported to the host processor. In particular, a transition to out-of-lock can be detected and communicated via an interrupt to the processor if required; this can be important to ensure that the transmitter cannot falsely transmit into other bands in the event of a fault condition arising. The minimum step size is also programmable by setting the reference division ratio; to minimise the effects of phase noise this should be kept as high as possible, particularly on the main RF synthesiser. For Mobitex, the maximum this can be set to is 25 kHz as this is governed by the 12.5 kHz channel spacing and the subsequent divide-by-2 of the generated frequency. Note that if it is required to select a frequency that is 6.25 kHz offset from a convenient division of the main frequency (although still with 12.5 kHz channel spacings), it is better to keep the step size at 25 kHz but slightly offset the reference oscillator. In this way the phase noise and lock time performance will not be compromised. Each synthesiser is set up using two registers, an ‘N’ register that sets the division value of the input reference frequency to the comparison frequency (step size), and an ‘M’ register that sets the division of the required synthesised frequency from the external VCO to the comparison frequency. In the main PLL the VCO frequency is pre-scaled by 2 prior to being divided by N there therefore there is a factor of 2 in the formula that yields a required synthesised frequency (Fs) such that: Fs = (2 x N / M) x FREF where FREF is the reference oscillator frequency For the aux PLL the formula is: Fs = ( N / M ) x FREF 2004 CML Microsystems Plc 57 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Main and Aux PLL Input The main and aux PLL circuits have control registers as listed below. Writing to the least significant 8 bits will trigger the circuit to update the dividers with the new multi byte value. Whenever the enable bit is low the divider circuit will be in the inactive 'zero power' (ZP) mode. To enter normal operation from ZP mode the MSB (including the enable bit) is written, the LSB would be written last, this would simultaneously enable the PLL and load the divider ratio - lock may take longer when exiting ZP mode. To enter ZP mode only the MSB need be written, double buffering will not be used for this control line - a simple SET / RESET latch will store the 'Enable' value, SET from the output of the 2nd buffer, RESET from the inverted output of the 1st buffer. The main and aux PLL will control their outputs to the required quiescent value when shutting down. Output One buffered digital output line from each PLL will indicate when the relevant PLL is in lock, this output is not synchronised. '1' = PLL enabled and in lock, '0' = all other conditions (including disabled ZP state). These lock outputs are terminated the status register in the host interface block and can optionally cause an external interrupt to occur. See section 5.2.3 for a description of interrupt operation. Main PLL M divider Bit: 7 $20-21 Write 6 5 Main PLL Tx LO Enable DIV 4 3 2 0 1 0 7 6 5 4 MSB 3 2 1 0 LSB The 'Tx LO DIV' bit controls a divide by 2 stage in the Tx LO clock path, '1' = divide by 1, '0' = divide by 2. Main PLL N divider Bit: 7 6 5 4 Sign 0 0 0 $22-23-24 3 2 1 Write 0 7 6 5 MSB 4 3 2 1 0 7 6 5 4 NSB 3 2 1 0 LSB The 'Sign' bit controls the polarity of the Rx IF summer, a '0' = summation, '1' = subtraction. Aux PLL M divider Bit: 7 $25-26 Write 6 Aux PLL Enable 5 4 3 Tx IF Filter 2 Bit: 7 6 Tx IF DIV 0 0 7 6 5 4 MSB The 'Tx IF Filter' bits control the Tx IF filter frequency: Aux PLL N divider 1 3 2 1 0 LSB Bit 6 0 0 1 1 Bit 5 0 1 0 1 Tx IF filter setting 90 MHz 80 MHz 45 MHz 40 MHz $27-28 Write 5 4 3 2 1 0 7 MSB 6 5 4 3 2 1 0 LSB The 'Tx IF DIV' bit controls a divide by 2 stage in the Tx IF clock path, '0' = divide by 1, '1' = divide by 2. Sign, Tx IF DIV and Tx IF Filter control: To activate the above control bits the required value must be written to the MSB register followed by a write to the LSB of the relevant divider. 2004 CML Microsystems Plc 58 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.5 CMX990 RF and IF This comprises the transmitter and receiver parts which, being half duplex, are only operated mutually exclusively. Normally the non-utilised part will be powered down when not in use. For single antenna operation an external transmit/receive (T/R) switch is required. The CMX990 is designed as a broadband RF system. The RF section can support transmission and reception between 400MHz and 1GHz. As with any RF system care is required with frequency planning to minimise component count, avoid spurious responses etc. Examples of typical frequency planning are shown in section 5.5.2. The transmitter takes the baseband I and Q signals from the modem and up-converts them via a quadrature modulator to a suitable Intermediate Frequency (IF). The summed output from this mixer will be an FM representation of the required transmit signal but at a lower frequency than that required. An offset PLL is then used to control an external VCO. The output of the VCO is sampled, usually after amplification, and mixed down to the IF value; this mixed down signal is then phase/frequency compared with the IF from the quadrature modulator. The output of the phase comparator is fed to an external loop filter, which controls the VCO thereby closing the loop. The VCO output then will be an FM signal at the required RF frequency having a low out-of-band spurious typical of VCO driven transmitters whilst guaranteeing a modulation index of exactly 0.5. The output of the VCO requires amplifying with an external PA (Power Amplifier). The receiver requires use of an external LNA with some pre-filtering and an external balun. The differential output from the balun goes into an image reject down-mixer to a suitable IF (typically 45 MHz). The IF is filtered with an external filter to remove spurious signals and then goes into an AGC with a gain control range of 45dB. The output of the AGC is then mixed down to I and Q signals at baseband via a quadrature mixers. The I and Q signals are then amplified and filtered to remove any signals that may alias with the subsequent A-D sampling. The amplifier also has a coarse offset removal system to allow the approximate nulling of DC offsets developed in the circuits that may restrict the dynamic range in the subsequent processing. 5.5.1 Receiver Section It is expected that the signal from the T/R switch will be amplified via an external LNA. The use and positioning of an image reject filtering is up to the radio designer. As a guide, the Mobitex specification requires a minimum of 45dB of first image rejection of which at least 25dB will be provided by the on-chip image reject mixer stage. The design is optimised with an LNA gain of about 15dB. It has been assumed that there is some insertion loss prior to the LNA; but an overall noise figure of 4dB and gain of 10dB (appox.) is achieved by the circuits preceding the CMX990. A digital control is available from the chip to enable/disable the LNA. A balun must be used to produce a reasonably well-balanced differential signal to the first mixer on the chip. The Image Reject Mixer down-converts the signal to 45 MHz, although this frequency may be changed for use in regions where there may be conflicts with local transmissions. The resulting IF is then output from the chip as a single ended signal for filtering. It is expected that a relatively low cost crystal filter can be used to remove spurious signals some distance from the carrier. This is essential to meet the blocking performance required by the Mobitex specification. For detail filter requirements see Table 2. The IF-signal from the filter is then taken back on chip to an AGC. This AGC is adjustable in steps of 15dB from -5dB to +40dB. This can be adjusted automatically, if enabled, by the chip or may be controlled by instruction from the host processor. The output from the AGC is then mixed down to baseband, by a quadrature mixer stage, to produce I and Q signals. These are then filtered, to remove unwanted mixer products, spurii and remaining blocking signals and at the same time amplified to a suitable level for subsequent A-D conversion. The filters also precondition the signal to prevent aliasing with the A-D sample frequency. Channel filtering is provided digitally in the baseband processing section. 2004 CML Microsystems Plc 59 D/990/1 GMSK Packet Data Modem and RF Transceiver 5.5.2 CMX990 Transmitter Section I and Q signals, which are baseband representations of the required FM signal, are up-converted with a quadrature modulator stage to a suitable value. The summed output from this stage has the required modulation index but at a lower frequency (TXIF) than that required for transmission. An Offset Phase Locked Loop is used to translate this modulated frequency to the appropriate carrier frequency. The forward power signal is an attenuated version of the transmitted signal. This is taken on chip and further attenuated (if necessary) before being down-mixed with the main LO signal to a frequency nominally the same as the TXIF value. The resulting signal is taken off chip and low-pass filtered to remove unwanted mixer products, then passed back on to the chip. A high gain limiting amplifier is then used to enable the loop to have a high dynamic range and to lock-in even when the transmitted signal is very small and just starting to ramp up. The output of the limiting amplifier is then phase/frequency compared with the TXIF signal, the charge pump output being passed off chip into a suitable loop filter. The filtered output controls a VCO with its nominal frequency set to the middle of the required transmission band. Setting the loop filter appropriately allows the loop to follow the frequency modulations so as to give an exact modulation index of 0.5 whilst having the low spurii in transmission typical of a VCO based system. The output of the VCO needs to be amplified appropriately with a Power Amplifier. A special feature of one of the Auxiliary D-A converters may be used to control the ramping of the power amplifier optimally should this be required. This feature is explained in the auxiliary section. The Auxiliary A-D section can also be used for sensing the forward and reverse power values, and the PA temperature should these features be required. Rx band (MHz) Bottom Top 935 864 850 426.6 423.9 440 450 453.1 415.7 421 419.5 427 941 870 864 429.5 426.6 440.6 453 453.4 418 423.9 420.5 427.5 Tx band (MHz) Bottom Top 896 819 814 416.6 413.9 425.5 460 459.6 406.2 411 412.5 419 902 825 819 419.5 416.6 426.1 463 459.9 408.5 413.9 413.5 419.5 Rx IF Rx Hi/ Rx LO (MHz) (MHz) Lo bit Bottom Top 45 45 45 45 45 45 45 45 45 45 45 45 High High High Low Low Low High High Low Low Low Low 1960 1818 1790 763.2 757.8 790 990 996.2 741.4 752 749 764 1972 1830 1818 769 763.2 791.2 996 996.8 746 757.8 751 765 Tx IF (MHz) 84 90 81-90 40 40 40 40 40 40 40 40 40 IF Div Tx LO (MHz) Setng Bottom Top /2 /2 /2 /4 /4 /4 /4 /4 /4 /4 /4 /4 1960 1818 1790 753.2 747.8 771 1000 999.2 732.4 742 745 758 LO Range (MHz) 1972 1830 1818 759 753.2 772.2 1006 999.8 737 747.8 747 759 12 12 28 15.8 15.4 20.2 16 3.6 13.6 15.8 6 7 Table 1 – Possible Frequency Plan for CMX990 in common Mobitex Frequency bands 5.5.3 Alternative Receiver Architecture 2004 CML Microsystems Plc 60 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 In circumstances where it is required to have a higher performance regarding intermodulation products (for instance to meet ETS 300 113) or to save some current that results from the use of an image reject mixer, it is possible to bypass the receiver front end completely and power these down. In this case the front end functions can be carried out using external components. The transmit mixer divide by two function should be disabled in this case and the VCO would operate at half the frequency. Figure 21 Simplified Block Diagram of CMX990 Showing Example Frequency Plan for 864-870MHz (Rx) / 819-825MHz (Tx) band 2004 CML Microsystems Plc 61 D/990/1 GMSK Packet Data Modem and RF Transceiver 6. Application Notes 6.1 General CMX990 The CMX990 chip is a modem and RF system designed for wireless data modem applications. The chip addresses the needs of various data systems, both product standards and regulatory requirements, including: • • • Mobitex Interface Standard (MIS) European R&TTE ( based on EN 300 113) FCC Limits (47 CFR Parts 2 and 90) Details of techniques to meet these requirements can be found in following sections. 6.2 Transmitter The transmitter architecture is optimised for constant envelope phase/frequency modulation, typically GMSK or GFSK. The transmitter uses an offset phase locked loop (OPLL) to generate the transmitted signal. This has the advantage of very low spurious output minimising the need for spurious filtering reducing the overall cost of the radio and maximising power efficiency due to reduced losses. The OPLL works by generating the modulation on an intermediate frequency (IF). This can be set on the CMX990 by programming the IF PLL to an appropriate IF. Table 1 shows some possible choices for these values and an example is shown in Figure 21. The CMX990 provides either divide by 2 or divide by 4 from the programmed local oscillator frequency to aid IF selection. The modulation is generated using classic I/Q vector modulation to provide an accurate modulated waveform which can also be inverted to allow high side or low side offset mixing (see section 5.1.4.4). This modulated signal is used as one input to a phase detector. The output of the phase detector drives a VCO operating directly on the desired transmitter frequency, via a suitable loop filter. The VCO output can be fed directly to power amplifier stages. The output of the PA is sampled, a directional coupler is recommended although a simple sample of the PA output can be used. This is fed to a mixer which translates the output frequency to the same IF as the reference modulation. The mixer output should be filtered to remove harmonics which could cause false locking and degrade vector error and is then fed back to the second input of the phase detector via a limiter. The limiter is used to ensure optimum signal level for the phase detector and to remove any AM content in the envelope although this should be negligible. The limiter has a wide input range, this is useful during loop start up as the loop will start locking with very small signals such that by the time output power rises towards operating levels the loop is already locked and the VCO on the correct frequency. Output power can be controlled by the PA gain. This is typically done by applying a suitable ramp to the PA gate bias. This can be done either open loop or using a power detector and integrator to form a power levelling feedback loop. Details will depend on the PA device selected to work with the CMX990. The CMX990 provides a power ramping table on auxiliary DAC 1 to allow a suitable ramp profile to be applied. The auxiliary ADC can be used for a temperature sensor if software based ramping and output power compensation is used. Start up The timing of the turn-on of the transmitter needs careful control. Typical timings are shown in Figure 23. The first step is to program the IF and RF synthesisers to the correct frequencies for the desired transmitter channel. When time has been allowed for the PLL’s to lock the transmitter circuits (excluding the PA) should be enabled. Depending on the leakage through the PA the OPLL should start to lock up. The limiter has been designed to start to lock with a signal 81dB below the maximum operating power. For a +35dBm transmitter this is -46dBm or 10dB below the common spurious emissions limit of -36dBm. The loop should lock quickly and power ramping can start before the loop is fully locked. If leakage 2004 CML Microsystems Plc 62 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 levels through the PA are particularly low it may be necessary to provide a small amount of bias to increase leakage to start locking. Consider the following requirements from Mobitex MIS19: • • • The receive to transmit time requirement is 20ms. Frequency must be within 200Hz of the final frequency before the start of data transmission. The carrier must “on” between 5ms and 10ms prior to the start of data. The definition of carrier “on” is not very clear in the standard but if we assume 10ms is used for CPU processing and PLL locking, the transmitter power ramping could start at 10ms before data. The ramp could take 5ms to rise allowing a further 5ms for the frequency to obtain fine lock to within 200Hz. These times should be ample. Main PLL Program Aux PLL Program PLL Enable TX Enable OPLL Lock PA Output Control Figure 22 TX Timing Diagram (not to scale) Spurious Emissions The low level and small number of spurious emissions from the OPLL transmitter are a major advantage of the technique. The major source of spurious signals is the power amplifier harmonics. The level of these will be set by the selected PA and a harmonic filter must be provided to remove these. The only significant spurious signals generated by the OPLL transmitter is LO leakage from the offset mixer to the RF input port. The CMX990 mixer has been designed to have low local oscillator leakage meeting the typical requirements (e.g. -36dBm in Europe, -17dBm in USA). Modulation Spectrum The modulation of the CMX990 is produced digitally ensuring excellent accuracy and adjacent channel characteristics. The design meets EN 300 113 requirements in Europe and 47 CFR 2.1049 & 90.210 (J) applicable in the USA (Figure 23). 2004 CML Microsystems Plc 63 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 RBW 300 Hz Ref Lvl VBW 3 kHz 0 dBm SWT 2.8 s RF Att Unit 30 dB dBm 0 LIMIT CHECK A : PASSED -10 -20 -30 1MA -40 -50 fcc210j -60 -70 -80 -90 -100 Center 800.001496 MHz Date: 31.MAR.2004 5 kHz/ Span 50 kHz 14:22:00 Figure 23 Modulation from CMX990 with 47 CFR 90.210 (J) emission mask 6.3 Receiver The design of the CMX990 is such as to allow receiver requirements of the Mobitex standard to be met. In addition the receiver is also capable of meeting the requirement of standards such as EN 300 113 although in this case an external 1st mixer is required. Architecture Overview The receiver architecture is based on the classic superhetrodyne approach. The CMX990 provides the 1st mixer and IF stages with AGC followed by conversion to I/Q format baseband signals. These are then converted to digital signals in sigma-delta converters, which also provide adjacent channel filtering, before demodulation. st The first stage of the CMX990 receiver is a mixer intended to convert from RF to a 1 intermediate frequency (IF) of around 45MHz. The mixer is an image reject type thus minimising the external filters required before the mixer. The mixer would normally be preceded by input transmit/receive switch, low noise amplifier and a filter. A typical noise figure for these stages is around 4dB with a recommended gain of around 10dB. The noise figure of the mixers is very good for an image reject mixer (circa 13dB) minimising pre-gain required to achieve a reasonable overall noise figure. It will be noted that the mixer is a Gilbert cell type therefore requires a differential input. This can be achieved with a narrow-band LC circuit or a balun transformer. The image reject network is selectable to give high side or low side rejection depending on the frequency plan of RF and LO inputs. 2004 CML Microsystems Plc 64 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 The image reject 1st mixer has been optimised to provide a minimum cost solution. The CMX990 provides the option to bypass the 1st mixer to achieve a lower overall power consumption and/or better intermodulation performance using an external 1st mixer. Further details can be found below. Following the 1st mixer the signal is passed off chip. A single ended output stage is used to ease connection to IF filter components. The 1st IF can be in the range 44-46MHz with 45MHz being a typical choice. Filtering is required at this point to achieve the Mobitex requirements and more stringent filtering to meet EN 300 113. For Mobitex adjacent channel filtering can be met with digital filters at baseband, however the blocking signal test at 84dB puts severe demands on the dynamic range of the baseband sections so filtering at the IF is necessary. A 2-pole crystal filter is recommended. EN 300 113 has more severe adjacent channel requirements so adjacent channel selectivity at the 1st IF is recommended. A 4pole crystal filter should be satisfactory. A summary of filter requirements can be found in Table 2. A typical gain, noise figure and intermodulation partition is shown in Table 3 which assumes the filter performance specified in Table 2. Radio Modem Mode (2 Pole Filter Recommended) 10dB 15dB 25dB 25dB 40dB 3dB Typical Frequency Offset 12.5 kHz 25 kHz 50 kHz 100 kHz 1 MHz to 10 MHz Pass band (≥ ±3.5 kHz) EN 300 113 Mode (4 Pole Filter Recommended) 30dB 30dB 50dB 50dB 50dB 3dB Typical Note: Attenuation relative to the pass band (with the exception of the pass band specification) Table 2 IF Filter Requirements CMX990 Stages IF Filter AGC/iq Digital Filter LNA BPF 1st Mixer Stage specifications: Gain (dB) -1.0 NF (dB) 1.0 i/p IP (dBm) 40.0 i/p cp (dBm) 30.0 15.0 2.9 0.0 -15.0 -3.5 3.5 40.0 30.0 -4.01 13.0 6.5 -2.0 -4.5 4.5 40.0 30.0 63.0 8.1 -44.0 -54.0 0.0 0.0 99.0 99.0 0.0 0.0 99.0 99.0 Cumulative response: preGain (dB) 0.0 Cum NF (dB) 8.4 i/p Te (%) 4.4 Cum IP (dBm) -13.1 i/p IM (%) 0.0 -1.0 7.4 20.4 -14.1 0.2 14.0 20.5 0.8 0.9 0.0 10.5 17.0 28.9 -2.6 75.9 6.5 11.1 3.8 -3.5 0.0 3.5 8.1 41.6 -44.0 24.0 66.5 0.0 0.0 97.5 0.0 66.5 0.0 0.0 99.0 0.0 Switch Output Table 3 Typical Gain / Noise Figure / Intermodulation Partition for CMX990 The IF input stage goes into a gain controlled low noise amplifier stage. 45dB of AGC range is available in 15dB steps. The output of the IF amplifiers passes to I/Q mixers which are fed a by a divide by 4 circuit from the IF local oscillator. The mixers include DC offset compensation. Baseband amplifiers are then used to provide the correct input level to the ADC. The baseband amplifiers also include 55dB of rejection at the ADC image frequency of 1.92MHz. This combined with at least 40dB of external rejection from the IF filter provides adequate rejection to meet Mobitex requirements. The ADC are sigma delta types providing high dynamic range and adjacent channel rejection. Internal DC offset correction is provided to maximise the useable range. After the ADC demodulation is provided 1 Including loss of passive output matching 2004 CML Microsystems Plc 65 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 along with RSSI/AGC algorithms. RSSI is available from a register. AGC can be controlled automatically or manually. The baseband section also provides AFC measurement. Results are available to the host and can be used (via Aux DAC 1) to control an external reference oscillator. DC Calibration The signal levels in the receiver are small, typically only a few mV at sensitivity. For the demodulator algorithms to work correctly the DC offset must be reduced well below the level of the signal. To do this the CMX990 has two types of DC correction. Systematic DC offsets can be corrected by turning off the front end circuitry (Figure 24) and measuring the remaining signal then applying an appropriate correction. This process can be carried out automatically by the CMX990. An output control signal is provided from the chip to enable/disable the external LNA with appropriate timing. The result should correct the analogue signals prior to ADC stage to an error of less than 0.5mV. This maximises the dynamic range available from the ADC. The second element of DC offset correction is based on averaging the received signal. This is done as part of the demodulator section and the correction applied by adding/subtracting the measured DC offset to the received data samples. Figure 24 DC Offset Correction Scheme Rx Mixer Options The receive mixer in the CMX990 is a image reject type allowing a reduction in external filtering thus allowing a minimum cost solution. Certain radio modem products may require better intermodulation performance than can be achieved with the image reject architecture. In this case the an external mixer is recommended and to simplify external circuits the CMX990 incorporates a bypass switch for the transmit loop local oscillator divide-by-2. This allows the CMX990 transmit local oscillator to be re-used in an external mixer. A typical configuration is shown in figure 25. 2004 CML Microsystems Plc 66 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Figure 25 Block Diagram of CMX990 Showing use of External Receive Mixer Signal to Noise The performance of the receiver is based on the signal to noise performance of the demodulator. This has been shown to achieve the Mobitex error rate limit of 1 in 100 BER at 9dB C/N. Dynamic Range, RSSI and AGC The dynamic range of the receiver must be partitioned between various requirements. Key to this is the dynamic range of the ADC within IC that converts the I/Q signals into the digital domain. These converters have a dynamic range of at least 85dB. This must be partitioned between various factor such as filtering headroom, signal noise, quantisation noise margin etc. leaving an operating window. The proposed partition is shown in Figure 26. Other partitions are possible depending on adjacent channel requirements, external filtering, external gains etc. 2004 CML Microsystems Plc 67 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 The CMX990 has a built in AGC algorithm. Programmable gain has 4 steps of 15dB (i.e -5dB, +10dB, +25dB and +40dB). It is beneficial to allow as large an operating window as possible as the AGC has a certain amount of hysteresis allowing the signal to rise more than 15dB before the gain is backed off. The CMX990 measures the signal level in baseband. This information is used to control the AGC but is also available via the control interface. This information must be combined with the AGC setting to determine RSSI. Signal Processing The CMX990 includes the demodulation functions, these are implemented digitally. Algorithms are consistent with Mobitex mobile burst timing structure and requirements. The received waveform can be inverted to allow high side or low side mixing in the receiver (see section 5.1.4.4). It will be noted that when powered on the CMX990 needs to acquire base channel. The baseband has been optimised to achieve this while also giving minimum power consumption in normal operation (i.e. maximum sleep times). Figure 26 ADC Input Dynamic Range Partition 2004 CML Microsystems Plc 68 D/990/1 GMSK Packet Data Modem and RF Transceiver 6.4 CMX990 Variable Bt The CMX990 offers the ability to select the Bt factor in the transmit modulation. This allows characteristics to be optimised for a particular bit/rate channel bandwidth. Standard options of Bt = 0.3 and Bt = 0.5 are available. Figure 27, 28 and 29 show the effect of changing Bt. RBW VBW SWT Ref Lvl 5 dBm 200 Hz 2 kHz 4.2 s RF Att Unit 30 dB dBm 5 A 0 -10 -20 -30 1VIEW 2VIEW 1RM 2RM -40 -50 -60 -70 -80 -90 -95 Center 800.0016238 MHz 3.35 kHz/ Span 33.5 kHz Inner Trace is CMX990 with Bt = 0.3 Outer Trace is CMX990 with Bt = 0.5 Figure 27 Modulation spectrum of CMX990 at 8kbps with different Bt 2004 CML Microsystems Plc 69 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 CF 800.001624 MHz Meas Signal SR 8 kHz Eye [I] Demod 2FSK Ref Lvl 5 dBm 250m A REAL T1 -250m 0 SYMBOLS 8 Figure 28 CMX990 modulation eye diagram at 8kbps with Bt = 0.3 (Measurement filter Bt=1) CF 800.001624 MHz Meas Signal SR 8 kHz Eye [I] Demod 2FSK Ref Lvl 5 dBm 250m A REAL T1 -250m 0 SYMBOLS 8 Figure 29 CMX990 modulation eye diagram at 8kbps with Bt = 0.5 (Measurement filter Bt=1) 2004 CML Microsystems Plc 70 D/990/1 GMSK Packet Data Modem and RF Transceiver 7. Performance Specification 7.1 Electrical Performance CMX990 7.1.1 Absolute Maximum Ratings Exceeding these maximum ratings can result in damage to the device. Supply (VDDH - VSSH and VDDVCO - VSSH only) Supply (All other VDD - VSS) Voltage on any pin to VSSH Current into or out of any VDD or VSS pin Current into or out of any other pin Voltage between any 2 VSS pins Voltage between any 2 VDD pins (except VDDH) Q1 Package Total Allowable Power Dissipation at TAMB = 25 °C ... Derating above 70 °C Storage Temperature Operating Temperature Min. -0.3 -0.3 -0.3 -100 -20 -0.3 -0.3 Max. 4.0 3.0 VDD + 0.3 +100 +20 +0.3 +0.3 Unit V V V mA mA V V Min. – – -55 -40 Max. 1000 26.5 +125 +85 Unit mW mW/°C °C °C Min. 3.0 3.0 2.25 Max. 3.6 3.6 2.75 Units V V V 0 0 0 -40 3.8 ±0.2 ±0.2 ±50 +85 24 V V mV °C MHz 7.1.2 Operating Limits Correct operation of the device outside these limits is not implied. Notes Supply (VDDH - VSSH) Supply (VDDVCO - VSSH) Supply (All other VDD - VSSH) Voltage difference between supplies: VDDH to VDDVCO Between all other VDD All VSS to VSSH Operating Temperature Clock Frequency Notes: 1 1 Error in RF and IF frequencies and bit rate is directly related to the clock frequency. 2004 CML Microsystems Plc 71 D/990/1 GMSK Packet Data Modem and RF Transceiver 7.1.3 CMX990 Operating Characteristics Details in this section represent design target values and are not currently guaranteed. For the following conditions unless otherwise specified: Clock Frequency = 19.2MHz, Bit Rate = 8k bits/sec, Noise Bandwidth = Bit Rate, VDDH = VDDVCO = 3.0V to 3.6V, TAMB = -40°C to +85°C. DC Parameters IDD (powersaved) at VDDH = 3.3 V Tx IDD at VDDH = 3.3 V Rx IDD at VDDH = 3.3 V AC Parameters Clock Input 'High' pulse width 'Low' pulse width Signal amplitude Input impedance (at 19.2 MHz) µC Interface Input logic "1" level Input logic "0" level Input leakage current (Vin = 0 to VDDH) Input capacitance Output logic "1" level (lOH = 120 µA) Output logic "0" level (lOL = 360 µA) 'Off' state leakage current (Vout = VDDH) 2004 CML Microsystems Plc 72 Notes Min. Typ. Max. Unit 2 2 2 – – – 5.0 65 85 20 100 120 µA mA mA 3 3 20 20 0.5 TBD – – – – – – – – ns ns V p-p Ω 4, 5 4, 5 4, 5 4, 5 5 5, 6 6 80% – -5.0 – 90% – – – – – 10 – – – – 20% +5.0 – – 10% 10 VDDH VDDH µA pF VDDH VDDH µA D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Notes Min. Typ. Max. Unit 400 700 44 – TBD TBD – – – – – 45 0.5 +13 30 TBD 600 4.9 950 2000 46 – – – – – – MHz MHz MHz dB dBm dB Ω Ω nV/√Hz 44 – – – – – – – 10 55 TBD 176 45 TBD 650 8 63 18 15 ±1.5 – – 30 180 Digital 46 – – – – – – – – – – 184 MHz dBm Ω dB dB dB dB dB dB dB dB MHz 400 700 40 TBD – – – – – TBD 950 2000 90 TBD – MHz MHz MHz dBm dB 9 9 40 – – – -35 -91 90 – – – -10 -10 12 160 – 3.8 14 ±1.0 – – high – MHz deg deg mA dBm dBm Ω MHz AC Parameters Rx 1st Mixer Input frequency range Local oscillator frequency range IF output frequency Gain Input third order intercept point Image rejection Input impedance Output load Output noise voltage 8 7 Rx IF Stages Input frequency range Input third order intercept (Max Gain) Input impedance Noise figure Maximum gain (Max AGC) Minimum gain (Min AGC) AGC step size AGC step size accuracy Selectivity at ±1 to 10 MHz Selectivity at ±1.92 MHz (ADC Alias) I/Q image rejection Local oscillator range RSSI output 13 Tx Offset Mixer Input frequency range Local oscillator frequency range IF output frequency Input level Conversion gain 8 Tx Limiter/Modulator/Phase Detector Input frequency range Combined rms phase error Combined peak phase error Charge pump output current Normal input level Total limiting range Input Impedance IF input frequency 2004 CML Microsystems Plc 73 180 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 Notes Auxiliary ADC Resolution Input range Auxiliary DAC Resolution Output range 14 15 Phase Locked Loop Reference Input Frequency Level Divide ratios Main RF Synthesizer Comparison frequency Input frequency range Input level Divide ratios Charge pump current Normalised SSB phase noise Aux IF Synthesizer Comparison frequency Input frequency range Input level Divide ratios Charge pump current Normalised SSB phase noise Notes: 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 10 11 Min. Typ. Max. Unit – TBD 10 – – TBD bits V – TBD 10 – – TBD bits V TBD 0.5 1 19.2 – – TBD – 8192 MHz Vp-p – 600 -10 48000 – – – – – – ±2.5 152 500 2000 -20 1048576 – – kHz MHz dBm – 150 -10 250 – – 100 – – – ±2.5 TBD 600 250 -20 16384 – – mA dBc/Hz kHz MHz dBm mA dBc/Hz Not including any current drawn from the device pins by external circuitry. Timing for the external input to the CLOCK pin. WRN, RDN, CSN, A0 - A5 pins. D0 - D7 pins. IRQN pin. Gain shown is for a matched 50Ω source, however the input is high impedance and a transformer or equivalent voltage step-up circuits can be used to achieve a higher gain figure. If such arrangements are used input third order intercept point will be degraded. A divide by 2 is provided within the IC. Normal input level is the range over which phase error performance is specified. The total limiting range is an extended range, the lower end of which is intended to allow the Tx loop to “lock up” during power up. Sine wave or clipped sine wave. Separate dividers provided for RF and IF PLL’s TX LO chain has selectable divide by 2 or divide by 4. IC contains divide by 4. Aux ADC 2 and 3 have uncommitted op-amps on the input. Aux DAC 0 provides a power ramp for the PA passed on a user-programmable ramp table. Aux DAC 1 should be connected to VCXO (or VCTCXO) for AFC control. 2004 CML Microsystems Plc 74 D/990/1 GMSK Packet Data Modem and RF Transceiver 7.1.3 CMX990 Operating Characteristics (continued) Timing Diagrams Figure 30 µC Parallel Interface Timings 2004 CML Microsystems Plc 75 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 For the following conditions unless otherwise specified: Clock Frequency = 19.2MHz, VDDH = 3.0V to 3.6V, TAMB = -40°C to +85°C. Notes Min. Typ. Parallel Interface Timings (ref. Figure 24) Max. Unit – tACSL Address valid to CSN low time 0 – – ns tAH Address hold time 10 – – ns tCSH CSN hold time 0 – – ns tCSHI CSN high time 6 – – clock cycles tCSRWL CSN to WRN or RDN low time 0 – – ns tDHR Read data hold time 0 – – ns tDHW Write data hold time 0 – – ns tDSW Write data setup time 90 – – ns tRHCSL RDN high to CSN low time (write) 0 – – ns tRACL Read access time from CSN low 18 – – 175 ns tRARL Read access time from RDN low 18 – – 145 ns tRL RDN low time 200 – – ns tRX RDN high to D0-D7 3-state time – – 50 ns tWHCSL WRN high to CSN low time (read) 0 – – ns tWL WRN low time 200 – – ns Notes: 18. With 30pF max to VSS on D0 - D7 pins. Data valid at greater of: tRARL + tCSRWL or tRACL. TBD Figure 31 Typical Bit Error Rate 2004 CML Microsystems Plc 76 D/990/1 GMSK Packet Data Modem and RF Transceiver 7.2 CMX990 Packaging Note: The underside of the Q1 package is conductive and should be electrically connected to the analogue ground. The circuit board should be designed so that no unwanted short circuits can occur. Figure 32 Q1 Mechanical Outline: Order as part no. CMX990Q1 2004 CML Microsystems Plc 77 D/990/1 GMSK Packet Data Modem and RF Transceiver CMX990 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. www.cmlmicro.com For FAQs see: www.cmlmicro.com/products/faqs/ For a full data sheet listing see: www.cmlmicro.com/products/datasheets/download.htm For detailed application notes: www.cmlmicro.com/products/applications/ Oval Park, Langford, Maldon, Essex, CM9 6WG - England. 4800 Bethania Station Road, Winston-Salem, NC 27105 - USA. No 2 Kallang Pudding Road, #09 - 05/06 Mactech Industrial Building, Singapore 349307 No. 218, Tian Mu Road West, Tower 1, Unit 1008, Shanghai Kerry Everbright City, Zhabei, Shanghai 200070, China. Tel: +44 (0)1621 875500 Tel: +65 6745 0426 Fax: +44 (0)1621 875600 Tel: +1 336 744 5050, 800 638 5577 Fax: +1 336 744 5054 Fax: +65 6745 2917 Tel: +86 21 6317 4107 +86 21 6317 8916 Fax: +86 21 6317 0243 Sales: [email protected] Sales: [email protected] Sales: [email protected] Sales: [email protected] Technical Support: [email protected] Technical Support: [email protected] Technical Support: [email protected] Technical Support: [email protected]