Posted By: Brouk (Zrovinka ten ...) on 'CZhardware'
Title:     RS232 uprava
Date:      Wed Oct 11 11:57:19 1995

Cauky hojky, hardwaristi :-))

Jak jsem slibil, predhazuji zde sve reseni problemu s tou modifikaci RS-ka.
Hnedle v uvodu se omlouvam vsem, kterym jsem nasadil brouka (nebo snad
Brouka?) do hlavy s tou moji zminkou o retriggeru... jak jsem tak jel domu,
houpaje se jsa zavesen na tramvajovem madle, doslo mi, ze jsem opet placl
hloupustku, nebot funkce retriggeru by se hodila na presne opacny
problem...  no nic.  Takze zde  je  me  reseni a  rozneste ho  na kopytech,
paklize ho shledate zmatenym. Podotykam, ze jsem to nezkousel v praxi :-))


<Pro ty, kteri nevedi, o jaky problem jde - prectete si postik cislo ...>

Predpokladam, ze vstupni signal je upravenej do CMOS urovni - takova RSacka
nula v -12V by asi nedelala dobrotu. Pokud tuhle mrsku hodlas napajet primo
z RS232  konektoru PCcka  (treba ze  signalu  DTR  nebo RTS)  +12V, tak  na
"pojisteni" vstupu a napajeni budou hadam stacit diody.

Takze - pokud by stacilo, aby kazda "jednicka" klasickeho RSka byla
reprezentovana kladnym pulzem o delce poloviny trvani tehle jednicky, staci
k reseni daneho problemu jeden CMOS obvod 4047 zapojeny jako gatovany
astabil. Signalove by to tedy vypadalo asi takhle:


                               t(B)
                            |<----->|
                 ..neco..       1       1       1       0    ..neco..
                            v       v       v       v
                             _______________________
Vstup (RS232)          _____|                       |______

                             ___     ___     ___
Vystup z pripravku     _____|   |___|   |___|   |__________

                            |<----->|
                               t(A)

Cas t(A) se voli pomoci hodnot R a C soucastek pripojovanych na vstupy
Ct, Rt a RCt obvodu 4047 a vzorec pro jeho vypocet je nasledujici:

                     t(A) = 4.4 * R * C   (+7%, -0%)

Vstup (signal z RS232) nam hradluje oscilator, ktery (aspon podle vnitrniho
zapojeni obvodu)  by mel byt synchronizovanej  tim spoustecim impulzem. Jak
je vam asi vsem jasny, to t(A) by melo byt presne rovno delce trvani RSacke
jednicky t(B) ...coz si nebudeme namlouvat, je temer neproveditelna
zalezitost.  Krize by  nastala, kdyby   t(A) bylo  mensi nez  t(B), protoze
bychom dostali na vystupu falesnej impulz z oscilatoru, kterej by vypustila
jeste  ta "stara"  a uz   jednim pulzem  reprezentovana jednicka.  Kdyz ale
nastavime t(A) zlehynka (ale opravdu zlehynka) vetsi nez t(B), tak, aby nam
ty presahy ani  po odvysilani FF "nepreskocily" zadnou  jednicku, pri dalsi
nabezne by se  to melo zase sesynchronizovat. (Jo...nemusim  snad rikat, ze
ta nula musi prijit prave nejdyl po  tom FF-ku plus minus autobus nebo driv
;-))

No - takze ted uz jen zbyva nakreslit zapojeni pinu toho integrace a
zapojeni nozicek toho pripravku: (mozna to neni poznat, ale je to klasicka
DIL 14)


                               _______
                             _|  |_|  |_
       pripojeni vnejsiho C |_|       |_|  Udd napajeni
                             _|       |_
       pripojeni vnejsiho R |_|       |_|  Qo vystup oscilatoru (nehradl.)
                             _|       |_
spolecny bod vnejsiho R a C |_|       |_|  RETRIG
                             _|       |_
 negat. uvolneni   neg(AST) |_| CMOS  |_|  neg(Q) negovany vystup
                             _|  4047 |_
 vstup uvolneni         AST |_|       |_|  Q vystup
                             _|       |_
 trigger MKO sestupna -TRIG |_|       |_|  MR nulovani vyst. pulzu
                             _|       |_
                    zem Uss |_|       |_|  +TRIG trigger MKO vzestupna
                              |_______|




Takze jak to zapojit? Zkus to takhle: (H..log 1, L..log 0)

Nozicka      Signal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AST          vstup (signal RS232)
neg(AST)     H
+TRIG        L
-TRIG        H
RETRIG       L
MR           L
Q            Vystup z pripravku


No a kdyby ti nestacilo, ze ten impulz ma delku poloviny trvani jednicky
a potreboval jsi min (myslim ze tam bylo cosi o jedne sestnactine), tak
muzes pouzit stejnej obvod, t.j. 4047 ale v zapojeni jako monostabil,
kde se pres R' a C' nastavi pozadovana doba trvani toho pulzu.
takze signalove by to mohlo vypadat asi takhle:

                               t(B)
                            |<----->|
                 ..neco..       1       1       1       0    ..neco..
                            v       v       v       v
                             _______________________
Vstup (RS232)          _____|                       |______

                             ___     ___     ___
Vystup z prvni 4047    _____|   |___|   |___|   |__________

                            |<----->|
                               t(A)
                             _       _       _
Vystup z druhe 4047    _____| |_____| |_____| |____________

                            <->
                            t(C)

kde pro t(C) plati:
                     t(C) = 2.48 * R' * C'   (+12%, -0%)


A jeste zapojeni nozicek te druhe 4047-icky:

Nozicka      Signal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AST          L
neg(AST)     H
+TRIG        vystup z prvni 4047
-TRIG        L
RETRIG       L
MR           L
Q            Vystup z pripravku


Jo, na funkci toho "zkracovace" vystupnich  impulzu by se dal pouzit i CMOS
4098, ten  ma v pouzdre  DIL 16 dva  MKO, nam staci  jeden, ale kdyby  bylo
treba  udelat tenhle  pripravek dvojity  (rozumej pro  dva nezavisle  RS232
vstupy), tak  to setri misto na  tistaku. Ale zapojeni 4098-icky  tu cmarat
nebudu :-) ... nejsem prekreslovac katalogu do ASCII.

Dale bych rad  upozornil na takove ty notoricky  zname veci... vazne nevim,
jake mas zkusenosti s CMOSkama, takze:

1) nepajej  to pistolovkou, ono  to sice z  99% vydrzi, ale  taky to nemusi
   odejit  hned, ale  az  to  budes nejmin  potrebovat...mimochodem, patice
   stoji 2 Kc.
2) nezapomen  pichnout co nejbliz  kazdeho obvodu mezi  napajeci piny 100nF
   kondik...  Tyhle bestie  jsou nachylny   pustit ti  tam nahodnej  pulz z
   ruseni a zrovna tady by se to docela tezko hledalo :-) (zkusenost)
3) tyhle obvody  se nedelaj  jako HCMOS  ani HTCMOS,  takze urcite  koupis
   obvody, jejichz  napajeci napeti se snese  celkem "divoke"...ale radsi na
   to nehres... a bacha na prepolovavani a tak vubec.

Jo...myslim  ze tam  byl pozadavek  na  nizkou  cenu... tak  v katalogu  GM
Electronic (kteri  jsou docela drazi) je  maloobchodni cena 4047 15,-  Kc a
pro zajimavost te zminovane 4098 14,- Kc.

Hehe...takze to zkus a pokud to teda  nebude chodit, tak prijdes o 30 korun
(a nejaky drobny, pokud nemas v supliku ty "spravny" odpory a kondiky).
Kazdopadne mi dej  vedet, jak se to chova  a taky by me zajimalo,  na co to
vlastne ma  byt. Pokud to  shledam zajimavym, tak  se na to  podivam drobet
podrobneji a to by nebylo, aby se to i v pripade nejakeho neuspechu tohohle
reseni nerozchodilo... myslim tim, ze nevim jak ses na tom s vybavou a tak.

Uuuuffff.... hele mam  u tebe ... no tri  piva nejmin...takhle dlouhej post
jsem snad jeste nenapsal a navic jsem na tom zabil strasne moc casu... a to
kvuli te nasi session uz vubec nestiham...  :-)) ... no jo, ale HW je HW...
to je marny.

Takze cauky hojky a hodne stesti.

         Tfuj      Brouk   '_/`
                      ___  (o o)
                     ( //)()~
                      ~~~  ~~
                                The Session Catastrophic Manager

Search the boards