Part Number Hot Search : 
A2918SW TL172C TL172C 8318HL MBTSC KK4069UB EPA3418 00001
Product Description
Full Text Search
 

To Download FX929B Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  cml semiconductor products 4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited advance information d/929b/1 may 1997 features applications 4800 to 19200 b/s operation rcr std-47 and rd-lap* systems full packet data framing two-way paging equipment 4-level fsk data modulation mobile data systems low power, 2.5ma at 3.3v wireless telemetry flexible operating modes datatac terminals powersave option portable wireless data equipment *radio data-link access procedure (rd-lap) is a data communications air interface protoco l developed by motorola inc. 1.1 brief description the FX929B is a cmos integrated circuit that contains all of the baseband signal processing and medium access control (mac) protocol functions required for a high performance 4-level fsk wireless packet data modem. it interfaces with the modem host processor and the radio modulation/demodulation circuits to deliver reliable two-way transfer of the application data over the wireless link. the FX929B is backwards compatible with the fx929a but offers better performance during radio link fading and selectable tx symbol shapes. the FX929B assembles application data received from the processor, adds forward error correction (fec) and error detection (crc) information and interleaves the result for burst-error protection. after adding symbol and frame synchronisation codewords, it converts the packet into a filtered 4-level analogue baseband signal for modulating the radio transmitter. in receive mode, the FX929B performs the reverse function using the analogue baseband signals from the receiver discriminator. after error correction and removal of the packet overhead, the recovered application data is supplied to the processor. any residual uncorrected errors in the data will be flagged. a readout of the snr value during receipt of a packet is also provided. the FX929B uses data block sizes and fec/crc algorithms compatible with the rd-lap and rcr std -47 over-air standards. the device is programmable to operate at most standard bit-rates from a wide choice of xtal/clock frequencies. d2 d5 p4
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 2 d/929b/1 contents section page 1.1 brief description ................................ ................................ ......................... 1 1.2 block diagram ................................ ................................ ............................ 3 1.3 signal list ................................ ................................ ................................ ... 4 1.4 external components ................................ ................................ ................. 6 1.5 general description ................................ ................................ ................... 7 1.5.1 description of blocks ................................ ................................ . 7 1.5.2 modem - c interaction ................................ ............................ 10 1.5.3 binary to symbol translation ................................ ................... 11 1.5.4 frame structure ................................ ................................ ........ 12 1.5.5 the programmer's view ................................ ............................ 13 1.5.5.1 data block buffer ................................ ................................ ..... 13 1.5.5.2 command register ................................ ................................ .. 14 1.5.5.3 control register ................................ ................................ ....... 22 1.5.5.4 mode register ................................ ................................ .......... 24 1.5.5.5 status register ................................ ................................ ......... 25 1.5.5.6 data quality register ................................ ............................... 27 1.5.6 crc, fec, and interleaving ................................ ...................... 28 1.5.7 transmitted symbol shape ................................ ...................... 29 1.6 application notes ................................ ................................ ..................... 31 1.6.1 transmit frame examples ................................ ........................ 31 1.6.2 receive frame examples ................................ .......................... 34 1.6.3 clock extraction & level measurement systems .................... 37 1.6.4 ac coupling ................................ ................................ .............. 38 1.6.5 radio performance ................................ ................................ ... 40 1.6.6 received signal quality monitor ................................ .............. 41 1.7 performance specification ................................ ................................ ....... 42 1.7.1 electrical performance ................................ .............................. 42 1.7.2 packaging ................................ ................................ .................. 46 note: as this product is still in development, it is likely that a number of changes and additions will be made to this specification. items marked tbd or left blank will be included in later issues.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 3 d/929b/1 1.2 block diagram figure 1 block diagram
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 4 d/929b/1 1.3 signal list package p4/d2/d5 signal description pin no. name type 1 irqn o/p a 'wire- orable' output for connection to the host m c's interrupt request input. this output has a low impedance pull down to v ss when active and is high impedance when inactive. 2 d7 bi ) 3 d6 bi ) 4 d5 bi ) 5 d4 bi ) 8-bit bidirectional 3-state m c interface data 6 d3 bi ) lines. 7 d2 bi ) 8 d1 bi ) 9 d0 bi ) 10 rdn i/p read. an active low logic level input used to control the reading of data from the modem into the host m c. 11 wrn i/p write. an active low logic level input used to control the writing of data into the modem from the host m c. 12 v ss power the negative supply rail (ground). 13 csn i/p chip select. an active low logic level input to the modem, used to enable a data read or write operation. 14 a0 i/p ) two logic level modem register select 15 a1 i/p ) inputs. 16 xtaln o/p the output of the on-chip oscillator. 17 xtal/clock i/p the input to the on-chip oscillator, for external xtal circuit or clock. 18 19 doc 2 doc 1 o/p o/p ) connections to the rx level measurement ) circuitry. a capacitor should be connected ) from each pin to v ss.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 5 d/929b/1 package p4/d2/d5 signal description pin no. name type 20 txop o/p the tx signal output from the modem. 21 v bias o/p a bias line for the internal circuitry, held at ? v dd . this pin must be decoupled to v ss by a capacitor mounted close to the device pins. 22 rxin i/p the input to the rx input amplifier. 23 rxfb o/p the output of the rx input amplifier and the input to the rx rrc filter. 24 v dd power the positive supply rail. levels and voltages are dependent upon this supply. this pin should be decoupled to v ss by a capacitor. notes: i/p = input o/p = output bi = bidirectional internal protection diodes are connected from each signal pin to v dd and v ss .
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 6 d/929b/1 1.4 external components figure 2 recommended external components r1 see section 1.5.1 c1 0.1 f 20% c5 5%, see note 3 r2 100k ohm 5% c2 0.1 f 20% c6 20%, see note 2 r3 1m ohm 20% c3 20%, see note 1 c7 20%, see note 2 r4 100k ohm 5% c4 20%, see note 1 c8 5%, see note 3 x1 see section 1.5.5.3 note 1: the values used for c3 and c4 should be suitable for the frequency of the crystal x1. as a guide, values (including stray capacitances) of 33pf at 1mhz falling to 18pf at 10mhz will generally prove suitable. the 'phase-locked loop modes' part of section 1.5.5.3 discusses crystal frequency tolerances. note 2: c6 and c7 values (in nano farads) should be equal to 50000 ? symbol rate, e.g. symbol rate c6 and c7 ( nf) 2400 symbols/second 22.0 4800 symbols/second 10.0 9600 symbols/second 4.7 note 3: c5 and c8 values (in pico farads) should be equal to 750000 ? symbol rate, e.g. symbol rate c5 and c8 ( pf) 2400 symbols/second 330 4800 symbols/second 150 9600 symbols/second 82
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 7 d/929b/1 1.5 general description 1.5.1 description of blocks data bus buffers eight bidirectional 3-state logic level buffers between the modem's internal registers and the host c's data bus lines. address and r/w decode this block controls the transfer of data bytes between the c and the modem's internal registers, 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 and a1. 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 3. figure 3 typical modem c connections status and data quality registers two 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 a 12-byte buffer used to hold receive or transmit data to or from the c. crc generator/checker a circuit which generates (in transmit mode) or checks (in receive mode) the cyclic redundancy checksum bits, which may be included in transmitted data blocks so that the receive modem can detect transmission errors.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 8 d/929b/1 fec generator/checker in transmit mode, this circuit adds forward error correction bits to the transmitted data, then converts the resulting binary data to 4-level symbols. in receive mode, it translates received 4-level symbols to binary data, using the fec information to correct a large proportion of transmission errors. interleave/de-interleave buffer this circuit interleaves data symbols within a block before transmission and de-interleaves the received data so that the fec system is best able to handle short noise bursts or fades. frame sync detect this circuit, which is only active in receive mode, is used to look for the 24-symbol frame synchronisation pattern which is transmitted to mark the start of every frame. rx i/p amp this amplifier allows the received signal input to the modem to be set to the optimum level by suitable selection of the external components r1 and r2. the value of r1 should be calculated to give 0.2 x v dd pk- pk at the rxfb pin for a received '...+3 +3 -3 -3 ...' sequence. a capacitor may be fitted in series with r1 if ac coupling of the received signal is desired (see section 1.6.4), otherwise the dc level of the received signal should be adjusted so that the signal at the modem's rxfb pin is centred around v bias (? v dd ). rrc low pass filter this filter, which is used in both transmit and receive modes, is a linear-phase lowpass filter with a 'root raised cosine' frequency response defined by: h(f) = 1 for 0 <= f < (1-b)/(2t) = square root of {0.5 [1 - sin( p t (f - 0.5/t)/b)]} for (1-b)/(2t) <= f <= (1+b)/(2t) = 0 for (1+b)/(2t) < f where b = 0.2, t = 1/symbol rate in transmit mode, the 4-level symbols are passed through this filter to eliminate the high frequency components which would otherwise cause interference into adjacent radio channels. figure 4 generation of rrc filtered 4-level tx baseband signal the input applied to the rrc tx filter may be impulses or full-width symbols depending on the setting of the command register tximp bit, see section 1.5.7.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 9 d/929b/1 in receive mode, the filter is used to reject hf noise and to equalise the received signal to a form suitable for extracting the 4-level symbols, the equalisation characteristics depending on the setting of the command register tximp bit. frequency / symbol rate db -30 -25 -20 -15 -10 -5 0 0 0.2 0.4 0.6 0.8 1 figure 5 rrc filter frequency response (including the external rc filter r4/c5) tx output buffer this is a unity gain amplifier used in transmit mode to buffer the output of the tx low pass filter. in receive mode, the input of this buffer is connected to v bias unless the rxeye bit of the control register is '1', when it is connected to the received signal. when changing from rx to tx mode the input to this buffer will be connected to v bias for 8 symbol times while the rrc filter settles. note: the rc low pass filter formed by the external components r4 and c5 between the txop pin and the input to the radio's frequency modulator forms an important part of the transmit signal filtering. these components may form part of any dc level-shifting and gain adjustment circuitry. the value used for c5 should take into account stray circuit capacitances, and its ground connection should be positioned to give maximum attenuation of high frequency noise into the modulator. the signal at the txop pin is centred around v bias and is approx 0.2 x v dd pk-pk for a continuous '+3 +3 -3 -3 ...' pattern with tximp = 0. a capacitor may be fitted in series with the input to the frequency modulator if ac coupling is desired, see section 1.6.4. figure 6 transmitted signal eye diagram (tximp = 0, see section 1.5.7)
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 10 d/929b/1 rx level/clock extraction these circuits, which operate only in receive mode, derive a symbol rate clock from the received signal and measure the received signal amplitude and dc offset. this information is then used to extract the received 4- level symbols and also to provide an input to the received data quality measuring circuit. the external capacitors c6 and c7 form part of the received signal level measuring circuit. the capacitors c6 and c7 are driven from a very high impedance source so any measurement of the voltages on the doc pins must be made via high input impedance ( mos input) voltage followers to avoid disturbance of the level measurement circuits. further details of the level and clock extraction functions are given in section 1.6.3. clock oscillator and dividers these circuits derive the transmit symbol rate (and the nominal receive symbol rate) by frequency division of a reference frequency which may be generated by the on-chip xtal oscillator or applied from an external source. note: if the on-chip xtal oscillator is to be used, then the external components x1, c3, c4 and r3 are required. if an external clock source is to be used, then it should be connected to the xtal/clock input pin, the xtaln pin should be left unconnected, and x1, c3, c4 and r3 not fitted. 1.5.2 modem - c interaction in general, data is transmitted over-air in the form of messages, or 'frames', consisting of a 'frame preamble' followed by one or more formatted data blocks. the frame preamble 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 and interleaving. details of the message formats handled by the modem are given in section 1.5.3 and figures 7 and 7a. to reduce the processing load on the associated m c, the FX929B modem has been designed to perform as much as possible of the computationally intensive work involved in frame formatting and de-formatting and - when in receive mode - in searching for and synchronising onto the frame preamble. in normal operation the modem will only require servicing by the c once per received or transmitted block. thus, to transmit a block, the controlling c has only to load the - unformatted - 'raw' binary data into the modem's data block 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 as 4-level symbols (with forward error correction coding) and interleave the symbols before transmission. in receive mode, the modem can be instructed to assemble a block's worth of received symbols, de-interleave the symbols, translate them to binary - using the fec coding to correct as many errors as possible - and check the resulting crc before placing the received binary data into the data block buffer for the c to read. the modem can also transmit and receive un-formatted data using the t4s, t24s and r4s tasks described in sections 1.5.3 and 1.5.5.2. these are normally used for the transmission of symbol and frame synchronisation sequences. they may also be used for the transmission and reception of special test patterns or even for special data formats - although in this case care should be taken to ensure that the transmitted signal contains enough level and timing information for the receiving modem's level and clock extraction circuits to function correctly (see section 1.6.3).
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 11 d/929b/1 1.5.3 binary to symbol translation although the over-air signal, and hence the signals at the modem txop and rxin pins, consists of 4-level symbols, the raw data passing between the modem and the c is in binary form. translation between binary data and the 4-level symbols is done in one of two ways, depending on the task being performed. direct: the simplest form, which converts between 2 binary bits and a single symbol, such as the 's' channel status symbol. symbol ms bit ls bit +3 1 1 +1 1 0 -1 0 0 -3 0 1 this is expanded so that an 8-bit byte translates to four symbols for the t4s, t24s and r4s tasks described in section 1.5.5.2. msb lsb bits: 7 6 5 4 3 2 1 0 symbols: a b c d sent first sent last with fec: this is more complicated, but essentially translates groups of 3 binary bits to pairs of 4-level symbols using a forward error correcting coding scheme for the block oriented tasks thb, tib, tlb, tsid, rhb, rilb and rsid described in section 1.5.5.2.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 12 d/929b/1 1.5.4 frame structure the FX929B frame structure as used in a rd-lap system is illustrated in figure 7, and consists of a frame preamble (comprising a 24-symbol frame synchronisation pattern and station id block) followed by a 'header block', one or more 'intermediate blocks and a 'last block'. channel status (s) symbols are included at regular intervals. the first frame of any transmission is preceded by a symbol synchronisation pattern. symbol sync frame sync s station id s frame sync packet (1 to 44 blocks) frame 24 24 22 1 1 1 2 9 10 0 system id domain id base id crc0 7 7 7 0 0 0 0 8 '000' s s 22 symbols 22 symbols s 22 symbols 0 1 20 21 0 1 2 64 65 0 1 2 31 32 7 0 7 0 7 0 byte 0 byte 1 byte 11 '000' 3 4 5 29 30 block: 7 2 byte 0 byte 1 byte 2 byte 3 frame preamble 7 6 5 4 3 2 1 0 byte 0 byte 1 byte 2 byte 3 7 6 5 4 3 2 1 0 byte 4 byte 5 byte 6 byte 7 byte 8 byte 9 byte 0 byte 1 byte 2 byte 3 byte 10 byte 11 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 address & control (10 bytes) crc1 (2 bytes) data bytes (12) crc2 (4 bytes) pad bytes (0 - 8) data bytes (0 - 8) header block last block station id +3 +3 -3 -3 +3 +3 -3 -3 +3 +3 -3 -3 +3 +3 +3 +3 -3 -3 -3 -3 -3 -3 +3 +3 -1 +1 -1 +1 -1 +3 -3 +3 -3 -1 +1 -3 +3 +3 -1 +1 -3 -3 +1 +3 -1 -3 +1 +3 frame sync: symbol sync: sent first last 's' : channel status symbol : +3 = busy +1 = unknown -1 = unknown -3 = idle intermediate blocks tri-bits 4 - l e v e l s y m b o l s 69 69 69 69 next frame (optional) fec trellis coding / decoding ( error correction ) interleaving / de-interleaving msb lsb over-air signal (symbols) 'last' block 'header' block intermediate blocks fec trellis coding / decoding ( error correction ) figure 7 over air signal format
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 13 d/929b/1 the 'header' block is self-contained in that it includes its own checksum (crc1), and would normally carry information such as the address of the calling and called parties, the number of following blocks in the frame (if any) and miscellaneous control information. the 'intermediate' block(s) contain only data, the checksum at the end of the 'last' block (crc2) also checks the data in any preceding 'intermediate' blocks. proprietary systems which do not use the rd-lap format may use the block structures provided by the FX929B to build alternative frame formats more suited to the particular application. some examples are illustrated in figure 7a below. figure 7a some alternative frame structures the FX929B performs all of the block formatting and de-formatting, the binary data transferred between the modem and its m c being that enclosed by the thick dashed rectangles near the top of figure 7. 1.5.5 the programmer's view the modem appears to the programmer as 4 write only 8-bit registers shadowed by 3 read only registers, individual registers being selected by the a0 and a1 chip inputs: a1 a0 write to modem read from modem 0 0 data buffer data buffer 0 1 command register status register 1 0 control register data quality register 1 1 mode register not used note that there is a minimum allowable time between accesses of the modem's registers, see section 1.7.1 for details. 1.5.5.1 data block buffer this is a 12-byte read/write buffer which is used to transfer data (as opposed to command, status, mode, data quality or 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 when the status register bfree (buffer free) bit is '1'. the buffer should only be written to while in tx mode and read from while in rx mode. note that in receive mode the modem will function correctly even if the received data is not read from the data buffer by the m c.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 14 d/929b/1 1.5.5.2 command register writing to this register tells the modem to perform a specific action or actions, depending on the setting of the task, aqlev and aqsc bits. when it has no action to perform, the modem will be in an 'idle' state. if the modem is in transmit mode the input to the tx rrc filter will be connected to v bias . in receive mode the modem will continue to measure the received data quality and extract symbols from the received signal, supplying them to the de-interleave buffer, but will otherwise ignore the received data. command register b7: aqsc - acquire symbol clock this bit has no effect in transmit mode. in receive mode, whenever a byte with the aqsc bit set to '1' is written to the command register, and task is not set to reset, it initiates an automatic sequence designed to achieve symbol 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 pllbw 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 aqsc = '1'. the use of the symbol clock acquisition sequence is described in section 1.6.3. command register b6: aqlev - acquire receive signal levels this bit has no effect in transmit mode. in receive mode, whenever a byte with the aqlev bit set to '1' is written to the command register and task is not set to reset, it initiates an automatic sequence designed to measure the amplitude and dc offset of the received signal as rapidly as possible. this sequence involves setting the measurement circuits to respond quickly at first, then gradually increasing their response time, hence improving the measurement accuracy, until the 'normal' value set by the levres bits of the control register is reached. 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 aqlev = '1'. the use of the level measurement acquisition sequence (aqlev) is described in section 1.6.3. command register b5: crc this bit allows the user to select between two different forms of the crc0, crc1 and crc2 checksums. when this bit is set to '1' the crc generators are initialised to 'all zeros', as required by rd-lap systems. when this bit is set to '0' the crc generators are initialised to 'all ones' as required by ccitt x25 based systems. it should always be set to '1' for rd-lap compatibility, other systems may set this bit as required.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 15 d/929b/1 command register b4: tximp this bit allows the user to choose between two transmit symbol shapes as described in section 1.5.7. note that this bit must be set correctly every time the command register is written to. command register b3 this bit should always be set to '0'. command register b2, b1, b0: task operations such as transmitting or receiving 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 anything other than the 'null' code. the c should not write a task (other than null or reset) to the command register or write to or read from the data buffer when the bfree (buffer free) bit of the status register is '0'. different tasks apply in receive and transmit modes. when the modem is in transmit mode, all tasks other than null or reset instruct the modem to transmit data from the data buffer, formatting it as required. the c should therefore wait until the bfree (buffer free) bit of the status register is '1', before writing the data to the data block buffer, then it should write the desired task to the command register. if more than 1 byte needs to be written to the data block buffer, byte number 0 of the block should be written first. 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 register to '0'. take the data from the data block 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 block buffer the modem will set the bfree and irq bits of the status register to '1', (causing the chip irqn output to go low if the irqnen 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. this lets the c write a task and the associated data to the modem while the modem is still transmitting the data from the previous task. txop signal from task 1 from task 2 task 1 task 2 data from c to block buffer task from c to command register irq bit of status register bfree bit of status register irqn o/p (irqnen = '1') figure 8 transmit task overlapping
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 16 d/929b/1 when the modem is in receive mode, the c should wait until the bfree bit of the status 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 symbols are in the de-interleave buffer. decode them as needed, and transfer the resulting binary data to the data block buffer then the modem will set the bfree and irq bits of the status register to '1', (causing the irqn output to go low if the irqnen bit of the mode register has been set to '1') to tell the c that it may read from the data block buffer and write the next task to the modem. if more than 1 byte is contained in the buffer, byte number 0 of the data will be read out first. in this way the c can read data and write a new task to the modem while the received symbols needed for this new task are being received and stored in the de-interleave buffer. bfree bit of status register for task 1 for task 2 rxin signal task 1 task 2 task 1 data data from block buffer to c task from c to command register irqn o/p (irqnen = '1') irq bit of status register figure 9 receive task overlapping detailed timings for the various tasks are given in figures 10 and 11. FX929B modem tasks: b2 b1 b0 receive mode transmit mode 0 0 0 null null 0 0 1 sfp search for frame preamble t24s transmit 24 symbols 0 1 0 rhb read header block thb transmit header block 0 1 1 rilb read intermediate or last block tib transmit intermediate block 1 0 0 sfs search for frame sync tlb transmit last block 1 0 1 r4s read 4 symbols t4s transmit 4 symbols 1 1 0 rsid read station id tsid transmit station id 1 1 1 reset cancel any current action reset cancel any current action null: no effect this task is provided so that a aqsc or aqlev command can be initiated without loading a new task.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 17 d/929b/1 sfp: search for frame preamble this task causes the modem to search the received signal for a valid frame preamble, consisting of a 24- symbol frame sync sequence followed by station id data which has a correct crc0 checksum. the task continues until a valid frame preamble has been found. the search consists of four stages: first of all the modem will attempt to match the incoming symbols against the frame synchronisation pattern to within the tolerance defined by the fstol bits of the control register. once a match has been found, the modem will read in the following 's' symbol, place it in the sval bits of the status register then set the srdy bit to '1'. (the irq bit of the status register will also be set to '1' at this time if the ssien bit of the mode register is '1'). the modem will then read the next 22 symbols as station id data. they will be decoded and the crc0 checked. if this is incorrect, the modem will resume the search, looking for a fresh frame sync pattern. if the received crc0 is correct, the following 's' symbol will be read into the sval bits of the status register and the srdy, bfree and irq bits set to '1', the crcerr bit cleared to '0', and the three decoded station id bytes placed into the data block buffer. on detecting that the bfree bit of the status register has gone to '1', the c should read the 3 station id bytes from the data block buffer then write the next task to the modem's command register. rhb: read header block this task causes the modem to read the next 69 symbols as a 'header' block. it will strip out the 's' symbols then de-interleave and decode the remaining 66 symbols, placing the resulting 10 data bytes and the 2 received crc1 bytes into the data block buffer, and setting the bfree and irq bits of the status register to '1' when the task is complete to indicate that the c may read the data from the data block buffer and write the next task to the modem's command register. the crcerr bit of the status register will be set to '1' or '0' depending on the validity of the received crc1 checksum bytes. as each of the 3 's' symbols of a block is received, the sval bits of the status register will be updated and the srdy bit set to '1'. (if the ssien bit of the mode register is '1', then the status register irq bit will also be set to '1'.) note that when the third 's' symbol is received, the srdy bit will be set to '1' coincidentally with the bfree bit also being set to '1'. rilb: read 'intermediate' or 'last' block this task causes the modem to read the next 69 symbols as an 'intermediate' or 'last' block (the c can tell from the 'header' block how many blocks are in the frame, and hence when to expect the 'last' block). in each case, it will strip out the 3 's' symbols, de-interleave and decode the remaining 66 symbols and place the resulting 12 bytes into the data block buffer, setting the bfree and irq bits of the status register to '1' when the task is complete. if an 'intermediate' block is received then the c should read out all 12 bytes from the data block buffer and ignore the crcerr bit of the status register, for a 'last' block the c need only read the first 8 bytes from the data block buffer, and the crcerr bit in the status register will reflect the validity of the received crc2 checksum.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 18 d/929b/1 as each of the 3 's' symbols of the block is received, the sval bits of the status register will be updated and the srdy bit set to '1'. (if the ssien bit of the mode register is '1', then the status register irq bit will also be set to '1'.) note that when the third 's' symbol is received, the srdy bit will be set to '1' coincidentally with the bfree bit also being set to '1'. sfs: search for frame sync this task - which is intended for special test and channel monitoring purposes - performs the first two parts only of a sfp task. it causes the modem to search the received signal for a 24-symbol sequence which matches the required frame synchronisation pattern to within the tolerance defined by the fstol bits of the mode register. when a match is found the modem will read in the following 's' symbol, then set the bfree, irq and srdy bits of the status register to '1' and update the sval bits. the c may then write the next task to the command register. r4s: read 4 symbols this task causes the modem to read the next 4 symbols and translate them directly (without de-interleaving or fec) to an 8-bit byte which is placed into the data block buffer. the bfree and irq bits of the status register will then be set to '1' to indicate that the c may read the data byte from the data block buffer and write the next task to the command register. this task is intended for special tests and channel monitoring - perhaps preceded by sfs task. note that although it is possible to construct message formats which do not rely on the block formatting of the thb, tib and tlb tasks by using t4s or t24s tasks to transmit and r4s to receive the user?s data, anyone attempting this should be aware that the receive level and timing measurement circuits need to see a reasonably ?random? distribution of all four possible symbols in the received signal to operate correctly, and should therefore ?scramble? the binary data before transmission. rsid: read station id this task causes the modem to read in and decode the following 23 symbols as station id data followed by an 's' symbol. it is similar to the last two parts of a sfp task except that it will not re-start if the received crc0 is incorrect. it would normally follow a sfs task. the 3 decoded bytes will be placed into the data block buffer, and the crcerr bit of the status register set to '1' if the received crc0 was incorrect, otherwise it will be cleared to '0'. the sval bits of the status register will be updated and the bfree, srdy and irq bits set to '1' to indicate that the c may read the 3 received bytes from the data block buffer and write the next task to the modem's command register. t24s: transmit 24 symbols this task, which is intended to facilitate the transmission of symbol and frame sync patterns as well as special test sequences, takes 6 bytes of data from the data block buffer and transmits them as 24 4-level symbols without any crc, fec, interleaving or adding any 's' symbols. byte 0 of the data block buffer is sent first, byte 5 last. once the modem has read the data bytes from the data block buffer, the bfree and irq bits of the status register will be set to '1', indicating to the c that it may write the data and command byte for the next task to the modem. the tables below show what data has to be written to the data block buffer to transmit the FX929B symbol and frame sync sequences:
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 19 d/929b/1 'symbol sync' values written to data block buffer symbols binary hex +3 +3 -3 -3 byte 0: 11110101 f5 +3 +3 -3 -3 byte 1: 11110101 f5 +3 +3 -3 -3 byte 2: 11110101 f5 +3 +3 -3 -3 byte 3: 11110101 f5 +3 +3 -3 -3 byte 4: 11110101 f5 -3 -3 +3 +3 byte 5 : 01011111 5f 'frame sync' values written to data block buffer symbols binary hex -1 +1 -1 +1 byte 0: 00100010 22 -1 +3 -3 +3 byte 1: 00110111 37 -3 -1 +1 -3 byte 2: 01001001 49 +3 +3 -1 +1 byte 3: 11110010 f2 -3 -3 +1 +3 byte 4: 01011011 5b -1 -3 +1 +3 byte 5: 00011011 1b thb: transmit header block this task takes 10 bytes of data (address and control) from the data block buffer, calculates and appends the 2-byte crc1 checksum, translates the result to 4-level symbols (with fec), interleaves the symbols and transmits the result as a formatted 'header' block , inserting 's' symbols at 22-symbol intervals. once the modem has read the data bytes from the data block buffer, the bfree and irq bits of the status register will be set to '1'. tib: transmit intermediate block this task takes 12 bytes of data from the data block buffer, updates the 4-byte crc2 checksum for inclusion in the 'last' block, translates the 12 data bytes to 4-level symbols (with fec), interleaves the symbols and transmits the result as a formatted 'intermediate' block , inserting 's' symbols at 22-symbol intervals. once the modem has read the data bytes from the data block buffer, the bfree and irq bits of the status register will be set to '1'. tlb: transmit last block this task takes 8 bytes of data from the data block buffer, updates and appends the 4-byte crc2 checksum, translates the resulting 12 bytes to 4-level symbols (with fec), interleaves the symbols and transmits the result as a formatted 'last' block , inserting 's' symbols at 22-symbol intervals. once the modem has read the data bytes from the data block buffer, the bfree and irq bits of the status register will be set to '1'. t4s: transmit 4 symbols this task is similar to t24s but takes only one byte from the data block buffer, transmitting it as four 4-level symbols.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 20 d/929b/1 tsid: transmit station id this task takes 3 id bytes from the data block buffer, calculates and appends the 6-bit crc0 checksum, translates the result to 4-level symbols (with fec) and transmits the resulting 22 symbols preceded and followed by 's' symbols. once the modem has read the data bytes from the data block buffer, the bfree and irq bits of the status register will be set to '1'. reset: stop any current action this 'task' takes effect immediately, and terminates any current action (task, aqsc or aqlev) the modem may be performing and sets the bfree bit of the status register to '1', without setting the irq bit. it should be used when v dd is applied, to set the modem into a known state. note that due to delays in the rrc filter, it will take several symbol times for any change to appear at the txop pin. task timings from task #2 from task #3 from task #1 t1 t2 t2 t2 task to command register data to data block buffer t3 t3 t3 t4 t4 t4 modem tx output 1 2 3 1 2 symbols to rrc filter 3 ibempty bit bfree bit figure 10 transmit task timing diagram task time (symbol times) t1 modem in idle state. time from writing first task to application of first transmit bit to tx rrc filter any 1 to 2 t2 time from application of first symbol of the t24s 5 task to the tx rrc filter until bfree goes tsid 6 to a logic '1' (high). thb/tib/tlb 16 t4s 0 t3 time to transmit all symbols of the task t24s/tsid 24 thb/tib/tlb 69 t4s 4 t4 max time allowed from bfree going to a t24s 18 logic '1' (high) for next task (and data) to tsid 17 be written to modem thb/tib/tlb 52 t4s 3
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 21 d/929b/1 t3 t3 t3 modem rx input symbols to de-interleave circuit data from data block buffer task to command register for task #1 for task #2 for task #3 1 2 3 1 2 3 t6 t6 t6 t7 t7 t7 bfree bit figure 11 receive task timing diagram task time (symbol times) t3 time to receive all symbols of task sfs 25 (minimum) sfp 48 (minimum) rsid 23 rhb/rilb 69 r4s 4 t6 maximum time between first symbol of task sfs 21 entering the de-interleave circuit and the sfp 21 task being written to modem. rsid 15 rhb/rilb 51 r4s 3 t7 maximum time from the last bit of the task any 1 entering the de-interleave circuit to bfree going to a logic '1' (high) rrc filter delay the previous task timing figures are based on the signal at the input to the rrc filter (in transmit mode) or the input to the de-interleave buffer (in receive mode). there is an additional delay of about 8 symbol times through to the rrc filter in both transmit and receive modes, as illustrated below: symbol-times tx symbol to rrc filter rx symbol to de-interleave buffer tx symbol at txop pin / rx symbol from fm discriminator figure 12 rrc low pass filter delay
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 22 d/929b/1 1.5.5.3 control regis ter this 8-bit write-only register controls the modem's symbol rate, the response times of the receive clock extraction and signal level measurement circuits and the frame sync pattern recognition tolerance. control register b7, b6: ckdiv - clock division ratio these bits control a frequency divider driven from the clock signal present at the xtaln pin, and hence determine the nominal symbol rate. the table below shows how symbol rates of 2400/4800/9600 symbols/sec may be obtained from common xtal frequencies: xtal frequency (mhz) 2.4576 4.9152 9.8304 b7 b6 division ratio: xtal frequency/symbol rate symbol rate (symbols/sec) 0 0 512 4800 9600 0 1 1024 2400 4800 9600 1 0 2048 2400 4800 1 1 4096 2400 note: device operation is not guaranteed below 2400 or above 9600 symbols/sec. control register b5, b4: fstol - frame sync tolerance these two bits have no effect in transmit mode. in receive mode, they define the maximum number of mismatches which will be allowed during a search for the frame sync pattern: b5 b4 mismatches allowed 0 0 0 0 1 2 1 0 4 1 1 6 note: a single 'mismatch' is defined as the difference between two adjacent symbol levels, thus if the symbol '+1' were expected, then received symbol values of '+3' and '-1' would count as 1 mismatch, a received symbol value of '-3' would count as 2 mismatches. a setting of '4 mismatches' is recommended for normal use. control register b3, b2: levres - level measurement modes these two bits have no effect in transmit mode. in receive mode they set the 'normal' operating mode of the received signal amplitude and dc offset measuring circuits (the automatic sequencing of an aqlev command may temporarily override the 'normal' setting).
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 23 d/929b/1 b3 b2 mode 0 0 hold 0 1 level track 1 0 lossy peak detect 1 1 slow peak detect in normal use the levres bits should be set to '0 1' (level track), the other modes are intended for special purposes, for device testing, or are invoked automatically during an aqlev sequence. in ?slow peak detect? modes the positive and negative excursions of the received signal (after filtering) are measured by peak rectifiers driving the doc1 and doc2 capacitors to establish the amplitude of the signal and any dc offset wrt vbias. this mode provides good overall performance, particularly when acquiring level information at the start of a received message, but does not work well with certain long sequences of repeated data byte values. it is also susceptible to large amplitude noise spikes such as can be generated during deep fades. the ? lossy peak detect? mode is similar to ?slow peak detect? but the capacitor discharge time constant is much shorter, so this mode is not suitable for normal data reception and is only used within part of the automatic aqlev acquisition sequence. in ?level track? mode the doc capacitor voltages are slowly adjusted by the FX929B in such a way as to minimise the average errors seen in the received signal. this mode provides the best overall performance, being much more immune to large amplitude noise spikes than ?slow peak detect? and being much less sensitive to long sequences of repeated data byte values. it does, however, depend on the measured levels and timing being approximately correct. if either of these is significantly wrong then the correction algorithm used by the ?level track? mode can actually drive the voltages on the doc capacitors away from their optimum levels. for this reason the automatic aqlev acquisition sequence (see 1.6.3) forces the level measuring circuits into ?slow peak detect? mode until a frame sync pattern has been found. the doc capacitors are isolated from the charging and discharging circuits in ?hold mode, allowing the voltages to float. control register b1, b0: pllbw - phase-locked loop modes 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 automatic sequencing of an aqsc command. b1 b0 pll mode 0 0 hold 0 1 narrow bandwidth 1 0 medium bandwidth 1 1 wide bandwidth the normal setting for the pllbw bits should be 'medium bandwidth' when the received symbol rate and the frequency of the receiving modem's xtal are both within 100ppm of nominal, except at the start of a symbol clock acquisition sequence (aqsc) when 'wide bandwidth' should be selected as described in section 1.6.3.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 24 d/929b/1 if the received symbol rate and xtal frequency are both within 20ppm of nominal then selection of the 'narrow bandwidth' setting will give better performance, especially through fades or noise bursts which might otherwise pull the pll away from its optimum timing, but in this case it is recommended that the pllbw bits are only set to 'narrow bandwidth' after the modem has been running in 'medium bandwidth' mode for about 200 symbol times. the 'hold' setting disables the feedback loop of the pll, which continues to run at a rate determined only by the actual xtal frequency and the setting of the control register ckdiv bits. 1.5.5.4 mode register the contents of this 8-bit write only register control the basic operating modes of the modem: mode register b7: irqnen - irqn output enable when this bit is set to '1', the irqn chip output pin is pulled low (to v ss ) whenever the irq bit of the status register is a '1'. mode register b6: invsym - invert symbols this bit controls the polarity of the transmitted and received symbol voltages. b6 symbol signal at txop signal at rxfb 0 '+3' above v bias below v bias '-3' below v bias above v bias 1 '+3' below v bias above v bias '-3' above v bias below v bias 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. note that changing between receive and transmit modes will cancel any current task. mode register b4: rxeye - show rx eye this bit should normally be set to '0'. setting it to '1' when the modem is in receive mode configures the modem into a special test mode, in which the input of the tx o/p buffer is connected to the rx symbol/clock extraction circuit at a point which carries the equalised receive signal. this may be monitored with an oscilloscope (at the txop pin itself), to assess the quality of the complete radio channel including the tx and rx modem filters, the tx modulator and the rx if filters and fm demodulator. the resulting eye diagram (for reasonably random data) should ideally be as shown in figure 13, with 4 'crisp' and equally spaced crossing points.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 25 d/929b/1 figure 13 ideal 'rxeye' signal mode register b3: psave - powersave when this bit is a '1', the modem will be in a ' powersave' mode in which the internal filters, the rx symbol and clock extraction circuits and the tx o/p buffer will be disabled, and the txop pin will be connected to vbias through a high value resistance. the xtal clock oscillator, rx i/p amplifier and the c interface logic will continue to operate. setting the psave bit to '0' restores power to all of the chip circuitry. note that the internal filters - and hence the txop pin in transmit mode - will take about 20 symbol-times to settle after the psave bit is taken from '1' to '0'. mode register b2: ssien - 's' symbol irq enable in receive mode, setting this bit to '1' causes the irq bit of the status register to be set to '1' whenever a new 's' symbol has been received. (the srdy bit of the status register will also be set to '1' at the same time, and the sval bits updated to reflect the received 's' symbol.) in transmit mode, setting this bit to '1' causes the irq bit of the status register to be set to '1' whenever a 's' symbol has been transmitted. (the srdy bit of the status register will also be set to '1' at the same time.) mode register b1, 0: ssym - 's' symbol to be transmitted in transmit mode these two bits define the next 's' symbol to be transmitted. these bits have no effect in receive mode. 1.5.5.5 status register this register may be read by the c to determine the current state of the modem.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 26 d/929b/1 status register b7: irq - interrupt request this bit is set to '1' by: the status register bfree bit going from '0' to '1', unless this is caused by a reset task or by a change to the mode register txrxn or psave bits. or the status register ibempty bit going from '0' to '1', unless this is caused by a reset task or by changing the mode register txrxn or psave bits. or the status register dibovf bit going from '0' to '1'. or the status register srdy bit being set to '1' (due to a 's' symbol being received or transmitted) if the mode register ssien bit is '1'. the irq bit is cleared to '0' immediately after a read of the status register. if the irqnen bit of the mode register is '1', then the chip irqn output will be pulled low (to v ss ) whenever the irq bit is set to '1', and will go high impedance when the status register is read. status register b6: bfree - data block buffer free this bit reflects the availability of the data block buffer and is cleared to '0' whenever a task other than null or reset is written to the command register. in transmit mode, the bfree bit will be set to '1' (also setting the status register irq bit to '1') by the modem when the modem is ready for the c to write new data to the data block buffer and the next task to the command register. in receive mode, the bfree bit is set to '1' (also setting the status 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 block 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 txrxn or psave bits are changed. status 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 symbols 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 psave bits, but in these cases the irq bit will not be set. the bit is cleared to '0' within one symbol time after a task other than null or reset is written to the command register. note: when the modem is in transmit mode and the interleave buffer is empty, a mid level (half-way between '+1' and '-1') signal will be sent to the rrc filter. in receive mode this bit will be '0'.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 27 d/929b/1 status register b4: dibovf - de-interleave buffer overflow in receive mode this bit will be set to '1' - also setting the irq bit - when a rhb, rilb, rsid or r4s task is written to the command register too late to allow continuous reception. the bit is cleared to '0' immediately after reading the status register, by writing a reset task to the command register or by changing the txrxn or psave bits of the mode register. in transmit mode this bit is '0'. status register b3: crcerr - crc checksum error in receive mode this bit will be updated at the end of a sfp, rhb, rilb or rsid task to reflect the result of the receive crc check. '0' indicates that the crc was received correctly, '1' indicates an error. in transmit mode this bit will be '0'. note that this bit should be ignored when an 'intermediate' block (which does not have an integral crc) is received. the bit is cleared to '0' by a reset task, or by changing the txrxn or psave bits of the mode register. status register b2: srdy - 's' symbol ready in receive mode, this bit is set to '1' whenever an 's' symbol has been received. the c may then read the value of the symbol from the sval field of the status register. in transmit mode, this bit is set to '1' whenever an 's' symbol has been transmitted. the bit is cleared to '0' immediately after a read of the status register, by a reset task or by changing the txrxn or psave bits of the mode register. status register b1, b0: sval - received 's' symbol value in receive mode, these two bits reflect the value of the latest received 's' symbol. in transmit mode, these two bits will be '0'. 1.5.5.6 data quality register in receive mode, the FX929B continually measures the 'quality' of the received signal, by comparing the actual received waveform over the previous 64 symbol times against an internally generated 'ideal' 4-level fsk baseband signal. the result is placed into bits 3-7 of the data quality register for the c to read at any time, bits 0-2 being always set to '0'. figure 14 shows how the value (0-255) read from the data quality register varies with received signal-to-noise ratio:
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 28 d/929b/1 0 50 100 150 200 250 8 9 10 11 12 13 14 15 16 s/n db (noise in 2 x symbol rate bandwidth) dq figure 14 typical data quality reading vs s/n the data quality readings are only valid when the modem has successfully acquired signal level and timing lock for at least 64 symbol times. it is invalid when an aqsc or aqlev sequence is being performed or when the levres setting is ' lossy peak detect'. a low reading will be obtained if the pllbw bits are set to 'wide' or if the received signal waveform is distorted in any significant way. section 1.6.6 describes how monitoring the data quality reading can help improve the overall system performance in some applications. 1.5.6 crc, fec and interleaving cyclic redundancy codes crc0 this is a six-bit crc check code used in the station id block. it is calculated by the modem from the first 24 bits of the block ( bytes 0,1 & 2) as follows: the 24 bits are considered as the coefficients of a polynomial m(x) of degree 23, such that the msb bit (7) of byte 0 is the coefficient of x 23 , and bit 0 of byte 2 is the coefficient of x 0 . the polynomial f(x) of degree 5 is calculated as being the remainder of the modulo-2 division x 6 m(x) / (x 6 + x 4 + x 3 + 1 ) the polynomial x 5 + x 4 + x 3 + x 2 + x 1 + x 0 is added (modulo-2) to f(x) the coefficients of f(x) are placed in the 6-bit crc0 field, such that the coefficient of x 5 corresponds to the msb of crc0. crc1 this is a sixteen-bit crc check code contained in bytes 10 and 11 of the header block. it is calculated by the modem from the first 80 bits of the block ( bytes 0 to 9 inclusive) using the generator polynomial: x 16 + x 12 + x 5 + 1
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 29 d/929b/1 crc2 this is a thirty-two-bit crc check code contained in bytes 8 to 11 of the 'last' block. it is calculated by the modem from all of the data and pad bytes in the intermediate blocks and in the first 8 bytes of the last block using the generator polynomial: x 32 + x 26 + x 23 + x 22 + x 16 + x 12 + x 11 + x 10 + x 8 + x 7 + x 5 + x 4 + x 2 + x 1 + 1 notes: in receive mode the crc2 checksum circuits are initialised on completion of any task other than null or rilb. in transmit mode the crc2 checksum circuits are initialised on completion of any task other than null, tib or tlb. command register bit b5 (crc) allows the user to select between two different forms of the crc0, crc1 and crc2 checksums. when this bit is set to '1' the crc generators are initialised to 'all zeros', as required by rd-lap systems. when this bit is set to '0' the crc generators are initialised to 'all ones' as required by ccitt x25 based systems. it should always be set to '1' for rd-lap compatibility, other systems may set this bit as required. forward error correction in transmit mode, the FX929B uses a trellis encoder to translate the 96 bits (12 bytes) of a 'header', 'intermediate' or 'last' block or the 30 bits of a station id block into a 66 or 22-symbol sequence which includes fec information. in receive mode, the FX929B decodes the received 22 or 66 symbols of a block into 30 or 96 bits of binary data using a 'soft decision' viterbi algorithm to perform decoding and error correction. interleaving the 66 symbols of a 'header', 'intermediate' or 'last' block are interleaved by the modem before transmission (and before the 's' symbols are added) to give protection against the effects of noise bursts and short fades. the 22 symbols of a 'station id' block are not interleaved. in receive mode, the FX929B de-interleaves the received symbols after stripping out the 's' symbols and prior to decoding. 1.5.7 transmitted symbol shape bit 4 of the command register (tximp) affects the transmit baseband signal and the receive signal equalisation as follows. if the tximp bit is '0', then the transmit baseband signal is generated by feeding full-width 4-level symbols into the rrc lowpass filter, and the receive signal equalisation is optimised for this type of signal. with this setting the FX929B is compatible with fx929a devices. if the tximp bit is set to '1', then impulses, rather than full-width symbols, are fed into the rrc filter when in tx mode, and the receive signal equalisation is suitably adjusted in rx mode.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 30 d/929b/1 figure 15a input signal to rrc filter in tx mode for tximp = 0 and 1 figure 15b tx signal eye tximp = 0 figure 15c tx signal eye tximp = 1 note that setting tximp to '1' affects the tx output signal level as shown in section 1.7.1 and the table below: tximp = 0 tximp = 1 nominal voltage difference between continuous '+3' and continuous '-3' symbol outputs. 0.157 v dd 0.157 v dd nominal vp-p for continuous '+3 +3 -3 -3..' symbol pattern 0.20 v dd 0.22 v dd
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 31 d/929b/1 1.6 application notes 1.6.1 transmit frame examples the operations needed to transmit a single frame consisting of symbol and frame sync sequences, station id block, and one each header, intermediate and last blocks are shown below: 1. ensure that the control register has been loaded with a suitable ckdiv value, that the irqnen and txrxn bits of the mode register are '1', the rxeye, psave and ssien bits are '0' and the invsym bit is set appropriately. 2. read the status register to ensure that the bfree bit is '1', the n write 6 symbol sync bytes to the data block buffer and a t24s task to the command register. 3. wait for an interrupt from the modem, read the status register; the irq and bfree bits should be '1' and the ibempty bit should be '0'. 4. write 6 frame sync bytes to the data block buffer and a t24s task to the command register. 5. wait for an interrupt from the modem, read the status register; the irq and bfree bits should be '1' and the ibempty bit should be '0'. 6. write 3 station id bytes to the data bl ock buffer and a tsid task to the command register. 7. wait for an interrupt from the modem, read the status register; the irq and bfree bits should be '1' and the ibempty bit should be '0'. 8. write 10 header block bytes to the data block buffer and a thb task to the command register. 9. wait for an interrupt from the modem, read the status register; the irq and bfree bits should be '1' and the ibempty bit should be '0'. 10. write 12 intermediate block bytes to the data block buffer and a tib task to the command register. 11. wait for an interrupt from the modem, read the status register; the irq and bfree bits should be '1' and the ibempty bit should be '0'. 12. write 8 last block bytes to the data block buffer and a tlb task to the command register. 13. wait for an interrupt from the modem, read the status register; the irq and bfree bits should be '1' and the ibempty bit should be '0'. 14. wait for another interrupt from the modem, read the status register; the irq, bfree and ibempty bits should be '1'. note: the final symbol of the frame will start to appear approximately 2 symbol times after the status register ibempty bit goes to '1'; a further 16 symbol times should be allowed for the symbol to pass completely through the rrc filter. note: the ssym bits of the mode register may be altered at any time to change the transmitted 's' symbols. if a timing reference is required, then setting the mode register ssien bit to '1' will cause a c interrupt after every 's' symbol transmitted - in which case the c will have to distinguish between interrupts caused by the bfree bit going to '1', and those caused by the srdy bit being set to '1'.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 32 d/929b/1 figures 16a and 16b illustrate the host c routines needed to send a single frame consisting of symbol and frame sync patterns, a station id block, a header block, any number of intermediate blocks and one last block. it is assumed that the tx interrupt service routine (figure 16b) is called whenever the FX929B's irqn output line goes low. figure 16a transmit frame example flowchart, main program note that the reset command in figure 16a and the practice of disabling the FX929B's irqn output when not needed are not essential but can eliminate problems during debugging and if errors occur in operation. note also that the crc and tximp bits should be set appropriately whenever a byte is written to the command register.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 33 d/929b/1 figure 16b tx interrupt service routine
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 34 d/929b/1 1.6.2 receive frame examples the operations needed to receive a single frame consisting of symbol and frame sync sequences, station id block and one each header, intermediate and last blocks are shown below; 1. ensure that the control register has been loaded with suitable ckdiv, fstol, levres and pllbw values, and that the irqnen bit of the mode register is '1', the txrxn, rxeye, psave and ssien bits are '0', and the invsym bit is set appropriately. 2. wait until the received carrier has been present for at least 8 symbol times (see section 1.6.3). 3. read the status register to ensure that the bfree bit is '1'. 4. write a byte containing a sfp task with the aqsc and aqlev bits set to '1' to the command register. 5. wait for an interrupt from the modem, read the status register; the irq and bfree bits should be '1' and the crcerr and dibovf bits should be '0'. 6. read 3 station id bytes from the data block buffer. 7. write a rhb task to the command register. 8. wait for an interrupt from the modem, read the status register; the irq and bfree bi ts should be '1' and the dibovf bit '0'. 9. check that the crcerr bit of the status register is '0' and read 10 header block bytes from the data block buffer. 10 write a rilb task to the command register. 11. wait for an interrupt from the modem, read the status register; the irq and bfree bits should be '1' and the dibovf bit '0'. 12. read 12 intermediate block bytes from the data block buffer. 13. write a rilb task to the command register. 14. wait for an interrupt from the modem, read the status re gister; the irq and bfree bits should be '1' and the dibovf bit '0'. 15. check that the crcerr bit of the status register is '0' and read the 8 last block bytes from data buffer. note: the value of the latest 's' symbol received will be contained in the sval bits each time that the status register is read. if desired, the mode register ssien bit may be set to '1', which will cause a c interrupt after every 's' symbol is received - in which case the c will have to distinguish between interrupts caused by the bfree bit going to '1', and those caused by the srdy bit being set to '1'.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 35 d/929b/1 figures 17a and 17b illustrate the host c routines needed to receive a single frame consisting of symbol and frame sync patterns, a station id block, a header block, any number of intermediate blocks and one last block. it is assumed that the rx interrupt service routine (figure 17b) is called whenever the FX929B's irqn output line goes low. figure 17a receive frame example flowchart, main program note that the reset command in figure 17a and the practice of disabling the FX929B's irqn output when not needed are not essential but can eliminate problems during debugging and if errors occur in operation. note also that the crc and tximp bits should be set appropriately whenever a byte is written to the command register.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 36 d/929b/1 figure 17b rx interrupt service routine note: this routine assumes that the number of intermediate blocks in the frame is contained within the header block data.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 37 d/929b/1 1.6.3 clock extraction and level me asurement systems the FX929B is intended for use in systems where: - the symbol sync pattern is transmitted immediately on start-up of the transmitter, before the first frame sync pattern (see figure 18). - a base station may remain powered up indefinitely, transmitting concatenated frames without intervening symbol sync patterns (each frame starting with the frame synch pattern and symbol timing being maintained from one frame to the next). - a receiving modem may be switched onto a channel before the distant transmitter has started up, or may be switched onto a channel where the transmitting station is already sending concatenated frames. whenever the receiving modem is enabled or switched onto a channel it needs to establish the received symbol levels and timing and look for a frame sync pattern in the incoming signal. this is best done by the following procedure. 1. ensure that the control register's pllbw bits are s et to 'wide' and the levres bits to 'level track'. 2. wait until a received carrier has been present for 8 symbol times. this 8-symbol delay gives time for the received signal to propagate through the modem's rrc filter and can usefully be included in the radio's carrier detect circuitry. 3. write a sfs or sfp task to the command register with the aqsc and aqlev bits set to '1'. 4. when the modem interrupts to signal that it has recognised a frame sync pattern (or completed the sfp task) then change the pllbw bits to 'medium'. once the receiving modem has achieved level and symbol timing synchronisation with a particular channel - as evidenced by recognition of a frame sync pattern - then subsequent concatenated frames can be read by simply issuing sfs or sfp tasks at appropriate times, keeping the asqsc and aqlev bits at zero, and the plllbw and levres bits at their current 'medium' and 'level track' settings. received signal from fm discriminator to modem : set aqsc and aqlev bits to start acquisition sequences : symbol sync frame sync rest of frame noise level measurement and clock extraction circuits : 8-symbol delay increasing accuracy and lengthening response times figure 18 acquisition sequence timing (transmitter power-up)
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 38 d/929b/1 it is also possible to use the modem in a non-standard system where there is an indeterminate delay between the transmitter start-up and the symbol sync pattern, or where a receive carrier detect signal is not available to the controlling m c, or where the transmitting terminal can send separate unsynchronised frames. in these cases each frame should be preceded by a symbol sync pattern which should be extended to about 100 symbols, and the procedure given in paragraphs (1) to (4) above used at all times. setting the aqsc and aqlev bits to '1' triggers the modem's automatic symbol clock extraction and level measurement acquisition sequences, which are designed to measure the received symbol timing, amplitude and dc offset as quickly as possible before switching to more accurate - but slower - measurement modes. these acquisition sequences act very quickly if triggered at the start of a received symbol sync pattern (as shown in figure 18), but will still function correctly - although more slowly - if started any time during a normal frame, as when the receiver is switched onto a channel where the transmitter is operating continuously. the automatic aqlev level measurement acquisition sequence starts with the level measurement circuits being put into 'clamp' mode for one symbol time to set the voltages on the doc pins to some point within the range of the received signal excursions. the level measurement circuits are then automatically set to ' lossy peak detect' mode for 15 symbol times, then to 'slow peak detect' until a received frame sync pattern is recognised, after which the sequence ends and the level measurement circuit mode reverts to the mode set by the levres bits of the control register (normally 'level track'). the peak detectors used in both 'slow' and ' lossy peak detect' modes include additional low pass filtering of the received signal which greatly reduces the effect of pattern noise on the reference voltages held on the external doc capacitors, but means that pairs of '+3' (and '-3') symbols need to be received to establish the correct levels. 2 pairs of '+3' and two pairs of '-3' symbols received after the start of an aqlev sequence are sufficient to set the levels on the doc capacitors to their correct levels. the automatic aqsc symbol clock acquisition sequence sets the pll to 'extra wide bandwidth' mode for 16 symbol times (this mode is not one of those which can be selected by the control register pllbw bits) then changes to 'wide' bandwidth. after 45 symbol times the pll mode will revert to that set by the control register pllbw bits. 1.6.4 ac coupling for a practical circuit, ac coupling from the modem's transmit output to the frequency modulator and between the receiver's frequency discriminator and the receive input of the modem may be desired. there are, however, two problems: firstly, ac coupling of the signal degrades the bit error rate performance of the modem. the following graph illustrates the effect of ac coupling on typical bit error rates at 4800 symbols/sec (without fec) for reasonably random data with differing degrees of ac coupling:
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 39 d/929b/1 s/n db (noise in 20 to 9600hz band) ber 1e-4 1e-3 1e-2 1e-1 4 5 6 7 8 9 10 11 12 13 14 tx & rx dc coupled tx 5hz, rx dc tx 5hz, rx 5hz tx 5hz, rx 10hz figure 19 effect of ac coupling on ber without fec secondly, any ac coupling at the receive input will transform any step in the voltage at the discriminator output to a slowly decaying pulse which can confuse the modem's level measuring circuits. as illustrated in figure 20 below, the time for this step to decay to 37% of its original value is 'rc' where: rc = 1/( 2 x p x the 3db cut-off frequency of the rc network ) which is 32 msec, or 153 symbol times at 4800 symbols/sec, for a 5hz network. 37% t=rc 100% step input to rc circuit output of rc circuit figure 20 decay time - ac coupling in general, it will be best to dc couple the receiver discriminator to the modem, and to ensure that any ac coupling to the transmitter's frequency modulator has a -3db cut-off frequency of no higher than 5hz (for 4800 symbols/sec).
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 40 d/929b/1 1.6.5 radio performance the maximum data rate that can be transmitted over a radio channel using these modems depends on: - rf channel spacing. - allowable adjacent channel interference. - symbol rate. - peak carrier deviation (modulation index). - tx and rx reference oscillator accuracies. - modulator and demodulator linearity. - receiver if filter frequency and phase characteristics. - use of error correction techniques. - acceptable error rate. as a guide, 4800 symbols/sec can be achieved - subject to local regulatory requirements - over a system with 12.5khz channel spacing if the transmitter frequency deviation is set to 2.5khz peak for a repetitive '+3 +3 - 3 -3 ....' pattern and the maximum difference between transmitter and receiver 'carrier' frequencies is less than 2400hz. the modulation scheme employed by these modems is designed to achieve high data throughput by exploiting as much as possible of the rf channel bandwidth. this does, however, place constraints on the performance of the radio. in particular, attention must be paid to: - linearity, frequency and phase response of the tx frequency modulator. for a 4800 symbols/sec system, the frequency response should be within 2db over the range 3hz to 5khz, relative to 2400hz. - the bandwidth and phase response of the receiver's if filters. - accuracy of the tx and rx reference oscillators, as any difference will shift the received signal towards the skirts of the if filter response and cause a dc offset at the discriminator output. viewing the received signal eye - using the mode register rxeye function - gives a good indication of the overall transmitter/receiver performance. figure 21 typical connections between radio and FX929B
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 41 d/929b/1 1.6.6 received signal quality monitor in applications where the modem has to monitor a long transmission containing a number of concatenated frames, it is recommended that the controlling software includes a function which regularly checks that the modem is still receiving a good data signal, and triggers a re-acquisition and possibly changes to another channel if a problem is encountered. this strategy has been shown to improve the system's overall performance in situations where fading, large noise bursts, severe co-channel interference or loss of the received signal for long periods are likely to occur. such a function can be simply implemented by regularly reading the data quality register, which gives a measure of the overall quality of the received signal, as well as the current effectiveness of the modem's clock extraction and level measurement systems. experience has shown that if two consecutive dq readings are both less than 50 then it is worth instructing the FX929B to re-acquire the received signal levels and timing once it has been established that the received carrier level is satisfactory. this re-acquisition should follow the normal procedure given in section 1.6.3. the intervals between data quality readings is not critical, but should be a minimum of 64 symbol times except for the first reading made after triggering the aqsc and aqlev automatic acquisition sequences, which should be delayed for about 250 symbol times. a suitable algorithm is illustrated below. figure 22 received signal quality monitor flowchart
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 42 d/929b/1 1.7 performance specification 1.7.1 electrical performance absolute maximum ratings exceeding these maximum ratings can result in damage to the device. min. max. units supply (v dd - v ss ) -0.3 7.0 v voltage on any pin to v ss -0.3 v dd + 0.3 v current into or out of v dd and v ss pins -30 +30 ma current into or out of any other pin -20 +20 ma p4 package min. max. units total allowable power dissipation at tamb = 25c 800 mw ... derating 13 mw/c storage temperature -55 +125 c operating temperature -40 +85 c d2 package min. max. units total allowable power dissipation at tamb = 25c 800 mw ... derating 13 mw/c storage temperature -55 +125 c operating temperature -40 +85 c d5 package min. max. units total allowable power dissipation at tamb = 25c 550 mw ... derating 9 mw/c storage temperature -55 +125 c operating temperature -40 +85 c operating limits correct operation of the device outside these limits is not implied. notes min. max. units supply (v dd - v ss ) 3.0 5.5 v operating temperature -40 +85 c symbol rate 2400 9600 symbols/sec xtal frequency 1.0 10.0 mhz
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 43 d/929b/1 operating characteristics for the following conditions unless otherwise specified: xtal frequency = 4.9152mhz, symbol rate = 4800 symbols/sec, noise bandwidth = 0 to 9600hz, v dd = 3.3v to 5.0v, tamb = - 40c to +85c. notes min. typ. max. units dc parameters i dd (v dd = 5.0v) 1 4.0 10.0 ma i dd (v dd = 3.3v) 1 2.5 6.3 ma i dd ( powersave mode, v dd = 5.0v) 1 1.5 ma i dd ( powersave mode, v dd = 3.3v) 1 0.6 ma a c parameters tx output txop impedance 2 1.0 2.5 k w signal level tximp = 0 3 0.8 1.0 1.2 v pk-pk signal level tximp = 1 3 0.88 1.1 1.32 v pk-pk output dc offset wrt v dd /2 4 -0.25 +0.25 v rx input rxin impedance (at 100hz) 10.0 m w rxin amp voltage gain (i/p = 1mvrms at 100hz) 300 v/v input signal level 5 0.7 1.0 1.3 v pk-pk dc offset wrt v dd /2 5 -0.5 +0.5 v xtal/clock input 'high' pulse width 6 40.0 ns 'low' pulse width 6 40.0 ns input impedance (at 100hz) 10.0 m w inverter gain (i/p = 1mvrms at 100hz) 20.0 d b c interface input logic "1" level 7, 8 70% v dd input logic "0" level 7, 8 30% v dd input leakage current (vin = 0 to v dd ) 7, 8 5.0 +5.0 a input capacitance 7, 8 10.0 pf output logic "1" level (l oh = 120a) 8 92% v dd output logic "0" level (l ol = 360a) 8, 9 8% v dd 'off' state leakage current ( vout = v dd ) 9 10.0 a notes: 1. at 25 c. not including any current drawn from the modem pins by external circuitry other than the xtal oscillator. 2. small signal impedance, at v dd = 5.0v and tamb = 25c. 3. measured after the external rc filter (r4/c5) for a "+3 +3 -3 -3...." symbol sequence, at v dd = 5.0v and tamb = 25c ( tx output level is proportional to v dd ). 4. measured at the txop pin with the modem in the tx idle mode. 5. for optimum performance, measured at rxfb pin, for a "...+3 +3 - 3 -3..." symbol sequence, at v dd = 5.0v and tamb = 25c, tximp = 0 or 1. the optimum level and dc offset values are proportional to v dd . 6. timing for an external input to the clock/xtal pin. 7. wrn, rdn, csn, a0 and a1 pins. 8. d0 - d7 pins. 9. irqn pin.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 44 d/929b/1 notes min. typ. max. units m m c parallel interface timings (ref. figure 23) t acsl address valid to csn low time 0 ns t ah address hold time 0 ns t csh csn hold time 0 ns t cshi csn high time 10 6.0 clock cycles t csrwl csn to wrn or rdn low time 0 ns t dhr read data hold time 0 ns t dhw write data hold time 0 ns t dsw write data setup time 90.0 ns t rhcsl rdn high to csn low time (write) 0 ns t racl read access time from csn low 11 175 ns t rarl read access time from rdn low 11 145 ns t rl rdn low time 200 ns t rx rdn high to d0-d7 3-state time 50.0 ns t whcsl wrn high to csn low time (read) 0 ns t wl wrn low time 200 ns notes: 10. xtal/clock cycles at the xtal/clock pin. 11. with 30pf max to v ss on d0 - d7 pins. figure 23 m m c parallel interface timings
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 45 d/929b/1 1e-6 1e-5 1e-4 1e-3 1e-2 1e-1 8 9 10 11 12 13 14 15 16 s/n db (noise in 2 x symbol rate bandwidth) ber ber with fec ber without fec figure 24 typical bit error rate with and without fec measured under nominal working conditions, levres bits set to ?level track? or ?slow peak detect? and pllbw bits set to ?medium? or ?narrow? bandwidth, command register tximp bit set to 0 or 1 (same for tx and rx devices), with pseudo-random data. note: s/n calculated as 20 log 10 ( signal voltage ? noise voltage) where signal voltage is the measured rms voltage of a random 4-level signal. noise voltage is the rms voltage of a flat gaussian noise signal having a bandwidth from a few hz to twice the symbol rate (e.g. to 9600hz when measuring a 4800 symbol/sec system). both signals are measured at the same point in the test circuit.
4-level fsk modem data pump FX929B ? 1997 consumer microcircuits limited 46 d/929b/1 1.7.2 packaging figure 25 d2 mechanical outline: order as part no. FX929Bd2 figure 26 d5 mechanical outline: order as part no. FX929Bd5
4-level fsk modem data pump FX929B 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. consumer microcircuits limited 1 wheaton road telephone: +44 13 76 513833 witham - essex telefax: +44 1376 518247 cm8 3td - england e-mail: sales@cmlmicro.co.uk http:// www.cmlmicro.co.uk figure 27 p4 mechanical outline: order as part no. FX929Bp4


▲Up To Search▲   

 
Price & Availability of FX929B

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X