W925E/C240 8-bit ...

  • 2022-09-23 11:29:50

W925E/C240 8-bit CID Microcontroller

8 bit cid microcontroller
The w925e/c240 is a versatile 8-bit microcontroller with extensive Call Identification Delivery (CID) capabilities. The 8-bit CPU core is based on the 8051 series; therefore the instructions are compatible with the 8051 series. The cid part includes fsk decoder, dtmf receiver, CPE* alarm signal (CA) detector and ring detector. Built-in DTMF generator and fsk generator with baud rate of 1200 bps (bits per second). Using the W925E/ C240 can easily implement a cid add-on box and a cid-capable feature phone or short message service (sms) phone.
The main features are listed in the next section.
Features · Application: Mobile phone with cid function and cid add-on box.
CPU: 8-bit microcontroller similar to the 8051 series.
- Working voltage: Maximum current: 2.2 to 5.5 volts.
CID: 3.0 to 5.5 volts.
Dual clock operation:
- Main oscillator: 3.58MHz crystal for cid and dtmf functions. as well as the built-in rc oscillator.
- Secondary oscillator: 32768Hz crystal.
- Main oscillator and sub oscillator are enabled/disabled by bit control respectively.
ROM: 256K bytes internal flash EEPROM/mask ROM type.
- Program ROM up to 128K bytes.
- The lookup table rom is a total of 256k bytes.
- Divide 256K into 4 pages, each 64K addressable.
· RAM: -256 bytes of on-chip Notepad RAM.
- 8K bytes of on-chip RAM for MOVX instructions.
· cid company
- Compatible with Bellcore TR-NWT-000030 and SR-TSV-002476, British Telecom (BT) SUN227, British Cable Communications Association (CCA) specifications.
-fsk modulator/demodulator: for Bell 202 and itu-t v.23fsk at 1200 baud.
- CAS Detector: Dual Tone Idle State and Loop State Dual Tone Alert Signals (DTAS) for bellcore cas and bt.
- DTMF generator/receiver; DTMF receiver can be programmed as tone detector.
- Ring detector: line inversion for bt, ring burst for cca or ring signal for bellcore.
- Two independent op amps with adjustable gain for hybrid tip/loop and phone connections.
· I/O: 40 I/O pins.
-P0: Bit and byte addressable. I/O mode can be controlled by bit. Open groove.
-p1~p3: Bit and byte addressable. Pull-high and I/O mode can be bit controlled.
-P4: Byte addressable. Pull-high and I/O mode can be bit controlled.
Note: "CPE*" Customer Premises Equipment

8-bit cid microcontroller version: A6 Power mode: normal mode: normal operation.
- Dual clock slow operation mode: the system is operated by the sub-oscillator (fosc=fs) FM stop)
- Idle mode: CPU hold. The CPU's clock is paused, but the interrupt, timer and watchdog timer blocks work fine, but the cid functionality is disabled.
- Power-down mode: All activity stops completely, power consumption is lower than 1mA.
Timers: 2 13/16-bit timers, or 8-bit auto-reload timers, timer 0 and timer 1.
· Watchdog Timer: User programmable WDT as a system monitor.
• Interrupts: 11 interrupt sources with two priority levels.
- 4 interrupts from Int0, Int1, Int2 and Int3.
- Interrupt 2 times from timer 0, timer 1.
-1 Serial port interrupt. -1 to interrupt from CID.
- 1 13/14 bit divider interrupt.
-1 Interrupt from comparator.
-1 Interrupt from watchdog timer.
· Divider: 13/14 bit divider, clock source from sub-oscillator, so set a divider every 0.25/0.5 second.
•Comparators:
- Comparator: 1 analog input from VNEG pin, 2 reference input pins, one from VPO
pin and another from the internal regulator output.
Serial port:
- 8-bit serial transceiver with SCLK and SData.
Pin configuration pin assignment. The package type is 100-pin QFP.

8 bit cid microcontroller

8 bit cid microcontroller
The W925E/C240 is an 8-bit microcontroller with CID function. 8-bit microcontrollers have the same instruction set as the 8051 family, plus one more: dec dptr (opcode a5h, decrement dptr by 1). Also, the w925e/c240 contains 8k bytes of movx ram.
ROM: There are 256k bytes of eeprom/mask rom. Only 128k bytes of eeprom/mask rom is used for program code. The full 256k bytes of eeprom/mask rom is available for lookup table memory.
On-chip data RAM:
W925E/C240 has 8K ordinary RAM with addresses from 0000H to 1FFH. Access is only possible through the movx instruction; this on-chip ram is optional under software control. On-chip data RAM is not used for executable program memory. There is no conflict or overlap between the two 256 bytes of scratchpad ram and 8k bytes of movx ram use different address modes and separate instructions.
Combat ID:
The cid functions include fsk decoder, cas detector, dtmf decoder and ring detector.
FSK Modulator:
Supports ITU-T V.23 and Bellcore 202 FSK to transmit modulated signals.
DTMF Modulator:
W925E/C240 built-in dual-tone multi-frequency generator.
I/O ports:
The W925E/C240 has five 8-bit I/O ports providing a total of 40 lines. Ports 0 to 3 can be used as 8-bit general purpose I/O ports, with bit addressability. The I/O mode of each port is controlled by the PXIO register. Internal pull-up resistors for Port 1 to Port 4 are enabled/disabled by the PXH register. Port 0 is open-drain in output mode.
Serial I/O Ports:
The serial port via P4.0 (SCLK) and P4.1 (SData) is an 8-bit synchronous serial I/O interface.
Timer:
The W925E/C240 has two 13/16-bit timers or 8-bit auto-reload timers. Independent watchdog timers are used as system monitors or very long time period timers. The divider can generate divider interrupts every period of 0.5s or 0.25s.
Comparators:
The W925E/C240 has an internal comparator with an external analog signal input path VNEG and an external path vpos or regulator voltage for reference input ref1.
Interrupt:
W925E/C240 provides 11 interrupt resources with two priority levels, including 4 external interrupt sources, 2 timer interrupts, 1 cid interrupt, 1 divider interrupt, 1 serial port interrupt, 1 comparator interrupt and 1 watchdog timer interrupt.
Power Management:
The W925E/C240 has idle and power-down operating modes. In idle mode, the clock to the CPU core is stopped, but the functions of timers, dividers, CIDs and interrupts remain active. In power-down mode, the two system clocks stop oscillating and the chip operation stops completely. Power off mode is the lowest power consumption.

memory organization
The W925E/C240 divides the memory into two separate parts, program memory and data memory. Program memory is used to store instruction opcodes and lookup table data, while data memory is used to store data or for memory mapped devices.
Program memory:
The program memory on the W925E/C240 can be up to 256K bytes, which can be divided into 4 pages, and each page is 64K bytes in size. The upper 128k bytes are used to store opcodes and the entire 256k can be used to store lookup table data. Because the opcode is 64K addressable, a pg bit in the page register determines the rom page enable between page 0 and page 1, and the ALU gets the opcode from the selected ROM page. If pg=0, alu gets the operation code of page 0. If pg=1, alu gets the opcode from page1. When the movc instruction is executed, the alu obtains the lookup table data according to the instructions of the lt1 and lt0 bits. The values of this lt1 and lt0 indicate which rom page is active for the lookup table instruction.
program memory map

Data storage:
The W925E/C240 contains on-chip 8K MOVX RAM for data memory, which can only be accessed from addresses 0000h to 1ffh via the movx instruction. Additionally, the W925E/C240 has 256 bytes of on-chip scratchpad ram. This can be addressed by direct addressing or indirect access. There are also Special Function Registers (SFRs), which can only be addressed by direct addressing. Because scratchpad ram is only 256 bytes, it can only work with very small data content. If there is a larger data content, the only option is on-chip MOVX RAM. On-chip movx ram can only be accessed by movx instructions.
However, on-chip ram has the fastest access times.
Eraser board RAM/register addressing.

8 bit cid microcontroller

8-bit cid microcontroller special function register
The W925E/C240 uses Special Function Registers (SFRs) to control and monitor peripheral devices and their modes.
sfr is located in register location 80 ffh and is only accessed by direct addressing.
Some SFRs are bit addressable. This is in the hope of modifying a particular seat without changing other seats. Bit-addressable SFRs are those whose addresses end in 0 or 8. The list of SFRs is as follows. The table condenses eight positions per row. Empty locations indicate that these addresses have no registers. This does not guarantee that the contents of bits or registers are preserved.
Table 1 Special function register location table

power management
W925E/C240 has 3 working modes, normal mode, idle mode and power-down mode to manage power consumption.
Normal Mode Normal mode is used for normal operation. All functions are in normal working mode.
Idle Mode The user can put the device into idle mode by writing 1 to bit pcon.0. Indicates that setting the idle bit is the last instruction executed before the device enters idle mode.
In idle mode, the CPU's clock is suspended, but not the interrupts, timers, watchdog timers, dividers, comparators and cid blocks. This forces the CPU state to be frozen; the program counter, stack pointer, program status word, accumulator and other registers hold their stuff. Port pins hold the logic state when idle is activated.
Idle mode can be terminated in two ways. Since the interrupt controller is still active, activating any enabled interrupt can wake up the processor. This will automatically terminate idle mode and clear the idle bits. If the bit idlt (pcon.4) is cleared, the interrupt service will execute the routine (ISR), otherwise the idle mode will be released directly without executing the ISR. After the ISR, the execution of the program will continue from the instruction, which will put the device into idle mode.
Idle mode can also be exited by activating reset. The device can also be reset by applying a low voltage to the external reset pin, a power-on/fault reset condition, or a watchdog timer reset. The external reset pin must be held low for at least two machine cycles, the period of 8 clocks to be recognized as a valid reset. In a reset condition, the program counter is reset to 0000h and all SFRs are set to their reset state. Because the clock is still running during this time, the command is executed immediately. In idle mode, the watchdog timer continues to run, and if enabled, a timeout will cause the watchdog timer to interrupt and it will wake up the device. Software must reset the watchdog timer to preempt the reset that occurs after the 512 clock cycle timeout.
Power-Down Mode The device can enter power-down mode by writing a 1 to bit pcon.1. Indicate that this will be the last instruction executed before the device is powered off? model. In power-down mode, all clocks are stopped, device activity ceases completely, and power consumption is reduced to the lowest possible value.
The port pins output the value of their respective sfr.
Power-off mode will be turned off by reset or external interrupt or ring detection. An external reset can be used to exit the power-down state. The open-low reset pin terminates the power-down mode and restarts the clock. The on-chip hardware will now provide 65536 clocks to provide time for the oscillator to restart and stabilize. Once this delay is complete, the internal reset is activated and program execution will start at 0000h. In power-down mode, the clocks are stopped, so the watchdog timer cannot be used to provide a reset to exit power-down mode.
The W925E/C240 can wake up from power-down mode by forcing an external interrupt pin to activate and detect a ringing, provided the corresponding interrupt is enabled and the enable (EA) bit is set globally. When the power outage is released, the device will experience a warm-up delay of 65536 clock cycles to ensure stable oscillation. Then the device executes the interrupt service routine for the corresponding external interrupt or cid interrupt. After the interrupt service routine completes, the routine returns the instruction to put the device in shutdown mode, and then continues. When the rgsl(pmr.5) bit is set to 1, the CPU will use the internal RC oscillator instead of the crystal to exit power-down mode. This microcontroller will automatically switch from the RC oscillator to the crystal 65536 crystal clock after a warm-up delay. The RC oscillator runs at about 2-4 MHz. use rc oscillator

8-bit cid microcontrollers come out of power-down mode to save time waiting for the crystal to start up. In low useful power systems are typically woken up from short-term operation and then re-powered off mode.
The reset user has several hardware-related options for placing the W925E/C240 in reset.
In general, most register bits reach their reset value regardless of the reset condition, but there are few flags whose initial state depends on the source of the reset. The user can identify the reason for the reset by reading the flag. There are three ways to get the device into a reset state.
They are external reset, power-on reset and watchdog reset.
External Reset The device continuously samples the reset pin in the C4 state of each machine cycle. Therefore, the reset pin must be held for at least 2 machine cycles to ensure a valid reset low is detected. The reset circuit then applies the internal reset signal synchronously. Therefore, reset is a synchronous operation, requiring the clock to run to cause an external reset.
Once the device is in reset, it will remain the same as long as it is reset to 0. Even after deactivation after reset, the device will continue to be in reset state for a maximum of two machine cycles and then execute the program from 0000h. There are no flag conditions associated with external resets. However, an external reset can be considered a default reset if these two flags are cleared, for the reason that some flags indicate the other two resets.
Watchdog Timer Reset The Watchdog Timer is a free-running timer with a programmable time-out interval. The user can reset the watchdog timer at any time to avoid generating the flag WDIF. If the watchdog reset is enabled and the flag WDIF is set high, then an additional 512 clocks have come. This will put the device into a reset state. The reset condition is maintained by hardware for two machine cycles. Once the reset is removed, the device will start executing from 0000h.
interrupt
The W925E/C240 has a dual-priority interrupt structure with 11 interrupt sources. Each interrupt source has a separate priority bit, flag, interrupt vector and enable bit. Additionally, interrupts can be globally enabled or disabled.
External interrupts Int0 and Int1 can be edge-triggered or level-triggered, depending on bits it0 and it1. The IE0 and IE1 bits in the TCON register are selected to generate interrupts. Sampled every machine cycle in edge-triggered mode with Int0 and Int1 inputs. If the sample is high in one cycle and low in the next, a high-to-low transition is detected and the interrupt request flag iex in tcon is set. The flag bit requests an interrupt. Since external interrupts are sampled every machine cycle, they have to stay high or low for at least one full machine cycle. The IEX flag is automatically cleared when the service routine is called. If horizontal trigger mode is selected, the request source must hold the pin low until the interrupt is serviced. The IEX flag will not be cleared by hardware when entering maintenance procedures. If the interrupt continues to be held low even after the service routine completes, the processor can acknowledge another interrupt request from the same source. Note that external interrupts int2 to int3 are edge-only.
tf0, tf1 flags generate timer 0, 1 interrupts. These flags are made by timer 0, timer 1. when the timer interrupt is serviced.

8-bit cid microcontroller watchdog timer can be used as system monitor or simple timer. In either case, when the timeout count is reached, the watchdog timer interrupt flag wdif (wdcon.3) is set. An interrupt will occur if the interrupt is enabled by enable bit EIE.5.
Serial blocks can generate interrupts on reception or transmission. There is an interrupt sourced from the serial block, picked up by sf1 in scon1. SF1 is cleared automatically when the serial port interrupt is serviced.
The divider interrupt is generated by the divf that is set when the divider overflows. divf is by hardware, and is cleared when a split interrupt is serviced. If bit EDIV is high/low.
compf generates a comparator interrupt, set from low to high when the resc bit changes. RESC is the real-time result of the comparator when the reference input is higher than the analog input voltage.
cid interrupts are generated by cidf. cidf is the logical OR output of all cid flags which are set by hardware and cleared by software. Figure 6-4 shows the structure of the cid flag.
By setting or clearing the corresponding bits in the IE and EIE SFRs. Bit ea is in ie.7 and is a global control bit to enable/disable all interrupts. All interrupts are disabled when bit ea is zero and high when bit ea is zero, each interrupt is individually enabled by the corresponding bit.
Structure priority of the cid flag Structure interrupts have two priorities, high priority and low priority. Interrupt sources can be individually set high or low. Of course, high-priority interrupts cannot be interrupted by low-priority interrupts. However, there is a predefined hierarchy.
interrupt themselves. When the interrupt controller must resolve simultaneous requests with the same priority. This hierarchy is defined as follows; interrupts are numbered from the highest priority to the lowest.

Programmable Timer/Counter
W925E/C240 has 2 16-bit timer/counter. There are two 8-bit registers that implement 16-bit count registers in each timer/counter. In timer/counter 0, th0 is the upper 8-bit register, and TL0 is the lower 8-bit register. Similarly, Timer/Counter 1 has two 8-bit registers th1 and tl1. Each timer/counter has 4 clock sources, fosc/4, fosc/64, fosc/1024 and fs. Each timer/counter 0 and 1 has 3 operating modes. The working mode of timer/counter 0 is the same as timer/counter 1. The overflow signal of each timer/counter is sampled in the second stage of each system machine cycle, so when the system clock and timer/counter clock are both from the sub-oscillator, if the overflow frequency is higher than fs/4, the overflow flag cannot be Sample correctly. Only one overflow flag can be sampled in a machine loop and the others will be missed.
Mode 0
In Mode 0, the timer/counter acts as a 13-bit timer/counter. 13 bits by 8 bits thx and 5 bits down TLX. The upper 3 bits of TLX are ignored. The negative edge of the clock causes the contents of the tlx register to increment by one. When the fifth bit in TLX moves from 1 to 0, then the count in the THX register is incremented. When the count in thx is moved from ffh to 00h, then the overflow flag tfx is set. Counted inputs are enabled only when trx is set and gate=0 or intx=1. When c/t is set to 0, it will count clock cycles, if c/t is set to 1, then it will count timer 0 and t1 (p3.5) of timer 1 at t0 (p3.4). When the 13-bit count reaches 1ffh, the next count will cause it to flip the 8-bit cid microcontroller sets the timer overflow flag tfx of the associated timer, if enabled, an interrupt will occur. Note that the bits of ckcon1 select the time base when they are used as timers.
Mode 1 is similar to Mode 0, except that the count register forms a 16-bit counter instead of a 13-bit counter.
Mode 0 and Mode 1 of Timer/Counter 0 and 1
Mode 2 is the auto-reload mode. In mode 2, tlx acts as an 8-bit count register, while thx holds the reload value. When the tlx register overflows from ffh to 00h, the tfx bit is set, tlx reloads the contents of thx, and the counting process continues from the reloaded tlx. This reload operation leaves the contents of the thx register unchanged. The count is determined by the correct setting of the trx bits and the gate and intx pins.
buzzer

In Mode 2, Timer 0 can be used to program any frequency to be output to bits 6 and 7 of the BUZ pin, CKCON2. The buz pin can be configured as a key tone (kt) output to a high position by setting buzsl. When the buzzer output is disabled by clearing enbuz to low, the buz output is in a floating state.
In the case where the timer 0 clock input is ft, the desired frequency of the buz output = ft/(255 – preset value + 1)/2 (Hertz).

8 bit cid microcontroller

Mode 2 of Timer/Counter 0 and 1 When ft is equal to 32768Hz, the buz pin will output a single tone signal with a tone frequency range of 64Hz to 16384Hz according to the preset value of tm0. The relationship between the tone frequency and the preset value of tm0 is shown in the table below.

The relationship between audio frequency and stress

The watchdog timer is a free-running timer that the user can program as a system monitor, time base generator, or event timer. Basically a set of separators dividing the system clock. The divider output selects and determines the time-out interval. In the case of timer timeout, if the corresponding enable control bit is set. If individual interrupts are enabled and set global enable. The interrupt and reset functions are independent of each other and can be used individually or together depending on the user software.
The watchdog timer should first be restarted using rwt. This ensures that the timer starts from a known state. The rwt bit is used to restart the watchdog timer. This is self-clearing, i.e. software will automatically clear it after writing a 1 to this bit. The watchdog timer now counts clock cycles. The timeout interval is selected by the two bits wd1 and wd0 (ckcon.7 and Chapter 6). When the selected timeout occurs, the watchdog interrupt flag wdif (WDCON.3) is set. After the timeout occurs, the watchdog timer will wait an additional 512 clock cycles. Software must issue a rwt to elapse at 512 clocks. If the watchdog reset EWT (WDCON.1) is enabled, 512 clocks after timeout, without rwt, a system reset caused by the watchdog timer will occur. This will last for two machine cycles and will set the watchdog timer reset flag wtrf (wdcon.2). This indicates that the monitoring program caused the reset software. When used as a simple timer, reset and interrupt functions are disabled. The timer will set the WDIF flag each time the timer completes the selected interval. The wdif flag is polled to detect a timeout, and RWT allows software to restart the timer. The watchdog timer can also be used as a very long timer. In this case, the interrupt function is enabled. Every timeout if the global interrupt enable EA is set, an interrupt will occur.
Timeout value of watchdog T

The watchdog timer will be disabled by power-up/fault reset. A watchdog timer reset does not disable the watchdog timer, but restarts it. In general, software should restart the timer into a known state.
watchdog control
wdif:wdcon.3 - Watchdog timer interrupt flag. whenever a timeout occurs on the watchdog timer. If the watchdog interrupt is enabled (EIE.5), the interrupt will occur (if the global interrupt enable is set and other interrupt requirements are met). Software or any reset can clear this bit.
wtrf:wdcon.2 - Watchdog timer reset flag. Setting this bit occurs whenever the watchdog is reset. This bit is used to determine the reset cause. Software must read it and clear it manually. A power fail reset will clear this bit. If ewt=0, this bit will not be affected by the watchdog timer.
EWT:WDCON.1 - Enables watchdog timer reset. When set to 1, this bit enables the watchdog timer reset function. Setting this bit to 0 will disable the watchdog timer reset function, but will let the timer run rwt:wdcon.0 -reset watchdog timer. This bit is used to clear the watchdog timer and restart. This bit is self-clearing, so after software writes a 1 to it, hardware will automatically clear it. If watchdog timer reset is enabled, rwt must be set by the user to time out within 512 clocks. If this is not done, then a watchdog timer will be reset.
clock control
WD1, WD0: CKCON.7, CKCON.6 - Watchdog timer mode selection bits. These two bits select the time-out interval for the watchdog timer. The reset time is longer and the 512 clock time is greater than the interrupt timeout value.
The default watchdog timeout is 212 clocks, which is the shortest timeout period. The EWT, wdif and rwt bits are protected by the timed access process. This prevents software from accidentally enabling or disabling the watchdog timer. More importantly, it makes it possible that the error code cannot enable or disable the watchdog timer.
Serial port 1
P4.0 and P4.1 can be used as 8-bit serial input/output port 1. P4.0 is the serial port 1 clock I/O pin and P4.1 is the serial port 1 data I/O pin. Serial port 1 is controlled by the scon1 register as described below.
Serial port 1 interrupt flag. When 8-bit data is fully received, sf1 is controlled by hardware. SF1 is cleared when the serial interrupt 1 program is executed or cleared by software. REN1: Set REN1 from 0 to 1 to enable serial port 1 to receive 8-bit serial data.
sfq:sfq=0The serial clock output frequency is equal to fosc/2sfq=1The serial clock output frequency is equal to fosc/256sedg:sedg=0The serial data is latched on the falling edge of the clock, sclk=low initial value. SEDG=1 when the serial data is latched on the rising edge, SCLK=HIGH initial value. clkio:clkio=0 p4.0(sclk) as output mode clkio=1 p4.0(sclk) as input mode sio:sio=0 p4.0&p4.1 work as normal I/O pins SIO=1 P4.0 and P4.1 works as a serial port 1 function Any instruction that results in a write to sbuf1 will initiate a serial port 1 transfer. Since ren1 goes from 0 to 1, serial port 1 starts receiving a byte at the serial frequency to the sbuf1 clock. REN1 can be cleared by software after the receive function starts.

Comparator

Built-in comparator for comparing analog signals. There is an analog input path from pin vneg. Two reference inputs, one from pin VPO and the other from the regulator output. When the voltage on the positive input is higher than the negative input, the comparator output will also be high. This resec(compr.3) is the result of the comparison. The internal rising signal on RESC generates the interrupt flag for compf (exif.4). When the comparator interrupts the routine, the flag compf is cleared by software execution or cleared. Set compen to enable comparator functionality.

Comparator Configuration The output voltage of the regulator can be adjusted by 4 bits in the regulator voltage control register (regvc). When regvc is equal to 0ah, the output voltage is 1.0v. The higher the value of regvc, the lower voltage output of the regulator. The adjustable voltage range is about 0.72v to 1.48v. The change in voltage depends on vdd. Below is a comparison table voltage of regvc and regulator.
regvc 00 01 02 03 04 05 06 07 08 09 0ah 0bh 0ch 0dh 0eh 0fh
Load (3V) 1.497 1.4464 1.3941 1.3426 1.2899 1.238 1.186 1.1352 1.081 1.029 0.976 0.924 0.869 0.815 0.762 0.7112
Load (5V) 1.500 1.449 1.397 1.345 1.292 1.241 1.188 1.137 1.083 1.031 0.978 0.925 0.87 0.816 0.763 0.712
DTMF Generator W925E/C240 provides a DTMF generator which outputs DTMF signal to DTMF pin. The dtmf generator works well at the operating frequency of 3.58mhz. A DTMF generator register, DTMFG, controls the DTMF output and specifies the desired low/high frequency. Tones are divided into two groups (low and high). When the generator is disabled, the DTMF pin is tri-stated.

The E/C240 provides an FSK generator that outputs the FSK signal to the DTMF pin. The FSK output is shared with the DTMF output pin. It can output a fsk signal at a frequency of 1200 Hz with a baud rate of itu-t v.23 or a bell core 202 signal. The fsk transfer data register (fsktb) specifies the desired output data. The fsk transmit control register (fsktc) can control whether the fsk signal is output.

Separator A built-in 13/14-bit binary up-counter for generating periodic interrupts. The clock source is from the sub-oscillator. When the frequency of the sub-crystal is 32768Hz, it provides divider interrupt in 0.25/0.5 seconds. The bit divs control the degree of the divider. When diva is high and when diva is low, enable the split counter, reset the splitter and stop counting. When overflowing as a delimiter, the delimiter break flag divf will be set. divf clears interrupt routines by software or service delimiter.

Call ID Delivery (cid)
The W925E/C240 offers Type I and Type II CID systems. Type I is calling CID messages and Type II is hook-up call waiting. cid functions include fsk decoder, dual-tone alarm signal detector, ring detector and dual-tone multi-frequency receiver. The fsk demodulation function can demodulate the bell 202 and itu-t v.23 frequency shift keying (fsk) at 1200 baud rate. This audible alarm detection feature detects dual tone equipment (CPE) tone alarms (CA) and BT idle and loop state tone alarms at Bellcore customer premises.
The line inversion of bt, the ring burst of cca or the ring signal of bellcore can pass the ring detection detector. Compatible with Bellcore TR-NWT-000030 and ST-TSV-002476, British Telecom (BT) SUN227, British Cable Communications Association (CCA) specifications. The DTMF receiver can be programmed as a DTMF decoder to decode 16 DTMF signals or a tone detector to detect which frequency of the signal is in the DTMF band. Tone detectors can be used as auxiliary detectors to improve the detection of voice alarm signals (cas) in Type II systems.
The fsk decoder, beep detector and dtmf receiver can pass the fske, case and dtmfe bits in the fsk data register (fskdr). Kill is the global control bit used to enable/disable the FSK decoder, alarm tone detector and DTMF receiver. However, the ring detector is always active.

The application circuit illustrates the RNGDI, RNGRC, and RNG signals. The combination of RNGDI and RNGRC is used to detect the RNGDI voltage from ground to levels above the Schmitt trigger high threshold voltage VT+.

Application Circuit of Ring Detector
RC time constant at RNGRC pin for delay
The low-altitude edge of the RNGDI. This edge goes from above the VT+ voltage to the Schmitt trigger low sustained threshold voltage -
The RC time constant must be greater than the maximum period. Ring signal to ensure minimal RNG high spacing, and filter the ring signal for envelope output. A rising signal of rng will set bit rngf (cidfg.0) high, causing the cid flag (CIDF) to be high.

Diode bridges are suitable for single-ended ring signals and balanced ringtones. R1 and R2 are used to set the maximum load and must have equal values. Balanced loads are achieved at the tip and loop. r1, r3, and r4 form a resistive divider to provide a reduced voltage to the RNGDI input. The attenuation value is determined by the detection of the minimum ring voltage and the maximum noise margin between the tip/ring and ground.

The input signal is processed by the input preprocessor, which consists of two operational amplifiers and a bias voltage source (VREF). A gain op amp is used to bias the input voltage voltage with the VREF signal. vref is usually vad/2, it is recommended to connect a 0.1uf capacitor to vas. The gain-adjustable op amp selects the input gain by connecting a feedback resistor between the GCFB and Inn pins.
Differential Input Configuration and Diagram

Shows a single-ended configuration.

cas/dtas detection In offline services (type II), the detection of ca/dtas will affect the quality of call waiting. Serve. When cas/dta is sent from the far end, sometimes the near end user may still be speaking. The CPE must be able to successfully detect CA/DTA speech near the tail end. The detection efficiency is improved by detecting cas/dta through the telephone hybrid receiver pair. However, in BT's on-hook CID system, the detection of Cas/DTAs comes from the tip/loop pair. The two-tone alarm signal is divided into two tones, high and low, and is detected by the high/low tone detector. When the detector recognizes the alarm tone, the bit algof will go high and the rising signal will set the bit algof in cidfg to generate the cid flag (cidf).
Detects the guard time waveform of the alarm tone. The total recognition time is trec=tdp+tgp, where tdp is the tone occurrence detection time, and tgp is the tone occurrence protection time. The guard time of complete absence is tabs=tda+tga, where tda is the pitch absence detection time and tga is the pitch absence guard time. The tone presence/absence guard time is determined by the guard time timer of the input clock with a period of 0.858ms. When an alarm tone is detected, the internal signal algr is set, and the rising edge of ALGR resets the guard time timer, which starts counting from 00 hours.
The content of the timer is the same as the register caspt, the timer stops counting, the bit ALGO will be set, and the rising edge of ALGO triggers the ALGOF flag to go high. This count of tone-missing time is similar to that of tone-present time, but ALGR/ALGO replaces rising edge and CASAT replaces CAST. Bit arithmetic is controlled by hardware only. The flag algof is set by the rising edge of algo and is cleared by the software alarm tone signal to detect the guard time waveform. The DTMF decoder shares the same input preprocessor as the FSK decoder. The dual tone is split into a low group and a high group by two switched capacitor filters (scf). Method DTMF detection is the same as alarm tone detection. The present/absent guard time is determined by the registers dtmfpt/dtmfat. When the DTMF signal is recognized and decoded, bit DTMFD will be set and the decoded DTMF data is stored in bits 0 to 3 of register DTMFDR. A rising edge generates the flag dtmfdf.


Bit DTMFD is controlled by hardware only. The flag DTMFDF is set by the rising edge of DTMFD and cleared by software.

Tone Detector In the off-hook state, the Type II system detects a tone alert signal (CA) susceptible to human voice or other noise in the vocal cords. Sometimes interference can cause noise to be falsely identified as cas (off), or true cas (off) not detected. DTMF can be programmed as a tone detector by setting bit 4 of DTMFR2. The DTMF frequencies of the band detectors of the tones are 697 Hz to 1633 Hz. Once the tone detector is in band, the bit of dtmfh or dtmfl in register dtmfdr will go high immediately. The user can poll these 2 bits to check for the presence of a tone on the cue/ring. The input gain of the tone detector is the same as that of the DTMF receiver.
fsk decoder

The fsk carrier detector provides an indication of the frequency band of signals present within the fsk. If the output amplitude of the fsk bandpass filter is sufficient to be detected for 8 ms consecutively, the fsk carrier detected bit fcd will go high, if the output amplitude of the fsk bandpass filter is undetectable for more than 8 ms. 8ms is the lag of the fsk carrier detector.

Tone Detector In the off-hook state, the Type II system detects a tone alert signal (CA) susceptible to human voice or other noise in the vocal cords. Sometimes interference can cause noise to be falsely identified as cas (off), or true cas (off) not detected. DTMF can be programmed as a tone detector by setting bit 4 of DTMFR2. The DTMF frequencies of the band detectors of the tones are 697 Hz to 1633 Hz. Once the tone detector is in band, the bit of dtmfh or dtmfl in register dtmfdr will go high immediately. The user can poll these 2 bits to check for the presence of a tone on the cue/ring. The input gain of the tone detector is the same as that of the DTMF receiver

The fsk demodulation function can demodulate bell 202 and itu-t v.23 frequency shift keying (fsk) 1200 baud rate. When the decoder receives the fsk serial data, the serial data will simultaneously demodulate the synchronous clock signal into the bit fdata of 1200 baud rate and output the bit fclk. When the decoder receives a byte, the internal serial-to-parallel circuitry sets bit fdr and converts the 8-bit serial data to the byte register fskdr. A rising edge of the OF bit FDR will set the flag FDRF to generate a CID interrupt, but FDRF is cleared by software.

fsk data can be obtained by reading register fskdr or sampling bit fdata. timing of fsk

The demodulation is shown in Fig.

The W925E/C240 analog interface circuit of the application circuit is a typical CPE system. This gain control op amp is set to unity gain to allow the electrical characteristics to be met in the application circuit.

Application Environment There are three main timing differences for cid sequence, bellcore, bt and cca call display service on-hook data transmission

Caller display service for hooking up data transfers. The cid flag (cidf) must be used by the software every time the CID interrupts the program. The CID global enable signal (cide) must be set high.