Application of AT89C52 in Call Buffer System of Program-controlled Exchange

Publisher:blq0681Latest update time:2018-03-22 Source: eefocusKeywords:AT89C52 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

    The call information generated by the program-controlled exchange is output through the serial interface, and the telephone billing system can use the computer to receive the call information from the exchange output port. The output of the call information depends on the use status of the system extension telephone. To prevent information loss, the computer system must keep working continuously all day. Early systems mostly used static RAM as cache, so the data reliability was not high, the system power consumption was large, and the system flexibility was poor. This article introduces a program-controlled exchange call information buffer system with AT89C52 microcontroller as the core and In-telStrata series flash memory as cache. The system has many characteristics such as multi-tasking working characteristics, high data storage reliability, fast readout speed, and high system flexibility.

 

    System hardware structure

    The following figure shows the hardware structure of the switch call information cache system. Its main components are:

Hardware structure diagram of call information buffer system of switch

    (1) Based on Atmel's AT89C52 microcontroller, the clock frequency is 18.432MHz.

    (2) The Intelstrata series flash memory 28F320J5 and 28F640J5 are used to form a buffer memory array. The hardware supports 4MB, 8MB, 12MB, and 16MB cache space configurations and uses a jumper-free design.

    (3) The UART interface chip uses TL16C550 and Maxim's MAX3225 to complete the CMOS and RS232C level conversion for interfacing with a computer or modem.

    (4) The P1 and P3 interfaces of AT89C52 are used to form a serial interface, and the current loop drive circuit and the corresponding level conversion circuit are used to connect to the serial port of the switch. The communication distance can reach 1km.

    (5) Backup battery management and DC-DC conversion circuit. The serial output A/D converter is used for external power supply and battery voltage and capacity monitoring TLC0838C chip, and the line output port 74HC374 chip is used for battery charge and discharge control and AMX3225 and current loop circuit switch control.

    (6) The single-chip serial EEPROMX25045 is used for configuration and storage of system parameters, low power supply voltage monitoring, and programmable hardware watchdog circuit.

    (7) Flash memory AT29C256 is used to execute system software outside the microcontroller chip. Users can use the reload module in the internal program memory of AT89C52 and AT29C256 to implement online upgrade of system software.

   System software components

 Main process process system software main process

  (1) Main process The main process of the system software is shown in the figure above. The initialization program completes the detection of the system main cache capacity and its read and write breakpoints, including support for the mixed configuration of 28F320J5 and 28F640J5 and jumper-free hardware design; reads system configuration parameters from the serial EEPROM, sets various alarm values, initializes the baud rate of the soft serial port and the TL16C550 hard serial port, etc.; initializes the microcontroller and TL16C550 interface hardware. In the main loop, the backup battery management includes the battery working mode and its working time, the management of the battery's system working time and battery capacity information, and the battery charge and discharge control; when the free cache capacity of the LED and buzzer reaches the threshold, the battery is powered, and the Tl timing interruption occurs, TO generates a buzzer drive waveform of about 2.4kHz.

Information caching process

    (2) Information caching process As shown in the figure above, the reception and buffer storage of the switch call information is completed by embedding each functional module. Two 16KB programming buffers are opened in the RAM area of ​​AT89C52. The data received by the soft serial port is compressed and filled into the buffers in sequence. Once a buffer is filled, the system is notified to implement buffer programming. Each functional module actively detects the corresponding notification flag in time to ensure the real-time caching of call information.

    (3) The soft serial port is realized by using the NTO pin of AT89C52 as RXD, combining the design of INTO edge interrupt and post-timer interrupt service program, and controlling the sampling and reception of serial call information by software. At the same time, by monitoring and recording the characteristics of the serial frame start bit and LSB, the automatic identification and tracking of the serial port output baud rate is realized.

    Conclusion

    The system uses AT89C52 as the core, selects cost-effective main memory and peripheral interface chips, and cooperates with powerful and flexible software design to develop a programmable switch called information buffer system, which achieves low cost, large capacity, high real-time and multi-tasking characteristics.


Keywords:AT89C52 Reference address:Application of AT89C52 in Call Buffer System of Program-controlled Exchange

Previous article:Design of intelligent system for automatically announcing bus stop names
Next article:Design of a controller for the waste rejection valve of a cigarette making machine based on the single-chip microcomputer 89C52

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components
Guess you like

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号