>7"R'*G >F >F >F ?TopRoute2Route3Route4Route5Route6Route7Route8 Route9 Route10 Route11 Route12 Route13Route14Route15BottomPadsViasUnroutedDimensiontPlacebPlacetOriginsbOriginstNamesbNamestValuesbValuestStopbStop tCream bCream!"tFinish"!bFinish#$tGlue$#bGlue%&tTest&%bTest'( tKeepout(' bKeepout)* tRestrict*) bRestrict++ vRestrict,,Drills--Holes..Milling//Measures00Document11Reference34tDocu43bDocu[[Nets\\Busses]]Pins^^Symbols__Names``ValuesdMusterSMDround  %FRAMESFRAMES6DINA4_L-G$1-G$2$FRAMESW(DINA4_L"^N(N("^N("^"^N(sDOCFIELD"^ "^PS _ PS"^p1^111 Date:1^11 2>LAST_DATE_TIME"^p p"^pPS"^PSp"^ p "^ p _ p"^ 1^ 11 Sheet:1^p- 11 >SHEET1^ |1 REV:"^ _ PS _ p"^ _ PSPS"^ _ pp"^p"^PS|"^mm"^m|"^||"^|m"^|PS1^1$1 TITLE:1^1|1 2Document Number:1^$1 2>DRAWING_NAMEFRAMESJZ74XX74XX6IC7474-A<-B< -9P<6 IC7400-A<-B<-C< -D< -p9P<6IC74160-A< < -9P<6IC74574-A< < -9P< I74XXC6PWRN,@ suGND,@VCC1_22" >NAME1_jJX GND1_jJp VCC gs7474,9!CLR,8c!D,Ȝ!CLK,p!PRE,pQ,9Q\"^XX)X"^)X))"^))X)"^X)XX1_XvB" >NAME1`X s" >VALUE-17400,@X8c!I0,@XȜ!I1,A)O"^ȜpȜ91_8c|" >NAME1`8c9" >VALUE$^ȜpȜ9gIO74160,!CLR,Ȝ!CLK,!A,)!B,p!C,8c!D,9!ENP, s!LD,X!ENT,8cQD,pQC,)QB,QA,RCO"^X)"^))"^)X"^XX1_X" >NAME1`XxI" >VALUEgI74574,!OC,!1D,!2D,)!3D,p!4D,8c!5D,!6D,Ȝ!7D,9!8D, s!CLK,98Q,Ȝ7Q,6Q,8c5Q,p4Q,)3Q,2Q,1Q"^X)"^))PS"^)PSXPS"^XPSX1_Xl" >NAME1`XxI" >VALUEY74XX\KDIL14*X,kA1*9,kA2*Ȝ,kA3*,kA4*8c,kA5*p,kA6*),kA7*)ԔA8*pԔA9*8cԔA10*ԔA11*ȜԔA12*9ԔA13*XԔA1419">NAME"0x2xܒ{1p11+14171$819">VALUE$0x2x{0"0$mx$m{"0x$mx{"0xܒܒ{"0ܒ$m{WKDIL16*,kA1*,kA2*,k,kA3*d,kA4*1,kA5*Ԕ,kA6* ,kA7*D[,kA8*D[ԔA9* ԔA10*ԔԔA11*1ԔA12*dԔA13*,kԔA14*ԔA15*ԔA161">NAME"0 s2 sܒ{1Ԙ11ҙ%161vB81vB%91">VALUE$0 s2 s{0"0 sܒܒ{"0ܒ$m{"0$m s$m{"0 s$m s{ KDIL20*A,kA1*,kA2*,kA3*,k,kA4*d,kA5*1,kA6*Ԕ,kA7* ,kA8*D[,kA9*|,kA10*|ԔA11*D[ԔA12* ԔA13*ԔԔA14*1ԔA15*dԔA16*,kԔA17*ԔA18*ԔA19*AԔA201 ">NAME"02ܒ{1511!%201%111Ș101">VALUE$02{0"0ܒ$m{"0ܒܒ{"0$m{"0$m$m{ SUPPLY1SUPPLY16GNDGND-1<6P+VCC-VCC< SUPPLY1> GND,8cGND"3^jJ1`ȜȜ" >VALUEW<VCC,8cXVCC"3^1|p"3^pd|1`Ȝ" >VALUESUPPLY1 !!DISCRETE DISCRETE6RRESEU-7,5-1<6CCAPNP-2,5-1<6CELC-2,5-1< DISCRETE9pRESEURO,91,p2"^Ȝ1Ȝd"^Ȝd8cd"^8cd8c1"^8c1Ȝ11_Ȝ8c" >NAME1`Ȝ9" >VALUE9pCAP-NP,91,p21_Ȝ8c" >NAME1`Ȝ9" >VALUE"^Ȝ("^(;(x"^8c"^;x 9pELC,92,p11_Ȝ8c" >NAME1`Ȝ9" >VALUE"^Ȝ("^(;(x"^;x"^x'x"^';;"^'8c"^';'1^jJ" +"^''x DISCRETE KsR-7,5*,kA1*ԔA2"Ȝd8cd{"8c1Ȝ1{1Ȝ~@(>NAME1Ȝ(>VALUE"8cw{"8cd8c{"Ȝ{"Ȝ1Ȝ{"8c8c1{"ȜȜd{C-2,5*dA1*1A2&2d1& d11~@(>VALUE1|(>NAME ES-2,5*d 1*1 2& x;"2x x{" x ;{" ;2;{"nPn{"nPn{"2;2x{1jJ(>VALUE1(>NAME074XXSMD74XXSMD6IC74166-A<  < -9P<74XXSMDg74166,9!SER,PS!A,!B,!C,)!D,!INH, s!CLK,xI!CLR,p!E,8c!F,!G,QH,Ȝ!H,!SH/LD\"^X@)@"^)@)"^)X"^XX@1_XV" >NAME1`X" >VALUEK6PWRN,@ suGND,@VCC1_d2" >NAME1_jJX GND1_jJp VCC/74XXSMD.#`SO16+^R '1+^Rx '16+ '2+ '3+x '15+x '14+2 '4+2x '13+ '5+x '12+jJ '6+| '7+jJx '11+|x '10+ '8+x '9"fLrHfL{1Ȝn(>VALUE1d(>NAME$p|{0$9=rHfL{$fLp={$9|rH{0"rH{"p|p={"9=9|{$99({1^RdY01&3FfL y&3rHJ\&3z&3&3F&3fL y&3zfL y&3rHfLJ\ y"9~p~&3"&3~@VT&3r&3&3fL" y&3~@fLVT y&3rfL y&3fL y1rHY016SJDMDM6DBD-9F/90-G$1< < RDMQ-A%DB9, sȜ5,9Ȝ4,Ȝ3,pȜ2,Ȝ1,)8c6,8c8c7,Ȝ8c8,X8c91_>">NAME1`jJ>">VALUE"0^p}p"0^T9(9"0^5x""0^v"0^p"0^pR"0^R<̘"0^<̘,"0^,""0^}pؐr"0^ؐrv"0^5x8"0^8:"0^:;"0^;;Ɲ"0^;Ɲ9ޑ"0^9ޑ7"0^72x"0^2x*.j"0^*.j!H]"0^!H]bP"0^bPvF"0^vF@"0^@"<"0^"<::"0^::T9"0^tx"0^F`vjN"0^jN;"0^;,"0^,!̘"0^!̘"0^"0^(orF`v"0^txz"0^z~"0^~"0^Ɲ"0^Ɲ|ޑ"0^|ޑx"0^xnx"0^nx^.j"0^^.jLH]"0^LH]2bP"0^2bPvF"0^vF@"0^@<"0^< :"0^ :(9"0^p(or%^)8c$$%^8c8c$$%^Ȝ8c$$%^X8c$$%^ sȜ$$%^9Ȝ$$%^Ȝ$$%^pȜ$$%^Ȝ$$1^r 11^6s 21^r 31^\Sr 41^s 51^vB1 61^|1 71^1 81^&1 9,XSGND2,XSGND1IDMHVtD-9F/90"PStPS0e{",k,k{"PSpPS,k{"lGplG,k{"lG,k0e,k{"PSp0ep{"0ep0e,k{"0eplGp{"p,k{",klG,k{"pКp{",kp{"p{"КpК,k{"Кpp{"К,k,k{"0ePS0e{"PS0ePS{"0et{"PS{"0e{"PSPSp{"PStNVt{"NVtvB{"NVtt{"vBvB<]{"<]{"t{"tt{".(g.{%,rFrF{"0e,k,k{$1x?1{"x?,kx?1{"x?,kPS,k{",k1{",kx?,k{%rFrF{$1 s1{" s,k s1{" s,kК,k{",k1{",k s,k{*%d1*ܒd2*d3*$md4*Hd5*J\16*n17*618*19"b(gb{$$q.(g{$b(gNq{$.qvB<]{$<]bq{"bq.q{&0ePSt1X 11 51 61> 9" ^R& "& ^R "^R ^R "494 " hM > 1" >VALUE1" >NAME*;8cGND1*;8cGND2MAXIMMAXIM6ICMAX232-G$1< < -09P<MAXIMMAX232,#C1+,)#C1-,8c#C2+,Ȝ#C2-,X!T1IN, s!T2IN,"R1OUT,"R2OUT,PSV+,PSpV-,PSXT1OUT,PS sT2OUT,PSR1IN,PSR2IN"^ sPSPS"^xIPS"^xI sxI"^ sPS sxI1_ sl" >NAME1` s@" >VALUEF6VCC-GND,@VCC,@ suGND1_;X GND1_;p VCC1_d" >NAMEMAXIMWKDIL16*,kA1*,kA2*,k,kA3*d,kA4*1,kA5*Ԕ,kA6* ,kA7*D[,kA8*D[ԔA9* ԔA10*ԔԔA11*1ԔA12*dԔA13*,kԔA14*ԔA15*ԔA161"(>NAME" s2 sܒ{1Ԙ(11ҙ%(161vB(81vB%(91"(>VALUE$ s2 s{0" sܒܒ{"ܒ$m{"$m s$m{" s$m s{ /974XX 74XX6IC74164-A< < -9P<6IC74151-A< < -9P<.74XXg74164,)!A,p!B,)QA,pQB,8cQC,QD,9!CLK, s!CLR,ȜQE,9QF,XQG, sQH"^X)"^))"^)X"^XX1_X" >NAME1`X" >VALUEC6PWRN,@ suGND,@VCC1_22" >NAME1_jJX GND1_jJp VCCg74151,)!D3,!D2,!D1,PS!D0,Y,PSW,!G,!C, s!B,X!A,Ȝ!D7,!D6,8c!D5,p!D4"^XxI)xI"^)xI)"^)X"^XXxI1_XV" >NAME1`X@" >VALUE874XX\KDIL14*X,kA1*9,kA2*Ȝ,kA3*,kA4*8c,kA5*p,kA6*),kA7*)ԔA8*pԔA9*8cԔA10*ԔA11*ȜԔA12*9ԔA13*XԔA1419">NAME"0x2xܒ{1p11+14171$819">VALUE$0x2x{0"0$mx$m{"0x$mx{"0xܒܒ{"0ܒ$m{WKDIL16*,kA1*,kA2*,k,kA3*d,kA4*1,kA5*Ԕ,kA6* ,kA7*D[,kA8*D[ԔA9* ԔA10*ԔԔA11*1ԔA12*dԔA13*,kԔA14*ԔA15*ԔA161">NAME"0 s2 sܒ{1Ԙ11ҙ%161vB81vB%91">VALUE$0 s2 s{0"0 sܒܒ{"0ܒ$m{"0$m s$m{"0 s$m s{74XXSMD74XXSMD6IC74166-A< < -9P<74XXSMDg74166,9!SER,PS!A,!B,!C,)!D,!INH, s!CLK,xI!CLR,p!E,8c!F,!G,QH,Ȝ!H,!SH/LD\"^X@)@"^)@)"^)X"^XX@1_XV" >NAME1`X" >VALUE*6PWRN,@ suGND,@VCC1_d2" >NAME1_jJX GND1_jJp VCC74XXSMDWKDIL16*,kA1*,kA2*,k,kA3*d,kA4*1,kA5*Ԕ,kA6* ,kA7*D[,kA8*D[ԔA9* ԔA10*ԔԔA11*1ԔA12*dԔA13*,kԔA14*ԔA15*ԔA161">NAME"0 s2 sܒ{1Ԙ11ҙ%161vB81vB%91">VALUE$0 s2 s{0"0 sܒܒ{"0ܒ$m{"0$m s$m{"0 s$m s{74XX74XX6IC74393-A<-@B< -9P<74XXC6PWRN,@ suGND,@VCC1_22" >NAME1_jJX GND1_jJp VCC gs%74393,8c!A,9!CLR,8cQA,QB,ȜQC,9QD"^XX)X"^)X)p"^)pXp"^XpXX1_X>" >NAME1`X s" >VALUE74XX\KDIL14*X,kA1*9,kA2*Ȝ,kA3*,kA4*8c,kA5*p,kA6*),kA7*)ԔA8*pԔA9*8cԔA10*ԔA11*ȜԔA12*9ԔA13*XԔA1419">NAME"0x2xܒ{1p11+14171$819">VALUE$0x2x{0"0$mx$m{"0x$mx{"0xܒܒ{"0ܒ$m{ DISCRETEDISCRETE6CCAPNP-5-1< DISCRETE9pCAP-NP,91,p21_Ȝ8c" >NAME1`Ȝ9" >VALUE"^Ȝ("^(;(x"^8c"^;x DISCRETE}C-5*ȜA1*8cA2& x;&VALUE1Ȝ(>NAME DMDM6ICOSC-G$1< DM gn"OSC"^X sX"^X)"^)) s"^) sX s,Ȝ#CASE,X#GND,)VCC,XQ1_X >Name1` >ValueDMpOSC*X,kA1*),kA7*)ԔA81Ι>NAME1>VALUE*XԔA14$D[ p{$D[>tp$ sp {$p>$D[9{0$D[ t90$ s9{0$9 0">D[>"tpt9"D[ "9p"D[{"9p{"D[ {" sp s9{%>&9|C0CON-LSTBCON-LSTB6MA04-2-G$1<CON-LSTB-MA04-2,@)Ȝ1,@)3,@)8c5"3^Ԕ9,k91`,kX" >VALUE"3^18c8c8c "3^18c "3^1Ȝ8cȜ ,@XȜ&2,@X&4,@X8c&6"3^Ȝ8cd8c "3^Ȝd "3^ȜȜdȜ ,@)p7"3^,k),k9"3^Ԕ9Ԕ)1_,klG" >NAME"3^,k)Ԕ)"3^1p8cp ,@Xp&8"3^Ȝpdp /CON-LSTB.7\MA04-2*,kdA1*ddA3"^R8c8c{"8cȜjJ{"ȜjJ8c{"8c28c{"28cjJ{"^R8c9jJ{*1dA5"jJ8c{"8cjJ8c{"jJ8c8cjJ{*ԔdA7"|8c8c{"|8c8cjJ{"38cpjJ{"3pjJp{1TWJ\(1*,k1A2*d1A419r(>NAME"ȜȜ{"2Ȝ{"2ȜȜ{"ȜȜ{"9jJ9{"9^RȜ{"Ȝ^RȜ{&3xxPP&3@axuP*11A6"8cjJȜ{"jJȜȜ{"Ȝ{&3'x;P*Ԕ1A8"8c|Ȝ{"Ȝ|Ȝ{&3xP"3pȜ{&3@a'u;&3x'P;&3'';;&3';1ȜJ\(>VALUE1Ԕr(8?*1^PSjJ 2Baud Rate1^)jJ 2generator"^8c|"^||"^|Q|"^Q|Q8c"^Q8c8c"^  "^  І"^ І "^ 8 "^8 0G"^0G0GІ"^0GІ0G"^0G0G3"^0G30GH"^0GH0Gm"^0Gm0G "^0G 0G"^0G8 "^8  "^8 8 "^   "^  "^ W"^ W8 W"^8 W0GW"^0GW0G "^0G 0G "^0G 0GX= "^0GX= 0G "^0G 0Gv "^0Gv 0G "^0G 8  "^8   "^8 W8  1^ (]jJ RX1^ 8 jJ TX"^ x "^ Іx І&^H3W"^3  "^  X= "^  X= g "^ 3"^33"^3"^H@M @M "^@M |"^@M |x "^H@M m"^H@M mx 1^p@M 1 D0..7"^|m"^m "^ 0G "^m0Gm"^0G m"^m0GH"^0Gv  "^ 0GX= "^0G33"^0G"^0G  &^BBTޅ1^`n 1 2TX_BUSY1^`T1 2OVERRUN1^`1 2RX_VALID"^0G  "^0GІІ"^ n D "^ n |%"^ Іn 4U"^ Іn l1^` 1 /WTX1^`І1 /RRX1^+p- 1 2write TX1^+`1 2read RX"^ n "^ , "^T"^+"^0GІx4U"^0GІxl"^3"^3e"^ D "^ |%"^"^"^ "^ І"^І"^1^P!`; 2Level Converter1^І1 2TTL <-> +-10V1^t 1 MAX232"^ ` "^` (+ "^` (+ W"^І` І"^І;#"^І;"^0GN(0G1^ZjJ2Free for hobby use, bu2t probably not free of2 errors...1^pz1 h2Settings for this Desi2gn:1^x zjJ 8-N-11^p@1 2What means: 8 Data Bit2s, no parity Bit, one 2Stop Bit.1^8 z1 at1^ zjJ 219.2 kBaud.1^p1 2Supply pins of the ICs2 have been left out to2 make the schematics l2ook a bit simpler,1^p1 s2please connect the GND2 pin of each IC to GND2, same thing for VCC.1^p 1 2Also try to place a 1020 nF ceramic capacitor2 between GND and VCC a2t each IC..."^3""^33"^""1^  1 unit1^ 1 unit1^81hCjJ 2Block Diagram (simplif2ied)1^p1 2We're connecting to a 2PC like a modem would 2do.1^ D 1 2to PC 'RXD'1^ 4U1 2from PC 'TXD'"^3m"^mm1^p1 2The schematics in this2 document are intended2 to give you a chance 2to build your own UART2 (RS232 interface),1^p(1 2Note, that this design2 is, more or less, onl2y the core... without 2RX/TX FiFos and such.1^p1 2while avoiding 'propri2etary technology' by u2sing standard 74LS/74H2CT ICs.1^"" 2(c) Dieter Mller 20071^"" 2dieter.6502@gmx.de1^^&)1 1.01^(( 2A mind is a terrible t2hing to waste.1^(( 2But nowadays books use2 much copy and paste..2.8U$100 )91^jjJ female1^jjJ 2(Modem)1^1 2connect to PC RS232 (m2ale)1^81hCjJ 2level converter"^PSxx"^PS"^PS4"^PSl"^x$"^x$I"^0Z"^0Z0 "^0 8 "^8 8 "^8 8 "^8 8 %^n$8c8c%^D#8c8c%^@"8c8c%^ 8c8c%^8c8c%^#t8c8c%^"t8c8c%^l!t8c8c%^\ t8c8c1^h1 11^4#!h121^L"h1 31^v#h141^,$h1 51^` p161^!p1 71^"p181^X $p1 9"^n$  "^ "^`"^`5%`"^5%`5%"^5%n$ 1^(1 DCD1^4#!(1 RXD1^L"(1 TXD1^v#(1 DTR1^,$(1 GND1^X $\1 RI1^"\1 CTS1^!\1 RTS1^` \1 DSR"^@"l@"@"^@"@L""^@"@!"^ @ l"^ l Q"^ l4#!Q"^D#lD#@"^D#@v#"^D#@L#"^@l"^lTQ"^lQ"^"P"$O"^"$O""^"$Ox~""^l!$Ol!P"^l!PT!"^l!P!"^#P#$O"^#$OX $"^#$O #"^\ P\ $O"^\ $O` "^\ $O(+ 1^jjJ male1^"jjJ (PC)"^H7;H7"^;H7"^;H71^81 1 2DTR, DSR, DCD are wire2d together to make1^81X= 1 2the Terminal program (2running on the PC)1^81v 1 2think that we have a m2odem up and running.1^81І1 2the PC 'Hi, I m ready 2to receive Data'.1^81(]1 2Nevertheless: better t2urn off all hardware/1^811 2software handshake/flo2w_control in your1^81H1 2Terminal program for t2he first test runs..."^m8 1^pІjJ DCD1^p(]jJRXD1^p3jJ TXD1^p jJDTR1^p0jJ DSR1^pjJRTS1^pjJ CTS1^p jJ2Signals at the male PC2 connector:"^, X, "^X, An "^X, Ad5 1^ jJ 11^  jJ 51^pjJ91^4jJ 61^;(jJ 11^H0GjJ 61^8%(jJ51^$0GjJ 91^ W 2Resistors added for pa2ranoia only...1^8c" 2Another good idea migh2t1^8cH7" 2be to add some jumpers1^8ct" 2to the TX line,1^8c " 2to disconnect it from 2the1^8cx" 2UART circuitry and fee2d it1^8c" 2from the RX line, what2 1^8c$O" 2would allow a 'loop_ba2ck'1^8cP" 2test mode between PC a2nd 1^8c " w2the wiring between the2m1^8c "2is correct so far..."^`p`"^)``"^PS``"^|`hC`"^`m`"^H``"^`"^H7p"^ 0G"^"^P "^8  1^|1 2Clear to send.1^l1 2Data carrier detect.1^1 2Data set ready.1^t;1 2Data terminal ready.1^$1 2Request to send.1^Ď1 2Serial data in.1^e1 2Serial Data out."^\K``"^`$"^`$Ď"^\K"^$ "^$l"^\K"^\Ke"^\KT"^m\Km"^\Kmt;"^\Km"^\KhChC"^hC$u"^hC$"^\K"^\K$"^\K\K"^\K"^$!"^$|"0^) )LE "0^)LE pLE "0^pLE ~ "^~ PSLE "!^PSLE LE "0^LE  "0^ ) 1^p8cjJ RI"3^\Kpp"3^p$ "3^p$Ԕ1^Ԕ1 2Ring indicator.1^n l" 2Modem to PC: 'There is2 something coming down1^P4U" 2the phone line...'1^n t;" 2PC to Modem: 'Hi, I'm 2there.'1^n " 2Modem to PC: 'Hi, I'm 2there.'1^n $" 2PC to Modem: 'I have D2ata ready to transmit.2'1^n |" 2Modem to PC: 'I'm read2y to receive Data from2 you.'1^H1 2as seen from the PC.1^|v 1 2(as seen from the PC.)1^n e" 2PC to Modem: Data.1^n Ď" 2Modem to PC: Data.1^n Ԕ" 2Modem to PC: 'rrring .2..Somebody called me.'1^ p- 1 2Note: MAX232 might be 2limited to ca. 120 kBa2ud.1^1 2Typical capacitor valu2es: 2.2 ... 10 uF.1^h1 2Note: the faster the B2aud Rate,1^h1 2the shorter the cable.2..1^81@M 1 2CTS is set active by t2he MAX232, telling1^8c|%" 2MAX232, to check that1^x1 2with a 1:1 extention c2ord.1^^&)1 1.08U$2008IC209MAX2320 0v 0G 8C1092u203818C1192u203 A8C1292u208C1392u20 A8GND109GND0hz8P+89VCC0h818R6910000G8R7910000G8R8910000Gp8R9910000G8GND119GND0`8C1492u20v p8GND129GND0І8P+99VCC0g H78DB19D-9F/900 AH74_P!" l5`V6" l8GND139GND0P:B$11 T{s"\8c8cGND E="[hh A="[h A A ]U="[ІQ`Q"[`Q``=  } t=="[ІІ0G"[І0G0G"[І0GІp="[Іpx p'[І0G N5=="["["[81= "[8181 "[Q= "[QQ '[VCC ="[h="[hhp : Dj =="[ 0Gg 0G"[g 0Gg p="[g pX= p"[g pg '[g pN$24 * >[="[W A A"[ A X= "[ Xp- XN$25 * g[= "[p- j j"[ j ="[ WN$39 0w~=="[Іz3zN$43 0> ="[І A(] A"[(] A(]="[(]3N$44 0n="[3j`j"[`j`="[`ІN$45 0="[3#"[##="[#ІRX `="[8cp"[pІ3_)" TX `="[8cxp@"[p@І@3_)@" N$46 * = "[p- @@"[@= "[N$47 * U= "[p- QPQ"[PQP= "[PN$48 * m= "[p- W"[WWp= "[WppN$49 * ="[p-  "[  = "[ N$37  ~="[zz= "[z N$50  E="[ A A= "[ A  N$51  ="[@@h"[@hxh"[xhh="[h="[xxh'[xhN$53  D="[0G"[0G`0G"[`0G`p= "[`p pN$54  += "[ `"[```'"[``'X`'="[X`'X)$n1^j1 e19.21^x1 2.41^1 4.81^X1 9.61^j1 kBaud1^X1 kBaud1^1 kBaud1^x1 kBaud"^(+ @` x"^` x` A"^` A X"^ X` "^` ` "^` (+ 811^!1 2set jumper1^! A1 l2to select1^!z1 2Baud Rate"^D#@D#`'"^D#`'""^D#`' #1^Q1 :6"^\$T/"^\|T/"^\(\"^\(("^("^"^("^(\(1^$1 2614.4 kHz"^H7P"^PQP"^QP@W"^@WxP"^xPpP"^pP1^`' 1 2pre_divider1^ jJ 23.6864 MHz"^tg tW"^tWP"^tg  "^ ^& "^^& &g "^&g &W"^&W^&P"^P$P"^$P^&P"^$P$ "^$ n$h"^$ 5%h1^X jJ ->1^ jJ :6"^D#@T!@"^T!@T!"^T!8%"^8%8%@"^8%@D#@"^8 8 "^8 N( 1^81hCjJ 2Baud Rate generator1^!p1211.05921^PS1 7.37281^PSp- 14.91521^PS 1<3.68641^PSv 11.84321^ p1 MHz1^ 1 MHz1^ p- 1<MHz1^  1<MHz1^ v 1 MHz1^p1 ->1^1 ->1^p- 1<->1^ 1<->1^v 1 ->1^` 1<:121^`p- 1<:161^`p1 :361^`1:241^`v 1 :61^PSX= 1 2.45761^PSW1 6.14401^PS1 9.21601^PSh1 9.83041^!H71 218.43201^ H71 MHz1^H71 ->1^ h1 MHz1^h1 ->1^ 1 MHz1^1 ->1^ W1 MHz1^W1 ->1^ X= 1 MHz1^X= 1 ->1^`H71 :601^`h1 :321^`1:301^`W1 :201^`X= 1 :81^pZ1 2Uart clock has to be 126 times1^pp1 2faster than the Baud R2ate.1^p1 2For instance, 19.2 kBa2ud would1^p A1 2require that CLK = 3072.2 kHz.1^p@12Divider factors for ge2nerating1^p1 l2307.2 kHz out of some 2common1^p`'1 2crystal/oscillator fre2quencies:1^pІ1 2And if the application2 dosen't1^p`1 2require to _exactly_ m2atch the1^p1 24 MHz divided by 13 gi2ves1^p01 2307.6923 kHz, what is 2ca. 0.16% 1^p1 2Note: CLK doesn't need2 to have 1^pp1 2a 50% duty cycle..."^8 8 m"^8 m8 1^ x 1 2It's also possible to 2build an 8 Bit program2mable divider with two2 74163.1^ І1 2Another approach would2 be tapping with a 741251 multiplexer into th2e1^ 1 2The most primitive app2roach is using a jumpe2r to select the Baud R2ate,1^ H1 2as shown in the exampl2e above."^m8 m1^ 1 2Also note, that there 2are a few1^ 01 2examples in the Intern2et about1^ 1 2configurating the Baud2 Rate of1^ PS1 2UARTs that are integra2ted into1^ 1 2Microcontrollers...1^ p1 2(PICs, for instance.)1^p- jJ 2Baud Rate ="^<$ _ -& _ 1^n$D jJ CLK1^$ jJ 16"^8 8 "^8  "^  "^ 8 "^ d5 d5 "^ d5 h, "^ d5 h 1^Z jJ i:21^p1 2Baud Rate, there might2 be some1^p31 2other interesting freq2uencies...1^p1 2off from 307.2 kHz.1^ `1 2outputs of a 74393, if2 only a few different 2Baud Rates are needed.1^^&)1 1.08U$6008IC15974000 A 0  0`'0G0X0G0pP8 IC169743930x0dH70`'x~"8 IC1793.6864MHz0hz8GND69GND0W8P+49VCC0`j8 U$59MA04-20D#H78GND149GND0hh8 C159100n0X8GND159GND0@z:B$8 '4'"\%'h%'N$36 ]+U=="[Q(Q"[(Q(`"[(``'`GND T="[WWQ"[WQWx="[WxPx="[WQPQ'[WQ  xt="[h hp="[hptp N= "[@@X= "[@XQXN$38 4D+;="[0GH70G"[H70GH7H7="[H7H7`'H7 N$40 N~="[z0G@0G"[@0G@h="[@hQh"[@0G@="[@Q'[@0G N$41 x="[81"[8181h="[81hh="[81t'[81N$42 ="[p"[pp="[pCLK k$m)'"[%'&3_5%" ="[&$"[$n$"[$$H7"[$H7$"[$$p="[$pn$p="[$n$="[$H7n$H7'[$H7'[$'[$VCC ="[X`X="[`X`= "[`X(X'[`XN$52 Q!m"t=="[T!p@"pN$55 Q!"=="[@"T!N$56 Q!4";=="[T!H7@"H7N$57 Q!"=="[T!@"?(V1^81hC8c TX1^PS1 2TCK = CLK / 161^PS`1 2TX pre_divider.1^pp" 2(a half 74393 would al2so do it...)1^4U(" 2transmit1^`'" clock"^```x"^`xІx"^Іx@M x"^@M x@M `"^@M ```"^ІxІ"^І#z"^Іz1^pQ1 2transmit1^p1 hold1^p(1 2register"^81`81x"^81x0x"^0x0`"^0`P!`"^P!`81`"^P!`P!"^P!H7"^P!H71^tZ1 2transmit"^hhP!"^hP!^&P!"^^&P!^&"^^& #"^ #h"^ # #"^ #D#81"^ #X $811^` Z1 2shift registers"^zPSz"^z@"^@"^`'"^`'`"^`"^"^ "^ 0G"^0G"^P"^P "^ p- "^p- g "^g  "^  "^  "^@@PS"^PS"^`'`'PS"^``PS"^PS"^PS"^  PS"^0G0GPS"^PS"^PPPS"^  PS"^p- p- PS"^g g PS"^  PS"^  PS"^  PS"^ PSzPS1^LE |1 01^ |" T01^, |" T11^ |"T21^ _ |" T31^|%|"T41^|" T51^\|"T61^x|" T71^1 n"[g Ap- A="[ jg j"[g jp- j="[g Ag j'[g j= j= = "[HmHH > ="[PS="[PS A A"[PS APS"[PS='[PST0  !:= = "[h ! 3_t " T1 T!= = "[hW!W3_tW" T2 != = "[!PhP3_tP" T3 !c=="[h!3_t" )HI4 (a: !=== = ===="[(+ X!X'[(+ X"[(+ A(+ X"[(+ A! A'[(+ A"[(+ (+ A"[(+ !'[(+ "[(+ z(+ "[(+ z!z'[(+ z"[(+ x(+ z"[(+ x!x'[(+ x"[(+ @(+ x"[(+ @!@'[(+ @= "[(+ Q!Q"[(+ Q(+ @'[(+ Q"[(+ (+ Q"[(+ !'[(+ ="[(+ !"[(+ (+ '[(+ "[(+ (+ X= "[(+ X= !X= ="[(+ XdXN$35 Q!* %E="[!p- T!p- "[T!p- T!p"[T!pp%p"[p%pp% A= "[p% A8% AVCC   = ="[Hx H  q ="[ttX="[tXX * q ="[  p- ="[ p- mp-  W=="[Z  W =="[8 Z8  /WTX * 5 = "[ Ap- "[ Ap- 81p- 3_Xp- " ` j ="[8cg p "[p ` 3_) " TX %'K= "['0GP'"[P'8%3_^&" tCLK `w"[8cpz"[pzz3_)z" =TDONE  t= "[  0G"[g  '[g "[g 0Gg = ="[ p"[pp"[p= "[0G"[g '[TCK s !"[ Av "[ Av v "[v g "[g (="[(!(="[g !g '[g 3_Xv " > = "[x X@M A"[@M A A3_# A"  w1 "[ v z"[v zp- z3_ z" =/TLD  !"[v A "[ A d "[d d "[d d="[d!="[d ! '[d 3_X " d U"[x(@`= "[PP`"[P`g `"[g `g Q="[g Qp- Q"[@`P`'[P`3_``" N$8  1 = "[  x="[ xp- x TX_BUSY  * K="[x @p- "[@p- Wp- "[Wp- p- = "[W0GWp- '[Wp- 3_`p- "  N$18 Z = = "[H(]H`"[H`H#"[H`(]`"[(]`(] ="[(] ` ="[(]``'[H`'[(]`N$20 s ;E="[v `H7`"[H7`H7 A= "[H7 A  AHI1 ="[="[QQ= "[@@="[xx=="[jj"[j'[j="[XX"[Xj'[X"[Xx'[x"[x@'[@"[@Q'[Q"[QHI2  1 "[8 p- ="[8 @p- @= "[8 8 @"[8 Xp- X="[8 @8 X"[8 p- ="[8 X8 ="[8 8 '[8 '[8 X'[8 @ HI3  1 ="[(]8 `8 ="[(]p- `p- '[(]p- "[(]p- (]8 ="[(]p- p- T4 }!=="[h!3_t" T5 !*=="[h!3_t" T6 D!=="[h0G!0G3_t0G" T7 !="[hh;h"[;h;= "[;!3_th" D3 5="[ A"[ A813_X" D2 5!="[ AP"[ AP81P3_XP" D1 T5="[P AW"[ AW81W3_XW" D0  5[= "[W A "[ A 81 3_X " X( 1^)xjJ QD1^)jJ QC1^)jJ QB1^)pjJQA1^)jJ RCO1^)pjJ TCK1^)WjJ /WTX1^8c8 jJ 2TX_BUSY1^)X= jJ /TLD1^)x jJ ENP"^|phCp"^hCphCZ"^hCZ Z"^ Z p"^ pHp"^HpHZ"^HZZ"^Zp"^p(]p"^(]p(]Z"^(]Z#Z"^#Z#p"^#pp"^pZ"^Zx Z"^x Zx p"^x pv p"^v pv Z"^v ZX= Z"^X= ZX= p"^X= p p"^ p Z"^ Z8 Z"^8 Z8 p"^8 p p"^ p Z"^ ZWZ"^WZWp"^Wpp"^pZ"^ZZ"^Zp"^php"^hphZ"^hZpZ"^pZpp"^ppH7p"^H7pH7Z"^H7ZZ"^Zp"^p(p"^(p(Z"^(ZZ"^Zp"^pQp"^QpQZ"^QZxZ"^xZxp"^xpp"^pZ"^ZXZ"^XZXp"^Xpjp"^jpjZ"^jZ81Z"^81Z81p"^81pp"^pZ"^ZZ"^Zp"^pp"^pZ"^ZJZ"^JZJp"^Jphp"^hphZ"^hZZ"^Zp"^pHp"^HpHZ"^HZdZ"^dZdp"^dp(+ p"^(+ p(+ Z"^(+ Z Z"^ Z p"^ p!p"^!p!Z"^!Zx~"Z"^x~"Zx~"p"^x~"pD#p"^D#pD#Z"^D#ZX $Z"^X $ZX $p"^X $p$p"^$p$Z"^$Z8%Z"^8%Z8%p"^8%p^&p"^hC "^  W"^ WW"^W"^hC8 8 "^8  "^ (] "^hC  "^ X= "^X= (]X= "^hCH7(]H7"^(]H7(]p"^(]pp"^pH7"^H7v H7"^v H7v p"^v p p"^ p H7"^ H7 H7"^hCh(]h"^(]h(]"^hC(v ("^hC(]"^(](]x"^(] (]8 "^(]X= (] "^hCx (]x "^(]x (]v "^v (v "^ H7 p"^ pp"^pH7"^H7hH7"^hH7hp"^hpH7p"^H7pH7H7"^H7H7(H7"^(H7(p"^v  "^  ("^ (h("^hCQv Q"^v Qv "^(]xv x"^v xv "^h(h"^(pQp"^QpQH7"^QH7H7"^H7p"^pjp"^jpjH7"^jH7H7"^H7p"^pp"^pH7"^H7hH7"^hH7hp"^hpHp"^HpHH7"^h("^((("^v h"^hhQ"^v 1^jJ 61^~ jJ71^ jJ 81^ jJ9"^g "^g g W"^g W W"^ W "^(]Q"^QQh"^Qhh"^h"^(]8 g 8 "^g 8 g "^g  "^ 8 "^(] Q "^Q QX= "^QX= X= "^X=  "^(]v Qv "^Qv Qx "^Qx x "^x v 1^rjJ 61^jJ 71^|jJ 81^\jJ 9"^HH7(+ H7"^(+ H7(+ p"^(+ p!p"^!p!H7"^!H7D#H7"^D#H7D#p"^D#p$p"^$p$H7"^^&p^&Z"^^&Z%'Z"^%'Z%'p"^%'pP'p"^((("^("^h"^hh("^h((+ ("^hQQ"^Q"^xx"^x"^(+ ((+ "^(+ D#"^D#D#("^(+ "^(+ (+ Q"^x"^$"^$$h"^$hP'h"^$H7P'H7"^D#(P'("^(+ QP'Q"^P'"^ P'"^8 P'8 "^ P' "^v $v "^$v $x "^$x P'x 1^)#jJTX"^hCH"^H(]"^v "^v  "^  "^ "^h"^hH7"^H7("^(Q"^Q"^j"^"^h"^hH"^H(+ "^(+ !"^!D#"^D#$"^$^&"^^&P'"^(](](]"^(]v (]"^v (] (]"^ (] (]"^ (](]"^(]h(]"^h(]H7(]"^H7(]((]"^((]Q(]"^(]j(]"^j(](]"^(](]"^(]h(]"^h(]H(]"^H(](+ (]"^(+ (]!(]"^!(]D#(]"^D#(]$(]"^hC(]hC"^HH(]"^(](](]"^(]"^v (]v "^  (]"^ (] "^(]"^h(]h"^H7H7(]"^(((]"^QQ(]"^(]"^jj(]"^(]"^(]"^hh(]"^H(]H"^(+ (+ (]"^!(]!"^D#D#(]"^$(]$"^^&^&(]1^<`jJ 11^e`jJ 11^`jJ 01^@M `jJ T01^ `jJ T11^g `jJ T21^ `jJ T31^`jJ T41^ `jJ T51^`jJ T61^`'`jJ T71^`jJ 11^r`jJ01^`jJ T01^Z`jJT11^`jJ T21^t`jJT31^`jJ T41^` `jJT51^@"`jJ T61^ #`jJT71^f%`jJ 11^|&`jJ 1"^hCXHX"^HX(]X"^(]XX"^Xv X"^v X X"^ X X"^ XX"^XhX"^hXH7X"^H7X(X"^(XQX"^QXX"^XjX"^jXX"^XX"^XhX"^hXHX"^HX(+ X"^(+ X!X"^!XD#X"^D#X$X"^$X^&X"^^&XP'X"^hCH"^H(]"^(]"^v "^v  "^  "^ "^h"^hH7"^H7("^(Q"^Q"^j"^j"^"^h"^hH"^H(+ "^(+ !"^!D#"^D#$"^$^&"^^&P'"^hChCX"^HHX"^(](]X"^X"^v v X"^  X"^  X"^X"^hhX"^H7H7X"^((X"^QQX"^X"^jjX"^X"^X"^hhX"^HHX"^(+ (+ X"^!!X"^D#D#X"^$$X"^^&^&X1^pXjJ QD..QA1\x 3jJ 2first Byte transmitted1\3jJ 2second Byte transmitte2d1^81hCjJ2TX timing diagram1^)t;1 2Example:1^hCt;1 2two Bytes are transmit2ted.1^8c11 2For a more detailed de2scription, see next pa2ge."^pp"^1^jJ 151^3jJ 151^ jJ 101^jJ 111^ jJ 121^jJ 131^`'jJ 141^@jJ 151^tjJ 101^jJ 111^` jJ 121^@"jJ 131^ #jJ 141^5%jJ 151^&jJ 151^8c1 2The counter cycles tro2ugh 6..15 while 10 Bit2s are transmitted1^8c\K1 2(one Start Bit, 8 Data2 Bits, one Stop Bit).1^8c 12Else, transmission of 2the Data starts in the2 next clock cycle.1^8c1 2If there is no new Dat2a in the 'transmit hol2d register',1^8c|1 2the counter will stay 2at 15, and '1' is tran2smitted."^H"^)3"^3"^) 8cH"^8cH8 H"^8 H "^ ) 1^^&)1 1.08U$800:B$12 \^""\(](]P!:B$13 ""\P!:B$14 ^&`&""\^&^&P!/,1^81hCjJ 2TX description1^p1 2The RCO output goes 1,2 if ENT = 1 _and_ all 2four counter Bits are 21 (if the counter is i2n state '15' that is),1^pz12That's why we're using2 an inverter to force 2ENP 0, when RCO = 1."^N(1^pQ1 2So if the counter has 2a random value after p2ower_on, it always wil2l stop counting when i2t reaches 15 after a1^p1 i2few clock cycles.1^p`1 2If /LD is low during a2 rising edge on CLK, t2he counter is loaded w2ith a value (6 for exa2mple),1^p1 2and will increment unt2il it reaches 15 again2.1^pZ1 2The 74LS163/74HCT163 i2s a 4 Bit synchronous 2counter. There are thr2ee pins of interest wh2en it comes to countin2g:1^p 1 2The 74LS166/74HCT166 i2s an 8 Bit shift regis2ter with a synchronous2 load, means that if /2LD = 0, a rising edge1^p0G1 2on CLK will load an 8 2Bit value into the reg2ister. When /LD = 1, t2he register does a 'sh2ift left'.1^p1 2Two 74166s are wired t2ogether to work as a 126 Bit shift register, 2although not all of th2e Bits are used...1^pP1 2The serial input is al2ways set to 1, so afte2r a few clock cycles w2ith /LD = 1, the outpu2t of the 16 Bit1^p 1 2shift register will go2 1, what is default fo2r an inactive TX line."^ N( 1^pv 1 2to 1... the flipflop_o2utput stays 1, until t2he Byte is transferred2 into the TX shift reg2ister.1^px 1 2If the counter is in s2tate 15, what means TX2 is inactive (or trans2mitting the Stop Bit t2hat marks the end1^p#1 2transmission starts.1^pH1 2Since we're loading a 2value of 6 into the co2unter, the uppermost c2ounter output QD goes 20 when the transmissio2n1^p 1 2starts... so we use a 2falling edge on that o2utput to clear/reset t2he1^phC1 2TX_start flipflop (by 2using a R/C 'different2iator' as mentioned in2 1^p|1 2some old TI applicatio2n notes), and our UART2 is ready again to get1^p1 2what sets the TX_start2 flipflop, waiting for2 the next Stop Bit.1^p8 1<2Now to transmit the fi2rst Byte:1^pp1 2ENP _and_ ENT inputs h2ave to be 1 to enable 2the counter (to make i2t increment at the ris2ing edge on CLK).1^p1 2a feature intended to 2wire some of those cou2nters together for cou2nting more than 4 Bits2...1^p A1 2We're using RCO in a d2ifferent way: to stop 2the counter if it reac2hes 15, or hexadecimal2 'F'.1^p1 2of the transmission), 2/LD is pulled low, so 2that the counter and t2he TX shift registers 2are loaded and the1^p1 2and 8 Data Bits. All u2nused Bits are set to 21 to work as 'Stop Bit2s'.1^p 1 2The CPU/microcontrolle2r/whatever in control 2of this UART writes a 2Byte into the 'transmi2t hold register'1^p1 2another Byte written i2nto the 'transmit hold2 register'...1^p(]1 2Actually, we re loadin2g a 9 Bit word into th2e 16 Bit shift registe2r: one leading Start B2it that always is 0, 1^pX= 1 2with a low_active writ2e_enable: a rising edg2e on /WTX loads said r2egister, and sets the 2TX_start flipflop1^pp1 2Then the whole game st2arts again, and that's2 all there is to it.1^^&)1 1.08U$300X( 1^8chC8c RX"^zW@ "^@ "^ p- 8 "^p- 8 g "^g  "^ 0W1^PShCjJ 2schematic, part 1"^5%n$P"^n$P0P"^0P "^ P!P"^P!P`P"^`P1^pg jJ 2Start Bit detection1^Z jJ 2(falling edge)1^ 1 2serial Data"^lT"^Td "^TdD)"^p% A%' A"^%' A|&"^%' A|&r1^v#Q1 e2Start Bit"^|&%"^%p%T/"^%p%1^QjJ /RX11^QjJ RX21^Q`jJ CLK1^`jJ2/RSTART"^X`j`"^j`jІ"^jІ81І"^81І81`"^81``"^`І"^ІІ"^І`"^``"^`І"^ІJІ"^JІJ`"^J`h`"^h`hІ"^hІІ"^І`"^`H`"^X"^3"^X"^m"^3H3"^mHm"^X00"^0"^H"^XPSPS"^PS"^"^PS"^PSHPS"^` `T!`"^T!`T!І"^T!І@"І"^@"І@"`"^@"`"`"^"`"І"^"І #І"^ #І #`"^ #`n$`"^n$`n$І"^n$І5%І"^5%І5%`"^5%`p%`"^p%`p%І"^p%І&І"^&І&`"^&`P'`"^` 3"3"^"3""^` m"m"^"m""^"P'"^"P'"^` n$"^n$n$0"^n$0P'0"^` PSP'PS"^`d`"^`(+ `"^PSdPS"^PS(+ PS"^d"^(+ "^mdm"^m(+ m"^3d3"^3(+ 31^`'jJ Data1^jJ 2flipflop1^ 1 2Start Bit detection1^`v 1 2RX is 0 for three CLK 2cycles:1^`#1 2RX is 1 for three CLK 2cycles: 1^`x 1 274151 A..C = 0 -> RX1 2= 0.1^`(]1 274151 A..C = 1 -> RX1 2= 1.1^Q3jJ RX1"^p@M "^@M `x "^`x x "^x %'x "^%'x P'x "^P'x '@M "^'@M 'p"^'pP'8c"^P'8c`8c"^`8cp"^ D# "^D# %'x "^ x 1^0G1 2is disabled because1^1 2RX2 is forced to 0."^x~"x~"z"^x~"z$z"^$zP'z"^P'zP'"^P'x~"1^v#41 2detected."^$z$r"^$r,$ A"^$rd% A"^h"^h"^""^"""^""^hh""^hT/"3^T/|"3^T/1^`31 2...else, RX1 won't cha2nge."^pH8c3"^8c38c "^8c pX= "^pX= X= "^X= H7 "^H7 H73"^H73H"^HpH1^x jJ 2'digital' Filter1^z1 RX1%^PS`%^PS#%^PS(]%^`"^l`` "^І"^|"^||І"^|ІІ"^ІІ"^u#u`"^u`u(]"^u(]u"^uu"^u"^`"^`#"^#u#1^" D1^t;" Q"^u(]+"^+u"^u``"^``"^PS`)`"^)`)3"^)303"^033"^3`"^``&^."^`0Ď"^`0"^03"^03e"^PS(]|(]"^PS#|#1^D[" 11^D[+" 01^!" 74151"^v  "^  "^ ~ "^~ @M "^@M @M "^@M $@M "^$@M |@M "^|@M |v "^|v v 1^! " D"^ !x "^!x ~ "^  "^  "^ D[ "^ D[LE "^ІPS"^PS"^@M "^$@M $"^$"^І1^! " 741641^4U" 7474"^`T`"^T`Ď"^T`1^pLE " RX1^#" RX11^l" 0.5*"^++e"^++"^+++Ď"^+`+#"^+4U+l"^++@M "^+~ + "^+ +v "^+ + 1^PS~  QA..QC1^"1 2/RSTART = 0 :1^1 2receiver is running,1^h1 2RDONE = 0 :1^ " 2(c) Dieter Mller 20071^ " 2dieter.6502@gmx.de1^ )1 1.08U$7008IC197416403`0)08IC29741510 @008IC39747400J A0hC08IC5974000#v 0x~"X000H08GND19GND0 8R194k70`Z8P+19VCC0Z:B$2 ''"\'':B$16 Ts"\8c8c:B$17 Q "\@M p:B$18 Q "\p@M N$9   = ="[ #N$10  $ +== "[#`' `'N$11   =="[ (#( RX `$G="[8cp"[p0"[0hC"[00`'="[0`'hC`'3_)" '[0 GND   ="[  `"[ ` ="[  ="[ ` `'[ `#RX1 " '======= = "[ @ @"[ @ x"[ x x'[ x"[ x z"[ z z'[ z"[ z "[  '[ "[  A"[ A A'[ A"[ A X"[ X X'[ X"[ X p"[ pXp"[XpXX"[XXzX"[XXZX'[XX3_n$p" "['P'p"[P'pXp'[XpHI ^^=="[xx="[Z"[Z= "[@M Q Q="[0h0"[0hC"[0h@M h"[@M h@M Q'[@M Q"[@M Q@M Z="[ІZ@M Z'[@M Z"[@M ZZ"[ZZ'[Z"[ZX"[Xx"[XX'[XCLK `D^="[8chp0G"[p0G0G"[0G"[hC3_)0G" "[0GH70G"[H70GH7z="[H7zz'[H70G"[H70Gp0G"[p0Gp="[pZ'[0GVCC 0W^=="[3ZZN$14 >E=="[ A A /RX1 wX!E="[zx Ax"[ Ax A"[ A` "[` ` A="[` AT! A3_" RX2 8X!N=="[T!;3_" /RSTART #' ="['P'X"[P'X #X3_n$X"RDONE ]'~="[Zzz"['(P'`"[P'``"[`z3_n$`"(O a1^81hC8c RX1^P!hCjJ 2schematic, part 21^JZ1 2receive1^@"Z1 2receive1^Jp1 shift1^J1 2register1^@"1 2register1^@"p1hold"^jP!"^P!dP!"^dP!dj"^djj"^jj"^!j!P!"^!P!5%P!"^5%P!5%j"^5%jX $j"^X $j!j"^j A"^ AtX"^ A;X"^X $jX $ A"^X $ A #X"^X $ An$X1^g 0G1 2Cycle counter1^ 0G1 2Bit counter"3^ "3^ H "3^H @M "3^@M @M "3^@M "3^ "3^ "3^  "3^ p- "3^p-   "3^   "3^ h"3^hg "3^g  "^p- p- "^p- 8 p"^p-  p"^Hmp"^H H"^H3p1^H1 2flipflop1^ 1 2synchronizes1^hC1 2RDONE to1^|1 2eliminate1^12spikes..."^)PS)"^)m"^m3"^33PS"^3PS)PS"^mm`"^m` (]"^m`H(]1^v 1 2Two Bit shift register2."^ 8c 0"^ 0z0"^z0z8c"^z8c 8c1^` 1 2rising edge1^`8 1 2after a Byte1^` 1 2is received."^WXW"^XWX "^X Q "^Q  "^ W"^Q Q "^Q X= "^Q @X= 1^v PS1 2Clocked, after a Byte 2is received.1^ 1 2stops at 15.1^8 1 2increments1^8 W1 2Bit counter"3^ "3^P"3^P@M P"3^@M P@M "3^@M "3^g  "3^  g "3^ g g "3^ g "3^ h"^"g X $g "^X $g X $, "^X $, X $ "^X $ 8% "^"@M X $@M "^X $@M X $l"^X $lX $І"^X $Іn$І"^n$І5%@M "^X $, # "^X $, <$ "^X $l#"^X $l<$"^5%@M 8%@M "^,$ ,$ "^,$ d%v "^,$ <$v "^8%X $"^X $X $$O"^X $$OX $P"^X $P"P"^X $$O<$"^X $$O#"^,$p- ,$|%"^,$p- d% "^,$p- <$ 1^(]1 2rising edge at /RRX1^(+ 1 2clears VALID and"^d#"#"^"#^&#"^^&#&#"^&#&m"^dmd#1^v 1 2Cleared, when reading 2the1^v p1 2'receive hold register2'."^81X=  "^ p "^  "^p#Z"^p#pІ"^p##1^ H1 2OVERRUN flags.1^p1 2starts the1^p1 2receiver."^ Xh"^hh"^h Z"^ Z@Z"^@Zx"^xx"^x@X"^@X X1^`1 2receiver is1^`1 2running."^p"^plp"^lpXp"^XpX"^X1^ p1 2/RSTART = 0 :1^`h1 2RDONE = 0 :"^lpl"^l"^lQ"^V'hD&h"^D&h&x"^D&h&"^`t`"^t`p"^t`pT/"^t"^tp"^tph"^!=="[X X"[ X A'[ X="[ A X"[ X X'[ X"[ Xp- X"[p- XHX"[HXH A=="[p- Xp- A'[p- X 8?= = "[;;RX1 >w="[Xzz3_z" "[ AXzHI12 j ==="[h` `"[h h`"[ h "[  "[ v '[ "[  І"[ Іv І'[ =="[v |v '[v "[v "[|"[v  "[  ="[ g '[ CLK `J  ="[8cx p@M "[p@M |@M 3_@M " `>j %="[g g A="[   A"[ g "[8cP!p"[p 3_)" '[ VCC 8 ? = ="[; ;  =="[p !=="[  =="[P  /RSTART `>A ^="[X= X= A="[00 A"[0X= "[8cZp"[p03_)" '[0N$17 @ ="[  `= "[hC AhC"[hC"["[  N$26 w 5="[ A81="[8181"[81z"[81 81="[ 81 A'[81RDONE & E+===="[`'H7"[H7)H7"[)H7)`''[H7"[H7|H7"[|H7|`'[|H73_H7" "[ AH7"[|H7H7"[)H7) "[) | '[)H73_ " D3 %'U"['QP'"[P'8%3_^&" =D2 %'"['P'"[P'8%3_^&" = D1 %$'"['P'`'"[P'`'8%`'3_^&`'" = D0 %'+"['`'P'("[P'(8%(3_^&(" = /RRX  '"['pP' "[P' T! "[T! T!="[T!!3_^& ""[T! T!"[T! = "[  "[T!!= "[!!'[T!'[T! D4 %N'"['@P'Q"[P'Q8%Q3_^&Q" =D5 %'"['xP'@"[P'@8%@3_^&@" =D6 %'~"['zP'x"[P'x8%x3_^&x" =D7 %w'="['P'z"[P'z8%z3_^&z" RCK * ="[= "["[p- "[p- p- `3_" RLD Z!="[(]v @M v "[@M v v "[v Xv "[Xv (+ = "[(+ !'[@M v "[@M v @M `="[@M `v `'[v "[v ="[ 3_Qv "  RX_VALID TZ Q "[@M X"[X="[W3_Q" "[(]="[(] (]'[OVERRUN  '="[#X`"[X``3_Q`" N$22  X! ="[v (] (]"[ (] "[ "[3="[3 3"[;;@M = = "[;P!"[P!"['['[;"[;T!"[T!T!x = "[;;ІN$27 Q!: X! = = "[T!8 T!X= N$2 aw!~=="[dz!zN$3 a!=="[!xdxN$4 a!= = "[d(!(N$5 a$!+== "[!`'d`'N$6 a!= ="[d!N$7 a!=="[d@!@N$23 aN!U=="[!QdQN$28 a!= ="[d!HI10 y>!n="[33 A="[ A="[ A== "[  A'[ "[  "[  A'[ ="[ '["['["[3'[3"[3|"[|| A="[ W"[W"[j="[WW A'[W HI11 E"[x(="[((="[xx="[x A'[x^X(1^pjJ CLK"3^3"3^p"3^p`p"3^`p`"3^`І"3^ІІp"3^Іp@M p"3^@M p@M "3^@M  "3^  p"3^ p p"3^ p "3^  "3^  p"3^ pg p"3^g pg "3^g p- "3^p- p- p"3^p- p p"3^ p "3^ P"3^PPp"3^Ppp"3^p"3^0G"3^0G0Gp"3^0Gp p"3^ p "3^ "3^p"3^pp"3^p"3^`"3^``p"3^`p`'p"3^`'p`'"3^`'"3^p"3^p@p"3^@p@"3^@z"3^zzp"3^zp Ap"3^ Ap A"3^ A"3^p"3^pp"3^p"3^p"3^ppp"3^ppZp"3^ZpZ"3^ZP!"3^P!P!p"3^P!pp"3^p"3^0"3^00p"3^0ptp"3^tpt"3^t;"3^;;p"3^;pp"3^p"3^"3^3"3^І"3^І "3^  "3^ p- "3^p- P"3^P0G"3^0G"3^`"3^`"3^z"3^z"3^p"3^pP!"3^P!0"3^0;"3^; A0 A"3^0 AP! A"3^P! Ap A"3^p A A"3^ Az A"3^z A A"3^ A` A"3^` A A"3^ A0G A"3^0G AP A"3^P Ap- A"3^p- A A"3^ A A"3^ AІ A"3^І A A"3^ A3 A"3^ A"3^ІІ A"3^ A "3^  A"3^p- Ap- "3^P AP"3^3zІz"3^ІzІ@"3^І@ @"3^ @ z"3^0G0G A"3^ A"3^`` A"3^ A"3^zz A"3^ A"3^pp A"3^P!P! A"3^00 A"3^;; A1^p@jJ 2/RSTART1^(]r1151^r115"3^p"3^p` p"3^` p` "3^` T!"3^T!T!p"3^T!p@"p"3^@"p@""3^@"""3^;"3^T!"3^T!T! A"3^T! A A"3^ A; A"3^ A"3^T! A" A"3^T!""3^"" A"3^""p"3^"p #p"3^ #p #"3^ #n$"3^"n$"3^n$n$ A"3^n$ A" A"3^ zn$z1^p`'jJ RCK1^`'1 (=QD)"3^3 "3^  `'"3^ `'`'"3^`'"3^T!"3^5%Zp%p"3^p%pp%"3^p%& A"3^& Ap%z"3^p%zp%"3^p%5%`'1^P'`jJ 2Cycle Counter1\#tjJ Start1\ `1 2rising edge samples Da2ta1\ 1 l2in the middle of the B2it.1^pPjJ RCK1^p jJ 2/RSTART1^p jJ RX11^pjJ RLD"3^  "3^  P"3^ P P"3^ P "3^ g "3^g g P"3^g Pp- P"3^p- Pp- "3^p-  "3^  P"3^ PPP"3^PPP"3^P"3^P"3^P0GP"3^0GP0G"3^0G "3^  P"3^ PP"3^P"3^"3^P"3^P`P"3^`P`"3^``'"3^`'`'P"3^`'PP"3^P"3^@"3^@@P"3^@PzP"3^zPz"3^@M g @M "3^@M "3^ g "3^ g "3^g g g "3^g "3^ g "3^  "3^ g "3^  "3^  g "3^   "3^ g "3^ `' "3^`' `'g "3^`' @ "3^@ @g "3^@ A "3^ A Ag "3^ g "3^g P!g "3^zP!"3^~ "3^P!p- pp- "3^pp- p- "3^p- zp- "3^zp- p- "3^p- `p- "3^`p- p- "3^p- 0Gp- "3^0Gp- Pp- "3^Pp- p- p- "3^p- p- p- "3^ p-  p- "3^ p- Іp- "3^Іp- p- "3^ І "3^І  "3^ "3^ p- "3^p- P "3^P 0G "3^0G  "3^ ` "3^`  "3^ z "3^z  "3^ p "3^p P! "3^ p- "3^І Іp- "3^g @M g "3^  p- "3^ p- "3^p- p- p- "3^P Pp- "3^0G 0Gp- "3^ p- "3^` `p- "3^p-  "3^z zp- "3^ p- "3^p pp- "3^P! P!p- "3^ @M "3^@M @M  "3^@M  ~  "3^~  ~ "3^~ P! 1^ , 1 01^ , 1 RD01^ , 1 RD11^|%, 1 RD21^\, 1 RD31^