Serial Interface Purpose: • To show how the serial interface routes data through selected controllers. Objectives: • The SIU provides the general “glue logic” for the system providing the bus interface between the system and CPM, bridging between PPC and local bus, the memory controller, System configuration and protection, and JTAG, Interrupt control, and Bus Arbitration. This module will go into depth on how this implementation works. Contents: • Functionality of the Core, CPM, and SIU followed by an operating example. Learning Time: • There are 18 pages in this module, along with 10 reference slides, which will take approximately 42 minutes The purpose of this section is to show how the serial interface routes data through selected controllers. The SIU provides the general “glue logic” for the system providing the bus interface between the system and CPM, bridging between PPC and local bus, the memory controller, System configuration and protection, and JTAG, Interrupt control, and Bus Arbitration. This module will go into depth on how this implementation works. The contents of this module include the functionality of the Core, CPM, and SIU followed by an operating example. There are 18 pages in this module, along with 10 reference pages, which will take approximately 42 minutes 1 Key Features of Serial Interface • Each TDM can be: – T1 (USA/Japan) or CEPT (Europe) – ISDN primary rate, basic rate - IDL & GCI – E3 or DS3 rate (TDMa only) [45 Mbs stream] – User defined interface • Independent, programmable Tx and Rx routing, frame syncs, and clocks • Selection of rising or falling edge for frame sync and data bits • Support for one or two clocks per data bit • Selectable delay between frame sync and frame start ( 0-3 bits) • Four programmable strobes and four clock (2x) output pins. • One- or eight- bit resolution in routing, masking and strobe selection • Supports frames up to 16384 bits long • Dynamic programming for routing and strobes • Supports automatic echo and loopback for each TDM Reference Manual Chapter 14 The key features of the serial interface are as follows: Each time division multiplexer could control transmission in one of the following formats: T1 used in the USA and Japan or CEPT used in Europe ISDN primary rate or basic rate utilizing IDL and GCI. E3 or DS3 rate using TDMA only at rates up to 45 megabits per second. Or as a user defined interface. Transmit and receive routing, frame synchronization, and clocks are independently programmable. Frame sync and data bits can be selected to be handled on rising or falling edges of the clock. Support for one or two clocks per data bit Selectable delay between frame sync and frame start of up to three bits. 4 programmable strobes and 4 clock output pins. 1- or 8-bit resolution in routing, masking, and strobe selection Supports frames up to 16,384 bits long. Dynamic programming for routing and strobes. Supports automatic echo and loop-back for each TDM. 2 SI Connections Enable MCC1 SI1 RAM FCC2 FCC3 • • • SCC2 SCC3 SCC4 SMC2 MII1/UTOP8-16/NMSI • • • • • • '0' • • • • • • • • • • • • CMXSMR SMC1 TDM Pins RxD, TxD, Sync, and Clock '1' CMXSCR SCC1 b c d a b c d Time Slot Assignor Control Logic SI2 SI2 RAM RAM SI1GMR a Time Slot Assignor Control Logic CMXFCR FCC1 Enable Port Control Logic MCC1 SI2GMR MII2/UTOP8/NMSI MII3/NMSI NMSI Pins Rx/Tx • • • • • • This is a simplified diagram of how the serial interfaces are connected between the various controllers dealing with the data and the external pins of the serial interface options. There are two identical serial interfaces indicated here as SI1 and SI2. The serial interface routes data between the controller, which handles the data, and the time division multiplexer, which transfers the data on the external serial line. It also controls the TDM. However, to understand the overall process, it is necessary to see the complete picture of how data can be transferred. There are four controllers that can handle the serial data transfer. The controller, of which there are two, the fast communications controller, of which there are three, the serial communications controller of which there are four, and the serial management controller, of which there are two. The controller used depends on the protocol required, and they are all independently selected for connection to the serial interface. The MCC is handled differently and to understand that you need to study the multi channel controller module. However, you will need to understand the serial interface for that and so you should study this module first. The routing of data for the FCC‘s, SCC‘s and SMC‘s is handled by three registers, CMXFCR, CMXSCR and CMXSMR, respectively. A bit in the register selects whether the data is routed to the serial interface or the NMSI. One very important detail to remember here is that none of these connections are connected to the outside world after reset of the PowerQUICC II because they are routed via the port control logic to the parallel ports. Following reset, the ports are all defined as general purpose inputs. It is vital that if any of these functions are to be used, the parallel ports must be programmed for the pin functionality required for the intended use. Most registers when reset are cleared, and so the default for these connections is routing via the NMSI. This connection provides the controller with a completely independent connection. All of the connections indicated here are multiples. For instance, all the controllers have receive and transmit functionality, and there are control signals associated with them. These connections indicate the complete group for each controller and interface. Transmit and receive are independently controlled and so they do not both have to be used. When the routing control registers have the associated bits set, the controller is routed via the serial interface. With this routing the controller data is multiplexed with other controller data over the external connections. It is very important to be aware that the serial interface has nothing to do with protocol handling, only control of the TDM‘s and the routing of data between the TDM and controller. There is no data buffering in the SI and there are no FIFOs. The data is simply transferred via the controller selected which handles all those details. Each serial interface has four time division multiplexers (designated A, B, C, D) and each SI has a global mode register, which enables the TDM‘s independently. When the controllers are connected directly to their own independent interface, they are connected using the required interface for their protocol. For example, HDLC 10 base T ethernet uses the NMSI, fast ethernet uses the MII, and ATM uses utopia. 3 Time Slot Assignor (TSA) • TSA routes data between desired pins and channels at the correct times. • Can be used to independently route transmit and receive data, and can support four TDM channels • Can support up to four output signals independently for each time-slot for user defined purposes • Defined by SI RAM The time slot assignor routes data between desired pins and channels at the correct times. It can be used to independently route transmit and receive data, and can support four TDM channels. It can support up to four output signals independently for each time-slot for user defined purposes. It is defined by SI RAM. 4 Theoretical TDM L1SYNC Clock SCCs SMCs Matrix Matrix FCCs L1TxD MCC SIRAM ST1 ST2 ST3 ST4 This diagram shows the basic principle of how the time slot assignor works, and can be equated to the early telephone system uniselectors. The requirement is to connect multiple data streams handled by various controllers to a single serial data stream with the data from each controller connected to the line for a given period of time. The controllers are connected into the system via a matrix which enables each controller to be connected to any of the switch contacts providing complete flexibility of what time in the process any given controller is allotted connection to the output pin. The process is started when a signal is received from an input called L1 sync. At that time the output pin is connected to the first contact, and whatever controller is connected to it will have it’s data transmitted. The rate the data is transmitted is controlled by the single clock input to the system, and how much data depends on for how many clock pulses the switch remains at that position. After a given number of clock inputs the switch moves to the next contact, and whatever controller is connected to that will have it’s data transmitted. The process continues with the switch moving to the next contact after the allotted number of clock pulses defined for that position until the switch reaches the last position required by this system. At that time the process stops and waits for the next sync pulse which will start the process again. The end result is frames of serial data transmitted on the serial line containing multiple streams of data from several different controllers, all of which could be handling their own data very differently. A serial TDM frame will be handling small portions of the controller frames, and it requires many TDM frames to complete each individual controller frames, all of which could be different. Each time this process repeats the same frame format is repeated unless the connections within the matrix are modified. There is one additional possibility. It may be required to have some signals present which are identifiable for each position of the switch. In this case there are four signals, designated S, T, one through four, known as strobes, which can have a predefined value for any given position of the switch. There a several reasons this might be necessary. For example how does the device at the other end of the external connection know when the data is switched from one controller to another. Presumably it needs to be able to re direct each data stream to its required target. This is the basic principle of the serial interface. This only explains the transmit process, but the receiver functions in the same way. All of this process is defined by the SIRAM. 5 TDM -Example What level would you like to use? Which edge would you like to use? L1RSYNCn L1RCLKn SCC2 SCC1 FCC2 L1TXDn Slot 1 Slot 2 L1RXDn Slot 1 Slot 2 Slot 3 Slot n Slot n+1 SCC4 SCC2 FCC1 SMC2 Slot 3 SMC2 SCC3 Slot 4 Slot n SCC3 SMC1 Slot n+1 Slot n+2 SCC4 Slot n+2 FCC1 L1ST4 L1ST3 L1ST2 L1ST1 This is an example of how data is controlled by the TDM. The two basic control signals are the sync pulse and clock, both of which are inputs from the external system. A TDM frame starts with a sync pulse and the user can chose to start on the leading or trailing edge. All data is transferred using the input clock designated L1R clock for the receiver and L1T clock for the transmitter. The user also has the choice of transferring on the rising or falling edge. The controller provides a user defined number of time slots for the frame, where a time slot is defined as a number of clock pulses. Each slot is independently controlled. Any of the controllers indicated earlier can be routed in any of the time slots, which enables complete flexibility for what data is transferred at any given time. There are four output signals designated L1 strobe 1-4 and any value can be assigned to those signals for each time slot, providing additional control or status signals for the user. For this example, some random connections have been chosen simply to show how the controller operates. Two TDM frames are shown, one for transmit and one for receive, indicating how the data will appear on the pins for L1TXD and L1RXD. The lower case N indicates that this could be related to any of the TDM‘s. For the first time slot of the transmitter the data is coming from SCC2 and for the receiver the data is going to SCC4. The time slot is shown to be three clocks wide. For the second time slot the transmit data is coming from SCC1 and received data is going to SCC2 and again the time slot is three clocks wide. The third time slot transmit data is coming from FCC2 and is four clocks wide, while the receive data is going to FCC1 and is wider than the transmit slot. This shows that the transmit and receive functions are independent. Viewing the rest of the example shows this independence for both time slot size and controller connections. In fact they could both have different clock rates, with separate clock inputs, and so the timing between the two can also be different. The strobe values are simply random to show how they can be set. The user can use them as needed, and each strobe can be used as an independent signal or in combination with the others to provide a 4-bit value. This means that for any time slots a specific signal can be used with it, or using a four in to sixteen out decoder up to sixteen different codes can be produced. For example, in this case strobe four could be the control code independently indicating when SCC4 data is on the line or the value 0001 could be. However, in the case of the strobe signals there are no independent options for both transmit and receive. There are only the four signals, although the user can chose to use any of them for either transmit or receive. As you can see, the result is that a data stream can be handled by several different controllers where any portion of it can be routed to any of those controllers. 6 SIRAM Organization 0 +12000 15 Entry 0 Tx +121FE Entry 255 SI1 +12400 Entry 0 Rx Two serial interfaces control time division multiplexing. The TDMs are controlled by SIRAM, each having 256 16-bit entries for each of transmit and receive. +125FE Entry 255 +12800 Entry 0 Tx +129FE Entry 255 SI2 +12C00 Entry 0 Rx Reference Manual section 14.4 +12DFE Entry 255 The next question might be how are these TDM’s controlled. Well, time slot assignment is defined in a table entry in SIRAM. The SIRAM is organized as two separate blocks one for serial interface one and the other for serial interface two. SIRAM one is located in dual port ram at offset hex 12000 and SIRAM two at hex 12800. Each SIRAM block is divided into equal portions for transmit and receive, with 256 entries for each. Each entry is 16 bits wide and relates to one time slot. With 256 entries, that means that the maximum TDM frame size is 256 time slots. 7 SIRAM (Examples) Start Address Registers 0 2 SInbMR 0 0 1 SInaMR 4 5 SIndMR 2 X 3 4 Txd 255 0 6 7 255 0 0 1 Rxb 2 X 3 Not allowed 0 1 X 2 3 4 5 5 7 Rxc Txa 2 Txb Txc X 6 255 7 0 Rxa Rxc 4 0 1 Rxa 2 3 4 4 6 255 0 7 3 5 Rxd 6 255 0 7 Tx 5 Txb 7 2 X 2 4 1 Rxb 1 Txa 3 6 255 0 3 5 Txd 0 0 1 7 4 6 255 Rxa 0 5 6 n = 1 or 2 0 1 Txb 3 SIncMR 64 entry blocks – 32-entry granularity Rx 5 Rxb 6 255 7 This diagram shows examples of how the SIRAM can be organized and the rules for each example. The diagram further shows the complete block for one serial interface. Each section shows another alternative organization. Each SIRAM transmit and receive block is defined as four blocks of 64 entries, but each of those blocks can be accessed as two halves, which enables the control functions to identify one of eight entries. The top blocks are for transmit entries and the bottom are for receive. There is no choice of the RAM portion, so there is always 256 entries for each example. The different colors indicate the TDM related to that block, and the example shows how the user might chose to define them. For this explanation, the block on the right is explained first. This is the simplest case where the user only wants one TDM used for transmit, and one for receive. In that case, all of the top entries relate to the one transmit TDM and all of the bottom entries relate to the receive TDM. In that case both receive and transmit can use up to 256 time slots each. For the second example, the second block in from the right indicates a case where only two TDM‘s are required for each of receive and transmit. In this example, half of the entries for each receive and transmit are allocated to each TDM, providing 128 time slots to each. However, this is only one option and the entries could be portioned differently. In the third example, four TDM‘s are to be used. The available RAM must be shared between all the TDM‘s and how it is divided depend on how many time slots are required for each TDM. In this case, the example indicates that what the user would like is 64 time slots for TDMA, 64 time slots for TDMB, 32 for C and 96 time slots for D. However, that is not the only consideration. The rules are that not more than one TDM can be associated to one of the 64 entry blocks. So the case for TDMC is not possible because both C and D are defined in that block. The only possible case for using four TDM‘s is a maximum of 64 entries per multiplexer. It would be possible to have more entries for a TDM, such as indicated for D, if only three were used. The forth example, shown in the block on the left, indicates that only two TDM‘s are required for the transmitter and three for the receiver. This is possible. Although it might not be the best way to define it, the organization as shown for the transmitter is itself not a problem. Specifically, the receiver defines TDMA in the second block and the transmitter defines TDMB in the second block, even though the two entries do not overlap. However, since the rule of sharing includes both transmit and receive this organization is not allowed. The fact that three TDM‘s are to be used by the receiver is not a problem and as long as there is no block overlap then this could easily be done by better organization. There is certainly no reason why the TDM should not start at the first entry. Each TDM is controlled by a register called the serial interface mode register, shown on the left of the diagram. The N in the name indicates which serial interface it relates to and the A, B, C and D indicate the TDM. There are a total of eight of these registers. 8 Dynamic Frame Switching L1RSYNCn L1TXDn SCC3 FCC2 SCM1 SCC3 FCC3 SIRAM 0 SIRAM 0 SIRAM 1 SIRAM 1 SIRAM 2 SIRAM 2 SCM1 Switch SInRSR SInCMDR This diagram shows how the dynamic switch mechanism works. The proposition is this. What if for a period of time a given frame format is used, and then, for whatever reason, a different frame format is required? If there wasn’t a special mechanism for this, then the controller would have to be disabled, the SIRAM reprogrammed and then the controller enabled again. All of which would introduce a delay, which might be unacceptable. The diagram indicates that what is required is a switch to a frame where the main data stream is transmitted from FCC2 and at a specific time it should change to the main data coming from FCC3. For simplicity, only three time slots are shown, as needed, and the three SIRAM entries to control them. The requirement is that at the end of a frame the switch should take place and so three new entries are required to handle the new frame. The switch is performed by setting a bit in a register called the serial interface command register, shown here as SINCMDR with the alternative entries specified in advance. At the location defined in the shadow address register, shown here as SINRSR, the new frame will be transmitted on the next sync pulse. 9 SI RAM Shadow Control (Examples) 0 Registers 0 SInRSE 1 Shadow Address 2 3 4 SInCMDR 0 Txb Txa 1 a Shadow 1 Txb 3 b Shadow 2 2 b Shadow Txc 5 c Shadow 4 6 5 6 6 n = 1 or 2 7 7 0 0 255 Rxb 0 255 0 1 1 2 2 3 3 Rxd 5 d Shadow 4 6 6 4 7 5 Rxc 255 0 3 4 Txd Shadow Switch 255 0 0 7 5 Txd 255 0 Rxa 0 Txa 1 2 Txa Shadow Txd Shadow 0 Rxa 4 5 6 255 0 1 2 Rxb 3 Rxc 4 c Shadow 5 255 7 0 2 Rxa Shadow Rxa 3 4 Rxd 5 6 Shadow Txa Shadow 7 1 6 Rxd Txa 3 Txd 7 0 255 Rxa Shadow 7 There is only the SIRAM available that has already been shown. That must be shared by all TDM’s. If dynamic switching is to take place then the same SIRAM must be shared for the alternative entries required for the new frame. This diagram shows some examples of how that is done, and basically follows the same rules. Two TDM’s cannot share the same 64 entry block, but the entries for the new frame for the same TDM can. For example, if 32 time slots or less are require for a given TDM, then the first half of the block could be used for the first frame, and the second half for the new frame. The new frame is not limited to the same number of time slots and can be totally different in makeup. The different blocks show several examples of possible organization, the arrows indicating how the controller will switch to using a new set of entries when the switch is made. On the left of the diagram are the registers used for this. 10 SI General Overview SI RAM 1 of 2 a Tx b Time Slot Assignor Control Logic 4 Channels of TDM Pins c Rx d SInCMDR Switch Shadow SInRSR Shadow Pointers SInmMR TDM Pointers SInGMR SInSTR TDM Enable RAM Status n = SI number : m = TDM channel SMCx SCCx FCCx • • CMXSMR CMXSCR CMXFCR • NMSI Pins • • • MII/UTOPIA/NMSI Pins This shows one of the Serial interfaces complete with the SIRAM, TDM‘s, controllers and registers. The only thing left out is the MCC, which is covered in it’s own module. 11 SI RAM Standard Entries (Standard Use) 0 1 0 SW TR 2 3 4 5 SSEL1 - SSEL4 Switch Tx/Rx (Rx RAM only) MCC Not MCC use Strobe Select Level assigned to each pin, OR'd with other simultaneous control’s selection SI RAM Entry 0 Entry 1 Entry 2 Entry 3 Entry 4 Entry 5 Entry 6 6 0 7 8 9 10 11 13 CNT CSEL Channel Select 0000 = Tx tri-state 0001 = SCC1 0010 = SCC2 0011 = SCC3 0100 = SCC4 0101 = SMC1 0110 = SMC2 0111 = D ch grant * 1001 = FCC1 1010 = FCC2 1011 = FCC3 12 14 15 BYT LST Count 1 - 8 bits/bytes Byte Resolution 0 = bit 1 = byte Last Entry wait for next sync (Must be in odd numbered entry) “Refer to SCIT Programming” Reference Manual section 14.4.3 SI RAM Entries standard use This is an SIRAM entry. It is shown with the format when the MCC is not used with it. When used for MCC data, it takes a different format. All of the entries in the SIRAM have this format, each one relating to a time slot on the serial interface. The first entry indicates the format of the first time slot, and then in consecutive order the format for subsequent time slots. Bit zero defines if this entry relates to the MCC and that case is shown on the next slide. One of the first considerations is probably what controller is handling the data for this time slot? That is selected by bits 710, called CSEL. Initializing the values shown will cause the data associated with this slot to be directed via the defined controller. One definition of interest is the first, tri-state. This means that for this time slot, the external pin is open circuit, and so some other data could be on the line associated with a totally different controller. The next consideration is how much data flows during this time slot? First, there are two possible resolutions, bit or byte, selected by bit 14, and with it goes the count in bits 11 through 13. The count utilizes a fiddle factor where one is added to whatever is here. Obviously zero is a useless option, so this mechanism offers a better option of from 1 to 8. Thus, the options range from a minimum of 1 bit to a maximum of 8 bytes. The controller needs to know when it has reached the end of a TDM frame and that is defined by setting the last bit, bit 15, in the last entry required. When that entry has been dealt with, the controller stops handling data until the next sync pulse, when it restarts at the first entry, unless a switch has taken place. In that case, it would start at the first entry of the shadow RAM. As previously mentioned, the user might need a signal present on the strobes for the time slot, so programming bits 2-5 will result in those bit values appearing on the strobe pins. Finally, if required, the transmit and receive pin functions can be switched. Sounds like a wonderful idea, if the connections have been made incorrectly but obviously that’s not what this is for. The possibility could be that at a given time a single line could be used to receive and then switched to transmit. In that case, changing this bit switches the pin functionality. This option is only available in the receive RAM entries, the transmit entry for this bit is ignored. It could be very problematic if this bit worked in both entries and was programmed differently! One final consideration. The last entry must be programmed to an odd numbered entry. That means that there must always be an even number of entries in the table. In some cases it may be necessary to define a time slot over two entries. One further consideration is that if both the MCC and CSEL values are zero, the SI will ignore data for that entry’s count. This is called a null entry. The receiver will go tri-state and the transmitter goes high. 12 MCC_SI RAM 0 1 2 1 LO OP SUP 3 4 Superchannel entry (all 1 byte entries) 5 6 7 8 MCSEL MCC Channel Select Which channel data is routed to 0-127 for SI1 128-255 for SI2 Loop/Echo MCC use Route data via MCC For MCC operation, see specific MCC section 9 10 11 12 13 CNT 14 15 BYT LST Count If SUP = 0 1 - 8 bits/bytes If SUP = 1 CNT+BYT = 0001:this is first byte 1110:not first byte Byte Resolution 0 = bit 1 = byte Last Entry wait for next sync (Must be in odd numbered entry) Reference Manual section 14.4.3 When the SIRAM entry is programmed for use with the MCC, defined by bit zero set, the entry takes a different format as shown here. For MCC use, the MCC channel must be defined for the entry. So what was a four bit channel select field becomes an eight bit field. For normal use, the count and resolution select have the same operation, as shown on the previous page, and the last field also has the same operation. There is a special function for channel synchronization called super-channel, and if required, bit two must be set. In that case, the controller must know which time slot contains the first byte of an MCC frame, so the count and byte fields perform a different function, indicating the first or not the first byte of a frame. When in super-channel mode, all time slots are one byte wide. Finally, bit one enables any time slot to loop back internally from the transmitter to the receiver, and echo the receiver on the transmitter. For further explanation of MCC operation, study the MCC module. 13 TDM Programming Example Support a 10-bit IDL bus with B1 channel via SCC2, D channel via SCC1 marked with a strobe, first 4 bits of B2 via an external device selected by a strobe and last 4-bits via SMC1. L1CLK L1SYNC L1RxD B1 D1 B2 D2 L1TxD B1 D1 B2 D2 SCC2 SCC1 STB_D STB_B2 External Device SMC1 SCC1 SI_RAM entries (Duplicate for both Tx and Rx ) Entry 0 1 2 3 4 5 MCC 0 0 0 0 0 0 SWTR SSEL CSEL CNT BYT LST 0 0 0 0 0 0 0000 0001 0000 0010 0000 0001 0010 0001 0000 0000 0101 0001 000 000 000 011 011 000 1 0 0 0 0 0 0 0 0 0 0 1 Description 8-bits SCC2 1-bit SCC1, Strobe 1 1-bit no support 4-bits Strobe 2 4-bits SMC1 1-bit SCC1, Strobe 1 This is an example of the programming of SIRAM to support a 10-bit IDL bus with B1 channel via SCC2, the D channel via SCC1 and marked with a strobe, the first four bits of B2 via an external device selected by a strobe, and the last four bits via SMC1. The timing diagram shows the relationship between the clock, sync pulse, receive and transmit data lines, and the two strobe lines. Here it can be seen that B, one data is controlled by SCC2, D1 and D2 by SCC1, half of B2 by an external device, and the other half by SMC1. Strobes are asserted for D1 and D2, and during the external device activity. Study the table given and observe the programming. For the example, the MCC and switch transmit and receive fields can be ignored. Notice for B1 a byte resolution is used, and that the count specified is always one less than that required because of the built in fiddle factor. The same programming is required for both transmit and receive in this case. 14 Controller Registers 0 31 CMXFCR SI FCC Routing Register Selects FCC data routing via the TSA or NMSI, and selects FCC clock in NMSI mode. 0 31 CMXSCR SI SCC Routing Register Selects SCC data routing via the TSA or NMSI, and selects SCC clock in NMSI mode. 0 7 CMXSMR SI SMC Routing Register Selects SMC data routing via the TSA or NMSI, and selects SMC clock in NMSI mode. These are the registers required to define the data routing for the FCC’s, SCC’s and SMC’s, as well as the clock sources for them when not connected to the serial interface. When they are connected to the serial interface, they are controlled by the SI clock. To view the registers in more detai,l click on the one of interest. 15 TDM Registers There is one for each serial interface (n = 1 or 2). 0 7 CMXSInCR SI Clock source Register – Selects clocks for each receiver and transmiter TDM. 0 7 SInGMR SI Global Mode Register – Defines the activation state of each TDM. 0 15 SInmMR SI Mode Register – Defines the operation mode of each TDM. 0 7 There is one for each Serial Interface (n = 1 or 2) and each TDM resulting in a total of 8 mode registers (m = a to d). SInCMDR SI Command Register – Initiates switch to shadow RAM for each TDM. 0 15 SInRSR CMXSMR SI Shadow address Register – Defines which sub block shadow RAM starts for each TDM. 0 7 SInSTR SI Status Register – Identifies current-route RAM each TDM. These are the registers that control the operation of the serial interface. With the exception of the SI mode register, there is one of these for each serial interface. The SI mode register relates to the TDM and so there is one for each TDM for each SI. The SI clock source register selects clocks for each receiver and transmitter TDM. The SI global mode register defines the activation state of each TDM. The SI mode register defines the operation mode of each TDM. The SI command register initiates a switch to shadow ram for each TDM. The SI shadow address register defines which sub-block shadow ram starts for each TDM. The SI status register identifies current-route ram for each TDM. 16 Completion • That completes the Serial Interface section. • It’s important to remember that there are many other considerations when initializing, such as pin connections and controller functions. • To test your understanding of this section, complete the exercise on the next page. That completes the serial interface section. It’s important to remember that there are many other considerations when initializing, such as pin connections and controller functions. To test your understanding of this section, complete the exercise on the next page. 17 Exercise Define the values required to set up serial interface 1, where: FCC2, FCC3, SCC2, SCC3, SMC1 and SMC2 are routed to TDMb. a) First frame consists of FCC2, SCC2, SMC1 and SMC2 as follows: Transmit 4 bytes from SCC2, followed by 24 bytes from FCC2, 2 bits from SMC1 with Strobe-1, and 1 bit from SMC2 with Strobe-2, end of frame b) 1-bit sync delay active on a logic ‘0’ and triggered on a rising edge; all other controls will be default. – The first entry in SIRAM will be in the second block. c) At some time a dynamic switch must be provided to another frame with the following format: 6 bytes from SCC3 with strobe 3, followed by 16 bytes from FCC3 with strobe 4, 2-bits from SMC1with strobe-1, and 1 bit from SMC2 with Strobe-2. – All other controls are the same as those in the previous frame. – The RAM entries for the new frame must also be in block 2. d) Indicate how the switch is made. This exercise will help to check your understanding of how the various requirements of the serial interface are controlled. The framing requirements of the controller are defined here. Using these define the values required in the registers where applicable. Any bits not of interest for this exercise can be ignored. Define the SIRAM entries necessary to obtain the frame format indicated. When you are ready, click on the result button to see the correct result. 18