Abstract:
The microprocessor interface device is for use in a telecomminications system including a microprocessor. The device includes a first interfacing means which receives signals from, and dispatches signals to, the telecommunications system. A second interfacing means receives signals from, and despatches signals to, the microprocessor. A memory is provided, together with arbitration means arranged to control the first and second interfacing means so that only one interfacing means at a time has access to the memory. Decoding means is adapted to respond to address signals presented to the second interfacing means by the microprocessor, to generate signals enabling areas of the telecommunications system to be accessed.

Description:
FIELD OF INVENTION 
     The invention relates to a microprocessor interface device for use in a telecommunications system. The device provides a 32 byte two-port processor interface which acts as a two-port buffer. 
     An aim of the present invention is to provide a microprocessor interface device for use in a telecommunications system. 
     SUMMARY OF THE INVENTION 
     According to the present invention there is provided a microprocessor interface device, for use in a telecommunications system including a microprocessor, wherein the device includes a first interfacing means for receiving signals from and dispatching signals to, the telecommunications system, a second interfacing means for receiving signals from, and dispatching signals to the microprocessor, a memory, arbitration means arranged to control the first and second interfacing means so that only one interfacing means at a time has access to the memory, and, decoding means adapted to be responsive to address signals presented to the second interfacing means by the microprocessor, and to generate signals enabling areas of the telecommunications system to be accessed. 
     STATEMENT OF THE OBJECTS OF THE INVENTION 
     An object of the present invention is to provide a microprocessor interface device wherein the first interfacing means includes a buffer for receiving a clock signal which is passed to a delay circuit arranged to delay the clock signal and generate under control of the arbitration means, an acknowledgement signal which is used to indicate that a system bus has been granted access to the memory. 
     A further object of the present invention is to provide a microprocessor interface device wherein the second interfacing means includes circuitry for generating a signal indicating to the microprocessor that access to the memory has been granted in response to a memory request signal generated by the microprocessor, and circuitry for generating a signal to enable the memory area so that the memory can be accessed. 
    
    
     BRIEF DESCRIPTION OF DRAWINGS 
     An embodiment of the present invention will now be described with reference to the accompanying drawings; wherein, 
     FIG. 1 shows a block diagram of part of a telecommunications system, 
     FIG. 2 shows a memory map of two-port decoder outputs, 
     FIG. 3 shows a block diagram of a two-port gate array, 
     FIG. 4 shows a block diagram of a system bus interface, 
     FIG. 5 shows the signals used by and generated by an arbitration circuit, 
     FIG. 6 shows a random access memory and associated memory decode, 
     FIG. 7 shows decode circuitry, 
     FIG. 8 shows waveforms for a system interface read cycle, 
     FIG. 9 shows waveforms for a system interface write cycle, 
     FIG. 10 shows waveforms for a host microprocessor, 
     FIG. 11 shows a decode output timing waveforms; and, FIG. 12 shows control timing waveforms. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     Referring to FIG. 1, the system block diagram shows a microprocessor A controlling a 32 byte two-port processor interface B, which is the subject of the present invention, a universal program bus selector C, a cyclically permutable code generator detector D; and a subscriber line interface modem E. 
     The microprocessor A communicates with the units B-E by way of the address/data bus ADDR/DATA. The microprocessor A generates control signal INTO for unit D, signals RD, WR, for units B-E, signal ALE for units B, D, E and unit AL, and request signal BAR for unit B. Unit B acts as a two-port buffer with arbitration between the self system bus and the microprocessor A. Unit B receives shelf control bus signals SCB and generates a transfer acknowledgement signal XACK and signal RESET. A low order shelf address bus LO, and a high order shelf address bus HO is provided, the latter being connected to a module enable decoder MED, which is connected to a module position address bus MP. Mode A and B inputs are provided to selectively control the mode of operation of the unit. A data bus DB, feeds into and out of the unit B, unit B generates a decode signal CE for units C, D and E and a request granted signal BAG for the microprocessor A. A local decode circuit LOC generates a local decode signal CE for the unit. 
     The universal programmable bus selector C provides a common interface between six single channel digital traffic terminations operating at 32K bits per second. It receives TDM signals at 1M bit per second and transmits TDM signals out at 1M bit per second. The unit has an address latch input to which the address latch AL is connected. 
     The units A, B and C belong to a common area and the units D and E belong to a digital voice terminal interface area. 
     The cyclic permutable code generator detector D detects and generates cyclically permutable codewords on any of six independent channels and is controlled by a standard microprocessor interface. Eleven registers provide command and status information for full control. A codeword is detected if incoming serial data contains any eight bit word repeated six times consecutively. Generation of a codeword is by continuous serial transmission of a data byte loaded by the control interface. The unit D receives traffic from units C and E and transmits traffic to units C and E. 
     The subscriber line interface and modem E interfaces between the multiplexed traffic highways from unit D and six line interface circuits LIC forming the channel rate 4-wire digital voice terminal loops to the subscribers. 
     Each of the units C, D and E receive a framing and a 1 MHz clock signal from a clock buffer CB. 
     Each line interface circuit comprises trapezoidal line drivers LD, line receivers LR, and a current limiter CL. The subscriber line inputs are shown as IP and the outputs OP. 
     The microprocessor interface device will now be described in detail. 
     The device primarily acts as a 32×8 two-port buffer, with arbitration between the shelf system bus and the processor. Messages are passed to and from the device for control and signalling reporting. The device connects directly to the system bus with the addition of a comparator to provide the `module enabled` signal transfer acknowledge XACK. Signals are generated as appropriate on chip. 
     The device takes in the multiplexed address data bus of the host microprocessor for access to the two-port memory and for the address decoding section. In the simple host microprocessor mode the BAR/BAG signals are used to request access by the microprocessor and `permission granted` in reply. 
     In the case where the host processor is capable of being held in wait-states then the RDY signal is used to control host access, the use of BAR/BAG being unnecessary. 
     The device provides two modes of address decoding for the microprocessor. This is used to eliminate extra decoders when driving hardware registers and/or other addressable devices. 
     The selection of mode is hand-wired by use of the input `mode A, mode B` in accordance with the Truth Table below. 
     
         ______________________________________A   B      Mode______________________________________0   0                Wait state-able host processor0   1      EX RAM1   0      DECODE    TYPE 1      Simple host processor1   1      DECODE    TYPE 2______________________________________ 
    
     External Memory 
     Eighteen general purpose connections act as address, data and control to an external Ram. 
     Decode Type 1 
     The connections act as chip select outputs for external devices. 
     Decode Type 2 
     Decoding from addresses is the same as Type 1. The connections act as chip selects for one external device. The other connections provide output enable and latch signals for read and write ports respectively. 
     Decode 1 gives use of CS0-8 and Reg 0-3, and decode 2 gives uses of CS0 and Reg 0-7 as shown in FIG. 2. 
     The two-port memory not shown, is enabled separately by host interface chip select signal CS. The CS signal may be derived from independant decoding allowing the two-port to be placed anywhere in the host memory space. 
     The device may be split into six functional areas. 
     a. System Bus Interface, SBI. 
     b. Host Bus Interface, HBI. 
     c. Arbitration circuits, ARB. 
     d. RAM and RAM decode, RAM, RAMDC. 
     e. Card Control Logic, CCL. 
     f. Decode circuit, DEC. 
     These areas are interconnected as shown in FIG. 3, to which reference should be made in conjunction with the following Figures. 
     System Bus Interface, SBI. 
     This device area provides buffering and acknowledge signal generation for the system interface. The area has five external control signals, two of which go directly to the arbitration area. The byte wide address and data buses of the system bus are also buffered onto the chip to be selected as appropriate to the memory area. 
     The control signals are shown in FIG. 4. A buffer BFR1 receives the write, read and clock signals AWR, ARD and CCLK respectively. The write and read signals are passed to control a memory by way of lines MEM and delay gating circuitry DG. The circuitry is enabled by signal EN from the arbitration circuit ARB. The delay generator DELG generates a transfer acknowledgement signal XACK for presentation to the system bus interface I/F by way of a buffer BFR2. 
     A module enable signal MEN is passed directly to the arbitration circuit ARB. 
     HOST BUS INTERFACE, HBI. 
     In this mode memory access is granted by the signal denoted by signal BAG representing bus access granted as shown in FIG. 10. The BAR signal indicates that the memory is required and is passed to the arbitration circuit ARB. The signal BAG occurs as soon as the memory access is granted. This signal is polled by the software in the microprocessor before accessing the memory. 
     The chip select signal CS is used to signal the memory access. 
     Arbitration Circuits, ARB. FIG. 5. 
     The arbitration area of the device ensures that only one of the two bus interfaces has access to the RAM area at any time. The circuit locks-out a port when the other is using the RAM. 
     The circuit has two signals between itself and each of the bus interface areas, one input and one output. The input signals acts as a request for access to the RAM. The output acts as a grant signal. 
     If one of the interfaces raises a request whilst the memory is busy, the arbitration circuit does not give a grant signal. The devices connected to each interface must inspect the grant line after requesting access, and only access the memory if a grant is given. The simple host microprocessor does this with signals BAR and BAG. 
     RAM and RAM Decode Areas, RAM, RAMDC. FIG. 6. 
     The internal memory is organised as a 32 by 8 bit array. The memory is enabled when the mode `A` input is `1` otherwise an external memory chip is used. 
     The RAM area is enabled as soon as a memory access is sensed. This is signified for the system and host interfaces by the MEN signal active or the CS signal active respectively. 
     Card Control Logic, CCL. 
     This area of the device performs the miscellaneous gating required for card reset and `offline` functions as required. The logic provides an output `reset` which responds to either a low on the power on reset POR input or the coincidence of AWR, MEN and software Reset SWR. The POR input is driven by a capacitor-resistor network. The `module offline` signal OPD is gated into the arbitration logic to allow the system bus interface outputs to be forced to a tristate condition. 
     Decode Circuit, DEC. FIG. 7. 
     The Decode area of the devices responds to the latched address of the host interface HBI. The decode circuit takes the high nibble of the address A4-7 and decodes to sixteen outputs. The sixteen outputs are then either presented directly to the outputs or further decoded with the address A0-3 and gated with the interface `write and read` controls (BWR, BRD). The former method provides chip select outputs for `memory like` sixteen byte long peripherals, such as the universal program bus selector. 
     The latter method, gating with write and read, allows direct connection of single byte registers, such as an output latch and an input buffer with output enable. Hence, the interface device decode outputs are taken directly to the latch and output enable connections of the peripheral devices respectively. 
     A decode enable signal enables the decoder outputs when it is `zero`. The signal may be driven by external high-order decoding in order to place the decoder of the interface device more specifically in the host memory space. 
     INTERFACES. 
     Functional Pin Descriptions. 
     Bus A Interface. 
     Address Inputs AA0-7. 
     Active low. 
     These signals provide the byte addresses from the two port RAM. They connect directly to the system bus address lines. 
     Data Inputs/Outputs AD0-7. 
     These signals provide the parallel bidirectional connection to the shelf bus. Data is driven from the outputs when a shelf read cycle occurs. 
     Write Input AWR, Read Input ARD. 
     Active low. 
     The signals indicate to the device when a write and read cycle is occurring on the system bus. 
     Module Enabled Input MEN. 
     Active low. 
     This signal indicates to the device that a system bus access is going to occur. The input is derived from an external decode of the higher system bus address bits. 
     Constant Clock Input CCLK. 
     Active low. 
     This signal provides the acknowledge of circuitry timing reference and is a buffered version of the system bus signal CCLK. 
     Transfer Acknowledge Output XACK. 
     Active low. Tristate. 
     This signal is generated after the system bus has been granted access to the memory area. The signal is delayed by seven periods of signal CCLK to allow for the memory access time. The signal drives the system bus XACK signal directly. 
     Bus B Interface. 
     This interface is similar to bus A in function. 
     Address/Data Bus Bidirectional BAD 0-7. 
     Active high. Tristate. 
     This bus connects the device to the multiplexed address and data bus of the microprocessor. The addresses are latched within the device is response to signal ALE. 
     Address Latch Enable Input ALE. 
     Active high. 
     On the negative edge of this signal the address of the current cycle is stored. 
     Write Input BWR and Read Input BRD. 
     Active low. 
     These signals indicate to the device when a write or read cycle is occuring from the microprocessor. 
     Chip Select. 
     Active low. 
     This signal, when active, enables the two-port memory section of the two-port processor. The input is asserted by the microprocessor decode logic in response to an address. 
     Bus Access Request BAR. 
     Active low. 
     The BAR signal is used to inform the two-port section that the microprocessor wishes to gain access to the two-port memory (modes 01, 10 and 11 only). 
     Bus Access Grant BAG. 
     This signal becomes active when the two-port arbitration logic allows access to the memory. The signal is polled by the microprocessor to determine when to access the bus. This signal is also used as direction control for external memory address. 
     External Memory Interface. 
     This interface provides address, data, write and read controls. These signals may be used to extend the internal 32×8 memory upwards. 
     The interface shares the same group of outputs as the decoder outputs. The state of MODE inputs determines which role the outputs adopt. 
     External Memory Address EMA 0-7. 
     Active low. 
     These signals form the pre-selected low order address for the external memory. 
     External Memory Data EMD 0-7. 
     Active low. Tristate. 
     These signals form the pre-selected data bus for the external memory. 
     External Memory Read Control ERD. 
     Active low. 
     This signal drives the output enable pin of the external memory. The signal is pre-selected from the Read signals of the A and B ports. 
     External Memory Write Control EWR. 
     Active low. 
     This signal drives the write input of the external memory and is pre-selected from the write signals of the A and B ports. 
     Decoder Outputs. 
     These signals replace the external memory interface when MODE A=1. The decoder outputs themselves split into two types depending on the state of the MODE B signal. 
     Card Control and Mode Inputs. 
     Mode A and B Inputs MA, MB. 
     Active high. 
     These signals set the operational modes of the devices. The inputs have internal pullups and require only links to OV to program the device. 
     Module Output Disable OPD Input. 
     Active low. 
     This signal when low, disables Port A outputs. 
     Power On Reset POR Input. 
     Active low. 
     This signal directly influences the RESET output. The input is connected to an external capacitor to ground. 
     Software Reset SWR Input. 
     Active low. 
     This signal is taken from all of the system bus. When SWR, AWR and MEN are all active the RES output is active. The SWR input may be driven by external address decoding. 
     Reset RES Output. 
     Active low. 
     This signal is used to drive the reset of the microprocessor and miscellaneous reset and clear signals. 
     Interface Timings. 
     The timings for the device interfaces are shown in FIGS. 8-12. 
     RAM minimum specification is as follows: 
     
         ______________________________________                  (nS)______________________________________WriteAddress to write active.  70Address to write strobe edge.                    380Data set up time to write strobe edge.                    340Data hold time from write strobe edge.                     30Address hold time from write strobe edge.                     30Write pulse width required.                    165ReadAddress to data out.     200Read to data out.        400Data Tristate after Read  40______________________________________ 
    
     System Interface FIGS. 8 and 9. 
     General. 
     
         ______________________________________                Min nS Max nS______________________________________1.  Required module enable/address/data                      0        --    to command set up time.2.  Required module enable/address/data                      0        --    to command hold time.3.  Command active to Xack driving.                      0        604.  Command active to Xack active.                      600      8455.  Command inactive to Xack Tristate.                      0        556.  Required command hold after Xack                      0        --    active.    Write7.  Required data hold after Xack active.                      70       --    Read8.  Read active to A data drive.                      0        459.  Read inactive to A data tristate.                      0        7510. Address valid to valid data out.                               39511. Read active to valid data out.  345______________________________________ 
    
     Host I/F Microprocessor. FIG. 10. 
     General. 
     
         ______________________________________ 1.##STR1##                 0      75 2.##STR2##                 0      653.  Required address to command set up.                       140     --4.  Required address/data to command                       70      --    hold time.5.  Chip select address/data to command                       35      --    set up.                       Min nS  Max nS6.  Required address to ALE negative edge                       40      --    set up.7.  Required address to ALE negative edge                       10      --    hold time.    Write8.  Required write pulse width                       145     --    Data set up time before write    positive edge.    Read.9.  Address to data valid.          39010. Read to data valid.             25011. Read to data driving.           7512. Read to data Tristate.   0      75______________________________________ 
    
     Decode Outputs. FIG. 11. 
     
         ______________________________________1.    Address to chipsel active.                         --    1502.    New address to chipsel inactive.                         --    1203.    Command active to reg O/P active.                         --    1304.    Command inactive to reg O/P inactive.                         --    110 5.  ##STR3##                --    140 6.  ##STR4##                --    100______________________________________ 
    
     Card Control Logic. FIG. 12. 
     
         ______________________________________1. Reset output active time.             2          Depends                        on POR                        capacitor______________________________________