Home
        Cordless LAN solution using DECT
         Contents
1.                  M R   36  4  IMPLEMENTATION         ccccccocscsccessccseseoes R AEAT AIE NBAT INET TEN 38  4 1 THE DATA TRANSFER SOFTWARE      eessessssssseessessoessossenssoossossoasassseeueosssoessssssonseesesrooesteneseesosssscsesoes 38  4 2 CLOCK AND RESET CONTROL Em 41  4 3 ACCESS TO THE MICROCONTROLLER INTERFACE OF THE BMC          ssccccsssssssscssscsscescescssescoseessenees 42  4 4  THE CRC PROCESSOR    4 5  oed eeet eee EARE A subieuelsebiaescoksdessotisasatecicosiesdeasts 43  4 3 MEMORY  MAPPING             2  a coctis eain co aere Uo ors ups ear aero de caesa ssec k baa a ees nos ope URR teivets acti eive eae d dur AN 46  4 6 CONTROLLING THE DD          eene edteeecte esten e ta ioco node eor eor sont ee Venter UPS ae ee dua ea ei AE 47  4 17 PC INTERFACE noiire                                    48  5  VERIFICATION AND RESULT G         cccsccsosrsssssssssocsssscsssscsocsereseossoreeseecsasensecescesanssccecceceaseacaes 52  6  CONCLUSIONS e PE                H    54  7  RECOMMENDATIONS        cccsccssssssscocsocsccssconcecescosscssscososcvsveserssssscsecscuseesrenssesaseassccacensensensoseess 56  REFERENCES P     9 58  LIST OF CONTACTS srcssissssscssccsestussesesccdicescccdecobsessssnetscdidgessaciccccdosscsbuensutes cusessadcoeacdesscaeasccdssnciesee 60  LIST OF ABBREVIATION G           ccsccsssscsscscescsccescesscssacossersccescessvecsccescsscecsaseasecsarscsesencecsscenseecsess 62  APPENDIX A  OVERVIEW OF THE DECT STANDARD            cccoscoscsscssscesssssccsec
2.         Byte 2     Byte 3  4     ee  E  E       Byte 4     Byte 32     Figure 7  DDC datablock    The write process of the PC is controlled by interrupts to support the event driven structure of a  windows environment  The DDC can generate three events  a SF EMPTY event  a SF FULL event  and a SF HALFFULL event  These events are all associated with the state of the send FIFO  SF      When the number of bytes in the send FIFO slips below a certain level the DDC generates one  SF  HALFEMPTY event  This event has to result in the start up of the send process  The SF FULL   event stops the process     An SF EMPTY event occurs when the PC does not react quick enough to the SF HALFEMPTY   event  Usually this is caused by other processes that require a lot of computing time  The occurrence  ofa SF EMPTY  event means that the send FIFO does not contain any whole frames anymore and the  DDC starts sending dummy frames  When the SF EMPTY event occurs often at the sending and    receiving PC the capacity of the wireless connection should be decreased to increase spectral  efficiency     Number of bytes       in Send Fifo  SF FULL  SF HALFEMPTY  SF EMPTY  Stop wrkeprocess Stan writeprocess      Writeprocess started    Figure 8  Interrupt controlled datamovement    Receiving data    The main difference between sending and receiving datablocks from the DDC is the fact that blocks  can be received out of order  This effect only occurs when protected multi bearer connections are  used  Unpre
3.       k eo Lj 2  5  a  CONTROL  C2  8117  ja   dun g  hw  ADCRESS  A2 9 19  Q ES        PATA_3US_D219 7                     ze  i acm  d      a  E   1016 3  2017134 B ih EE WRT  E SS  E  zh en  Bra jn 5  iN HE Ss  mu  i am     4 31  gt  CO  CI  DATALA    ADORE33_A2  3 15      1 dor s 5 a ta yw    a t  E TE    PHILIPS  EMICONDUCTORS  CALE TELECOM                 3010 3US  3 1 202              Time Chenged                     E      i  alul    PT        Jus    LU       e                  Phil ios Semiconductors 3 7   Eindhoven The Netherlands       Mest Mene  CECT SATA           1 79 23  on              
4.     Byte 3 specifies the action that the PC performs to the DDC  Figure 38 shows the value for every  possible action     NO PULSE     o    a  SPEC PEE Not possible    6h    MSG 5h    RESET   Bh       Figure 38  Controlwords on address BASEADDRESS   2     In the following informationblocks the actions to the DDC are worked out in more detail  Here  BASEADDRESS is 0x378     outport 0x378  value    outport  0x37a  10    outport  0x37a  8      Block 1  Send one byte to the sendfifo               outport  0x37a  9    outport  0x37a  8     read byte   inport  0x379  gt  gt 3 8  15    outport  0x37a  9     outport  0x37a  8     read byte read byte    inport  0x379   lt  lt 1   amp 240      Block 2  Receiving one byte from receivefifo    outport 0x378  msg send    outport 0x37a  6    if  inport  0x379  amp 8  cout  lt  lt     WAITING FOR ACCEPTANCE PREVIOUS    MESSAGE    while  inport 0x379  amp 8    outport 0x37a  8         Block 3  Give a message to DDC    outport  0x37a  5     outport  0x37a  8     fifo status  inport  0x379   gt  gt 3  amp 15    outport  0x37a  5     outport  0x37a  8    msg_received  inport  0x379   gt  gt 3   amp 15    outport  0x37a  5     outport  0x37a  8     msg received msg received       inport  0x379     1  amp 240         Block 4  Take a message from DDC    outport  0x378  address    outport  0x37a  14    outport  0x37a  8      outport  0x378  page    outport  0x37a  14    outport  0x37a  8      Block 5  Specify 10 bit address       outport  0x378  va 
5.     CA       1   3 5   lt    e  Ss             Llo  1ls   1    No    TSpeechBur la     TQ TQBegin     RQ RQEnd     RSpeechBuf Oounter     a  Figure 47  Background process    Shared variables    Shared variables are variables that can be changed by multiple parallel processes  In this case a shared  variable is a variable  some memory adress  that can be changed by a procedure that  in turn  can be  interrupted by another procedure which can also change this variable     The list of shared variables for this implementation is as follows  1 UART_Service  2a RI Service   2b TI_Service and 3 Timer_Service procedure     e RQ RQEnd   RQ RQBegin   2b   3   TSpeechBuf  2a   3   TQ TQEnd   TQ TQBegin   2a   3   Lls  2a   3   TIPasssed  1   2b   DataValid  1   2b    Note that every procedure can only be interrupted by procedures of a higher priority     Only the shared variables ROIRQEnd   RQ RQBegin   the receivequeue  result in a critical section in  the Timer Service routine  It is possible that the Timer Service procedure moves a byte from the  speechbuffer to RO RQEnd  without getting the chance to increment RQEnd  because just then it is  interrupted by the TI  Service routine  This routine then is started with wrong information about the  queuelength and can take erroneous actions  To avoid this the RI  Service procedure is disabled during  the critical section by disabling the timer interrupts that can start it     85    C 5 Results    Before the working of the algorithm could 
6.   receiver PC     When a connection has been established the sending PC writes databytes to the send FIFO in bursts   This data is sent to the receiving PC by the Datapump blocks according to the DECT structure  At the  other end of the link the receiving PC is notified if valid data is available     The connection is ended when the sending or receiving PC indicates to the Manager that one of them  wants to disconnect     18    3 2 The PC    The PC object will be discussed in two layers   1  PC software layer  instructions and processes that are needed to control the DDC  2  PC interface  The communication protocols over the Centronix port     3 2 1 Driver software for the PC    The PC software which controls the DDC has to perform the following three tasks    e Managing the DDC   e Sending data to the DDC   e Receiving data from the DDC   As stated earlier the communication with the DDC occurs via the Centronix port  In this chapter only  a functional description of the desired functionality of PC driver software is given  The actual  communication protocol over the Centronix port is discussed in the next paragraph     Management    In order to be able to set up a connection to a portable computer the server PC has to have a list of all  the active computers in its reach  The portable computer also has to notify the computer when it is  ready to receive calls or not     When the portable computer itself wants to communicate with another computer it has to set up a  connectio
7.   since 12 simultaneous traffic bearers can exist            transfer buffer     datatransfer buffer     transfer buffer  0    Figure 23  Flow diagram    39    If the transfer flag is set by the slot transition process  the procedure datatransfer buffer  will be  executed  The actual parameter buffer indicates the inbound and outbound buffer should be read and  written     The data transfer procedure is straightforward translation of the event response table and the  alternating bit protocol described in paragraph 3 4  However some tricks have to be done in order to  protect the SACK and SEN bits against transmission errors  Furthermore the use of a pointer to the  send and receive FIFO is necessary  The variable errorcount n  is located in the dual ported  interprocessor communication RAM  In this way the manager controller can detect a traffic bearer  with too many errors  release this bearer and establish another one      lt a     yes    Rec  FIFO full    no    prevRFptr RFptr  move OBm  0  38   to Rec  FIFO           SACKn 0  move OBm 0  9   to dummyRAM    e  SACKn 0    SACKn 0 RFptr prevREptr  secs      lt a lb   and RO CRC sl and RO CRC  e    no    SFNn  SFNn  move frame in send  FIFO to IBm  FRAME_NRD 0    FRAME_NRD 1    Figure 24  Flow diagram    40    These flowcharts are just an indication of the instructions that should be executed by the 80C31  microcontroller  However for the determination of the total execution time of a data transfer process  the number of cloc
8.  3 4 1 gives the formula for the  computation of the maximum number of bytes in TQueue      6  TOueue wn   in  A    10   Eq  3 4 1     78    The computation of the maximum number of bytes in RQueue is a lot simpler than that of TQueue   This number only depends on the maximum number of bytes that can be sent during one DECT  frame  which equals the maximum number of RI interrupts     RQueue ma   im Amerie baudrare      1    int 10  baudrate  1   lt  39     Eq  3 4 2   Notice that baudrate in equation 3 4 1 represents the baudrate of the UART interface of the 8051    itself  while in equation 3 4 2 the baudrate of the 8051 of the demoboard to which the connection is  established is meant  For bi directional connections these baudrates are the same     79    C 4 Implementation    In this chapter the translation of the technical design into 80C51 software for the DECT  demonstration board is discussed  In the next chapter the maximum baudrate and required buffersize  for this implementation will be computed     Specific problems    Two problems concerning the structure of the software and detection of events by the 80C51 had to be   solved first before the translation could take place    1  The event driven structure of the design is best implemented as interrupt driven software in the  80C51  However the 80C51 only has two interrupt priorities available  so only a two level  structure seems possible    2  The 80C51 in the current configuration has no hardware interrupts that re
9.  824 psec  lt  11 Tiimer Slots of a DECT frame   4375 usec    t D max S 2040 usec  lt  11 Timer slots of a DECT frame   4375 usec    By means of special data patterns it has been verified that wireless data transfer can be done without  errors caused by the 80C51 software at 9600 baud  Because there is a negligible guard time between  two successive RS232 packets  the duration of the stopbit and a following startbit is exactly two data  bits   the effective throughput of an 9600 baud wireless data link comes to 8 10 9600 bit s   960 bytes    seconds  At 19200 baud still occasionally buffer overflow occurs  however very sporadic   The cause  can be the external UART clock at the demonstration board still being too low  or the stretching of the  80C51 clock by the BMC     Before the software was loaded in PROM this software was tested many times by means of a Nohau  80C51 emulator and special data patterns  This emulator proved to be very useful for debugging at  source level     All these throughput calculations are done under the assumption of an errorless radio link  so no CRC  checks and retransmissions are necessary  For wireless communication in the order of 100 kbit sec  according to the DECT data protocols for the MAC and DLC layer  additional hardware has to be  designed  This will be a task of our long term graduation assignment     87    C 6 Conclusions    The implemented algorithm operating on the 80C51 is proven to be correct at a speed of 9600 baud  and even 19200
10.  The datapump has moved a new frame in the receive FIFO and CRC  checking showed is was valid  By initiating this action the PC is now able to read the frame     e READ FRAME  The datapump has sent a frame  The send FIFO length is now decreased by one  framelength     3 3 The DECT Burst Mode Controller    The time critical functions of the DECT physical and MAC layer are done by the a Philips PCD5040  DECT Burst Mode Controller  BMC   Originally this custom IC was designed to be used for DECT  speech communication  To create a good design for datacommunication the interfaces of the BMC to  the outside world have to be well examined  This paragraph gives a short introduction to these  interfaces and describes the impact on the design     The BMC should interact with three objects  the DECT radio  the datapumps and the manager  see  Figure 6  The DECT radio is already evaluated and implemented by Philips  For more information  about Philips DECT radio see its manual     Communication with the manager can only be done via the microcontroller interface of the BMC   Requests of the manager  like a connection set up request  can be sent to the BMC by placing the  message attributes in special registers of the BMC  If the request can be executed it will be confirmed  by the BMC else the request will time out within a specified time  After this confirm or time out  period the manager can place a new request  The BMC can also accept certain messages  commands   that need not to be con
11.  baud  After adjusting the UART oscillator no buffer overflow in the microcontroller  occurred anymore so a wireless RS232C data connection between 2 PC s could be demonstrated at  9600 baud  At 19200 baud buffer overflow still occurs  probably by the UART clock frequency still  being too low    The designed software is completely optimised to work on the current hardware  If data rates above  19200 baud should be required the following modifications are recommended       Flow control  This can be a hardware  use RTS  CTS pins of RS232C  and or software flow  control  X on X off  mechanism    e The 80C51 should recognise a slotcounter transition by means of an external interrupt instead of  continuously having to read the SLCNTA register of the BMC every half slot    e The UART clock should be tuneable by means of a variable capacitor so buffer overflow can be  prevented by tuning the UART clock to a little higher frequency    e Processes A and F are that small that they can be mapped directly at interrupt vector address of the  serial port  0023H  instead of permitting the compiler produce his own generic interrupt handler   see appendix B 1 of  BSO    93       Because UART is asynchronous communication standard two clocks are used  one at the receiving  and the other at the sending side  The frequency of these clocks have to be very much the same else  buffer overflow occurs in the PC  Also the clock frequency of the UART module of the 80C51 has to  be a fraction higher els
12.  capacity   This is the simplest solution when the firmware is regarded fixed  When the capacity of a certain  connection drops the capacity of all of the connections is limited to keep all connections the same  Of  course this will result in a over all decrease of capacity and spectral efficiency     Solution 3  Software feedback from DDC  Here the DDC does not buffer frames anymore  The PC just sends one frame of a specified connection    when the DDC requests it  This solution results in a lot of overhead  but the over all capacity of the  data link does not drop     In practice solution 2 is the simplest and best solution     34    3 5 Management    The manager has the following objectives    initialisation of the DDC    communication to the BMC   synchronisation to the server PC  base station    connection establishment   activating and stopping the datapumps   connection release   translation of DDC requests commands to BMC requests commands   transmission error handling  releasing erroneous traffic beaerers and establishing new traffic  bearers    The manager will be implemented by software running on a Philips 80C51 microcontroller for the   following reasons    e The BMC can only be controlled through the microcontroller interface    e Software running on a 80C51 controller for connection establishment  release etc  has already  been designed   Software running on a microcontroller can easily be changed   No glue logic is needed to connect an 80C51 controller to the 
13.  case of no error control is one byte  the length indicator   When  the 8051 software is fast enough this means the effective maximum dataflow of the DECT connection  is 3 9 Kbytes per second and by this the maximum baudrate at the input interface is 39 kbaud     The baudrate of the output interface must be at least as high as the input rate  For bi directional  connections they therefore must be the same  Obstruction 3 represents the reduction in datarate  introduced by the time the 8051 software  after sending a RS232 word  needs to start the transmission  of a new word  l      When on average obstruction 3 is bigger than obstruction 1 the barrel has more incoming than    outgoing data  This causes the    exploding barrel    effect which means that more and more data needs  to be buffered  This causes the internal buffers to overflow and results in loss of data     72       C 3 Technical Design    In this chapter the ideas behind the design of the UART transparent datapipe will be discussed   Several designs are considered but this chapter will focus on the accepted design  The earlier designs  will be discussed only indirectly by motivating some choices that have been made     The 8051 environment    The main purpose of the RS232 datapipe software is to move bytes from the UART interface  SBUF    to the speechbuffer and vice versa  To accomplish this the following statements containing some   demands and restrictions have to be regarded    S1  Some control information is n
14.  frame       Figure 16  Multi bearer structure    The data transfer process for traffic bearer 11 should have finished before slot 23  Therefore each  process should take less than 22 12 slot   763 psec      The datapumps should be synchronised to the BMC by means of an external signal which indicates  each transition of a slot   see figure 13  This signal can be created out of the DCK and CLK100  signals of the BMC     The microcontroller that implements the datapump should be able to complete the each data transfer  process in 763 ps  A Philips 80C51 microcontroller  running at 30 MHz  would easily satisfy this  constraint  However this microcontroller is not fast enough to do CRC checking and generation as  well  These routine tasks should be done by dedicated hardware which operates parallel to the  microcontroller     31    3 4 4 Error detection and frame format    The cordless transmission of data through a non ideal communication channel causes errors which  should be detected and corrected  Error detection can be done by calculating cyclic redundancy codes   CRC  and transmitting these codes together with the data  The CRC codes are defined by a  generator polynomial described in the DECT standard  A CRC generator and checker can be easily  implemented using simple shift registers with feedback connections  The data to be transmitted  should be shifted serially into these registers  If all data is shifted the contents of the shift registers  contain the CRC code  By t
15.  manager controller controls the position of the switch  The unidirectional  address and control busses of the manager controller and the data transfer controller are switched by  means of a multiplexer  the 74HC157  The bi directional address data bus ADO  AD7 is switched by  means of two transceivers  the 74HC245  The direction of the transceiver is controlled by RDN  If  RDN is low and if the BMC address space is selected and if the BMC_BUS control line has selected  the microcontroller data coming from the BMC is routed to the selected microcontroller  In case of a  write cycle the direction of the transceiver should not be changed     4 4 The CRC processor    The CRC processor is based upon a generator polynomial defined by DECT  ETS  94    g x    xl  ter    The CRC generator can be implemented by 16 shift register cells and 5 exclusive ORs        Figure 28  DECT MAC R CRC generator    The 8 bit wide data can be converted by a PISO  a logic device like the 74HC597  into a serial bit  stream  After shifting a complete B subfield  64 bits  into the shift registers the 16 bit CRC is  available at the outputs of the shift registers  The PISO is controlled by the CRC controller  The CRC  generator is    listening    to the databus if the data transfer microcontroller is moving data from the send  FIFO to the data buffers in the BMC and if the CRC generator is enabled by G  NEN  which is an  output pin of the data transfer controller  The CRC controller retrieves its timing by
16.  previous SEN    move frame from send FIFO to BMC  SACK 0    previous SFN  keep frame in BMC    frame moved from Send FIFO to BMC     previous RFN       Note  RFN means    received frame number    and SFN means    send frame number     RACK means     received acknowledge    and SACK means    send acknowledge     So RFN is the SFN of the peer side  etc     Note  the response times are calculated in the next paragraph      The data transfer process should be activated as soon as the inbound buffer contains new and valid   data  This event should trigger the execution of the following statements    e The frame in the outbound buffer should be moved to the receive FIFO    e Ifthe frame is erroneous a retransmission should be requested by means of clearing the SACK bit    e Ifthe frame was received correct the frame number bit REN should be checked  If REN equals the  previous REN the previous acknowledge bit SACK was corrupted and the frame was already  accepted by the peer side    e The acknowledge bit RACK should be checked  If RACK  0 the frame should be left in the  outbound buffer of the BMC    e If the frame was received correct at the other side  RACK  1  the datapump should move a new  frame from the send FIFO to the correct outbound buffer of the BMC     Receive half frame   Transmit half frame    radio Tex   radio outbound data        start data transfer    Figure 15  Relation with DECT TDMA frame    The basic data transfer process should be started at slot transition 8
17.  speed data connections DECT specifies multi bearer connections  Here the current  BMC also has some restrictions  the BMC for the portable part only supports multi bearer connections  up to a maximum of five duplex bearers  10 time slots      For a data connection protection is a necessary condition  The DDC should therefore contain a device  that can do this outside the BMC     Figure 3 shows the DECT data structure for a protected  connection oriented  duplex bearer  The two    slots that are used for the bearer are exactly one half frame apart  The six structures correspond with  the in and outputs of the DECT DLC  MAC and Physical Layer     12    md rur Doe E  yaf  ON    plane  s   e  e 7       else   e      w e e                  1X 159 IA 22          ABD die    PHL pee  proa aa 000 000000000000    Fixed to Portable Part Portable to Fixed Part    1120 dira   10 ente    Figure 3  DECT multiplexing structure for a full duplex single bearer frame relay connection    A received slot will be checked by its CRC immediately after reception  When the received data  appears to be correct a piggy backed acknowledgement is sent back in the first sending slot one half  DECT frame later  The data sent over one duplex bearer can therefore never exhibit sequence  distortion  Data duplication however is possible because the acknowledgement of a previous slot can  get lost in transmission  This is solved by a modulo 2 sequence number as explained later     When multi bearer connections 
18.  synchronisation with the BMC   e flow control   e detection of erroneous received data and correction of these errors    The datapumps should operate synchronously with the BMC  If for example the BMC has sent an  outbound buffer to the radio the datapump should move a new frame from the send FIFO to that  outbound buffer  Furthermore if the receive FIFO is full the terminal at the other side should be  stopped to transmit a new frame  Received data should be checked upon errors  This is done by  insertion of cyclic redundancy check codes  If an error is detected in a certain frame  this frame should  be retransmitted  Aspects about flow control and error correction by means of retransmission are  described in paragraph 3 4 2  Paragraph 3 4 3 describes the design aspects for multi bearer  connections  Error detection is explained in paragraph 3 4 4  The next paragraph describes the  necessity of synchronisation to the BMC     27    3 4 1 Synchronisation with the BMC    After the manager has established a cordless connection with another PC  the data transfer phase can  be started and the datapumps should be activated  Suppose the manager has established one full  duplex traffic bearer  see figure 3  to another PC  Moving a frame of the send FIFO in the correct  outbound buffer of the BMC will lead to a transmission of this data frame  However the datapump  cannot do this at an arbitrarily moment because the BMC reads the outbound buffer at a specific time   The data receive 
19.  the CLK  ALE   RDN inputs     The CRC checker basically has the same structure as the generator  see figure 29  The checker should  listen to the databus when the data transfer controller is writing a 64 bit B subfield into the receive  FIFO  The CRC checker can be disabled by T NEN which is connected to an output pin of the data  transfer controller  After shifting a complete received B subfield the CRC checker generates an error    43    pulse if one of the outputs of the shift registers has a high level  This error pulse is passed to the data  transfer controller which should ask the peer PC for a retransmission     CRC_CLR             LA NNI HH  PT m es ee            CRC_ERROR  WRN ALE T NEN    Figure 29  DECT MAC CRC checker    The CRC generator and checker is connected to the data transfer controller in the following way        Figure 30  CRC interface    The state machines that implement the CRC controller for the generator  g_control  and checker   t_control  are shown in Figure 31     44       t control        Figure 31  Statemachines for control of CRC generation and checking    The CRC generator and checker are implemented in a VHDL like language  AHDL  which can be  compiled to special code that can be used to program an Altera EPLD     45    4 5 Memory mapping    The manager controller and the data transfer controller have the following memory map                      Manager controller  general DATA memory   32 KBytes     Data transfer controller  general DATA 
20.  the PC a capacitor near the crystal is replaced by a variable capacitor so that the  frequency can be tuned    Another more practical solution would be some kind of flow control     The period of time to handle the priority 0 1 and 2 processes is calculated by accumulating the  processing time of each individual instruction in the assembly code generated by the C compiler  see  appendix B  3 3  Assuming that the 80C51 operates at a clock frequency of 13 8 MHz  and taking in  the used processing time for the interrupt handler produced by the C compiler  see appendix B 1 of   BSO  93    the following timing results have been extracted from the assembly code     ta  lt  30 Hsec  tr  lt 31 psec  tg  lt  64 usec  te  lt  58 usec  tc  lt  56 usec   TQueue    36 usec  tp  lt  60 usec   RQueuema 33 usec    Regarding the delay and interruption caused by other processes  the delay caused by the timer and the  delay of process E caused by the critical section in process D and assuming a baudrate of 9600 the  following results for the maximum processor time of each process can be been derived from equations  3 3 1 till 3 3 7 and equations 3 4 1 and 3 4 2     86    tama S 49 psec  lt  1   baudrate   104 usec  t Fma S40 usec  lt  1   baudrate   104 usec    t Bmax S 123 psec  lt  10   baudrate   1040 usec  t Emax S 118 usec  lt  10   baudrate   1040 usec  t Cmax S 422 psec  lt  11 Tiimer slots of a DECT frame   4375 sec  Lomax S 720 usec  lt  11 T  me Slots of a DECT frame   4375 usec    A
21.  three  points of view  the BMC  the DECT standard and the PC  In chapter 3 the DDC will be worked out  according to the specifications stated here     2 1 DECT Data standard    As stated in appendix B a DECT basestation can support a maximum of 24 physical channels  corresponding with the 24 slots per frame  These physical channels can provide so called bearer  services  the building blocks for connections  For example  a speech connection requires a duplex  bearer  which consists of two physical channels for sending and receiving speech     For data connections DECT specifies the following bearers    e Duplex or simplex bearers  Duplex bearers consist of two physical channels corresponding to two  slots exactly one half DECT frame apart and each working in the opposite direction  A simplex  bearer consists of just one slot     gt  Connection oriented or connection less bearers  In case of a connection oriented bearer a each  physical connection has a fixed destination during the time a connection has been set up  In  connection less mode a physical channel can have a different destination during each DECT frame   packet oriented       Protected or unprotected bearers  Data protection is performed by CRC generation and  checking  When a corrupted frame is received it is discarded and retransmission is requested     The current BMC can only provide unprotected  connection oriented  duplex bearers because it has  been designed to support cordless telephones     To provide high
22.  to 9 and should be carried out  before slot 20  see figure 15    30    Because the traffic bearer at the receiving half of a DECT frame can be allocated at slot O till 11 the  datapump should get all slot transition events for those slots     Because one slot consist of a 40 bytes frame the maximum unidirectional throughput of a full duplex  single bearer connection is 320   10 msec   32 kbit s  If four 16 bit CRCs are added to a frame the  throughput will be  320 4 16    10 msec   25 6 kbit s  The data link layer uses another 24 bits for its  control   This results in a maximum unidirectional throughput of  320 4 16 24  bits   10 msec   23 2  kbit s  If higher throughputs are required  multi bearer connections have to be established     3 4 3 Multi bearer connections    If the manager has established a multi bearer connection the datapump should handle a data transfer  process for each traffic bearer  This results in a more complex design     Because there is only one FIFO where correct received frames will be placed sequence distortion can  occur due to the retransmission protocol  This sequence must be recovered by the data link layer   which should be implemented by PC software     A data transfer process should be started after the slot transition of a each received traffic bearer as  soon as the previous data transfer processes have finished  The figure below shows the most time   critical situation  i e  12 active traffic bearers     Receive half frame   Transmit half
23.  will usually result in some delay between the occurrence of an event and  the start of the appropriate event handling procedure  The information that accompanies a certain  event therefore has to be buffered  Furthermore the dataflow has to be buffered because the DECT  datapipe works more efficient when a continuous flow of data is offered  This buffering will inevitably  lead to some delay in the dataconnection  Figure 5 gives a relative comparison of some applications in  respect to the maximum allowed delay and required data capacity     Delay  x E mail x File transfer    bone    x Chat x Multi media       Data capacity Be    Figure 5  Overview of demands for some well known applications    Another consequence of an environment where multiple applications can run simultaneously is that  more than one connection to different destinations can be needed  For example an agent of a  telemarketing firm could be using a database server to look up telephone numbers of customers that  he wants to send a fax via a fax server somewhere else in the network  He even could be chatting with  another agent to ask a question about a certain customer at the same time     15    The realisation of multiple connections to different destinations with DECT appeared to be less trivial  as one would expect  because the capacity of every connection varies in time by unpredictable errors in  the RF path  In chapter 3 some possible solutions for this problem are given     2 3 2 PC interface    For 
24.  words  1 startbit  8 databits and 1  stopbit  will fit at most within the worst case time for process C  The integer value of m 1 now gives  the maximum number of RI or TI interrupts within this period     The timing for process D is completely analogous to that of process C  The maximum number of TI  and RI interrupts here also is the only source of delay   1D  max   to   int n 1  ta   te   te   tr     s td  max  baudrate  10   Eq  3 3 5     During process E one RI interrupt can occur  Process E therefore can be interrupted by process A and  delayed by process B      max   fE   tA   fB   Eq  3 3 6     TI    Process F can only be delayed by process F       F max   fF   fA   Eq  3 3 7     Note that independent of the implementation trma   lama when process A and F have the same  priority  so the worst case responsetime of the 8051 for RI interrupts is always the same as the  responsetime for TI interrupts     After calculation of the undelayed time tx of every process and substitution in equation 3 3 2 to 3 3 7  it is now possible to conclude if the implementation satisfies the six timing constraints  eq 3 3 1  for a  certain baudrate of the UART interface  By this it will be possible to compute the maximum possible  baudrate for the realised implementation     Required buffer size    The timing constraints are necessary to guarantee an errorless operation of the 8051 software  but they  are not sufficient  As stated earlier the RS232 pipe uses two buffers called TQueue and R
25. BMC    e The DDC is a Philips product  so components and semiconductors of Philips are preferred to be  used    e Experience with 80C51 microcontrollers is already present     To accomplish the objectives of the manager the controller should be able to communicate with the  PC and with the data transfer 80C51 microcontroller  These interprocessor communication paths can  be implemented using dual ported RAMs with two so called    mailboxes     one for each direction  If  one processor writes data in this mailbox the other processor gets an interrupt signal   which indicates  that a new message was received  The processor can read and identify this message  which results in  an automatic clear of the interrupt  Using dual ported RAMs increases flexibility in the software  design in multi processor architectures     35    3 6 Conclusion    If the PC has information to send to a certain destination it has to ask the manager to establish the  connection    s soon as the connection is confirmed the manager starts the datapumps  The alternating  bit protocol in co operation with the CRC generator and checker takes care of errorless transmission  of data  Using the microcontroller interface of the BMC for the transfer of data results in a fast and  flexible data communication path  However the microcontroller interface should be shared with the  manager controller  Therefore a switch is necessary  The data transfer controller should be  synchronised with the BMC and have enough spee
26. CD 574    Technische Universiteit tu J Eindhoven    Faculty of Electrical Engineering  Section of Digital Information Systems    Master   s Thesis     Cordless LAN solution using DECT  Specifications and design of a DECT PC card    Erwin Slob en Dirk Jan Riezebos    Coach  ir  F A J  Dumont  Philips Semiconductors   Supervisor  Prof dr ir  C J  Koomen  July 1995    The Faculty of Electrical Engineering of Eindhoven University of Technology does not  accept any responsibility regarding the contents of Master   s Theses     Philips Semiconductors   Product Concept and Application Laboratory Eindhoven  PCALE   Telecommunication Division    Eindhoven University of Technology  TUE   Faculty of Electrical Engineering  Section  Digital Information Systems  EB     Graduation Report    Cordless LAN solution using DECT    Specifications and design of a DECT PC card    By Erwin Slob and Dirk Jan Riezebos       iun               Jo    pni  bite                      Coach  ir  F A J  Dumont   Supervisor  prof  dr  ir  C J  Koomen   Reviewers  prof  dr  ir  C J  Koomen  ir  E H  Stiphout  dr  ir  A  Verschueren  Period  1st of October 1994   30th of July 1995    THE FACULTY OF ELECTRICAL ENGINEERING OF  EINDHOVEN UNIVERSITY OF TECHNOLOGY DOES NOT ACCEPT ANY  RESPONSIBILITY REGARDING THE CONTENTS OF MASTER   S THESES     Preface    For the University of Technology in Eindhoven we worked together on a nine month graduation  project at PCALE  Philips Concept and Application Laboratory Eindhov
27. M   handles functions necessary for the secure provision of DECT  services     The LLME    As shown in figure 1  the Lower Layer Management Entity  LLME  contains procedures that concern  all of the DECT layers  Some management procedures are     PHL    list of quietest physical channels    MAC   creation  maintenance and release of bearers    DLC    connection management  the creation  maintenance and release of connections in response  to NWK layer demands     NWK   service negotiation with the upper layers  user   test procedures etc     The PHL is already implemented by a Philips DECT RF board     For DECT data communication the protected service of the DECT MAC layer and the frame relay  service of the DECT DLC layer have to be implemented     Appendix B  User manual    This appendix has been written for PC programmers who want to use the DECT PC card  DDC   The  procedures for controlling the DDC is represented in Borland C   code     The DDC is controlled by sending specific signals over the Centronix port  This port is memory  mapped and can be controlled by three adjacent bytes at a specific baseaddress  This baseaddress is  determined by the set up of the PC  In most cases the baseaddress has the value 378h     The three Centronix bytes have the following semantics    Byte 1 at BASEADDRESS   OutBit7  OutBit6       OutBitO   Byte 2 at BASEADDRESS   1   NINTREQ  InBit3  InBit2  InBit1  InBitO  X  X  X  Byte 3 at BASEADDRESS   2   X  X  X  X  NPROT1  PROTO  WRITE  READ
28. MC  PCD 5040     This meant a prototype  PC card had to be designed that realises a high speed datalink with use of the BMC  With this PC   card it has to be shown to customers that the BMC chip can also be used for the realisation of a  cordless LAN     As a warming up project an existing DECT demoboard for cordless telephony has been  reprogrammed to realise a low speed data link between PCs via the RS232 port  This solution results  in the most simple hardware and is therefore very useful in cases where high datarates are not  demanded     The realised PC card for a high speed data link is connected to the PC by the Centronix port  This  port appeared to be fast enough and resulted in the least complex solution  Furthermore the hardware  for portable and server PC could be the same  This results in a decrease in implementation time and  costs  Maintenance of a cordless LAN is easier when all cards are interchangeable     The designed and realised PC card can be used for the creation of a cordless PC LAN  The interfaces  to the PC and BMC and the DECT standard are fully examined  The card is optimised for  communication through these interfaces and is still very flexible for future changes by means of two  programmable controllers     It is proven that the BMC can be used for cordless data applications  However the BMC cannot  support the full DECT ABI profile  ETS    94   The main bottlenecks are  no connection less bearers   no asymmetric connections  no more than 5 duple
29. Queue  To  ensure good operation at all times it is also necessary these buffers are big enough to contain even the  maximum amount of data during execution of the software     In figure 5 TS is a DECT transmit slot and TS 1 is the slot preceding TS  During these slots process B  writes incoming bytes to TQueue  Buffering during TS 1 is necessary to avoid time critical effects at  the beginning of TS  process B detects TS 1 and decides to write to the BMC while the BMC just  enters TS      Besides TS and TS 1 also during the time TQueue has not been emptied by process C  yet incoming  bytes are buffered  to avoid order problems      Figure 43 shows a worst case situation where RI  is the first RI interrupt that could possibly cause the  writing of a new byte in TQueue and Rl  is the first interrupt that won t result in an enlargement of  the buffer        Proces E ProcesA     ProcesE Proces C    Write to TQueue    Figure 43  Worst case situation TQueue    As shown in figure 5 RI  is an RI interrupt that is handled by process A after a delay by process F and  process B is delayed by process E  RI  is the first interrupt after the completion of process C  that  itself is delayed by other processes as captured in tema      The maximum number of bytes that can be buffered in TQueue now is determined by the number of  RJ interrupts that can occur during the period between RI  and RL including RI   Of course this  number is depending on the baudrate of the RS232 interface  Equation
30. The J input is connected to the following combinational logic     J   CSN RESET   RDYN   RDN e WRN    In this way Q is cleared at a negative clock edge if there is no reset  a RDN or a WRN is low  if the  BMC RAM is selected and if RDYN is high  The Q output will toggle again at a negative clock edge  as soon as RDYN goes low again  RDYN is an output signal of the BMC and indicates when the data  is written in or read from the BMC RAM  This clock stretch will take less than 0 6 ps  l    Because the 80C31 microcontroller can only be reset if it has a valid clock the JK flip flop must be    reset before the reset of the microcontroller  This can be achieved with the following circuit  The RC  circuit takes care of the necessary delay  R C   1 msec      41    10k  RESET    Vec    JK_NRESET  j HARD  RESET    4k7    Figure 26  Reset circuit    4 3 Access to the microconiroller interface of the BMC    Both the data transfer microcontroller and the manager controller should have access to the  microcontroller interface of the BMC  This interface consist of an unidirectional address bus  a bi   directional multiplexed data  address bus and a unidirectional control bus  A switching circuit  controlled by the manager controller prevents bus conflicts        80C31      manager    controller 11 6  0   CSN_ BMC  RD  A8  A10  ALE    BMC_BUS    A8  A10  ALE  CSN_ BMC  RD    80C31  datatransfer    controller  74HC245       SLOT TRANS  Figure 27  BMC interface    42    The BMC_BUS line of the
31. a portable part with another EPROM     2 4 Conclusion    The DDC that will be realised can not make total use of the DECT capabilities  because the current  BMC is in fact designed to support speech connections  This means the portable part BMC only  supports five unprotected  connection oriented  duplex bearers  The fixed part BMC however can  support a total of twelve duplex bearers  all slots in the DECT frame   This means the DDC has to be  fast enough to send and receive the data from all of these bearers     Furthermore the DDC will be connected to the PC by the Centronix port to keep the hardware for    portable and server PC the same  This results in a decrease in implementation time and costs   Furthermore maintenance of a cordless LAN is easier when all DDCS are interchangeable     17    3  Technical design    This chapter describes the design process for the DDC solution from an abstract level  To do this an  object model that describes distinguishable parts of the design process is introduced  Each part is later  described in more detail  At the end of the chapter the designed machine in total will be discussed     3 1 Design partition    Figure 6 shows the functional blocks that are used to realise the DECT data link        Figure 6  Partition in design areas    A PC that wants to send data  requests the Manager block for a connection with a specific capacity to  a specific PC  The Manager then determines if enough capacity is available and notifies the specified
32. alisation       Figure 33  Statemachine for communication with PC    When the PC state machine is in Idle state it waits till the PC alters one of the control bits  When this  is done one clock later  to be sure the control information is stable  the state machine decides which  action is initiated  This is necessary because the PC is asynchronous to the protocol chip     Actions that result in a read or write cycle on the Manager communication RAM or the FIFOs consist  of multiple states as shown by Figure 34     48    READ CYCLE     NOE      DATA IN       ADDRESS      STABLE   RO   RI   Ro    war    WRITE CYCLE        ADDRESS      DATA OUT i       STABLE   wo   wi   w2   w3   WAIT    Figure 34  Read and write cycles of the protocol chip    The following relation between actions and states exists   WRITE TO FIFO  lt  gt  wf0  wf1  wf2  wf3  READ_FROM_FIFO    lt  gt  rfO  rf1  rf2   SPECIFY ADDRESS  lt  spc a  WRITE TO ADDRESS  lt  gt  ws0  wsl  ws2  ws3  READ FROM ADDRESS  lt  gt  150  rs1  rs2   WRITE MESSAGE   o wi0  wil  wi2  wi3   READ MESSAGE o rfi  rmi0  rmil  rmi2   SOFT  RESET o init    After the state machine has responded to a certain action the state machine waits till the PC is back in  idle mode  so every action results in just one reaction  action serialisation      The Datapump state machine works in much the same way  The only difference is that in this case the  communication is synchronous  so no extra stable state is needed     49       A   Instruction rec
33. and send processes have to be synchronised to the BMC so that they start moving  data at the right moment     For the data send process the following timing constraint should hold     The frame in the send FIFO should be moved into the outbound buffer before the BMC will transmit  the contents of the outbound buffer     For the receive process can also a timing restriction be derived  In every DECT frame the BMC writes  the received frame  that was sent by the other PC  in the inbound speech buffer  So in order to  maintain data consistency the following timing constraint should hold for the data receive process     A frame in the inbound buffer of the BMC should be moved into the receive FIFO after the BMC has  updated the contents of the inbound buffer     Another timing constraint can be derived from the flow and retransmission protocol     3 4 2 Flow control and error correction by means of retransmission    For flow control and error correction a well known protocol is used  the alternating bit protocol  This  protocol is well suited for DECT because after each transmission there is exactly one reception  after  5 msec  and the other way around    If a received frame is erroneous  a retransmission of this frame should be requested to the other side   This is done by a special acknowledge bit  named ACK  The frames are numbered alternating by  means of the control bit FN  so a retransmitted frame has the same number as the last transmitted  frame  Figure 14 shows the alte
34. are used sequence distortion is possible while the capacity per bearer  can vary in time by RF transmission distortions  This is solved by adding a sequence number to every  frame     2 2 DECT Burst Mode Controller PCD5040    The BMC is a custom IC that performs most of the time critical functions involved with a DECT  connection  The functional blocks of the BMC are shown in Figure 4             PCD5040    Controller            To CODEC     Highway   Data and control   for radio   8051   68000 Program Memory  Interface     4 kbyte RAM    Figure 4  Block diagram PCD5040 DECT Burst Mode Controller    The basic philosophy around the BMC implementation is to have a few dedicated hardware blocks  containing logic for time critical functions with bit or byte accuracy  All other functions  with slot  accuracy  are contained in a small programmable RISC core  the Programmable Communication  Controller  PCC   This is done to offer maximum flexibility during prototyping     The program which is executed by the PCC is called firmware  The firmware for a DECT portable  part and fixed part is not the same     The microcontroller interface provides full access to the data memory  Via the datamemory an  external microcontroller can communicate with the PCC  The data structure inside this memory is  defined by the firmware  Phil  94      The BMC has been designed for cordless telephony  A cordless telephone needs two speech  connections in two directions  therefore duplex bearers are suppor
35. be verified  a major bug had to be fixed  the  exploding  barrel    effect was indeed occurring  The cause of this effect is the external clock frequency for the  UART module in the 80C51 microcontroller being too low in comparison to the clock frequency of  the RS232C port in the PC  see figure 12  So on average  data coming from the RS232C module of  the PC is transmitted faster than data transmitted at the other side from the UART module of the  80C51 to the other PC     PC N  C PC           gt     packets       Figure 48  The cause of RQueue overflow    Measurements showed that the clock frequency of this UART module was approximately 5  below  the RS232 frequency of the PC  Because there is a negligible guard time between two successive  RS232 packets  one startbit   8 bit data and one stopbit  the receive queue RQ of the 80C51 will  inevitably overflow     The solution to this problem is simple  make sure that data in the receive queue RQ is transmitted just  a little bit faster than data coming from the PC  In practice this means that the UART oscillator  used  as an external timer source for the UART module in the 80C51    a resonator operating at approx  2 4  MEZ  has to be replaced by an accurate crystal working at 9 830400 MHz  Since this frequency is 4  times higher the demonstration board is also prepared for RS232 data transfer from and to a PC at  19200 baud and even 38400 baud  Because the UART frequency should be a fraction higher than the  RS232 frequency of
36. bone network or request a link to another portable PC in the coverage  area  service area         Figure 1  Typical structure of the DECT LAN    Examples of cordless LAN applications are    e LAN for laptop computers  wireless connection is the natural medium for the personal portable  computing devices that are growing in popularity    e Ad hoc networking  a group of portable users  for example in a classroom or meeting  intend to  set up a network among themselves in an unpredicted situation    e LAN extension  extension of the wired LAN to areas with wiring difficulties like buildings with  large open areas such as manufacturing floors  stock exchange halls  warehouses  historical  buildings where drilling holes for wiring is prohibited  small offices where maintenance of a wired  LAN is not economically attractive     1 2 Problem definition    The original project goal according to our coaches was     Study of the feasibility and realisation of a  demonstratable high speed wireless data link according to ETSI standards using the Philips DECT  chipset  particularly the DECT Burst Mode Controller  BMC  PCD 5040     This meant a prototype  PC card had to be designed that realises a high speed datalink with use of the BMC     During the project the specified goal has been translated into the following    project steps      1  Study of the DECT standard in relation with cordless data links   2  Study of the possibilities of the BMC to implement a DECT data link     3  Realisat
37. cation through these interfaces and is still very flexible for future changes by means of two  programmable controllers     It is proven that the BMC can be used for cordless data applications  However the BMC cannot  support the full DECT ABI profile  ETS    94      To fully implement the DECT AB1 profile the following changes of the BMC  firmware  are  necessary    e Support of 23 simplex MAC bearers in one direction  T7f service   the current BMC only supports  duplex bearers  This means the wireless connections will not be used efficiently while  dataconnections are generally not symmetric    Connectionless bearers  optional   by this the problem of multiple connections will be solved   Normal set up procedure for multi bearer connections instead of basic set up procedure    Support of Gr   Ip and Bs channels at the MAC layer    Frame relay service at DLC layer  LU2 Class 1 service   only error detection at DLC layer    FU6a and FU6b frame format at DLC layer     According to  ETS  94  there are no requirements for the Network layer and the DLC control plane     Furthermore some extra changes in the BMC firmware or hardware will minimise the required  hardware for the DDC    e Generation and checking of CRC  a CRC processor will not be necessary anymore    e Generation of an extra interrupt at the beginning of a DECT slot in use     The power consumption of the DDC in full operation is approximately 800 mA x SV  4 Watt  A  portable PC  can hardly supply this power from it
38. cess C and D     Timer Service procedure    Events    The Transmit  Slot  Passed and Receive Slot  Passed events are detected by polling the SlotCounter of  the BMC  When n is the number of the transmit slot then a Transmit Slot Passed event corresponds  with the first time a slotnumber n 1 is detected  In the same way the first time slotnumber  n 13   mod 24 is detected  approximately one half DECT frame later  corresponds with a  Receive Slot Passed event     A SlotCounter   n 1 or SlotCounter   n 13 detection occurs many times per DECT frame  because  the Timer Service procedure is started over and over in a loop  The FlushTQ and RefreshRQ flags are  used to decide if a detection is really the first one     Process C   The bytes in the transmitqueue  TQ  are moved to the speechbuffer just like in the RI Service  procedure  1    Process D   By copying Lir to a local memory adress the 80C51 can easier check if all the valid databytes are  moved from the speechbuffer to the receivequeue  RQ      Note that the receivequeue does not need to be empty when a Receive Slot Passed event occurs  It is  possible that during one DECT frame more bytes can be received than can be sent to the receiving PC  via RS232  However  because the RS232 interface of the transmitting PC is just as fast as that of the  receiving PC this will inevitably result in less databytes in an adjacent DECT frame     83    Figure 47 shows the structure of the procedure for process C and F     0 13  x12  nd     
39. d  The protected service is intended for   almost  errorless transmission of data  Data coming from the DLC layer is placed in the B field of a  MAC frame  see Figure 36  Error detection is done by four 16 bit CRCs  which will be placed in the  B field together with the DLC data  Using only one bearer  the MAC layer will offer a channel with  the following throughput to the DLC layer     T_protecteduac    320 4x16  bit   10 msec   25 6 kbit s     In case of an error the MAC layer will request the peer MAC layer for a retransmission by means of  special bits in the A field  So error correction causes data to be delayed and the throughput to be  decreased  The unprotected service offers a 320   10 msec   32 kbit s channel for each slot to the  DLC  see figure 2  This unprotected channel is intended for transmission of speech because of its  minimal delay     DLC  32kbithec    MAC       DOpREGELDSESDSESESESDSESESESESESESESDEESESESESESM       1120 bite   10 wc    Figure 37  Frame format at PHL and MAC layer    The connectionless service can also be protected or unprotected and is intended for transmission of  data  Bearers don t have to be allocated if there are no packets available to be send  This results in  more flexible data rates and more efficient resource sharing     The signalling information of the DLC layer and the control information of the MAC layer will be  placed in the A field  and can be multiplexed in the B field     65    The DLC layer    The DLC layer is conce
40. d to execute a data transfer process in 763 ps  A  80C51 microcontroller running at 30 MHz is suited for this job  The multi controller architecture  requires dual ported RAMs with mailboxes  which increases flexibility in the software design  These  issues have resulted in the following hardware architecture for the DDC        p                        4    Figure 21  Hardware layout for the DDC     The DDC has to move frames to one certain destination  It is transparent for link numbers  so in case  of multiple links to different destination time multiplexing is necessary  Note that the reroute function  of the fixed part is transparent for link numbers     Comparison of Figure 21 with Figure 39 shows the extra complexity that is needed for higher speeds     When no high speed is required maybe the RS232 solution described in appendix D will be the best  choice     36    4  Implementation    This chapter describes the implementation of the DDC hardware and software  The most significant  topics of the implementation of the DDC are    Memory mapping of the data transfer controller and the manager controller   CRC processor   Switch connected to the pC interface of the BMC   PC interface   Data transfer software   Clock control circuit and reset circuits    These topics will be explained in the next paragraphs     4 1 The data transfer software    The specifications of the data transfer software is described in paragraph 3 4  The event response table  and the alternating bit p
41. delay between the occurrence of an event and the  beginning of the event handling routine goes down  but at the other hand the total computing time for  testing the VirInt flags goes up  The timer interrupt frequency therefore is a trade off value  In  the  current implementation approximately five interrupts per RS232 byte are used     The RI Handled event is represented by the  VirInti  flag and the  VirInt2  flag denotes the  occurrence of a TI Handled or TI Passsed event     Process B     81    This process is handled by the RI_Service procedure as shown in Figure 46  Note that this procedure  is only called by the VirInt_Handler procedure  so it is indeed a procedure that is started by a interrupt  of priority 0     The Flush TQ flag is used to make sure the transmit queue is emptied only once  see process C   Ll  is  incremented every time a byte is written to the speechbuffer so no more actions on the speechbuffer  are needed when the BMC enters its transmitslot     Process E     This process is handled by the TI  Service procedure that  just like the RI  Service procedure  is started  only by the VirInt Handler procedure     The TI Passed flag indicates that process F is waiting for the transmit cycle to be started again  This  is done by writing a byte to the UART interface resulting in a new Tl interrupt after the RS232 word  has been sent     The DataValid flag indicates that TransBuf is loaded with a new byte        Figure 46  High priority processes    82     Pro
42. dictable retransmissions result in a time varying capacity per bearer  The receive process  of the PC therefore must have some kind of sequencing algorithm     128 19 bytes cyclic buffer    Not received    i Notreceived  Come ici EE    LFO   Last Frame in Osder  LRF  Last Received Frame    Figure 9  Sequencing algorithm    The sequencing algorithm stores every received byte in a cyclic buffer at an address defined by its  SSN  The first received frame is send to the outputfile and after that every received frame that has a  SSN that is one higher  modulo 128  is send to the outputfile     Because the DECT standard prescribes that the delay by retransmission of a frame may not longer    than 128 frames  the maximum number of frames that can be distinguished by the 7 bit send sequence  number  a 128 frames buffer is enough for the sequence algorithm     21       3 2 2 PC interface    As stated earlier the PC will communicate with the DDC via the parallel Centronix port  While the  Centronix port is in fact designed for communication with a printer some new protocol has to be  designed  This protocol must have the following properties    e Minimum overhead over the parallel port  the parallel port is fast enough for DECT   gt 1 Mbit sec   but every second the PC needs to pump data over the parallel port keeps it from doing something  else in the multitasking environment    e Bi directional communication  the Centronix port is designed for mainly unidirectional  communication wit
43. e again buffer overflow occurs in the RQueue in either the FP or PP  Flow  control however prevents buffer overflow  but increases overhead     The wireless connection is not fully compliant to the DECT standard  but the gained knowledge about  the 80C51  the BMC  the C compiler and the Nohau emulator can be used for our long term  graduation project  the design and realisation of a demonstrable high speed wireless connection  between two PC s according to DECT  The wireless RS232 C connection can be used to show some  low speed DECT data applications to the customer     88    Appendix D  Circuit diagram    90             m             TI EYYEFXZITEXFZIIY  ADORESS AM  15  CO   DI       NM      A WA    ADDRESSE  8 0        ALPE SEDIA 4  i a i     S o   po  la 2 d  Far i E   im      7   Pas  VA   El B BUE a        R13 198 ce ONTROLT MAA          712508 RUM IN Sl i 218  A   AAA mc  WE INE    2 m nm dd    3g    Steg pea PPLE i o El  E    E   lH      E  gt  ran Ld     oss i08   al  A as i n ol eTA      oS e eae   Ce TRES      azi EE      _ bese mam oe P  ap o  o i  PAE  lt n   Billig  EE s a    ee Ell en ng BE   rd   uae 1 i 4 198 el 108 i          eria     Laps ji   m     M E  IciT  i ME E ES       ES   i 7  aoe i  lo a nee Tja  aad   Ute Uk i    ik LED 38  y RSET 1   E Es dede  re ere 1 i F TU   c  xs c  LA ER                  5035  sg    wi                    Al    1221153153 41 2 Gus  DATA D1C9  TX    COCEC 3US  C3 0 820C        le ml I Ae da              4     gsdr i  wg Dy a
44. e internal events that have been implemented as software   interrupts  They do not represent a specific condition of the environment but are used to let some  process start another process of a different priority  Figure 42 gives a overall picture of the priorities  of the different processes represented by the three levels of the pyramid  Furthermore it shows the  possible events represented by the arrows  The beginning of each arrow starts at the functional block  or process that causes the event and ends at the process that is started by it        peechB RQueue           Mm lot Passed    Figure 42  Event model and hierarchy of processes    Timing aspects    In the previous paragraph some timing constraints were already mentioned  It appears that every  process in the model has to be ready before a certain deadline  In short these deadlines are captured in  the following timing constraints     1      sec  baudrate   10      sec  baudrate    C max    D  max SS 5107 Sec       A  max    F  max  lt       B  max    E  max  lt      Eq  3 3 1     DEF   tx  time process X takes from begin to end without delay by equal level processes or  interruption by higher level processes   lxmax   Worst case time between the occurrence of an event and the completion of process  X that is started by the event     The value of tx is simply a summation of the time each instruction in process X takes  It can easily be  computed by looking at the assembly code after compilation of the C code  The w
45. ed before process D starts one half frame  later  When TQueue is not empty yet  process B does not write to the speechbuffer to keep order   Copy valid bytes to receive buffer after receive slot    Event  Receive Slot Passed  the BMC has just finished a receive slot    Priority  0     Function  When the speechbuffer has been filled with LIr   length indicator  new bytes  these are  ali copied to RQueue  When the first byte is written  this process checks if process E and F are  still in a transmit cycle  see process E   If not  process E is started  TI_Passed event   This  process may  like process C  also take one half DECT frame    Empty receive buffer    Event  TI_Passed   TI_Handled  TransBuf can be filled with new data    Priority  1   Function  When process F has copied TransBuf to SBUF and RQueue is not empty this process  copies the next byte from RQueue to TransBuf within the time of one RS232 byte  The writing to  SBUF by process F causes a new Tl interrupt after the word has been sent  Process E and F are  therefore automatically started after every RS232 word till RQueue is empty  they are in a so   called    transmit cycle       Quick copy of outgoing byte    Event  TI interrupt  SBUF is ready to receive a new RS232 word    Priority  2    75    Function  To accomplish the fastest possible reaction TI handling simply consists of copying one  byte  from TransBuf to SBUF and starting process E to deal with the rest later     RI Handled  TI  Handled and TI  Passed ar
46. eeded to determine the order and validity of received bytes in the  speechbuffer    S2  Writing to the speechbuffer has to be stopped when the BMC is accessing it  the transmit slot  to  avoid consistency problems    S3  Reading received data from the speechbuffer has to be ready before a new receive slot arrives   Otherwise data will be overwritten    S4  Incoming bytes from the UART interface have to be handled fast enough to keep up with the  sending PC     5  Outgoing bytes to the UART interface have to follow each other as closely as possible to avoid the  exploding barrel effect    Some of these statements will be explained later     Because the 8051 UART interface is based on interrupts that can occur at any moment an event   driven software structure is chosen  Event driven means a specific subroutine is started when a  specific event  condition of the environment  occurs  This structure also has the advantage of resulting  in less vague software     The design of the desired software starts with checking the various events that can occur in the  software environment  the 8051 j1 controller  and are important for our purpose  The most important  events for the UART datapipe are    e  RLevent  Interrupt that appears when the beginning of a stopbit of a RS232 word is received  from the PC  This means a new word is present in the UART buffer called SBUF  This word has  to be read from SBUF before the PC sends the startbit of a new word otherwise the word will be  overwri
47. el divides the connection in three parts  the  UART sending PC   DECT board interface  input interface    the DECT connection and the UART  DECT board   receiving PC interface  output interface   The width of every part represents the  theoretical maximum datarate of every part while the three obstructions in the picture indicate the  expected deviations from this maxima     RS232 In  gt        BP RS232 Out    Figure 40 The barrel     The width of the first part of the model is determined by the baudrate of the input interface  When this  rate is for example 9600 baud this means that a maximum of 960 bytes per second can be send to the  DECT board  RS232 word   startbit   8 databits   stopbits   In practice the PC after sending a RS232  word needs some time to start the next word  This introduces some interword space that limits the  effective datarate  This limitation is represented by obstruction 1 in the barrel model     For every unidirectional RS232 connection one DECT timeslot per frame is used  In one timeslot it is  possible to send 40 bytes  Because DECT has 100 frames per seconds this means a maximum of 4000  bytes per second for the middle part of the barrel  Unfortunately this flow will also be limited as  shown by obstruction 2  This represents the needed overhead to control the datalink  and the speed of  the 8051 p controller software that has to move the data from the UART interfaces to the  speechbuffers and vice versa     The required control overhead in the
48. en   Here the feasibility of a  DECT data link using a Philips chip has been investigated and a prototype of a DECT PC card has  been realised     The project involved research  design and implementation on different layers of the OSI  communication model  During the project EPLD chips have been programmed  embedded software  for microcontrollers has been realised  PCB boards have been implemented and PC software has been  written  Needless to say that we learned a lot     During the project we got the chance to work almost completely on our own  This made our job a lot  more interesting  but also a little more complex  We sometimes had some difficulties by choosing for  a certain option because we knew we had to take full responsibility for the consequences     Specifically we would like to thank our mentors  Rick Dumont and Ward Stiphout  for their support  and coaching  Furthermore we would like to thank our mentors of Eindhoven University of  Technology  Ad Verschueren  Rinus van Weert and professor C J  Koomen who gave new insight and  impulses to the design process     Contents    SUMMARY AAA O 6  Puce AA O 8  Til  CORDLESS EAN A O 9  1 2  PROBLEM DEFINITION A                   Em 9  1 3 STRUCTURE OF THIS REPORT        ccccccsssossssccersvccssccssscesssscsssscscsesscsesceeesetesssssecsescsscessecessuceaseseneesees 10  EQUI VILLES                    ar 12  2 T DECT DATASTANDARD  e ias 12  2 2 DECT BURST MODE CONTROLLER PCD5040                eerie eee eene eese ete anon 
49. ensssssoscssccscees 64  APPENDIX B  USER MANUAL           csccosscsessscesossovsossecescscsssesconcessesecssccesesceccesssenceacencasesseaceseaceess 68    ST INTRODUCTION ue iii E A aiii 70  EZ SPECIFICATION Si icon e eheu 72  C 3 TECHNICAL DESIGN  dsd 73  CA IMPLEMENTATION    eee eoc cia ese sieon vun aes rea dedoy esp asse eve eeu reeteod p exue ciens lesedu ete yet ned Yoppe seid eU ee ese U E NOSE UN UND 80    An E TR 86  CO CONCLUSIONS iii 88  APPENDIX D  CIRCUIT DIAGRAM        cccoccsscossscscssscssssccssccossrscessscsoscescsscensvonsssecssccssensosssoosese 90    Summary    The ETSI    Digital European Cordless Telecommunications    standard  DECT  describes a digital  communication system that provides cordless services  ETS    92   It is primarily designed for voice  traffic  but also to provide support for a range of data traffic requirements     One of the most prominent applications of the DECT data link is a cordless local computer network   Pah    95   One PC called the server PC manages the cordless connections for portable PCs within its  range  Via this PC a number of portable PCs can get cordless access to a backbone network or request  a link to another portable PC in the coverage area  service area      The original project goal according to our coaches was     Study of the feasibility and realisation of a  demonstratable high speed wireless data link according to ETSI standards using the Philips DECT  chipset  particularly the DECT Burst Mode Controller  B
50. equested connection has not been set up    e ACK DISCONNECT  JConNr   The connection has been ended  No new incoming data has to be  expected for this connection number     19    Sending data    The BMC sends data in indivisible 40 byte slots  The DDC translates this into protected 32 byte  frames  which can be used freely by the PC  the other 8 bytes are used for protection  The DDC  demands that data from the PC is send in 32 byte blocks     Because the number of bytes that are send by the PC generally won t be divisible by 32 the sending  PC has to inform the receiving PC about the number of valid bytes per frame  This is done by a length  indicator  LI   Furthermore one bit called the  more  bit  M  is send to indicate that more data will  follow after the current block     When more than one bearer is used to transmit data of one connection the datablocks may be received  out of sequence  To restore the sequence in the receiving PC a send sequence number  SSN  is added  to every datablock     Like stated earlier a PC may receive data from several sources  Datablocks from a certain source are  distinguished by the Connection Number  CN   This number has to be unique within the sending and  the receiving PC  The Connection Number therefore has to be determined after a negotiation between  the two communicating PCs     Figure 7 shows the structure of each datablock that is sent by the PC  Three bytes per block are used  for control leaving 29 bytes for data     Byte 1  Lis 
51. firmed       Data coming from the datapump can be placed into    outbound    buffers in the BMC  The BMC will  serially send this data to the DECT radio  The incoming serial data from the DECT radio is placed  into    inbound    buffers and can be retrieved by the datapump  There are two ways to access the BMC  for this data transfer    e By means of a serial interface   e By means of the microcontroller interface    The choice between these interfaces has a large impact on the design because these interfaces are  totally different  Therefore a comparison is made between these interface                 low ig  high high   30 msec 10 msec   max  64 kbit s max  160 kbit s    The serial interface makes the design more time critical  because data should be placed and retrieved  bit synchronous  Special hardware should be designed to execute this task  This interface is also less  suitable for data communication because it has been designed for the transfer of speech  which is more  error tolerant  According to the DECT ABI profile  ETS    94  for protected data communication  erroneous data frames should be retransmitted  Using the serial interface of the BMC would result in  delays of tens of microseconds  Using the microcontroller interface has the advantage of less delay   important for real time applications  Because this interface is 8 bit wide and directly connected to the  inbound and outbound buffers resulting in more flexibility and possibly a higher capacity  5 instead 
52. h a printer  Hereby it has eleven outputlines and only five inputlines    e Interrupt generation for event driven control  Because the PC runs in a multitasking environment  the DDC has to indicate when the PC has to allocate processing power to communication with the  DDC     To minimise the datarate over the parallel port the protocol has to minimise the amount of control  information that is needed for the communication  Redundant information is for example the  sequence in which bytes are sent within a frame  To remove this the protocol distinguishes between  plain data and control information     As shown in Figure 8 the event driven structure of the read and write processes in the PC are  supported by interrupts that are related to the FIFO status  Furthermore the manager on the DDC can  generate all kind of control messages which result in events too     Control of the DDC by the PC also works with messages  When a message is send by the PC the  management part of the DDC has to be notified by an interrupt     The function of the desired protocol chip is shown in Figure 10  Four main communication functions  can be distinguished       Sending and receiving data  communication with FIFOs    2  Sending and receiving messages  mailbox communication    3  Sending and ra eiving extra message information  memory mapped access    4  Generation of events       Figure 10  Function of PC interface    The protocol chip manages the communication between the PC and the Manager or t
53. h the PC also has to read 12 bits in three steps     The PC can initiate one of the PC actions by setting four control bits  PROT1  PROT2  NWR and  NRD  see also appendix B   The protocol chip then gives information or waits for data from the PC   The Manager and Datapump each initiate an action by dedicated inputs at the protocol chip  A small  description of every action is as follows     PC actions     e WRITE TO FIFO  One byte of data is moved from the Centronix port of the PC to the send   FIFO       READ FROM FIFO  One nibble  four bits  of data is moved from the receive FIFO to the  Centronix port    e SPECIFY ADDRESS  The PC specifies a 10 bit address that is used by the  WRITE TO ADDRESS and READ FROM  ADDRESS action    e WRITE TO ADDRESS  One byte of data is moved from the Centronix port to a specified address  in the Manager communication RAM      READ FROM ADDRESS  One nibble of data is moved from a specified address in the ENT  communication RAM to the Centronix port      WRITE MESSAGE  One byte is written in the Manager mailbox  resulting in an Manager  interrupt    e READ_MESSAGE  The event identifiers of the three event sources are moved to the Centronix  port     23    Manager actions     e WRITE MESSAGE  The manager writes a one byte event identifier in the PC mailbox   e READ MESSAGE  The Manager reads one byte from the Manager mailbox  The protocol chip  now accepts new messages from the PC  message serialisation      Datapump actions       VALIDATE FRAME 
54. he Datapump  It  is also connected to three independent units  The protocol chip reacts on certain actions that are done  by one of the units  Figure 11 shows the actions that are expected from the protocol chip  Because all  communicating units work independently it has to be taken into account that two or three actions  could occur at the same time     22    WRITE_TO_FIFO  READ_FROM_FIFO  SPECIFY_ADDRESS  WRITE_TO_ADDRESS  READ_FROM_ADDRESS  WRITE_MESSAGE  READ_MESSAGE  ACTIONS SOFT_RESET    WRITE  MESSAGR  MANAGER        READ MESSAGE    PC    VALIDATE FRAME  DATAPUMP READ FRAME  INITIALISE INTERFACE    Figure 11  Possible actions on interface chip    The communication between the PC and the DDC works byte oriented  Receiving a byte from the  DDC is done in two steps  nibble oriented   because the Centronix port only has four inputlines for  data  one inputline is needed for the detection of interrupts by the PC      The DDC contains tliree event generating sources    1  The send FIFO  This can generate one of the following events  SF FULL  SF HALFEMPTY or  SF EMPTY    2  The receive FIFO  The events this source can generate are  RF FULL  RF HALFFULL or  RF EMPTY    3  The Manager  By an 8 bit message this source can generate 256 distinguishable events     The occurrence of an event results in an interrupt to the PC  Since all of the sources can generate  events independently the PC checks all of the sources  While the events of the FIFOs can be  represented by two bits eac
55. ion of a low speed RS232 data link by reprogramming an existing Philips demoboard for  cordless telephony  warming up project     4  Design and realisation of a suitable hardware interface between the PC and the BMC to utilise the  full capabilities of the current Philips DECT chipset    5  Design and implementation of control software for the realised interface    6  Implementation of PC demonstration software     Step 1 to 3 have the purpose of giving more insight in the matter connected to our problem  while step  4 to 6 are concerned with the realisation of the high speed data link itself  The RS232 data link that  has been realised during step 3 is described in appendix C  This link is very useful for applications  where no high speeds are demanded     The prototype PC card that has been designed during step 4 is called the DECT Data Controller     DDC   This card is later on to be shown to customers  The DDC has the objective of taking care of  all the time critical operations that are needed for a DECT datalink     Portable PC  T  Server PC    portable PC  Figure 2  Functionality of the DECT Data Controller  DDC     In practice step 4 appeared to be the most time demanding part of the graduation project  In Figure 2  a simple functional description of the DDC is given  Important design considerations for the DDC  are  the PC interface  computing power  bufferspace and communication with the BMC     1 3 Structure of this report    To make this report readable for a dive
56. k cycles of each 80C31 instruction generated by the C compiler must be counted     After optimising the C code and using a 30 MHz processor clock the execution time is approximately  350 pseconds  Since this is less than the timing constraint of 763 pseconds it is possible to use 12  active bearers simultaneously  The capacity of one protected traffic bearer is 23 2 kbit s  see paragraph  3 4 2   The fixed part is able to transmit and receive 12 23 2 kbit s 2278 4 kbit s  Because of the  limitation of the firmware in the BMC the portable part can establish only 5 active traffic bearers  resulting in a capacity of 5 23 2 kbit s   116 kbit s     4 2 Clock and reset control    In order to relieve the real time programmer from heavy timing constraints both microcontrollers  should run on a 30 MHz clock  The price for this is that the used RAMs and EPROMs should have  access times of 80 ns and 100 ns  However the access time of the internal RAM of the BMC is to long  for a 80C31 running at a 30 MHz clock  Therefore the clock of the 80C31 should be stopped   stretched  every time the 80C31 wants to access the BMC data or program RAM  A 30 MHz  stretched clock signal can be generated by a negative edge triggered JK flip flop toggling at a 60 MHz  clock     JK NRESET  CSN  RESET  RDN  WRN Clock   2   stretched  RDYN       Figure 25  External clock stretching    If J 1 and K 1 the Q output is toggled at every negative edge of the clock signal  The Q output is  cleared if J 0 and K 1  
57. lays by priority O processes    Timing      10  sec     A short description of the processes will follow now  The item  event  reveals what causes the process  to start  Furthermore the priority  timing  and function of every process is mentioned     A     Quick copy of incoming byte    Event  RI interrupt  a new RS232 word is present in SBUF    Priority  2   Function  To handle a Rl interrupt as quickly as possible the RS232 word in SBUF is simply  copied to a fixed internal memory address  RecBuf  of the 8051 first    Write incoming byte to speechbuffer or transmit buffer    Event  RI Handled  a new word is copied to RecBuf by process A    Priority  1   Function  After a word has been copied to RecBuf by process A it will take at least the time to  receive a new RS232 word before process A can write a new word in RecBuf  Process B can  therefore be more complex  Normally the databyte in RecBuf it is copied to the appropriate  address of the speechbuffer and the length indicator  LIs  is incremented  But when the BMC is  in it s transmitslot or TQueue is not empty the byte is copied to TQueue    Empty transmit buffer after transmit slot    Event  Transmit Slot Passed  the BMC has just finished a transmit slot    Priority  0   Function  When the transmit slot has passed the buffered databytes in TQueue have to be copied  to the speechbuffer after all  While there is only one transmitslot per frame the timing for this  process is very flexible  Nevertheless it has to be finish
58. ll these values are satisfying the timing constraints as described in section 3 3  So wireless  communication at 9600 baud is possible with the designed algorithm  For a baudrate of 19200 the  following results can be calculated     t Ama S 49 usec  lt  1   baudrate   52 usec    t Fmax  lt  40 psec  lt  1   baudrate   52 usec   t Bmax  lt  123 psec  lt  10   baudrate   520 usec   t Emax S 118 usec  lt  10   baudrate   520 usec   t Cmax  lt  824 usec  lt  11 Timer Slots of a DECT frame   4375 usec   t Dmax  lt  2040 usec  lt  11 Timer Slots of a DECT frame   4375 usec    Again all these values are satisfying the timing constraints  So 19200 baud communication is  possible  Obviously the bottlenecks are processes A and F  These bottlenecks can be widened by  mapping the UART_Quick_service routine directly at the interrupt vector code address 0023H  serial  port   instead of creating a generic and large interrupt handler by the C compiler  After this  improvement the following timing values can be calculated in case of 38400 baud     t Ama     18 usec  lt  1   baudrate   26 usec  t Fmax  lt  15 usec  lt  1   baudrate   26 usec  t Bmax     123 usec  lt  10   baudrate   260 usec  t Emax     118 usec  lt  10   baudrate   260 usec    These values all satisfy the timing constraints  however processes C and D will now be the new  bottlenecks  Equations 3 3 4 and 3 3 5 have no positive solution for this baudrate so correct  communication at 38400 baud can not be guaranteed     t Cmax S
59. memory   32 KBytes     8000       sooo  Management RAM Q KBytes  i  4000 Interprocessor RAM  1 KBytes  4000 Interprocessor RAM  1 KBytes   AA AA A A EE     PC interface  9 Bytes          BMC DATA  2 KBytes        BMC DATA  2 KBytes     0000  Figure 32  Memory map    The BMC DATA memory is located at address 0000H and the general DATA memory is located at  8000H  This is done because a former evaluation board of the BMC has the same location of these  RAMs  This makes the DDC code compatible to these boards     Note  the BMC 4 Kbytes code RAM can be accessed by setting MEM  SEL  control line C1 0    In  this way the portable part or fixed part firmware can be downloaded     46    4 6 Controlling the DDC    The DDC is controlled by two 18 bits wide busses connected to the manager controller and the data  transfer controller  C1 and C2  These busses are defined below     C1 0  17         Address latch enable    Both controllers have an UART interface  UART clock  RxD and TxD  which can be connected to a  terminal  The UART channels are used for testing the software of the DDC     47    4 7 PC interface    The protocol chip which implements the communication protocol over the Centronix port has been  implemented by a EPLD of Altera  The control of the logic inside this chip is done by two main state  machines  one for communication with the PC  Figure 33  and one for communication with the  datapump  Figure 35      A   PC synchronisation  B   Action recognition    C   Action seri
60. n  PCB   Printed Circuit Board   PCC   Programmable Communication Controller  PCMCIA  Personal Computer Memory Card International Association  PISO   Parallel In Serial Out   PP   Portable Part   RACK   Receive Acknowledge   RFN   Receive Frame Number   SACK   Send Acknowledge   SFN Send Frame Number   SSN Send Sequence Number   TUE   Eindhoven University of Technology   TDD  Time Division Duplexing   TDMA   Time Division Multiple Access   UART   Universal Asynchronous Receiver Transmitter  VHDL   Very High Description Language   XA   eXtended Architecture    62    Appendix A  Overview of the DECT standard    DECT stands for Digital European Cordless Telecommunications  The protocol architecture consist of  all of four network specific layers and a lower layer management entity  ETS    92       Physical layer  PHL    Medium Access Control  MAC  layer   Data Link Control  DLC  layer   Network layer  NWL    Lower Layer Management Entity  LLME     The DECT protocols for communication between a fixed part  FP  and a portable part  PP  have the  following structure     Higher Highez  Protocol Protocol  Layers Layers       p   H Cplame  7  DLC DLC DLC DLC  SE C plane    U plane U plane     Cplanc      bits modulated on 1 8  1 9 GHz radio carrier  Fixed Part Portable Part    Figure 36  The DECT protocol stack    The PHL    The PHL divides the radio spectrum into the physical channels  This division occurs in two fixed  dimensions  frequency and time  The frequency and time division 
61. n and release it when it is ready  This method corresponds with the connection oriented  connections the BMC supports     The minimum set of functions for managing the data link for a portable PC are realised by the   following function calls      ATTACH  lPPIdentifier   Adds the identity of the computer to the list of active portables in the  server PC      CONNECT  JConNr  Bearers  JDestinationId  Protected   Requests the DDC for a connection   oriented link of a specified number of bearers for the specified unique connection number to the  destination PC       DISCONNECT  JConNr   Notify the DDC that the connection should be ended     The server PC does not need the ATTACH call but must be able to read the list of active portable   computers in reach of the DDC  The rest is the same as the portable case       PPLIST  TNumOfPPs  TPPIdentifier 1  NumOfPPs    Gives the list of active portables within  reach of the server DDC    e CONNECT  LConNr  JSlots  JDestinationId  JProtected   As portable computer      DISCONNECT  JConNr   As portable computer     The DDC can generate the following messages    e ACK_ATTACH Q  The portable PC has been successfully attached to a server PC    e NACK  ATTACH Q  No attachment to a server PC could be made    e INCOMING  JConNr  JBearers  JDestinationId  Protected   Another PC is trying to set up a  connection  The PC should react with a CONNECT call      ACK  CONNECT  lConNr   The requested connection is set up   NACK  CONNECT  JConNr   The r
62. of  2 channels available   An disadvantage of using the microcontroller interface for datatransfer is that  this interface should be shared with the manager     25       serial interface    synchronisation    Figure 12  Sharing of the BMC microcontroller interface    A fast programmable controller connected to the microcontroller interface and having the right  information for synchronisation to the BMC seems to be a good implementation for the datapumps  If  the DECT ABI profile should be fully implemented at a later phase  software can be changed simply   The interface can be shared with the manager by using a switch  see figure 12     The state of the switch is controlled by the manager  Negotiation about the access to the pC interface  of the BMC can be done dynamically between the manager and the datapumps by means of messages  if necessary  However it will be shown that the datapump needs the pC interface at predefined periods  of time  The next chapter will define these periods     26    3 4 The datapumps    The datapumps main objective is to move  pump  frames of data from the send FIFO to the outbound  buffers of the BMC and to move frames of data from the inbound buffer of the BMC to the receive  FIFO     In the figure below these two processes are called    data send    and    data receive     The dashed lines  represent control information  Sys    94   The straight lines represent a flow of data        Figure 13  Datapump context model    Other objectives are    e
63. of the DECT demonstration board will be  explained in section 1 3  The next paragraph gives a short introduction to the DECT standard     DECT Evaluation     Emulation Baseband Board  OM4758     The DECT demonstration board mainly consists of an 8 bit 80C51 microcontroller  Phi  94  with 32  Kbytes external RAM and 64 Kbytes external ROM  a DECT Burst Mode Controller  Phi  93   two  ADPCM CODEC   s  Phi    93  and some glue logic  It also has 4 connectors for communication with  the outside world      aconnector for serial data communication with a personal computer    e anIIC connector for controlling the CODEC s      ahandset connector for analog speech communication    e aradio connector to connect a DECT radio module     The demonstration board can be connected to the RS232C port  COM port  of a personal computer by  means of the Universal Asynchronous Receive Transmit  UART  connector  The hardware as shown  in figure 1 is used for low speed wireless data communication between two stations  called the fixed  part  FP  and the portable part  PP   The PP and the FP have the same hardware layout  so figure 1  applies for both the PP and FP  The main difference is the firmware executed by the Programmable  Communication Controller  PCC  in the BMC     70       Figure 39  Simplified hardware layout for FP or PP    No major changes to the demonstration boards and to the BMC software will be done so that the focus  will be on creating a fast wireless RS232 data link  The proces
64. ognition  B   Instruction sezialisation    Figure 35  Statemachine for communication with datapump    Relation between actions and states    e VALIDATE FRAME    gt  val  inc  rf   e READ FRAME    read  dec  sf   e INITIALISE INTERFACE  lt  gt  r_ctrl  w ctrl  wait    For detailed information about the protocol chip see the Altera code files     50    5  Verification and results    The DDC hardware is implemented as an 6 layer PCB  It is fully tested and debugged by means of  designed test software and many measuring instruments like the Nohau 8051 Emulator and an  oscilloscope  Most design concepts could be easily implemented and worked well after eliminating  some minor  but hard to trace  bugs  Only three minor hardware  layout  errors have been detected   and corrected  yet because much time was spent in the design phase     The Centronix port is made bi directional and with a bitrate of over 1 Mbit s it is suited for DECT  applications  A proprietary protocol is defined for communication with the PC  A PC programmer can  transparently read and write data to the Centronix port by means of driver software for the Centronix  port     The buffer size and thus the delay can be determined by means of programming the PC interface  EPLD via the data transfer controller  In this way multiple applications  such as chat and file transfer  are supported by the DDC     After a few modifications the demonstration driver software  version 5 8  of a former DECT  evaluation board can be e
65. olve this are  recently available  but there is no information about the required control software     Another disadvantage of this option is the high complexity  The PCMCIA communication protocol is  designed to make things easy for the user     plug and play      but not for easy implementations     Furthermore the literature about the hardware interface and control software appeared to be not really  accessible     Option 4  Parallel port    The parallel Centronix port is supported by both laptop and desktop computers  Furthermore it is easy  controllable by software  The maximum datarate of this port is lower than that of the PCMCIA or ISA  bus because the Centronix port just supports eight parallel outputs and even as little as four parallel  inputs  However most modern 386 and 486 type PCs support a bit rate of over 1 Mbps and because  DECT specifies a maximum capacity which is less than 1 Mbps  when one basestation is used  this  should be enough     16    Eventually the Centronix port  option 4  has been chosen  This is done to be able to use the same   hardware for the portable PCs as well as the server PC while keeping the complexity as low as   possible  When DECT Data would become a big market then there are a lot of advantages to keep the   hardware for fixed and portable part the same  Reasons for this are for example    e Lower manufacturing costs   e Easier maintenance of wireless network  when a fixed part breaks down the DECT cell can easily  be repaired by 
66. on a fixed position and the last  byte is located LI addresspositions higher     Figure 41 shows the functional model for connection of a sending and a receiving PC  It shows the  necessary datastructures and indicates the possible dataflows that can occur during sending and  receiving of RS232 databytes  This picture gives a simple overall view of the design  Timing aspects  and priorities of the different processes this model induces will be handled later         M   RP Transmission    noon      wef seur z       all        RF Reception       PC 8051 microcontroller   BMC    Figure 41  Functional model of RS232 pipe     The transmit queue  TQueue  is a small buffer that is needed to temporarily buffer incoming bytes  when the BMC is accessing the speechbuffer during a transmit slot  statement 2   The reason for this  is the fact that in 8051 software it is impossible to know if a byte that is written to the speechbuffer at  this time will or will not be sent  While by this bytes may be lost without trace the received data would  be inconsistent       The receive queue  RQueue  contains copies of valid bytes from the receiving speechbuffer in the right  order  This buffer is needed to quickly copy the contents of the speechbuffer after a receive slot to  avoid overwriting of bytes during the following receive slot  statement 3   After this RQueue will be  emptied slowly by the receiving PC via RS232     The extra buffers RecBuf and TransBuf are used to react as quickly as pos
67. orst case time for  process X is a lot more complex  because now also possible delays and interruptions by other  processes have to be taken in account     Process A can only be delayed by process F while it is impossible that a new Rl interrupt occurs  within one RS232 bittime  In worst case process A is started just after the start of process F  This    76    means process A is delayed by the total time of process F  This results in the following statement for  ta max       A  max   la   fF   Eq  3 3 2     Because in worst case process B still has to be shorter than one RS232 word it can be delayed by  process E and interrupted by process F one time maximum  Furthermore process B is started just after  a RI interrupt and a new interrupt will not occur  so it won   t be interrupted by process A     tB  max   fB   te   tF   Eq  3 3 3     The maximum number of TI and RI interrupts that can occur during process C is depending on the  worst case length of the process  When this length is smaller than one RS232 word one TI and one RI  interrupt can occur resulting in one start of process A  B  E and F  When the worst case length is  between one and two RS232 words at most two TI and RI interrupts can occur  and so on   Furthermore while tems has to be smaller than one half DECT frame no delay by process D is  possible     te max   te  int m 1  ta te  te   tr     te  max  baudrate  mz                    10   Eq  3 3 4     The variable m in equation 3 3 4 equals the number of RS232
68. present the occurrence  of the Transmit_Slot_Passed and Receive_Slot_Passed event     Both problems are solved by implementing the processes of least priority  priority 0  as procedures in  the Main routine  It can easily be seen that by this the problem of the required third level is solved   The structure of the 80C51 is as follows    e Priority 0 process     procedure in Main routine   e Priority 1 process     routine started by interrupt of priority 0   e Priority 2 process     routine started by interrupt of priority 1    While the processes that have to be started by the Transmit_Slot_Passed and Receive_Slot_Passed  events are  by coincidence  both of priority O the second problem is automatically solved  In the Main   routine these events can easily be detected by polling the value of the slotcounter register of the BMC     Process to procedure mapping    In this paragraph the realisation of every process A to F of chapter 3 as a procedure in 80C51 software  is regarded     Process A and F   UART Service procedure   Events     The RI and TI event result in one UART interrupt starting the UART_Service procedure  This  interrupt has given priority 1  The TI and RI flags show which of the events has occured  These flags  have to be set to zero by software     Process A   When a RI event has occured the data from the UART interface of the 80C51 is simply moved to a  fixed memory address called    RecBuf        Process F    When the    DataValid    flag indicates that proce
69. r PC    Figure 18  Multiple outgoing connections    In Figure 19 a case is shown where one PC sends DLC frames to different destinations  In this case  some problems occur while the BMC only supports connection oriented bearers  This means each  connection needs his own  set of  bearers  While unpredictable frame errors result in an unpredictable  decrease of capacity per bearer the capacity per connection will now vary in time  This effect results in  an unpredictable sequence of sent DLC frames and therefore buffering of these frames in the DDC is  not possible anymore     Portable PC Server PC Portable PC    Figure 19  Multiple incoming connections    Figure 20 shows that the problem of varying connection capacities is not restricted to the server PC   The possibility for the portable PC to set up connections to other portable PCs in the DECT cell  directly results in the same problem of sending DLC frames with different destinations     33       Figure 20  Multiple internal connections  within one DECT cell     This problem can be solved by one of the following solutions     Solution 1  Change the BMC firmware to support connection less bearers    This is the most efficient solution  because when the real time capacity of a certain connection drops  in comparison to another connection temporarily more bearers can be provided for this connection   However changing the firmware is a time demanding job that can only be done by experts     Solution 2  Enforce equal connection
70. ransmitting the CRC together with the data the CRC checker at the other  side is able to detect  almost  any error  The used alternating bit protocol described in paragraph 3 4 2  relies heavily on this error detection  The following frame format is used for the alternating bit  protocol with error detection     07 70  KY  A  A A AAA lt           8 8 8 296 A  o  ea  n  oa  ea  Jas     lt     4 16    9             64 E 16             amp 4 OO 16            Oo 16  gt        Figure 17  Frame format    This frame format is almost compliant to the DECT standard for datacommunication  see paragraph  2 1  The 16 bit CRCs for each B subfield are calculated by the CRC generator which operates parallel  with the data send process  see figure 13  The SACK and SEN bits are inserted in the BO subfield  At  the peer side the RACK and REN bits and the higher layer data  LI  SSN  CNO  CN4 and INFO  are  checked for errors by the CRC checker which operates parallel with the data receive process  The  CRC processor  ie  the CRC checker and generator  is working as a coprocessor and will be  implemented as dedicated hardware     32    3 4 5 The problem of multiple connections    In Figure 18 the case of multiple portable computers sending data to one server is shown  In this case  adding a connection number to each DLC frame will be sufficient to support multiple connections   The DLC frames for every connection are sent to just one destination     NA    ON  CN CN  CN     RENT    Y SER    Serve
71. rnating bit protocol and flow control protocol  which is executed by  the datapump of PC1 and PC2  The combination of data with control is done in both directions  This  is called piggybacking     28    PCI  ACK  Fa  PC2  0 0     Send HFO empty    4                         1 0  discard corrupt __  e  frame    m        frame already accepted    1 1 discard corrupt      frame    0 0    frame already accepted __ e          _   _       1 1    Receive 11    HR _    1                               Full    Figure 14  Functionality of datapumps    The decision to update the outbound buffer can be made until the ACK bit has been received  This  yields the following timing restriction for the send process     A frame in the send FIFO can be moved to the outbound buffer after the reception of the ACK bit     If the ACK bit is detected to be corrupt by the CRC checker the sending side should consider this fact  as a not acknowledge and retransmit the same frame     Because the CRC is generated over the data and the control bits ACK and FN  the data frame should  be moved out of the inbound buffer so that it can be established that the ACK bit and FN bits were  correct  If it should be moved out of the inbound buffer anyway it can just as well be moved to the  receive FIFO     Combining this and the three defined timing restrictions results in the following event response table  for the data transfer process     29    Frame receiv move from  read REN and RACK    Receive FIFO full    SFN  
72. rned with the provision of very reliable data links to the NWK layer  It can be  used to provide higher levels of data integrity than can be provided by the MAC layer alone  The DLC  layer is separated into two planes  A control plane  C plane  and a user plane  U plane      The C plane provides very reliable data links for the transmission of internal control  signalling  and  limited quantities of user information  traffic   Full error control is provided with a balanced link  access protocol called LAPC     The U plane provides a family of alternative services  where each service is optimised to the particular  need of a specific type of services  The simplest service is the transparent unprotected data service  which is used for speech transmission  Other services support circuit mode and packet mode data  transmission  with varying levels of protection     The NWK layer    The network  NWK  layer is the main signalling layer of the protocol  It offers a level of functions  similar to the network layer of ISDN  The NWK layer has the following main entities     e Call Control  CC   offers a circuit switched service    e Supplementary Services  SS   offers additional services for a call      Connection Oriented Message Service  COMS   offers a point to point connection oriented packet  service    e Connectionless Message Service  CLMS   offers a connectionless point to point or point to   multipoint service with variable or fixed length messages     e Mobility Management  M
73. rotocol scheme results in three flow charts which are finally implemented in a  80C31 C programming language     If a slot transition occurs the pC should vector to an interrupt routine and increase its internal  slotcounter modulo 24  If a receive traffic bearer is detected a flag transfer bufnr  should be set  This  flag should activate the correct data transfer process in the main routine  For the fixed part buffernr  equals slotcounter  For the portable part buffernr should be calculated from the RF slot control table  because there is no fixed relation between the buffer number and the RF slot number     slot transition                se  S    ye    buffernr   f slotcounter   transfer buffernr  1          Figure 22  Flow diagram    38    The main routine should start with the initialisation of all global variables and the synchronisation of  its internal slotcounter to the BMC slotcounter  see figure 23  Also the contents of the outbound  buffers should be cleared  The manager controller can start the data transfer process by writing a  START STOP message in a specific area in the inter controller communication RAM  A data transfer  process datatransfer buffer  can only be started if the transfer flag transfer buffer  is set  In this way  the data transfer processes are executed sequentially as described in figure 24  The number of  simultaneously active bearers in the portable part is limited to 5  So the constant MAX will be 5  For  the fixed part this value will be 12
74. rse audience the chapters two to four describe the design  process for the DDC in an increasing amount of detail     Chapter 2  Specifications    Describes the desired functionality of the DDC from different points of view  the DECT standard  the  BMC and the PC     Chapter 3  Technical design  In this chapter the design process is described in an abstract way     Chapter 4  Implementation   Here some parts of the design that are important for people that continue with the DECT data project  are worked out in detail    After this in chapter 5 to 7 the current results of the DECT Data project will be discussed  The  appendices discuss all subjects that are not directly related to the design of the DDC  In a few lines the  appendices have the following subjects     Appendix A  Overview of the DECT standard    10    In this appendix the layered structure of DECT is worked out  For understanding this report no  detailed knowledge about DECT is necessary     Appendix B  User manual  This appendix describes the DDC from the point of view of a PC programmer     Appendix C  Cordless RS232 pipe  Here the warming up project is described  The data link that is realised here is very useful for  applications that do not demand high datarates     Appendix D  Circuit Diagram  The circuit diagram of the DDC designed in Mentor Design Architecture V8 is given here     11    2  Specifications    In this chapter the desired    black box    functionality of the DDC is discussed  This is done from
75. s Inc   1985     Sys  94    Stevens  M P J   P A H  v d  Putten and M J M  v  Weert  SYSTEMATISCH SPECIFICEREN VAN ELECTRONICA  Veenendaal  Centrum voor micro electronica  1994    58    List of contacts    D J  Riezebos   Philips Semiconductors  PCALE  Building BE 5 41   Tel  040 724581    W J  Slegers   Philips Research Eindhoven  Building WY 2   Tel  040 744747    R  Dumont   Philips Semiconductors  PCALE  Building BE 5 16   Tel  040 724965    E H  Stiphout   Philips Semiconductors  PCALE  Building BE 5 16   Tel  040 724965       List of abbreviations    The abbreviations used in the report are mentioned here in alphabetic order     ABC   ADPCM CODEC BMC CONTROLLER  ADPCM  Analog to Digital Pulse Code Modulation  AHDL   Altera Hardware Description Language   BMC   Burst Mode Controller   CN   Connection Number   CRC  Cyclic Redundancy Check   DCS   Digital Communication System   DDC   DECT Data Controller   DECT   Digital European Cordless Telecommunications  DLC   Data Link Control   EPLD   Erasable Programmable Logic Device   ETSI   European Telecommunications Standards Institute  FDMA   Frequency Division Multiple Access   FIFO   First In First Out   FP   Fixed Part   ISDN   Integrated Services Digital Network   LAN   Local Area Network   LI   Length Indicator   LLME   Lower Layer Management Entity   MAC   Medium Access Control   NWL   Network Layer   OSI   Open Systems Interconnection   PC   personal Computer   PCALE   Product Concept and Application Laboratory Eindhove
76. s own battery  Reducing the power consumption can  be done by implementing a power down function and the integration of the CRC functionality in the  BMC     By using a faster microcontroller like the 8051 XA the functionality of the two microcontrollers can  be realised in one  Doing this the bus switch for accessing the BMC will not be necessary anymore  and the complexity of the DDC will decrease     By means of the designed DECT Data Controller  using the Philips PCD5040 BMC and Philips  DECT transceivers  it is now possible to support DECT data communication up to rates of 116 kbit s   Because the DDC is fully programmable experiments can be done to know what is necessary to  implement several  still evolving  data profiles  By means of a simple file transfer program the  possibilities of the DDC  and therefore the Philips BMC and the DECT transceivers  can be  demonstrated to the customers     54    7  Recommendations    1  To fully demonstrate the possibilities of the DDC in a multi tasking environment some windows   compatible drivers should be realised  Probably a windows DLL function would be the simplest  solution  This DLL function could be used in a high level language like Visual Basic  which is  very appropriate for implementing all kinds of demonstration applications in a short time  Perhaps  this task could be a practical training of a student    2  The DDC software should be enhanced with DECT management procedures like encryption and  bearer handover  This 
77. ses needed for wireless RS232 data  communication between two PC   s will be implemented as software for the 80C51 microcontroller   Because the BMC data memory is mapped on the memory of the external memory of the 80C51   memory mapped from 0000H till 07FFH  the 80C51 can write read directly to from the BMC     After a connection has been set up between the FP and the PP the software running at the 80C51  should read RS232 data packets from the PC via the UART connector and write them to the BMC in a  so called  speech buffer   This content of this buffer will be placed in information field of the B field   see figure 2  As the size of the B field is fixed to 320 bit and the duration of a DECT frame is 10  msec    the maximum capacity of the unprotected service at the MAC layer using one speech buffer  pair one duplex bearer  is 32 kbit per second  for each direction   see figure 2  However the 80C51  microcontroller should be able to move this data from the PC to the BMC and vice versa  These issues  will be explained in the next chapter     71    C 2 Specifications    While the bi directional RS232 pipe simply consists of two independent unidirectional connections   only the unidirectional functionality is considered  In the next chapter  when timing is regarded  this  will be extended to the bi directional case     Because no flow control or error correction is used the RS232 connection can be modelled as a simple  pipe called    the barrel  as shown in figure 1  The barr
78. setas aetas e tassa enata snas aoo 14  VAI  esC                                                               15   2 3 Applications    bsec aa av esau Basha A 15   23 2 PC interface TR 16  ZA CONCLUSION r EAA A R a Ee AEE 17  3  TECHNICAL igit inar EN 18  ED DESIGN PARTITION ASAE ENSA E E A ETE AE IEE IERSE 18  SLIPO O NO 19   3 2 1 Driver software for the PC      cccccscccsscsessssssesscsscssesscssssceseeseesneseesseesuessesceeneseesnesseeassneseaeeaeeans 19   3 22 PC ihlerf  ce        ee tec N EEEE daa pee det e Fe edere esee et eere ee den 22  3 3 THE DECT BURST MODE CONTROLLER          cccssssssccsscescccsssccssccesscssscsssecesescesscssesesesssesossesesstecsess 25  3 4 THE DATAPUMPS       5 5  eere seen aed A UUER UV E ov dE Peta Pee VERE ee aveo epa pasa eun 21   3 4 1 Synchronisation with the BMC                eee eerte tnnt entente non rene statt tanen tnnt 28   3 4 2 Flow control and error correction by means of retransmission                      eee 28   3 4 3 Multi bearer connections        cccccccccsescsscssssssssseesssscsscesescssnsecenssensecsensesssstecsesssenscsecsecctsaneaaseas 31   3 4 4 Error detection and frame format       cccccsssessesssssessssescesssssensssesenesseacsneneneressensseseasssenensnensees 32   3 4 5 The problem of multiple connections                    eese eee eene ntei 33  3 3  MANAGEMENT   5  inn ede ce eec tare te Tag eva Dea tede sep eeU ces lave AEE Tesco an eI se pedes rre ELE esee Eee Pea aad 35  3 0 CONCLUSION MD                 
79. sible to RI  and TI   interrupts  statements 4 and 5      The realisation of the different dataflows implies six distinguishable processes  A to F in figure 2      These processes are implemented as interrupt procedures with three priority levels  The different  priority levels automatically imply that the processes are pre emptive  which means a low level    74    process can be stopped at any time in favour of a higher level process  The structure of these three  levels is     Priority 2  Interrupt procedures that have to be handled within one RS232 bit time  In case of a  rate of 9600 baud this is approximately 10  seconds  While a 8051 instruction takes one or two  microseconds  at 13 8 MHz  50 100 instructions can be executed in this time  Remember that it is  possible for another priority 2 process to be active at the time you want to start a new process and  processes of equal priority can t interrupt each other  This means all priority processes that can  overlap have to satisfy the timing constraint in total    Timing      10  sec    Priority 1  Interrupt procedures that have to be handled within one RS232 byte time  This means  approximately 10  seconds in case of 9600 baud  In this case also possible interruptions by  processes of priority 2 and delays by active processes of priority 1 have to be considered    Timing      10  sec    Priority 0  Procedures that can take almost one half of a DECT frame  Also consider  interruptions by priority 1 or 2 processes and de
80. software has already been designed    3  Using the 80C51 XA eliminates the need for a second controller  This simplifies the DDC  hardware and software    4  Using the successor of the BMC  the PCD509x ABC  would make it more easy to implement the  full DECT standard for data applications  The ABC has a more flexible structure  The price for  this is that more functionality should be implemented by an external processor    5  Power consumption and PCB size can be reduced by using the 80C51 XA and the PCD509x ABC    6  PC interworking software communicating to a PC network card should be designed to realise a  cordless LAN     56    References     ETS  92    ETSI RES DECT   DIGITAL EUROPEAN CORDLESS TELECOMMUNICATIONS  DECT   COMMON INTERFACE  ETSI standard  1992  part 1 9     ETS    94    ETSI  RES  DECT   DECT DATA SERVICES PROFILE  SERVICE TYPES AB1  ETSI profile  1994     Micro  95    Philips Semiconductors   80C51 BASED 8 BIT MICROCONTROLLERS  Data Handbook IC20     Pah  95    Pahalavan K   Probert T H   Chase M F    TRENDS IN LOCAL WIRELESS NETWORKS   IEEE Communications Magazine  Vol  33  march 1995  p  88 95     Phil  94    Philips Semiconductors   DECT BURST MODE CONTROLLER PCD5040  PART I  HARDWARE USER MANUAL  Application note to PCD5040     Phil  94    Philips Semiconductors   DECT BURST MODE CONTROLLER PCD5040  PART II  FIRMWARE USER MANUAL  Application note to PCD5040     Shan  85    Shanmugan  K S    ANALOG AND DIGITAL COMMUNICATION SYSTEMS  John Wiley  amp  Son
81. ss E has moved a new byte in    TransBuf    process E  and F are in a transmit cycle  see paragraph 0   This means the content of    TransBuf    can be written  to the UART interface and process E  TI  Service procedure  is started to fetch the next byte from the  receivequeue     The TIPassed flag indicates that the transmit cycle has been stopped  probably because the  receivequeue was empty  and has to be started again later     Figure 44 shows the build up of the UART Service procedure in total          gt  mc ART Servico ater delay       Figure 44  Highest priority processes    Note that writing a byte to the UART interface   SBUF  causes a new Tl interrupt after a one RS232  word delay  By this the UART interface procedure is started again and again  keeping the transmit   cycle alive     Process B and E Virlnt_Handler procedure   Events     The RI Handled  TI Handled and TI Passed events have to be realised as software interrupts of  priority 0  However the 80C51 microcontroller does not support software interrupts  This problem is  solved by occasionally interrupting the 8051 by a timer interrupt of priority O  The interrupt handling  routine for this interrupt then tests some flag that denotes the occurrence of a software interrupt  This  kind of    interrupts    are called virtual interrupts  VirInts   Figure 45 shows the handling routine for  the timer interrupts        Figure 45  Realisation virtual interrupts    When the frequency of timer interrupts goes up the 
82. st basestation to  which it has authorisation  This basestation is in turn connected to some backbone network     Each DECT basestation has a range up to a few hundred metres  By using more than one basestation a  bigger area may be serviced  cell structure   The  compared to GSM  relatively small cell size of  DECT makes it suitable for providing cordless services in a small area with a large capacity demand  like offices or factories     The cordless connection of a portable device with a basestation is based on 10 carriers with a TDMA  structure and a 10 msec cycle  Each cycle  called a DECT frame  is divided into 24 slots providing a  capacity of 32 kbps data and 6 4 kbps control information each     To handle this slotstructure Philips has already developed a custom IC that performs the most  timecritical functions for a DECT handset or basestation  the Burst Mode Controller PCD5040  At the  moment this chip is used for cordless telephony  but it can also be used for data communications     The DECT standard has a layered structure corresponding to the OSI model  In appendix A the  DECT standard is described in more detail     1 1 Cordless LAN    One of the most prominent applications of the DECT data link is a cordless local computer network   Pah  95   Figure 1 shows a typical structure of such network  One PC called the server PC manages  the cordless connections for portable PCs within its range  Via this PC a number of portable PCs can  get cordless access to a back
83. ted  Furthermore the datarate of the  speech connection is fixed  so a connection oriented bearer is more efficient than a connection less  bearer     In worst case situation  during a handover of bearers  a cordless telephone demands five bearers  This  is why the BMC for the portable part only supports a maximum of five duplex bearers  Furthermore  the BMC does not support protected data transmission   because error correction by retransmission  would result in too much delay     14    2 3 The PC    The connection of the DECT data link with a PC is not specified by the DECT standard  so here some  creative input is still possible  For the PC the following parts of the design are important    1  Definition of a communication protocol between PC and DDC for control and data movement    2  Choice of a hardware interface that can realise the datarate required by the DDC    Several solutions for these items are possible     In this chapter these design areas will be worked out by giving some desirable properties the DDC  should have     2 3 1 Applications    Today most modern PC applications work in a multi tasking environment like windows  In windows  this means that all active applications can use the processor in case of the occurrence of a specific  event  The DDC therefore must have the ability to support this kind of event driven structure  In  practice this means the communication between PC and DDC works with interrupt controlled  messages     This event driven structure
84. the hardware interface between PC and DDC the following four options have been considered  In  this paragraph the advantages and disadvantages will be discussed  Ultimately these will be compared  and a interface will be chosen     Option 1  RS232    The RS232 port is available at desktop and notebook computers  An advantage of this option is the  fact that control of the RS232 port is very simple  No special API for windows has to be written while  standard controls are available  l    However the speed of the current RS232 ports is too low to fully utilise the capacity delivered by  DECT  approximately 534 kbps  and the processing power of current PCs     Option 2  ISA bus    The ISA bus is very fast and flexible  but not appropriate for notebook computers  The server PC  however typically is a desktop computer because it is mostly connected to some fixed backbone  network  The ISA bus solution could therefore be an option for this part of the cordless LAN     Option 3  PCMCIA bus    The PC card standard of the Personal Computer Memory Card International Association  PCMCIA   was originally defined for memory expansion of laptop computers  The PCMCIA port is the obvious  choice for laptop computer extensions because it is flexible and fast  Furthermore it results in the most  elegant implementation since the PCMCIA port is R for hardware that is integrated in the  computer housing itself     However the PCMCIA bus is not standard available on desktop computer  Adapters to s
85. tten  Therefore RI interrupts should be handled within one RS232  stop bittime    e  Tl event  Interrupts that show up when a RS232 word has been send to the PC  again at the  beginning of a stopbit   This interrupt is used to indicate that a new word can be transmitted  To  avoid the exploding barrel effect we would like the next word to follow the sent word  immediately  In other words  if it s possible the TI interrupt has to result in writing a new word  to SBUF within one RS232 bittime  This statement will be more difficult to maintain when the  RS232 baudrate goes up    e Transmit Slot Passed event  As stated earlier RS232 data should not be written in the  speechbuffer when the BMC is accessing it during a transmit slot  The RS232 data therefore has  to be buffered during this slot  As soon as the transmit slot has ended a subroutine for emptying  the buffered data has to be started    e Receive Slot Passed event  When a receive slot has passed new data will be present in the  speechbuffer  A subroutine for handling this data has to be started     73    Three level event driven structure    To satisfy the first statement one byte on a specific position in the speechbuffer is used to specify the  number of valid bytes in the speechbuffer  This byte is called the length indicator  LT  and is located at  the lowest address  Dum    94   Besides this the databytes are written at incremental addresses  beginning at the first address after LI  So the first databyte is always 
86. ue    outport  0x37a  2    outport  0x37a  8      Block 6  Write byte on specified address    outport  0x37a  1    outport  0x37a  8    result   inport  0x379  gt  gt 3  415     outport  0x37a  1    outport  0x37a  8    result result     inport  0x379   lt  lt 1   amp 240         Block 7  Read byte from specified address    69    Appendix C  Cordless RS232 pipe    For some applications where the demand for speed is below approximately 1kbyte per second and no  event driven structure is necessary a very simple solution for DECT Data is possible  In a warming up  project a low speed datapipe via the RS232 port is realised by reprogramming an existing DECT  demoboard for cordless telephony called the DECT Evaluation  amp  Emulation Baseband Board     C 1 Introduction    In order to gain experience of the available hardware  80C51 microcontroller and DECT  demonstration board   software  80C51 software and BMC firmware  and tools  Nohau 80C51  Emulator and 80C51 Compiler   a warming up project has been carried out  The goal of this project is  to achieve a wireless bi directional RS232 transparent data link between two personal computers  The  point of departure is the existing DECT demonstration board and the software belonging to it     Before data can be transmitted a connection has to be set up between two PC s  Furthermore error  detection and correction will be done by existing PC communication software implementing protocols  like X modem  Y modem or Z modem  The features 
87. uses Time Division Multiple Access   TDMA  operation on 10 RF carriers  Multiple Carrier  in the frequency band 1 88 to 1 9 GHz  On  each carrier the TDMA structure defines 24 timeslots in a frame of 10 msec  See Figure 37     In case of symmetric connections the frame is divided into twelve slot pairs  0 12  1 13    11 23  This  division is called Time Division Duplex  TDD   For the FP slots 0 till 11 are used for transmission of  data and slots 12 till 23 are used for reception of data  Of course for the PP it is just the way round     Slots within a pair have the same RF carrier  So in one frame  12 out of 10x12 120 duplex channels  can be chosen  allowing a large traffic density    gt  10 000 Erlangs   km   since interference by other  DECT systems can easily be eliminated by selecting another channel  During a connection in progress  this is called Dynamic Channel Selection  DCS      The MAC layer    The MAC layer performs three main functions      e The selection of physical channels  and then establishing and releasing those channels    e Multiplexing and demultiplexing control information together with DLC control information  e and error control information into slot sized packets    e Error detection and correction by means of a retransmission scheme for protected services     These functions are used to provide three independent MAC services   1  Broadcast   2  Connection oriented   3  Connectionless    The connection oriented service can be protected or unprotecte
88. x bearers per portable part  These bottlenecks result  in a lower spectral efficiency and a lower maximum datarate  The bottlenecks can be eliminated by  changing the firmware  control software  of the BMC and using faster radios     1  Introduction    The ETSI    Digital European Cordless Telecommunications    standard  DECT  describes a digital  communication system that provides cordless services  ETS    92   It is primarily designed for voice  traffic  but also to provide support for a range of data traffic requirements  The DECT standard is  designed to support this versatility of applications at a cost that encourages wide adoption     One primary objective of this common interface standard is to provide for inter operability between  equipment of different origin  so offering users a family of telecommunications services for voice or  data     It is envisaged that DECT will provide personal telecommunication services in residential   neighbourhood and business environments  It is particularly targeted at the following applications    e residential and domestic cordless telephones   public access services   cordless business telephones  PBXs    cordless data   Local Area Networks  LANs    evolutionary applications  extensions to cellular radio  and extensions of the local public network     The structure of a DECT system is a lot like the well known cellular GSM system which provides  mobile services  A cordless telephone or cordless computer sets up a link to the neare
89. xecuted by the manager controller  This software together with the BMC is  the implementation of some important DECT specific services such as synchronisation  traffic bearer  establishment  encryption  RSSI scanning and bearer handover     By adding a ADPCM CODEC IC to the DDC it is also possible to transmit and receive real time  speech  This service has already been implemented  the BMC is designed for this service  but the  combination of speech and data can create new applications     The data that is received in the PC is almost free from transmission errors by means of CRC error  detection and a retransmission protocol at the MAC layer  Also the PC is protected against loss of  data due to buffer overflow by means of a flow control protocol  Duplication of data and sequence  distortion is eliminated by numbering each data frame     The communication software of the data transfer controller is able to read and write 12 traffic bearers  within one DECT frame of 10 msec  However the portable part firmware of the BMC supports only up  to 5 duplex traffic bearers  An effective throughput of 23 2 kbit s can be achieved for each traffic  bearer  Using five buffers this would result in a maximum throughput of 116 kbit s  enough for most  cordless PC applications     32    6  Conclusions    The designed and realised DDC can be used for the creation of a cordless PC LAN  The interfaces to  the PC and BMC and the DECT standard are fully examined  The DDC is optimised for  communi
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
取扱説明書 - M  ApplNote RS-232 AVT GigE  Samsung NP940X3GI User Manual (Windows8.1)  Manuel d`installation  Chamberlain SW 2000-X3 Safety Gate User Manual  Altec Lansing 1715C User's Manual  Hardware(DIO3232A)  Administration Guide - Oracle Documentation    Copyright © All rights reserved. 
   Failed to retrieve file