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 

RTS ter DTR pri rs232
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
damjanmi
Član
Član



Pridružen-a: Ned 15 Jan 2006 19:19
Prispevkov: 45
Aktiv.: 0.19

PrispevekObjavljeno: Sre Dec 10, 2008 1:53 pm    Naslov sporočila:  RTS ter DTR pri rs232 Odgovori s citatom

Pozdravljeni,

Povezati skusam WS2300 vremensko postajo z AVR-jem s pomocjo rs232 protokola. Da se WS2300 "zbudi" rabi linijo RTS high, DTR pa low. Zanima me ali je kot high dovolj +5V ali mora biti +8-15V?


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



Pridružen-a: Pet 08 Apr 2005 18:27
Prispevkov: 225
Aktiv.: 0.95
Kraj: Maribor-Ljubljana

PrispevekObjavljeno: Sre Dec 10, 2008 1:55 pm    Naslov sporočila:   Odgovori s citatom

To je odvisno od same postaje. Preveri kakšne nivoje vhodnih signalov zahteva ali če je kakšen MAX232 že na postaji.

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



Pridružen-a: Ned 15 Jan 2006 19:19
Prispevkov: 45
Aktiv.: 0.19

PrispevekObjavljeno: Sre Dec 10, 2008 2:02 pm    Naslov sporočila:   Odgovori s citatom

Kaksne nivoje zahteva ne vem (oziroma ne najdem podatkov). Bom preveril, ce je na postaji ze max232...sporocim.


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



Pridružen-a: Pet 08 Apr 2005 18:27
Prispevkov: 225
Aktiv.: 0.95
Kraj: Maribor-Ljubljana

PrispevekObjavljeno: Sre Dec 10, 2008 2:14 pm    Naslov sporočila:   Odgovori s citatom

Malo sem pobrskal po internetu in ima postaja v spec. navedeno, da ima com port za priklop na pc. To pomeni da potrebuje 8-15V vhodne signale(oz. kolikor pač so specifikacije rs232 protokola). Za pretvorbo 5V->8-15V bo pa najlažje če uporabiš namenski čip max232, ki ti naredi to pretvorbo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
damjanmi
Član
Član



Pridružen-a: Ned 15 Jan 2006 19:19
Prispevkov: 45
Aktiv.: 0.19

PrispevekObjavljeno: Sre Dec 10, 2008 2:25 pm    Naslov sporočila:   Odgovori s citatom

Kakor vem max232 pretvarja samo TX ter RX signale? Kako pa vezem DTR ter RTS preko max232 (uporabim TX2 ter RX2)?


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



Pridružen-a: Pet 08 Apr 2005 18:27
Prispevkov: 225
Aktiv.: 0.95
Kraj: Maribor-Ljubljana

PrispevekObjavljeno: Sre Dec 10, 2008 3:05 pm    Naslov sporočila:   Odgovori s citatom

Tocno tako. Max pretvarja samo nivoje. Max-u je vseeno kateri signal mu daš.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
int47
Član
Član



Pridružen-a: Pon 15 Dec 2003 0:10
Prispevkov: 2105
Aktiv.: 8.86
Kraj: Ljubljana

PrispevekObjavljeno: Sre Dec 10, 2008 4:57 pm    Naslov sporočila:   Odgovori s citatom

RS232 nivoji.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
PrimozL
Član
Član



Pridružen-a: Tor 21 Mar 2006 10:55
Prispevkov: 404
Aktiv.: 1.72
Kraj: okolica Vipave

PrispevekObjavljeno: Sre Dec 10, 2008 10:12 pm    Naslov sporočila:  Re: RTS ter DTR pri rs232 Odgovori s citatom

damjanmi je napisal/a:
Zanima me ali je kot high dovolj +5V ali mora biti +8-15V?


Večina RS232 čipov (MAX, HIN, 75232, ...) je povsem zadovoljnih, če jim daš namesto negativne napetosti 0V in za pozitivno napetost samo +5V. Običajno en 74HC14 na izhodu mikrokrmilnika povsem zadostuje tudi pri hitrosti 115200 bps.

Mogoče sem imel srečo, ampak nisem še naletel, da taka rešitev ne bi delala. Da se razumemo, to je za prototipe in domačo rabo. Resne naprave morajo še vedno zagotavljat pravilne napetostne nivoje.


LP Primož.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
aly
Član
Član



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

PrispevekObjavljeno: Čet Dec 11, 2008 10:23 am    Naslov sporočila:   Odgovori s citatom

Predvidevam, da se vremenska postaja tudi napaja preko teh linij? Ali ima ločen napajalnik?

MAX poleg tega da pretvarja nivoje jih tudi invertira. Zato direktna povezava ne bo delovala.

_________________
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
damjanmi
Član
Član



Pridružen-a: Ned 15 Jan 2006 19:19
Prispevkov: 45
Aktiv.: 0.19

PrispevekObjavljeno: Pet Dec 12, 2008 12:11 am    Naslov sporočila:   Odgovori s citatom

Napajanje ima posebaj. Avr se poveze, vendar prihaja do pogostih napak, tako da moram velikokrat ponoviti prenos, kdaj pa postaja sploh ne odgovori. Za DTR ter RTS linije sem uporabil kar 0, +5V.


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



Pridružen-a: Pon 19 Sep 2005 12:03
Prispevkov: 788
Aktiv.: 3.32
Kraj: JN66SI & JN76TM

PrispevekObjavljeno: Pet Dec 12, 2008 8:47 am    Naslov sporočila:   Odgovori s citatom

WS-2300 uporablja RTS / DTR liniji samo za definicijo nivoja (in morda napajanje) komunikacijskega vmesnika RS-232. Ostali deli postaje se napajajo ločeno prek napajalnega konektorja. Definicijo nivoja zato, ker GND (pin 5) na RS-232 priključku WS-2300 ni povezan.

Na DTR /RTS pri WS-2300 zadošča -5V / +5V, sam sem v svoji aplikaciji (povezava s PIC, glej shemo na http://lea.hamradio.si/~s57nan/ham_radio/wx_aprs/wx_aprs.html ) ti dve napetosti peljal celo prek upora 220 Ohm in deluje brez težav. Poraba na teh dveh linijah je vsega nekaj mA.

Pomembno pa je vedeti tudi, da RS-232 vmesnik ni galvansko ločen od ostalega vezja WS-2300, kot bi morda lahko sklepal glede na lastno napajanje komunikacijskega vmesnika iz RTS in DTR. To je pomembno, če bi WS-2300 rad napajal iz česarkoli drugega, kot je priloženi zidni adapter. GND napajanja je približno na nivoju DTR (vmes je verjetno ena dioda ki povzroča padec 0,7V).

Če ni skrivnost, kaj nameravaš izdelati?

LP, Sandi


Nazadnje urejal/a s56al Pet Dec 12, 2008 8:54 am; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
s56al
Član
Član



Pridružen-a: Pon 19 Sep 2005 12:03
Prispevkov: 788
Aktiv.: 3.32
Kraj: JN66SI & JN76TM

PrispevekObjavljeno: Pet Dec 12, 2008 8:51 am    Naslov sporočila:   Odgovori s citatom

damjanmi je napisal/a:
Napajanje ima posebaj. Avr se poveze, vendar prihaja do pogostih napak, tako da moram velikokrat ponoviti prenos, kdaj pa postaja sploh ne odgovori. Za DTR ter RTS linije sem uporabil kar 0, +5V.


LP, Damjan


Napake pri komunikaciji z WS-2300 so znana težava te vremenske postaje in se pojavljajo tudi pri 100% pravilnih nivojih na RS-232 priključku. So posledica nerodno napisanega firmwarea, ki v trenutkih, ko obdeluje informacijo iz vremenskih senzorjev, prekine komunikacijo na RS-232. Enako se dogaja, ko sinhronizira čas preko vgrajene DCF ure. V takih primerih je WS-2300 gluha za "povpraševanje" prek RS-232 ali pa prekine pošiljanje podatkov v sredini že začetega paketa in tega nikoli več ne nadaljuje. Grdo, ampak je treba vzeti v zakup. Z nekaj spretnosti pri programiranju so te težave enostavno rešljive s ponavljanjem povpraševanja.

LP, Sandi
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
damjanmi
Član
Član



Pridružen-a: Ned 15 Jan 2006 19:19
Prispevkov: 45
Aktiv.: 0.19

PrispevekObjavljeno: Pet Dec 12, 2008 9:49 am    Naslov sporočila:   Odgovori s citatom

Hvala za link ter obrazlozitev. Delam pa podobno kot ti, vendar bom jaz podatke prenasal preko gsm-a.


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



Pridružen-a: Ned 15 Jan 2006 19:19
Prispevkov: 45
Aktiv.: 0.19

PrispevekObjavljeno: Pet Dec 12, 2008 12:32 pm    Naslov sporočila:   Odgovori s citatom

Postajo sem povezal na avr preko max232 na DTR ter RTS sem pripeljal -8/+8 iz max232 pin 2 ter 6. Na avr-ju sem nastimal usart na 2400 8N1, avr ima frekvenco 8MHz.
Podatke lahko berem kadar postaja sprejema signal iz brezzicnih senzorjev (na zaslonu postaje se med tekstom temp ter humidity pojavi ikona) kadar pa omenjene ikone na zaslonu ni, pa podatkov ne morem brati. Postaja odgovori pravilno na init byte 0x06, odgovor je 0x02, ko pa posljem naslednji byte pa ni odgovora.
Statusni register UCSRA, ki ga avr uporablja pri serijski komunikaciji, sem "vezal" na portb, tako da lahko vidim status. Ko ne morem prebrati podatkov mi statusni register ne vklopi bita 7 - ta bit sporoci, da je sprejem 8 bitov koncan.
S56AL - kako si pa ti napisal program? Ne vem ali je problem v programu ali kje drugje.


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



Pridružen-a: Pon 19 Sep 2005 12:03
Prispevkov: 788
Aktiv.: 3.32
Kraj: JN66SI & JN76TM

PrispevekObjavljeno: Pet Dec 12, 2008 9:41 pm    Naslov sporočila:   Odgovori s citatom

Vse, kar moraš vedeti, načeloma piše v datotekah v priponki. Datoteke sem pred časom snel s spleta, mislim pa, da spletna stran, kjer sem jih našel, več ne obstaja, zato jih pripenjam tukaj. Ostalo je stvar domišljije pri programiranju in pa tvojih zahtev, kako pogosto želiš sveže podatke s senzorjev oz. kako dolgo lahko ostaneš brez njih.

Program, ki sem ga spisal za vmesnik na prej navedenem linku par sporočil nazaj, komunicira z WS-2300 s pomočjo treh programskih "modulov" okvirno na naslednji način:

V glavni programski zanki se periodično proži poizvedba po podatkih, ki jih v aplikaciji potrebujem, v presledkih približno 7s. To je izvedeno s programskim modulom, imenujva ga "proži poizvedbo", ki za vsako različno poizvedbo (temp., ura, rH, p, ...) postavlja posebne zastavice (ustrezen bit v pomnilni lokaciji) za vsako od poizvedb in sicer ciklično v prej omenjenih časovnih zamikih. Ko drugi programski modul, ki prav tako teče v glavni programski zanki, imenujva ga "pošlji", to zastavico zazna, odpošilja po UART ustzrezen paket za poizvedbo po podatkih v zamikih eno sekundo. Tako "tečnari" vse dokler je dotična zastavica postavljena. Posamezni byte-i znotraj paketa se pošiljajo v fiksnih časovnih presledkih če se prav spomnim 10ms (10ms je perioda izvajanja glavne programske zanke, ki hkrati opravlja več opravil, na ta način je dosežen nekakšen "multytasking" Smile).

Tretji modul je realiziran v prekinitveni rutini UART, kjer se vsak na novo sprejeti byte po UART iz WS-2300, shrani v poseben sprejemni buffer tipa FIFO. Ob vsakem novem sprejetem znaku prekinitveni podprogram preveri, ali se v bufferju nahaja veljaven paket s podatki (header + veljaven checksum). Kakor hitro je veljaven paket prepoznan, ta isti modul podatke iz paketa prebere in shrani v ustrezne spremenljivke za nadaljno obdelavo ter briše pripadajočo zastavico, ki jo je postavil modul "proži oddajo". Aplikacija tako čaka s poizvedbami do postavitve naslednje zastavice oz. takoj prične z naslednjo poizvedbo, če je bila medtem s strani modula "proži poizvedbo" postavljena še kakšna od zastavic poizvedbe po podatkih.

Tako v principu. Je še nekaj podrobnosti (npr. prioritete pošiljanja paketov s poizvedbo kadar je zaradi neodzivnosti WS-2300 hkrati postavljenih več zastavic poizvedbe, ipd...) ampak to je pač treba rešiti glede na izvedbo programa tvoje aplikacije.

Za vsak primer je v glavni programski zanki še četrti modul, ki preverja veljavnost podatkov in če 3 minute ni svežega paketa z določenim podatkom odloči, da podatki s senzorja niso več na razpolago. Vendar pri normalno delujoči WS-2300 (priklučeni delujoči senzorji) takega primera v rednem delovanju nisem opazil, pa teče aplikacija z gornjega linka v tem trenutku na najmanj treh lokacijah sedaj že več mesecev zapored, na katerih delovanje redno spremljam.

Nekaj minut po vklopu (ne spomnim se več natančno koliko, morda 5 ali 8 ali nekaj podobnega) WS-2300 vedno skuša sinhronizirati svojo uro prek vgrajenega sprejemnika radijske ure DCF-77. Takrat prek vmesnika RS-232 ni možno dobiti podatkov lahko tudi do 3 minute.

Še en problem je znan za WS-2300 in tudi omenjen na več mestih na Internetu, ki pa se ne dogaja pri vseh serijah WS-2300. Gre je problem občasnega naključnega prikaza hitrosti vetra 25,5 m/s (92 km/h). Za podrobnosti poišči na spletu. Problem sem v svoji aplikaciji odpravil programsko s posebnim algoritmom.



Komunikacija_ws2300_UART.zip
 Opis:

Download
 Ime datoteke:  Komunikacija_ws2300_UART.zip
 Velikost datoteke:  27.09 KB
 Downloadano:  13 krat



Nazadnje urejal/a s56al Pet Dec 12, 2008 9:52 pm; skupaj popravljeno 2 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
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: 10 dni


Powered by phpBB © 2001, 2005 phpBB Group