Abstract:
A local exchange emulator for transmitting and receiving telephone line data comprises a plurality of serial data sequencers and global serial communication means, the plurality of serial data sequencers each being interfaced with the global serial communication means. Each serial data sequencer has a time division multiplexed I/O port for interfacing with a plurality of subscribers in use and digital signal processing means for taking measurements associated with data processed by the emulator. The digital signal processing means has first and second serial I/O lines, the first serial I/O line being connected to the I/O port for direct data transfer therewith, and the second serial I/O line being connected to the global serial communication means, the first serial I/O lines each being time division multiplexed to the same order as the I/O port. In that way, the emulator is operative on all of the time slots defined on the I/O port. That allows full real time operation of the emulator in a manner similar to that of a local exchange. The global serial communication means is time division multiplexed into a plurality of time slots. The time division multiplexing may be consistent throughout the emulator, allowing simplification of data handling.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]    The subject matter of U.S. patent application Ser. No. ______, filed May 22, 1998 of Howard Whalley et al. for “Bulk Traffic Generator” (Atty. Dkt. 66.0137) is related to and incorporated by this reference into this application. 
     
    
     
       BACKGROUND OF THE INVENTION  
         [0002]    1. Field of the Invention  
           [0003]    The present invention relates to improvements in local exchange testing. In order to test the performance of local exchanges, calls may be synthesised using a bulk call generator. The calls can then be handled on an emulator.  
           [0004]    1. Description of the Prior Art  
           [0005]    An emulator which has been used in the past for testing the performance of line cards is the S765STemulator available from Schlumberger. That product has four channels and so cannot be used in real time to test the much higher capability of a multiplexed T1/E1 line which has a much larger number of time slots than can be served effectively by the S765ST emulator. The testing of individual time slots is time consuming; the increased test time may introduce inaccuracies into the test data.  
         SUMMARY OF THE INVENTION  
         [0006]    It is an object of the present invention to provide apparatus suitable for ameliorating the above problems.  
           [0007]    According to a first aspect of the invention there is provided a local exchange emulator, for transmitting and receiving telephone line data, the emulator comprising a plurality of serial data sequencers and global serial communication means, said plurality of serial data sequencers each being interfaced with the global serial communication means, wherein each serial data sequencer has a time division multiplexed I/O port for interfacing with a plurality of subscribers in use and digital signal processing means for taking measurements associated with data processed by the emulator, and said digital signal processing means having first and second serial I/O lines, the first serial I/O line being connected to the I/O port for direct data transfer therewith, and the second serial I/O line being connected to the global serial communication means, said first serial I/O lines each being time division multiplexed to the same order as the I/O port.  
           [0008]    In that way, the emulator is operative on all of the time slots defined on the I/O port. That allows full real time operation of the emulator in a manner similar to that of a local exchange.  
           [0009]    In a preferred embodiment of the invention, the global serial communication means is time division multiplexed into a plurality of time slots. The time division multiplexing may be consistent throughout the emulator, allowing simplification of data handling.  
           [0010]    In that way, cross connection of time slots may be managed so that a large number of line connections can be emulated. All time slots of the I/O port can be accessed in real time, and so bulk call generation can be used to set up test routines to be carried out in real time.  
           [0011]    Each digital signal processing means may comprise first and second signal processors.  
           [0012]    The global serial communication means may comprise first and second channels, wherein the first digital signal processor of each digital signal processing means is connected to the first channel and the second digital signal processor of each digital signal processing means is connected to the second channel.  
           [0013]    The first digital signal processor and the second digital signal processor of each digital signal processing means are preferably connected.  
           [0014]    Each I/O port may define T1/E1 lines which connect with the first I/O line of the digital signal processing means. The global serial communication means is preferably of a PCM format.  
           [0015]    According to a second aspect of the invention there is provided a method of establishing a cross connection comprising the steps of providing a plurality of time division multiplexed I/O lines;  
           [0016]    providing a plurality of local processing means associated with each of said I/O lines, providing global serial communication means, and in response to a request for a cross connection to be made between a first of said I/O lines and a second of said I/O lines, reserving a first time slot on said first I/O line for transmitting data, reserving a second time slot on said first I/O line for receiving data, reserving a third time slot on said second I/O line for transmitting data, reserving a fourth time slot on said second I/O line for receiving data, and establishing a data transfer link between said first and fourth time slots and a data transfer link between said second and third time slots.  
           [0017]    Preferably, the method includes the steps of arranging said I/O lines in pairs and providing a respective one of said local processing means for each pair of said I/O lines.  
           [0018]    If said first I/O line and said second I/O line do not share a common local processing means then the method may comprise the step of establishing said data transfer link by means of said global serial communication means.  
           [0019]    In a preferred embodiment of the invention, said global serial communication means is time division multiplexed, and the method further comprises the steps of reserving two time slots of said global serial communication means in order to establish said data transfer link.  
           [0020]    Each local processing means preferably comprises first and second processors, each processor being associated with a respective one of said pair of I/O lines, and said global serial communication means preferably comprises first and second channels, the method comprising the steps of associating said first processor of each said local processing means with said first channel and associating said second processor of each said local processing means with said second channel; the step of establishing said data transfer link comprising the steps of  
           [0021]    if the first I/O line is the same as the second I/O line then defining the cross connection at the processor associated with that I/O line;  
           [0022]    if the first I/O line and the second I/O line are associated with processors of the same local processing means then defining the cross connection at that local processing means;  
           [0023]    if the first I/O line is associated with a first processor, and said second I/O line is associated with another first processor then defining said cross connection via said first bus;  
           [0024]    if the first I/O line is associated with a second processor, and said second I/O line is associated with another second processor then defining said cross connection via said second bus; and  
           [0025]    if the second I/O line is associated with a different local processing means from the first I/O line and a different one of the first and second processors, then establishing a cross connection via one of said buses and an intermediate processor. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0026]    Further aspects and advantages of the present invention will be apparent from the following description of a specific and preferred embodiment of the invention, with reference to the accompanying drawings, in which:  
         [0027]    [0027]FIG. 1 is a schematic diagram of a telephone system incorporating a system tester according to the present invention;  
         [0028]    [0028]FIG. 2 is a schematic diagram of a sequencer board of the system tester in the telephone system of FIG. 1;  
         [0029]    [0029]FIG. 3 is a block circuit diagram of a digital signal processor module of the sequencer board shown in FIG. 2;  
         [0030]    [0030]FIG. 4 is a schematic diagram showing the manner of connection of sequencer boards of FIG. 2 to back plane triggers;  
         [0031]    [0031]FIG. 5 is a timing diagram of “clock sync” signals and time slots in the back plane triggers of FIG. 4;  
         [0032]    [0032]FIG. 6 is a block circuit diagram showing the configuration of sequencers within the abovementioned system tester; and  
         [0033]    [0033]FIG. 7 is a schematic diagram of software embodying call processor option features in the system tester. 
     
    
     DETAILED DESCRIPTION  
       [0034]    [0034]FIG. 1 is a diagrammatic representation of a simple telephone system  10  in which local exchange (central office in USA)  12  is coupled through a number of lines  14  to an access node or network  16  to which, in turn, a number of telephone subscribers  18 ,  20 ,  22  are connected.  
         [0035]    The local exchange contains automatic test equipment for testing the access nodes  16  when the latter is not in service, for example during commissioning.  
         [0036]    The S765ST system tester incorporating the present invention is located at the local exchange and includes a number of SDS (serial data sequencer) modules to and from which telephone line data is transmitted and received along the telephone line  14 , the SDS interfacing with the telephone line through a T1/E1 daughter board. FIG. 2 is a diagrammatic representation of the SDS board and T1/E1 daughter board with a DSP (digital signal processor) module according to the present invention. FIG. 2 shows the relationship between the DSP sub-system and the existing equipment.  
         [0037]    [0037]FIG. 3 is a block circuit diagram of the DSP sub-system. It includes two SHARC processors SHARC 1, SHARC 2; a SHARC is a general purpose digital signal processor. Each of these processors has the capability of real-time processing of incoming and outgoing serial data streams, whilst having the power to multi-task other operations. Each SHARC processor has first and second serial ports  24 ,  26  which can be set to operate with up to 32 time-division multiplexed channels which makes them ideally suited for use in generating and analysing data for the T1/E1 interface, which is multiplexed for 64 time-division channels. Although it would be possible for a single SHARC processor to be used to interface both T1/E1 lines on an SDS via its two serial ports, two are provided in order to ensure simultaneous proper management of sixty-four active data resources, both transmit and receive, whilst maintaining host communications and possibly performing other digital signal processor tasks. Therefore, each SHARC processor is associated with a respective T1/E1 interface of the SDS board. The second serial port  26  of each SHARC is thus available for use in implementing intra-SDS cross-connection of time slots.  
         [0038]    The DSP module also contains D RAM which is used to store data. The interface to the SDS module is through two ports and the connections enable all of the necessary signals to allow serial data to be routed to and from the DSP module to the SDS module. The first serial port  24  from each SHARC is connected such that it can act as a data source to the SDS T1/E1 module which enables data to be sent directly from the DSP module to the SDS module without having to be transferred to the IMPs (integrated multi-protocol processors). This enables each SHARC to process data as it arrives without it having to be buffered elsewhere first.  
         [0039]    The second serial port  26  on SHARC 1 is connected to the data port used by IMP C and the second serial port  26  on SHARC 2 is connected to the data port for IMP D. The two SHARC devices are also connected via shared memory which allows dynamic time slot mapping between the physical lines on the module. The actual number of time slots that can be handled will depend on the processing requirement for each time slot. Real-time processing will reduce the number of time slots that can be maintained.  
         [0040]    The routing of data to and from a particular time slot is software controlled so that dynamic mapping of PCM data to time slots can be achieved.  
         [0041]    It is possible to cross-connect incoming to outgoing time slots using the DSP. Time slots may be connected to slots on lines either on the same physical SDS or on a separate SDS. In order to map time slots between T1/E1 interfaces on separate SDS modules it is necessary to have a direct physical connection between the SDS modules. The VXI trigger lines are used as a TDM back plane. Data which is passed along these lines is not affected by transfers on the VXI bus, nor by SDS processor activity.  
         [0042]    The second serial port  26  of each SHARC is used for the back plane connection. The serial port  26  of the SHARC can be put into TDM mode (requiring a clock pulse, a frame sync pulse, TX data and RX data). The SHARC is capable of formatting the data into TDM format and placing it onto a back plane in a position defined by the detection of the frame sync signal.  
         [0043]    Access to the slots requires six signals for each SDS module. These are the sync and clock signals and a TX and RX pair per TDM line. This allows sixty-four time slots to be accessed or thirty-two cross connected calls to be routed.  
         [0044]    [0044]FIG. 4 is a diagrammatic representation of the connection of each SDS to the back plane triggers whilst FIG. 5 is a time diagram showing the relationship between the clock and sync signals and the time slots.  
         [0045]    Incoming data comes straight into the SHARC processor where it can be processed. This enables, for example, DTMF (dual tone multi-frequency) recognition in bulk call applications. In order to enable the switching of data from T1/E1 time slots between lines attached to different SDS in a system, four back plane trigger lines are used. Two trigger lines are used for a 2.048 MHz clock and a frame sync signal. These are generated by the first SDS in a system. The other two trigger lines are used to provide two time-division multiplexed buses, each carrying thirty-two 8-bit time slots, synchronised to the clock and frame sync signals. These two lines are connected to one of the serial ports on each SHARC.  
         [0046]    Any number of SDS can be fitted into a system (within physical limits). Each SDS provides 2 T1/E1 lines and two connections to the back plane interface.  
         [0047]    By a combination of the T1/E1 lines and the back plane interfaces, time slots on any T1/E1 line in the system can be connected to any other, limited only by the number of time slots that can be carried on the back plane. This is currently sixty-four. The connection of the time slots to one another is controlled by the existing controlling processor of the S765ST which instructs each SHARC to read or write to the relevant back plane line and time slot for cross connect.  
         [0048]    One SDS is the master which drives the clock at 2.048 MHz, and the frame sync which is one pulse every thirty-two time slots. Each SHARC is programmed to write and read any one of the time slots.  
         [0049]    Each back plane time slot is both TX and RX, I. e. when one SDS is writing data into a time slot on one edge of the clock, another SDS can read the data on the following edge.  
         [0050]    The cross-connect process enables connections to be made between incoming and out going time slots on any one T1/E1 SDS fitted to a S765ST. The cross-connect capability is made available to the test programmer via the user interfaces. A S765ST may be fitted with up to fourteen T1/E1 SDS boards (providing the TR303 specified maximum of twenty-eight T1 lines). This is shown in FIG. 6. For V5 protocol, the maximum number of boards to be supported is lower, I. e. eight boards and sixteen E1 lines.  
         [0051]    For cross-connects between SDS boards, data is passed on one of two back plane interfaces. Each back plane line can carry data from a maximum of thirty-two time slots. The total of sixty-four time slots therefore permits up to thirty-two simultaneous bi-directional time slot cross-connections.  
         [0052]    In use, the system is first configured by the user to expect certain telephone numbers to be dialled. The system would be programmed by the user to map these telephone numbers to respective ports for subscribers.  
         [0053]    Initially, the call processor monitors the subscribers looking for a subscriber going off hook. The call processor then allocates a time slot for the subscriber using the existing protocol (TR303 or V5.2). If the protocol is V5.1 then the time slot is already pre-allocated and there is no need for the call processor to allocate a time slot.  
         [0054]    The call processor then generates a dial tone which is played down the time slot to the subscriber, and monitors the line for dialling by the subscriber.  
         [0055]    On receipt of the first dial digit the processor stops generation of the dial tone and waits for the remaining dialled digits. The call processor decodes the DTMF or pulse dialled number and uses the mapping table previously set up by the user to determine which user port, i. e. subscriber is being dialled by the first subscriber. The call processor then allocates a time slot for the called subscriber (subscriber B) and performs the cross-connect. If subscriber B is engaged or the number is not available the call processor generates the relevant tone back to subscriber A. However, if subscriber B is available then the call processor initiates a ringing tone which is played to subscriber A.  
         [0056]    The call processor unit waits for subscriber B to go off hook, detects the off hook and stops playing the ringing signal to subscriber A. It also removes the ringing signal to subscriber B and performs the cross-connect allocating one pair of time slots to subscriber A and one pair of time slots to subscriber B.  
         [0057]    When either subscriber A or B goes on hook, the call processor monitors this and clears the cross-connect.  
         [0058]    In practice, a bulk call generator would be used for most applications to simulate the subscribers.  
         [0059]    The inter-relationship of software modules for controlling operation of the call processor will now be described with reference to FIG. 7. A central co-ordinating function XC-COORD has three peripheral interface modules, two providing communication between this task and others running on the CPU030 and the third managing access to the main internal data structures of the cross-connect process.  
         [0060]    The calling interface of FIG. 7 provides a common access mechanism for the test programme of the cross-connect process. The functions provided by this common interface allow the setting up and removal of cross-connects between any two time slots of any T1/E1 interface connected to the ST.  
         [0061]    The input parameters to the calling interface function identify the two time slots to be cross-connected. The first pair of parameters indicate the line number and the time slot position of one of the time slots, the following two parameters identify the second. All connections are bi-directional.  
         [0062]    If the cross-connect function returns a value outside the connection number range then this indicates a failed connection attempt and the reason for the failure. These values are shown in Table 1 below.  
         [0063]    The input parameter to the remove cross-connect function is the connection identification number of the cross-connect to be removed. This number must have been allocated by an earlier call to cross-connect.  
         [0064]    The SHARC interface provides functions for the actual setting up and clearing down of cross-connections. It translates requests which identify relevant SHARC processors on the appropriate SDS boards.  
         [0065]    The function set up SHARC cross-connect determines which messages to send to which SHARC processors in order to establish the required cross-connection. Given the cross-connection ID the function can retrieve line, time slot and back plane slot information for the connection from the resource manager. From these values, the function set up SHARC cross-connect can also determine which SHARCS on which SDS boards are relevant.  
         [0066]    For any cross-connection there will always be a source (first) SHARC and a destination (second) SHARC. The destination SHARC may or may not be the same as the source SHARC. For some connections which traverse the back plane interface (those which go from a first SHARC on one SDS to a second SHARC on another) a third, intermediate SHARC is also involved. The intermediate SHARC is the other SHARC on one or other of the two SDS boards. For simplicity, whenever an intermediate SHARC is required it is always the other SHARC located on the SDS with the destination SHARC, unless that SHARC has no available capacity in which case the SHARC on the SDS board with the source SHARC is used.  
         [0067]    The algorithm used to determine which SHARC or SHARCS are involved in a cross-connection is:  
         [0068]    First SDS=SDS associated with line A;  
         [0069]    Second SDS=SDS associated with line B;  
         [0070]    If line A is an even number,  
         [0071]    then first SHARC=SHARC 1, else SHARC 2;  
         [0072]    If line B is an even number,  
         [0073]    then second SHARC=SHARC 1, else SHARC 2;  
         [0074]    If first SHARC !=second SHARC, then  
         [0075]    if second SHARC==SHARC 1 then  
         [0076]    intermediate SHARC=SHARC 2, else SHARC 1;  
         [0077]    Same SHARC, Same SDS  
         [0078]    Conditions met:  
         [0079]    first SHARC==second SHARC;  
         [0080]    first SDS==second SDS  
         [0081]    Where the source and destination SHARCS are the same on the same SDS this means that no back plane resources are required and no intermediate SHARC is involved. A single message to a single SHARC completes the cross-connect.  
         [0082]    Different SHARCS, Same SDS  
         [0083]    Conditions met:  
         [0084]    first SHARC !=second SHARC  
         [0085]    first SDS==second SDS  
         [0086]    Where the source and destination SHARCS are separate SHARCS on the same SDS board, this again means that no back plane resources are required and no intermediate SHARC is involved. A message to each of the two SHARCS completes the cross-connect.  
         [0087]    Time slot A from the first SHARC&#39;S T1/E1 connection is connected to position A in the connections between the two SHARCS on the SDS. It also connects position B on the internal connection to time slot A out of the first SHARC&#39;S T1/E1 line.  
         [0088]    Different SHARCS, Different SDS, no Intermediate SHARC  
         [0089]    Conditions met:  
         [0090]    first SHARC==second SHARC  
         [0091]    first SDS !=second SDS  
         [0092]    In this case, the source and destination SHARCS are on separate SDS boards. This means that back plane resources are required and no intermediate SHARC is involved. A message to each of the two SHARCS completes the cross-connect. Local SPORT 0 is used to refer to the T1/E1 line on the particular SHARC being addressed and local SPORT 1 refers to the back plane line on the same device.  
         [0093]    Different SHARCS, Different SDS With Intermediate SHARC  
         [0094]    Conditions met:  
         [0095]    first SHARC !=second SHARC  
         [0096]    first SDS !=second SDS  
         [0097]    The source and destination SHARCS are on different SDS boards and an intermediate SHARC is involved. Again, this means the back plane resources are required and a message is needed to each of the three SHARCS to complete the cross-connect.  
         [0098]    Resource Manager  
         [0099]    The resource manager within the cross-connect process is responsible for maintenance of the data structures used to keep track of current connections and back plane interface usage. This module provides the functions required by the XC-COORD module to determine whether to accept or reject cross-connection requests, based on existing time slot usage and availability of the back plane interface.  
         [0100]    XC-COORD  
         [0101]    The cross-connecting co-ordination module responds to actions from the calling interface by making appropriate use of functions provided by the resource manager and the SHARC interface.  
         [0102]    When requests for a connection are received via the calling interface, the XC-COORD module determines if the required time slots are available and if there is sufficient back plane resource. If so, then it performs the cross-connect by communicating relevant data to the SHARCS involved and using the resource manager to record the cross-connection and provide a connection number to be returned to the calling interface. Similar actions are required when requests for removing a connection are received. A call to the resource manager removes the record of the cross-connection and the back plane time slot is freed. The SHARC interface functions instruct the relevant DSP modules to disconnect the time slots.