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 

Test pravilnosti prenosa podatkov med uC in PC-jem po RS232

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Periferija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
egomez
Član
Član



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

PrispevekObjavljeno: Sob Maj 20, 2006 3:32 pm    Naslov sporočila:  Test pravilnosti prenosa podatkov med uC in PC-jem po RS232 Odgovori s citatom

Zanima me, kako testirate pravilnost prenosa podatkov med mikrokontrolerjem in računalnikom. Ena od variant je seveda da pošiljam podatke iz računalnika in berem, kaj sem dobil nazaj. Ali pa da pošiljam v zanki neke podatke in jih preverjam na računalniku. Vendar če bi hotel bolj natančno določiti, vsake koliko se mi pojavi napaka, bi bilo to zelo zamudno delati "ročno".
Ali ima kdo kakšen programček, ki bi sam pošiljal podatke in jih preverjal, potem pa bi mi povedal, koliko napak je prišlo v izbranem času?

PS: Predvsem mislim na povezave brez preverjanja crc-ja.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Djurodrljaca
Član
Član



Pridružen-a: Pet 19 Dec 2003 16:31
Prispevkov: 393
Aktiv.: 1.66
Kraj: Mengeš

PrispevekObjavljeno: Sob Maj 20, 2006 4:06 pm    Naslov sporočila:   Odgovori s citatom

Najbolj preprost način je da poslane podatke seštevaš v 8-bitno spremenljivko in jo na koncu paketa pošlješ ter na drugi strani iz istih podatkov izračunaš to število in potem ti dve števili primerjaš.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
snow
Član
Član



Pridružen-a: Tor 27 Dec 2005 14:02
Prispevkov: 341
Aktiv.: 1.44
Kraj: Ljubljana || Velenje

PrispevekObjavljeno: Ned Maj 21, 2006 3:54 pm    Naslov sporočila:   Odgovori s citatom

Ali pa če preprosto pošlješ iz mikrokontrolerja vsak paket dvakrat zapored in potem na računalniku primerjaš enakost teh dveh paketkov.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
VolkD
Član
Član



Pridružen-a: Pet 24 Sep 2004 21:58
Prispevkov: 14228
Aktiv.: 60.07
Kraj: Divača (Kačiče)

PrispevekObjavljeno: Ned Maj 21, 2006 9:15 pm    Naslov sporočila:   Odgovori s citatom

snow, ni dobro ! Če je napaka sistematska, je velika verjetnost, da je taka, da bosta oba paketka enako pokvarjena.
_________________
Dokler bodo ljudje mislili, da živali ne čutijo, bodo živali čutile, da ljudje ne mislijo.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
NeoTO
Član
Član



Pridružen-a: Pon 28 Mar 2005 19:19
Prispevkov: 2752
Aktiv.: 11.62
Kraj: Trzic

PrispevekObjavljeno: Ned Maj 21, 2006 9:24 pm    Naslov sporočila:   Odgovori s citatom

Potem pa naj enostavno pošlje invertiran paketek...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
snow
Član
Član



Pridružen-a: Tor 27 Dec 2005 14:02
Prispevkov: 341
Aktiv.: 1.44
Kraj: Ljubljana || Velenje

PrispevekObjavljeno: Ned Maj 21, 2006 10:23 pm    Naslov sporočila:   Odgovori s citatom

VolkD imaš prav ja.
Sem študiral bolj v smeri, da se napaka pojavi vsake toliko neodvisno od podatka.


No drugače pa lahko probaš poslat na računalnik neko znano zaporedje, recimo števila od 1 do 255. Ali pa pošlješ 10000x 0b10101010. Ali pa kakšno bolj kompleksno zaporedje, ki ga na obeh straneh izračunaš s polinomom oziroma uporabiš kakšen pseudorandom generator.

Gre za testiranje povezave, vedno pa je dobro da, ko pošiljaš podatek, da na nek način preverjaš pravilnost. Lahko za parity bit, za večkratno pošiljanje podatka, crc. No vsekakor pa tudi na sprejemni strani kontroliraš vrednosti, če veš kakšne bi morale biti (naprimer če veš, da boš prejemal le črke, potem ti vrednost 0x02 pomeni neko napako).
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
vilko
Član
Član



Pridružen-a: Pet 13 Feb 2004 10:26
Prispevkov: 3358
Aktiv.: 14.18
Kraj: Dragomer

PrispevekObjavljeno: Pon Maj 22, 2006 6:48 am    Naslov sporočila:  Ko smo že pri tem, Odgovori s citatom

Ko smo že pri tem, naj navežem, nekaj o CRC8 algoritmu, kar mi ni všeč, a ga vseeno uporabljam:
1. CRC8 algoritem daje kontrolno vsebino veliko en bajt, se pravi da ima vsega 256 konbinacij, kar statistično pomeni, da od vsakih 256 napačnih telegramov, prizna enega za pravilnega.
2. Če je napaka sistematična in sprejema telegram, kjer so vsi bajti 0, je tudi kontrolni bajt 0, kar telegram označi kot pravilen.

Če kdo potrebuje, mu lahko kodo v bascomu za izračun CRC8 kontrolnega bajta dam.

_________________
Nihče ni za vojno in vsi so za mir,
vsi so za bratstvo, nihče za prepir.
Od same ljubezni vsak čas na granatah
bo vtisnjeno geslo: "Darilo za brata"
Janez Menart
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
snow
Član
Član



Pridružen-a: Tor 27 Dec 2005 14:02
Prispevkov: 341
Aktiv.: 1.44
Kraj: Ljubljana || Velenje

PrispevekObjavljeno: Pon Maj 22, 2006 9:51 am    Naslov sporočila:  Re: Ko smo že pri tem, Odgovori s citatom

vilko je napisal/a:

1. CRC8 algoritem daje kontrolno vsebino veliko en bajt, se pravi da ima vsega 256 konbinacij, kar statistično pomeni, da od vsakih 256 napačnih telegramov, prizna enega za pravilnega.


Ja, če je poslani CRC8 izbran popolnoma naključno, kar bi po moje pomenilo zelo hudo napako.
Če pa se pojavljajo bitne napake, pa je zelo majhna verjetnost, da boš dobil lažen pravilni podatek.

Nadgradnja na CRC16 mogoče? Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Proteus
Član
Član



Pridružen-a: Sre 15 Jun 2005 10:03
Prispevkov: 1943
Aktiv.: 8.20

PrispevekObjavljeno: Pon Maj 22, 2006 3:33 pm    Naslov sporočila:   Odgovori s citatom

Citiram:
vilko: "kar statistično pomeni, da od vsakih 256 napačnih telegramov, prizna enega za pravilnega"

To si pa malce poenostavil.

Če pošlješ telegram, ki ima na koncu tudi CRC izračun, potem mora priti do dvojnega naključja v napaki. Ravno prav morajo biti spremenjeni podatki in CRC.

Zelo nenavadno bi bilo, da se kvarijo samo podatki ali samo CRC, potem bi držalo, kar si zapisal.
Nazaj na vrh
Skrit 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 -> Periferija Č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