Feb 15, 2017 - unit has been used with 25 calls can carried on at once. ..... R. Newman,â The Personal PBXâ, the Computer Applications Journal, July 1994. 3.
International Journal of Electronics and JOURNAL Communication Engineering & Technology (IJECET), ISSN 0976 – INTERNATIONAL OF ELECTRONICS AND 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 6, November - December (2013), © IAEME
COMMUNICATION ENGINEERING & TECHNOLOGY (IJECET)
ISSN 0976 – 6464(Print) ISSN 0976 – 6472(Online) Volume 4, Issue 6, November - December, 2013, pp. 49-56 © IAEME: www.iaeme.com/ijecet.asp Journal Impact Factor (2013): 5.8896 (Calculated by GISI) www.jifactor.com
IJECET ©IAEME
DESIGN AND IMPLEMENTATION OF A MULTIPROCESSORS TELEPHONE EXCHANGE Yamaan E. Majeed
Ahmed K. Hassan
S. N. Abdullah
University of baghdad
University of baghdad
CMC
ABSTRACT The objective of this research is to design and implement a multi-processors control system to control a telephone exchange. Ten processors used to design the multi-processors control part. Each processors will control 100 subscribers forming a small telephone exchange (node), the ten processors will manage the operation of 1000 subscribers in total. Each telephone exchange control unit will work as multi-processes and the whole system will work as multiprocessors telephone exchange. A small model for the proposed system has been implemented, the model consists from two nodes (small telephone exchanges), each node has two subscribers and space division switch unit has been used with 25 calls can carried on at once. The control unit was implemented using ATMEL 89C51 microcontroller with several 74xxx IC series. The message passing technique used to communicate between the nodes with special protocol. Finally the implemented model has been tested and worked successfully. Keywords: Multiprocessors, Telephone Exchanges, Cluster, Control Unit, Microcontroller. 1. INTRODUCTION After the invention of the telephone set, its capabilities had been limited to communicate with one destination device only. When the number of telephone sets increased to N it was illogically to exist N wire pairs from the source telephone to N telephone destinations. If there is a center point collects all the telephone lines and provides a mechanism of connecting two telephone sets with only one wire pair a term Telephone Exchange was presented. The first telephone exchange was manually selected the destination telephone set, then after that automatic version was presented but was electromechanical machine. During 1960’s electronic version of telephone exchange presented with Stored Program Control (SPC) and semiconductor components, the development still until today with new versions providing many services and features.
49
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN 0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 6, November - December (2013), © IAEME
This research can be divided to: 1-Introduction, 2-Related work, 3- Multiprocessors Theory, 4- The Proposed Work, 5-Telephone Exchange Software Fundamentals, 6-Conclusion. 2. RELATED WORKS Arkan J.Yacoub designed and implemented a non-blocking digital PABX. This switching system used digital switching technique. The switching is done on time based by allocating time slots for each subscriber on a common pulse code modulation (PCM) high way. The controller of this PABX is the hp503A microprocessor system. [Arkan J.Yacoub, 1985] Richard Newman designed a telephone exchange (PABX) for home in which all the telephone sets in home can share the C.O. line. This exchange was designed to work with home environment that commercial exchange can not support. [Richard Newman, 1994] Faris A. AL-katib designed and implemented a PABX that has maximum capacity of 16 internal lines and 4 external lines. This PABX uses the space division switching technique and stored program control. This PABX is controlled by either a PC through an interfacing board or by a single chip 8031 microcontroller with an external EPROM for program storage [Faris A. Al-Katib , 1999]. Nabel Sabah AL- Dahan designed and implemented a non-blocking digital PABX based on the use of time division multiplexing of digitally encoded voice signals (TDM – PCM). [Nabil Sabah Al- Dahan , 2003] The previous related works focused on using one processor (controller) controlling unit, analogue or digital switch, if they like to increase the capacity of exchange by increasing both the capacity of switch and the speed of processor and all the telephone exchanges previously mentioned were PBXs. 3. MULTIPROCESSORS THEORY In the field of multiprocessors there are four categories classified according to Flyn which are: [William Stallings, 2004] • Single instruction single data (SISD) stream: a single processor executes a single instruction stream to operate on data stored in a single memory. Uniprocessors fall into this category. • Single instruction multiple data (SIMD) stream: a single machine instruction controls the simultaneous execution of a number of processing elements on a lockstep basis. Each processing element has an associated data memory, so that each instruction is executed a different set of data by the different processors. Vector and array processors fall into this category. • Multiple instruction single data (MISD) stream: a sequence of data is transmitted to a set of processors, each of which executes a different instruction sequence. This structure is not commercially implemented. • Multiple instruction multiple data (MIMD) stream: a set of processors simultaneously execute different instruction sequences on different data sets. SMPs, clusters, and NUMA systems fit into this category. In MIMD if the processors share a common memory then each processor accesses programs and data stored in the shared memory and processors communicate with each other via that memory, this type of processors called Symmetric Multiprocessor (SMP). A collection of independent uniprocessors or SMP may be interconnected to form a cluster. 3.1 Symmetric Multiprocessors Fig.1 depicts in general terms the organization of a multiprocessor system. There are two or more each processor is self contained, including a control unit, ALU, registers, and typically, one or more levels of cache. Each processor has access to a shared main memory and the I/O devices 50
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN 0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 6, November - December (2013), © IAEME
through some form of interconnection mechanism. The processors can communicate with each other through memory. The memory is often organized so that multiple simultaneous accesses to separate blocks of memory are possible. In some configurations, each processor may also have its own private main memory and I/O channels in addition to the shared resources [William Stallings, Hesham ElRewini and Mostafa Abd El-Barr, 2004, 2005].
Fig.1 3.2 Cluster One of the hottest new areas in computer system design is clustering or message passing. A cluster can be defined as a group of interconnected, whole computers working together as a unified computing resource that can create the illusion of being one machine. Each computer in a cluster is typically referred to as a node. Fig.2 clustering block diagram. [William Stallings, Hesham ElRewini and Mostafa Abd El-Barr, 2004, 2005]. To design the multiprocessors control system of the telephone exchange based on MIMD a comparison between SMP and cluster must be done to find out the best one.
Fig.2 4. THE PROPOSED WORK The proposed work is to design medium module (complete exchange) with 100 subscribers as a shelf in a cabinet. By adding 10 shelves in one cabinet a telephone exchange of 1000 subscribers will be presented. By connecting N cabinets together a new telephone exchange of Nx1000 subscribers will be presented(N depends on the cost of the switch unit in which there is a compromisation between the cost and the numbers of successive calls (non blocking calls)carried on
51
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN 0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 6, November - December (2013), © IAEME
at once) . Increasing number of shelves or cabinets (increasing the exchange capacity) is governed by the customer need. Fig. 3 shows a block diagram of proposed work. Also when an old limited service and capacity telephone exchange want to be replaced with a new one with new services and features instead of throwing it away the proposed work suggest to connect many of those old telephone exchange using suitable algorithms to produce new one with large capacity and modified features and can be used by subscribers in the same area or out side it(country side) this can reduce the cost of manufacturing new telephone exchange only pay for modifications of the exciting system. The proposed work suggests connecting independent multiple medium telephone exchange together to form large telephone exchange, each one has its own controller and switch matrix, SMP is less reliable to implement this control unit because SMP communicate through common memory in which a failure in this memory failed in the whole system. Cluster successes in the comparison because it is convenient to the proposed work requirement. 5. DIFFERENCES BETWEEN NO.5 ESS(ELECTRONIC SWITCHING SYSTEM) AND PROPOSED WORK • In NO.5 ESS there is one large switch module serving all SLICs and trunks but in proposed work switch module is divided to N of small switches. There is a small switch module in each shelf serving SLICs and trunks. In NO.5 ESS subscribers divided to groups. Each group has High Way (HW) communication line connected to switch module. If this HW failed, only this group is out of service and the whole exchange work properly well. But if the large switch module is failed, all the groups are out of service. In proposed work also the subscribers divided to groups. Each group has its small switch module, if failure in one group (shelf) is happened, the whole exchange (cabinet) work properly well. • In NO.5 ESS a failure in switch module of the exchange, all the subscribers are out of services but the proposed work overcome this problem by implementing the switch unit from 10 small independent switch units failure in one small switch unit, only that group is out of service. • Control module of NO.5 ESS is faster (may be 386 and higher) but it costs a lot because of control module needs higher technology implementation for PCB board (four layers PCB) to work on higher clock rate bus with minimum noise, also interfacing board is complex. For proposed work, controller is slower than in NO.5 ESS using ATMEL 89C51 microcontroller(industrial type) which can serve maximum of 200 subscribers if using 12MHz crystal . The implementation of PCB board for controller module needs lower technology (commercial methods) and the results are acceptable with lower cost. • Fig. 3 shows a block diagram of the proposed multiprocessors telephone exchange. Each switch matrix has 10 free speech paths seized for multi-switches connections; each controller has a switch (multiplexer) enabling it to communicate with other controllers using half duplex method. The default position of multiplexer is (S1=0, S0=0) enabling the controller in receiving mode. If a subscriber in exchange 1 like to communicate with subscriber in exchange 2 ,controller 1 be in the transmitting mode and controller 2 is in the receiving mode (default mode) free speech path seized for them and a link established between them ( both the switches and controllers) and the telephone call is carried out until the conversation is ended. Fig. 4 shows multiprocessors communication.
52
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN 0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 6, November - December (2013), © IAEME
Fig.4
Fig.3 6. TELEPHONE EXCHANGE SOFTWARE
If the telephone exchange has N subscribers, then to make the controller executes N subscribers program one at a time the polling method is used in this work and each subscriber program divided to M states. First of all, each subscriber has a memory location in RAM, therefore if there are 100 subscribers, 100 memory locations for subscribers are needed and 10 locations for trunks(if we have 10 trunk lines), the total is 110 memory locations needed. Each memory location contains 8 bit word length and can be divided as shown in Fig.5.
Fig.5 53
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN 0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 6, November - December (2013), © IAEME
7. TELEPHONE EXCHANGE MAIN PROGRAM Main program of telephone exchange can be divided to four parts (see Fig.6): Part one: Describes the initialization of the telephone exchange. This part is executed only once. Giving initial values for relays in Trunks & SLICs open all cross points of switches matrices and initializes serial port communication. Part two: Describes the polling program which enables the controller from serving N subscribers one at a time. Part three: Describes the subscriber program. Each subscriber program divided to M states, and each state is a subroutine. Part four: Describes trunk program. Controller jump to these Trunk subroutines when outcall detected or when inner station (subscriber) likes to make outcall. Initializing Program initializes SLICs, Trunks and switch matrices. Polling Program in which each subscriber seized a memory location. If 100 subscribers telephone exchange then there are 100 locations for 100 subscribers, an external memory is used. Fig.7 shows polling flowchart The content of each location (K) is representing the instantaneous value of subscriber state, by using a polling program a subscriber will be taken at a time by increasing the value of subscriber counter (I) and the controller will read the instantaneous state of that subscriber then jump to addressed subroutine(ISJ) to execute that state, after that ,the controller will update the instantaneous state then increase subscriber counter (I) to take the next subscriber and the previous procedure will be repeated. In Fig.5 the flow chart for making a call has been shown, by using polling technique, 100 subscribers can be served simultaneously. This flowchart can be divided to states. Each state is a subroutine with a label of ISJ (I=subscriber counter, S=state, J=state counter), all those subroutines are applicable for each subscriber. Trunk program drives the trunk module and support the telephone exchange to communicate with outside world.
Fig.6
54
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN 0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 6, November - December (2013), © IAEME
Fig.7 8. CONCLUSION The complete hardware and software design of the multiprocessors telephone exchange has been presented. Two basic modules have been implemented in two separated boards (two shelves). In each basic module, 2 SLICs from 100 SLICs have been implemented and the software program can scan 100 subscribers. 74xxx ICs series are used because they are simple and cheap. The Implementation of the basic module is done using bread board, some time errors occurred because bread board is not suitable for high clock rates. To make the telephone exchange serve N subscribers simultaneously the polling technique is selected, interrupt technique not used because the technique adds complexity to the hardware. The difficulty of using interrupt that each subscriber must has a counter to give required time of DT or RBT usage periods, so if 100 subscribers means that 100 counter (100 IC) it is costly. Also each counter has one interrupt pin or two so to generate 100 interrupts, interrupt pin must be expanded by using logic circuits to generate both interrupt vector and also interrupt signal. Comparing the proposed worked with ZTEJ10 telephone exchange and the result were as follows: •
•
Turn off the switch unit or the controller of ZTEJ10 the subscribers have no services any more but when turn off the switch unit or controller of the proposed work only that small exchange has been out services. The protocol suggested tested and worked with successful result.
55
International Journal of Electronics and Communication Engineering & Technology (IJECET), ISSN 0976 – 6464(Print), ISSN 0976 – 6472(Online) Volume 4, Issue 6, November - December (2013), © IAEME
REFERENCES 1. Arkan J.Yacoub, “Digital Switching Telephone System”, M.Sc. Thesis submitted to the collage of Engineering, University of Baghdad, 1985. 2. R. Newman,” The Personal PBX”, the Computer Applications Journal, July 1994. 3. B. Hammodee, “Design of a Programmable PABX”, M.Sc. Thesis submitted to the college of Engineering, University of Baghdad, 1998. 4. Faris A. Al-Katib, “Design and Implementation of a User Programmable PABX”, M.Sc. Thesis submitted to the college of Engineering, University of Baghdad, 1999. 5. N. Sabah Al- Dahan,” Design and Implementation of a Digital PABX”, M.Sc. Thesis submitted to the college of Engineering, University of Baghdad, 2003. 6. William Stallings, “Computer Organization and Architecture Design for Performance”, sixth edition, Prentice Hall, 2004. 7. Hesham El-Rewini and Mostafa Abd El-Barr, “Advanced Computer Architecture and Parallel Processing”, John Wiley & Sons, 2005. 8. Krishnakumar S and Srinivasan R, “Securing Tesla Broadcast Protocol with Diffie-Hellman Key Exchange”, International Journal of Computer Engineering & Technology (IJCET), Volume 4, Issue 1, 2013, pp. 152 - 170, ISSN Print: 0976 – 6367, ISSN Online: 0976 – 6375. 9. L.Malathi and Dr.R.K.Gnanamurthy, “A Novel Cluster Based Routing Protocol with Lifetime Maximizing Clustering Algorithm”, International Journal of Computer Engineering & Technology (IJCET), Volume 3, Issue 2, 2012, pp. 256 - 264, ISSN Print: 0976 – 6367, ISSN Online: 0976 – 6375.
56