PAL20X8 PAL DESIGN SPECIFICATION P7053 BIRKNER/KAZMI/UDI 07/14/81 COMPOSITE VIDEO/BAUD RATE GENERATOR MMI SUNNYVALE, CALIFORNIA CK /DOT4 /SYNC NC NC NC INT /WRITE /DTCNT0 /DTCNT1 /DTCNT2 GND /OC /SYNOUT /UEN /9600X8 /BAUD3 /BAUD2 /BAUD1 /BAUD0 NC NC VIDEO VCC IF( SYNC ) SYNOUT = SYNC ;SYNC PULSE IF( /DOT4 ) /VIDEO = /DOT4 ;PIXEL TO THE SCREEN 9600X8 := INT ;TO INITIALIZE COUNTER BAUD + BAUD3*BAUD2*DTCNT2*DTCNT1*/DTCNT0 ;104/8 = 13, MODULE 102 ;COUNTS 103 = 12 6/8 BAUD0 := /9600X8*BAUD0 ;HOLD + /9600X8*BAUD0 ;EXTEND :+:/9600X8*DTCNT2*DTCNT1*DTCNT0 ;INC BAUD1 := /9600X8*BAUD1 ;HOLD + /9600X8*BAUD1 ;EXTEND :+:/9600X8*DTCNT2*DTCNT1*DTCNT0*BAUD0 ;INC BAUD2 := /9600X8*BAUD2 ;HOLD + /9600X8*BAUD2 ;EXTEND :+:/9600X8*DTCNT2*DTCNT1*DTCNT0 ;INC *BAUD1*BAUD0 BAUD3 := /9600X8*BAUD3 ;HOLD + /9600X8*BAUD3 ;EXTEND :+:/9600X8*DTCNT2*DTCNT1*DTCNT0 ;INC *BAUD2*BAUD1*BAUD0 UEN := WRITE*/DTCNT2*DTCNT1 ;DTCNT = 2,3 + WRITE* DTCNT2*/DTCNT1*/DTCNT0 ;DTCNT = 4 FUNCTION TABLE CK DOT4 SYNC INT WRITE DTCNT2 DTCNT1 DTCNT0 /OC SYNOUT UEN 9600X8 BAUD3 BAUD2 BAUD1 BAUD0 VIDEO ; S 9 ; W Y 6 V ; D S R N 0 I ; O Y I I / O U 0 D ; C T N N T DTCNT E U E X BAUD E ; K 4 C T E 210 N T N 8 3210 O COMMENTS ---------------------------------------------------------------------- L X H X X XXX L H X X XXXX X CHECK SYNOUT FOR H L X L X X XXX L L X X XXXX X CHECK SYNOUT FOR L L L X X X XXX L X X X XXXX L VIDEO = L L H X X X XXX L X X X XXXX H VIDEO = H C X X H X LLL L X X H XXXX X SET 9600X8 C X X L X LLL L X X L LLLL X INITIALIZE BAUD COUNTER C X X L X HHH L X X L LLLH X INC BAUD C X X L X HHH L X X L LLHL X INC BAUD C X X L X HHH L X X L LLHH X INC BAUD C X X L X HHH L X X L LHLL X INC BAUD C X X L X HLH L X X L LHLL X HOLD BAUD: DTCNT NEQ HHH C X X L X HHH L X X L LHLH X INC BAUD C X X L X HHH L X X L LHHL X INC BAUD C X X L X HHH L X X L LHHH X INC BAUD C X X L X HHH L X X L HLLL X INC BAUD C X X L X HHH L X X L HLLH X INC BAUD C X X L X HHH L X X L HLHL X INC BAUD C X X L X HHH L X X L HLHH X INC BAUD C X X L X HHH L X X L HHLL X INC BAUD C X X L H LLL L X L L HHLL X HOLD BAUD C X X L H LLH L X L L HHLL X HOLD BAUD C X X L H LHL L X H L HHLL X HOLD BAUD, SET UEN C X X L H LHH L X H L HHLL X HOLD BAUD, SET UEN C X X L H HLL L X H L HHLL X HOLD BAUD, SET UEN C X X L H HLH L X L L HHLL X HOLD BAUD C X X L H HHL L X L H HHLL X SET 9600X8, HOLD BAUD C X X L H HHH L X L L LLLL X INITIALIZE BAUD ------------------------------------------------------------------------- DESCRIPTION THIS PAL GENERATES THE BAUD RATE, THE VIDEO AND THE SYNC SIGNALS WHICH ARE COMBINED AT THE OUTPUTS TO FORM THE COMPOSITE VIDEO SIGNAL, AND THE "UEN" SIGNAL WHICH ENABLE THE "UART". EVERY CHARACTER CONSISTS OF 10 BITS: 1 START BIT, 7 ASCII CODE BITS, 1 PARITY BIT, AND 1 STOP BIT. THE CHARACTER RATE IS 9600 Hz. EACH BIT IS DIVIDED INTO 8 SMALL BITS SO THE NUMBER OF BITS PER SECOND REQUIRED FOR OUR SYSTEM IS 9600*8 = 76800 OR 76800 Hz. T = 1/76800 = 13 MICROSECOND THE CLOCK FREQUENCY IS 8000000 Hz. WE NEED TO DIVIDE THE CLOCK FREQUENCY BY 104 TO GENERATE A FREQUENCY OF 76800 Hz. 8000000/76800 = 104 = 13*8 "DTCNT" COUNTS 8, AND "BAUD" COUNTS 13. TO GET 104 COUNTS WE NEED TO COUNT FROM 0 TO 103. BECAUSE THERE IS ONE CLOCK CYCLE DELAY UNTIL THE DATA IS AVAILABLE ON THE OUTPUT PINS (REGISTERED PAL), MODULE 104 IS DETECTED BY COUNT 102 WHICH IS EQUAL TO 102/8 = 12 6/8.