www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

UART povezava dveh 16F628a

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja PIC-a v Assembler-ju
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
nostromo
Član
Član



Pridružen-a: Sob 24 Dec 2005 18:19
Prispevkov: 251
Aktiv.: 1.06
Kraj: Ljubljana

PrispevekObjavljeno: Tor Avg 22, 2006 10:45 am    Naslov sporočila:  UART povezava dveh 16F628a Odgovori s citatom

Pozdravljeni, potrebujem pomoč začetniku pri povezavi dveh 16F628a.
Preko UART "vrat" (RB1 in RB2) bi povezal master mikrokontroler, ki pregleduje stanje stikal na portA ter ob vsaki zanki pošilje podatek slave mikrokontr., ki ustrezno reagira....pojavilo pa se mi je nekaj vprašanj..:

AD1: Koliko žilni kabel potrebujem za povezavo? 2 ali 3, na netu sem prebral da je poleg RB1 in RB2 potrebno povezati tudi skupno maso??

AD2: Če so povezave dolge moraš imeti vmes še max232?? Koliko pa je ta razdalja?? Jaz bom imel povezavo na cca.5m v avtomobilskem okolju (kabel od telefona ali UTP). Kako vplivajo motnje motorjev?

AD3: Predvidevam da moram uporabiti sinhroni-master način povezave?, saj bo en mikrok. pošiljal, drugi pa sprejemal. Ne vem pa še kako bo master vedel da je slave res sprejel. Ali moram program tako napisat, da mu nazaj sporoči??

AD4: Kako je pa z "uro"? Če uporabim interni oscilator je baje preveč napak pri prenosu ??, zato na netu priporočajo uporabo zunanjih quartzov....??

Hvala za odgovore ali pripombe začetniku (stopnja LED-ic). Če ima kdo od vas preprost (v knjigi mikrok. za F84 je prehud) program se toplo priporočam.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.58

PrispevekObjavljeno: Tor Avg 22, 2006 10:56 am    Naslov sporočila:  Re: UART povezava dveh 16F628a Odgovori s citatom

nostromo je napisal/a:
Pozdravljeni, potrebujem pomoč začetniku pri povezavi dveh 16F628a.
Preko UART "vrat" (RB1 in RB2) bi povezal master mikrokontroler, ki pregleduje stanje stikal na portA ter ob vsaki zanki pošilje podatek slave mikrokontr., ki ustrezno reagira....pojavilo pa se mi je nekaj vprašanj..:


Zakaj pa ne bi kar prvi MCU odreagiral - zakaj dva ?

Citiram:
AD1: Koliko žilni kabel potrebujem za povezavo? 2 ali 3, na netu sem prebral da je poleg RB1 in RB2 potrebno povezati tudi skupno maso??


Skupna masa je potrebna, ce bos povezoval s single-ended povezavo. Ce bos uporabil diferencialno, potem ni potrebna, je manj obcutljivo za motnje, potrebuje pa dve zili na signal (torej dva para zil za dvosmerno povezavo). Za dvosmerno full-duplex povezavo potrebujes tako 3 zile za asinhrono in 4 za sinhrono povezavo, za diferencialno dvosmerno full-duplex pa 4 zile za asinhrono oz. 6 za sinhrono.

Citiram:
AD2: Če so povezave dolge moraš imeti vmes še max232?? Koliko pa je ta razdalja?? Jaz bom imel povezavo na cca.5m v avtomobilskem okolju (kabel od telefona ali UTP). Kako vplivajo motnje motorjev?


Za tako razdaljo in glede na motnje (ter dejstvo, da ne bos priklapljal drugih naprav, ki bi bile omejene na en nacin prillopa, kot so npr. osebni racunalniki z vgrajenim serijskim portom, ji pricakuje RS232 nivoje), ti mocno svetujem RS422 povezavo. TTL je neprimeren za take razdalje in ker bos tako ali tako moral uporabiti transceiverje, naj bodo vsaj manj obcutljivi na motnje kot je RS232.

Citiram:
AD3: Predvidevam da moram uporabiti sinhroni-master način povezave?, saj bo en mikrok. pošiljal, drugi pa sprejemal. Ne vem pa še kako bo master vedel da je slave res sprejel. Ali moram program tako napisat, da mu nazaj sporoči??


Ni nujno, da je povezava sinhrona. Pri asinhroni full-duplex imas eno zilo manj, saj ni clock signala, je pa hitrost (throughput) nekoliko nizja ... a za preverjanje stanja tipk to res nepomembno. Jaz bi na tvojem mestu uporabil asinhrono povezavo.

Da, program moras napisati tako, da bos preverjal ali je drugi MCU podatek sprejel. Noben nacin komunikacije inherentno ne zagotavlja takega preverjanja, saj lahko drugi MCU crkne, ga kaj "zmoti" (tezave z napajanjem, itd.) oz. se mu pac zgodi kaj drugega nepredvidenega in podatka ne dobi.

Citiram:
AD4: Kako je pa z "uro"? Če uporabim interni oscilator je baje preveč napak pri prenosu ??, zato na netu priporočajo uporabo zunanjih quartzov....??


Interni oscilator je dalec prevec nestabilen (temperatura in napajalna napetost uplivata na frekvenco delovanja) za kaj vec kot kaksen preprost prenos z zelo malo biti na frame, torej s pogosto resinhronizacijo. Ce napises svojo kodo za nekajbitni (recimo 1-bitni) ART, potem bi slo tudi brez stabilne ure, a tako pocetje je ponavadi nesmiselno ...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Tor Avg 22, 2006 11:29 am    Naslov sporočila:   Odgovori s citatom

Brezhibno delujoča povezava dveh mikrokontrolerjev (poudarek je na brezhibno) je malo višji nivo kot LED diode. Ali sta dejansko potrebna dva chipa? Stanje stikal na razdaljo 5 metrov bi lahko preverjal z enim chipom. Če omenjeni chip nima dovolj pinov, vzameš malo večji model. Odpadejo pa vse težave z protokolom, softwerom,... . Povezavo od stikal do chipa bi vseeno naredil z optocouplerjem. Za 8 stikal sta dovolj dva DIL 16 optocouplerja.

Jur
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
nostromo
Član
Član



Pridružen-a: Sob 24 Dec 2005 18:19
Prispevkov: 251
Aktiv.: 1.06
Kraj: Ljubljana

PrispevekObjavljeno: Tor Avg 22, 2006 2:01 pm    Naslov sporočila:   Odgovori s citatom

Sokrat:
Imam delujoče vezje za en MCU, ampak uporablja 10 žilni kabel za stikala....torej bi moral po avtu napeljevati 10 žilni kabel, luknje vrtat...??! Po pregledu sem ugotovil da bi šel čez požarno steno, po original luknjah kakšen okrogel kabel manjših dimenzij cca.4 žilen (bi moral v HTE pogledat kaj bi se dobilo)-torej mi preostane VF ali kabel komunikacija. Pa se mi je zdelo da je za kabel bolj enostavno.
Citiram:
Skupna masa je potrebna, ce bos povezoval s single-ended povezavo. Ce bos uporabil diferencialno, potem ni potrebna, je manj obcutljivo za motnje, potrebuje pa dve zili na signal (torej dva para zil za dvosmerno povezavo). Za dvosmerno full-duplex povezavo potrebujes tako 3 zile za asinhrono in 4 za sinhrono povezavo, za diferencialno dvosmerno full-duplex pa 4 zile za asinhrono oz. 6 za sinhrono.

No navsezadnje bom le moral napeljat 10 žilni kabel Laughing


JUR: Problem je v kablu, meni drugače vse deluje z enim MCU-jem(8stikal portA in 8relejev na portB)........mi lahko razložiš
Citiram:
Povezavo od stikal do chipa bi vseeno naredil z optocouplerjem. Za 8 stikal sta dovolj dva DIL 16 optocouplerja


LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.58

PrispevekObjavljeno: Tor Avg 22, 2006 2:11 pm    Naslov sporočila:   Odgovori s citatom

Aha ... vidis, to se zgodi ker ljudje ponavadi vprasajo tehnicno stvar, brez da bi razlozili okoliscine, kot da jim bo kdo "iznajdbo" ukradel Very Happy

Ce bi rad zmanjsal stevilo potrebnih zil z 10 na manj, potem je 3 ali 4 smiseln minimum, ceprav teoreticno gre tudi z manj (masa je v avtu skupna, komunikacija pa lahko poteka po eni sami zili half-duplex), a bos s tem imel samo glavobole zaradi motenj in programiranja, luknjo za enozilni kabel moras pa vseeno narediti.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Tor Avg 22, 2006 2:26 pm    Naslov sporočila:   Odgovori s citatom

Dobijo se zelo tanki večžilni kabli. Ker je plašč kabla določene minimalne, med 4 in 10 žilami v debelini kabla skoraj ni razlike.

Imam narejeno neko tako napravo za dolge žice, bom do jutri našel shemo. Če bi vzel pravilno oklopljen kabel, bi na 5 metrov delovalo tudi v avtu brez optocopulerjev. Avtomobili so načeloma za elektroniko zelo slabo okolje, ki zahteva svoje. Od tega pride tudi naziv automotive elektronika.

Jur
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.72
Kraj: Kranj - struževo

PrispevekObjavljeno: Tor Avg 22, 2006 5:15 pm    Naslov sporočila:   Odgovori s citatom

Predlagam večžilni zelo tanek kabel - saj ne potrebuješ velikih tokov.

Pozoren bodi na statično elektriko - skozi stikalo/tipko lahko brez problema uničiš MCU. Samo spomni se, kako lahko useka, ko stopiš iz avta ven... Pred MCUjem obvezno daj supresorske/zaščitne diode za 5V.

Če boš delal komunikacijo, naredi RS422 ali RS485 (praktično ista zadeva). Masa je lahko skupna šasija in rabiš damo še 2 žici za eno smer.

Dvosmerno se mi ne zdi smiselno. Razmisli, kaj bi lahko oddajni MCU naredil, če ugotovi, da ukaz ni bil sprejet? Požmrkne ledica? nesmiselno.

Asinhrona komunikacija je povsem v redu. Ne rabiš nekih specijalnih kristalov, ker zadeva itak ne bo priključena na PC in lahko uporabiš poljuben baud-rate, npr. 8210bps. Glavno, da imata oba enako. Počasnejša ko je hitrost, bolj zanesljivo bo zadeva delovala. Če imaš samo tipke za prenašat, bo 300baud povsem zadosti (max 37 pritiskov na tipko v sekundi).

LP

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
egomez
Član
Član



Pridružen-a: Sob 03 Apr 2004 18:49
Prispevkov: 517
Aktiv.: 2.18
Kraj: Ljubljana/Sežana

PrispevekObjavljeno: Sre Avg 23, 2006 12:58 am    Naslov sporočila:   Odgovori s citatom

Citiram:
Dvosmerno se mi ne zdi smiselno. Razmisli, kaj bi lahko oddajni MCU naredil, če ugotovi, da ukaz ni bil sprejet? Požmrkne ledica? nesmiselno.
ž

Če ukaz ni bil sprejet, bi ga pač poslal ponovno.
Če pa je program napisan tako, da nima časa ponovno poslati, potem pa je res nesmiselno.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Sre Avg 23, 2006 8:46 am    Naslov sporočila:   Odgovori s citatom

V prilogi so slike vezja in sheme in eagle .brd in .sch naprave, ki bere stikala na večjo razdaljo. Uporabljeni so optocouplerji za izolacij šokov, ki bi scvrli CPU. Izolirani so samo vhodni pini. Napajanje in masa sta skupna za obe strani optocouplerjev. Ker ne gre za visokonapetostno izolacijo ni problema, ne glede na to, da masa in plus niso galvansko ločeni. Na sliki narejene naprave je stikalo na kratkem kablu. V praksi je uporabljen 15 metrov dolg UTP (mrežni kabel). Vsako stikalo je na svoji parici. Na shemi ni videti blok kondenzatorjev 100 nF na regulatorju. Ta dva sta nalotana direktno na 7805, zato jih na načrtu ni.

Slike so bolj slabe kvalitete zato, da so kratke. V .zip datoteki so zložene vse stvari, tako da si z eaglom lahko pogledaš original.

Jur



mx_sch.jpg
 Opis:
 Velikost datoteke:  68.71 KB
 Pogledana:  43 krat

mx_sch.jpg



mx_brd.jpg
 Opis:
 Velikost datoteke:  25.12 KB
 Pogledana:  11 krat

mx_brd.jpg



MX.jpg
 Opis:
 Velikost datoteke:  30.72 KB
 Pogledana:  8 krat

MX.jpg



mx.zip
 Opis:

Download
 Ime datoteke:  mx.zip
 Velikost datoteke:  191.84 KB
 Downloadano:  5 krat

Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
nostromo
Član
Član



Pridružen-a: Sob 24 Dec 2005 18:19
Prispevkov: 251
Aktiv.: 1.06
Kraj: Ljubljana

PrispevekObjavljeno: Sre Avg 23, 2006 9:18 am    Naslov sporočila:   Odgovori s citatom

Pozdrav,
Danes sem dobil 12 žilen kabel (računalniški), ki ima dokaj primeren premer. Bom probal danes scinat in vam sporočim kaj se dogaja s stikali na 5 metrskem kablu.

Kakšno oznako pa imajo 5v zaščitne diode??Kako jih pa vežem??

Hvala za odgovore, LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Sre Avg 23, 2006 12:40 pm    Naslov sporočila:   Odgovori s citatom

Zaščitne diode? Misliš na optocoupler? V prilogi je CNY74 datasheet z razporedom priključkov na prvi strani. CNY74-4H je boljši, ker ima v ohišju 4 couplerje. Vezava je razvidna iz prve slike. Za priključni konektor je uporabljen ethernet konektor. Pravzaprav je cela naprava vgrajena v star ethernet hub. Minimalno dela, ker je večina lukenj že narejena. Izžagana je le dodatna luknja za LED.

Dobiš tudi cenejše optocouplerje. Za ta namen je dober pravzaprav katerikoli, ki da na izhodu približno digitalen izhod.

V principu bi lahko uporabil optocoupler (dva kosa) za povezavo dveh mikrokontrolerjev. Pri tem bi level shifterji za RS 232, RS422 ali RS485 sploh ne bi bili potrebni: tx1 -> coupler -> rx2 in tx2 -> coupler ->rx1. Chipa bi bila galvansko ločena, pa še ceneje bi bilo.


Jur



cny74.pdf
 Opis:

Download
 Ime datoteke:  cny74.pdf
 Velikost datoteke:  227.41 KB
 Downloadano:  7 krat

Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
bungee
Član
Član



Pridružen-a: Pon 07 Mar 2005 18:49
Prispevkov: 1479
Aktiv.: 6.24
Kraj: Ljubljana

PrispevekObjavljeno: Sre Avg 23, 2006 1:03 pm    Naslov sporočila:   Odgovori s citatom

Supresorska dioda se veže tako kot zener dioda in ščiti vezje pred prenapetostjo. Ena takih je BZW06 5V8 za tvoje potrebe. Vrjetno boš našel še kakšno manjšo tale je 600W Wink

Vrjetno, pa bi pri tebi zadostovala že kar 5.1V zener dioda ... poreže vse kar je več kot 5.1V Cool
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.71
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Sre Avg 23, 2006 1:15 pm    Naslov sporočila:   Odgovori s citatom

Če si mislil na suppresorske diode, jih vežeš na vhodu v vezje (tam, kjer pridejo dolge žice na tiskanino vezje). Povežeš iz signala na maso. Suppresorji niso izolacija, ampak samo naredijo kratek stik za signal, ki je višji, kot je nazivna napetost suppresorja.

Nekaj še kar dobro napisanega je v prilogi.

Jur



suppresor.pdf
 Opis:

Download
 Ime datoteke:  suppresor.pdf
 Velikost datoteke:  105.25 KB
 Downloadano:  15 krat

Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
nostromo
Član
Član



Pridružen-a: Sob 24 Dec 2005 18:19
Prispevkov: 251
Aktiv.: 1.06
Kraj: Ljubljana

PrispevekObjavljeno: Ned Avg 27, 2006 8:09 pm    Naslov sporočila:   Odgovori s citatom

Čez vikend mi je le uspelo dokončat zadevo, ene 2 uri sem se hecal da sem spravil kabel čez požarno steno, zacinil konektor........in po malenkostnih popravkih mi stvar deluje kot je treba. Na kablu ni nobenih motenj (v tem smislu, da bi se stikala sama prižigala), mi je pa dotični kabel zelo všeč, ker ima zunanji oplet iz "kovinske mreže"......ga težko strgaš ali prerežeš. Very Happy


Hvala vsem za sodelovanje, sem dobil nekaj novih idej za bodoče izboljšanje, LP
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja PIC-a v Assembler-ju Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group