home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / palsum3 / crc6.pds < prev    next >
Text File  |  1987-08-26  |  3KB  |  179 lines

  1. TITLE CRC6
  2. PATTERN CRC 6 ERROR DETECTION PAL
  3. REVISION 1.01
  4. AUTHOR THERESA SHAFER
  5. COMPANY MMI
  6. DATE 9/10/86
  7.  
  8. CHIP CRC6 PAL20R6
  9.  
  10. CK DATA /CLR CHECK_BIT EOX NC NC NC NC NC NC GND
  11. /OE NC ERROR R5 R4 R3 R2 R1 R0 CRC6 NC VCC
  12.  
  13. ; THE CRC-6 PAL PERFORMS ERROR DETECTION ON A SERIAL DATA
  14. ; STREAM.  CRC-6 PAL SUPPORTS THE T1 Fe STANDARD FOR ERROR
  15. ; DETECTION. THE CRC RESULT CAN BE OUTPUTTED EITHER IN SERIAL
  16. ; OR IN PARALLEL.
  17. ;  CRC-6 = X**6 + X + 1
  18. ; INPUTS:   CK          EXTERNAL CLOCK
  19. ;           /OE         ACTIVE LOW OUTPUT ENABLE SIGNAL
  20. ;           /CLR        ACTIVE LOW CLEAR SIGNAL WHICH RESETS THE
  21. ;                        CRC
  22. ;           DATA        SERIAL DATA STREAM INPUT
  23. ;           CHECK_BIT   ACTIVE HIGH SELECT INPUT WHICH SWITCHES
  24. ;                        FROM SERIAL DATA STREAM TO CHECK BITS
  25. ;           EOX         ACTIVE HIGH SIGNAL WHICH INDICATES END OF
  26. ;                         EXTENDED  SUPERFRAME  AND  ENABLES  THE
  27. ;                         ERROR DETECTION FLAG
  28.   
  29. ; OUTPUTS:  CRC6        CRC SERIAL OUTPUT
  30. ;           ERROR       ACTIVE HIGH OUTPUT FLAG WHICH INDICATES
  31. ;                        A TRANSMISSION ERROR
  32. EQUATIONS
  33.  
  34. ; CRC-6 PAL
  35.  
  36. /CRC6 = /R5 * CHECK_BIT
  37.      + /DATA * /CHECK_BIT
  38.  
  39. /ERROR = EOX * /R5 * /R4 * /R3 * /R2 * /R1 * /R0
  40.      + /EOX
  41.  
  42. /R5 := /DATA * /R5 * /R4
  43.      + DATA * R5 * /R4
  44.      + DATA * /R5 * R4 * /CHECK_BIT
  45.      + /DATA * R5 * R4 * /CHECK_BIT
  46.      + /R4 * CHECK_BIT
  47.      + CLR
  48.  
  49. /R4 := /R3 + CLR
  50.  
  51. /R3 := /R2 + CLR
  52.  
  53. /R2 := /R1 + CLR
  54.  
  55. /R1 := /DATA * /R5 * /R0
  56.      + DATA * R5 * /R0
  57.      + DATA * /R5 * R0 * /CHECK_BIT
  58.      + /DATA * R5 * R0 * /CHECK_BIT
  59.      + /R0 * CHECK_BIT
  60.      + CLR
  61.  
  62. /R0 := /DATA * /R5
  63.      + DATA * R5 * /CHECK_BIT
  64.      + /DATA * /R5 * /CHECK_BIT
  65.      + /R5 * CHECK_BIT
  66.      + CLR
  67.  
  68. ; .........................................................
  69. ; .........................................................
  70.  
  71.  
  72. SIMULATION
  73.  
  74. TRACE_ON CK /OE /CLR CHECK_BIT EOX DATA CRC6 ERROR
  75.          R5 R4 R3 R2 R1 R0
  76.  
  77. SETF OE               ; ENABLE OUTPUT
  78.      CLR              ; CLEAR SHIFT REGISTER
  79. CLOCKF CK
  80.  
  81. ; INITIALIZE
  82. SETF DATA
  83.      /CHECK_BIT
  84.      /EOX
  85.      /CLR
  86. CLOCKF CK
  87.  
  88. ; FIND PERIOD
  89. FOR J:= 0 TO 38 DO
  90.      BEGIN
  91.      CLOCKF CK
  92.      END
  93.  
  94. ; CALCULATE CRC-6 FOR INPUT STREAM 1101.1000.0101.0011.1001
  95. SETF CLR            ; CLEAR SHIFT REGISTER
  96. CLOCKF CK
  97. SETF /CLR           ; BEGIN CRC CALCULATION
  98.  
  99. SETF DATA
  100. CLOCKF CK
  101. SETF DATA
  102. CLOCKF CK
  103. SETF /DATA
  104. CLOCKF CK
  105. SETF DATA
  106. CLOCKF CK
  107.  
  108. SETF DATA
  109.  
  110. CLOCKF CK
  111. SETF /DATA
  112. CLOCKF CK
  113. SETF /DATA
  114. CLOCKF CK
  115. SETF /DATA
  116. CLOCKF CK
  117.  
  118. SETF /DATA
  119. CLOCKF CK
  120. SETF DATA
  121. CLOCKF CK
  122. SETF /DATA
  123. CLOCKF CK
  124. SETF DATA
  125. CLOCKF CK
  126.  
  127. SETF /DATA
  128. CLOCKF CK
  129. SETF /DATA
  130. CLOCKF CK
  131. SETF DATA
  132. CLOCKF CK
  133. SETF DATA
  134. CLOCKF CK
  135.  
  136. SETF DATA
  137. CLOCKF CK
  138. SETF /DATA
  139. CLOCKF CK
  140. SETF /DATA
  141. CLOCKF CK
  142. SETF DATA
  143. CLOCKF CK
  144.  
  145. ;  CHECK ERROR DETECTION
  146. SETF EOX                 ;  CHECK ERROR FLAG
  147. SETF /DATA
  148. CLOCKF CK
  149. SETF DATA
  150. CLOCKF CK
  151. SETF /DATA
  152. CLOCKF CK
  153. SETF DATA
  154. CLOCKF CK
  155. SETF /DATA
  156. CLOCKF CK
  157. SETF /DATA
  158. CLOCKF CK
  159.  
  160. ; READ CRC RESULT
  161. SETF /EOX
  162. SETF /DATA
  163. CLOCKF CK
  164. SETF DATA
  165.  
  166. CLOCKF CK
  167. SETF CHECK_BIT
  168.      DATA
  169. FOR J:= 0 TO 6 DO
  170.      BEGIN
  171.      CLOCKF CK
  172.      END
  173.  
  174.   
  175.   
  176. TRACE_OFF
  177.