Usart register(rx,tx pinleri)mevcut olan piclerde manchester code un gereği?

Başlatan fetihnesli, 20 Ekim 2011, 15:42:25

fetihnesli

merhabalar,
araştırmalarımda bazı sayfalarda Manchester code yöntemiyle seri haberleşme yapıldığını okudum.
ben RF ile haberleşme yapacağım, pic lerin Usart (rx,tx biti) registeri mevcut. bu pin ler ile haberleşme yaparken
manchester code veya start ve stop bitin gereği varmı?
txreg registerine bilgi yüklediğimiz anda tx bitinden bilgi akışı sağlanması için bu işlemleri yapmamız gerekiyor mu?
hayırlı çalışmalar

cicjoe

ne tarz bir projede kullanacagin onemli.
1) dusuk -> hata yapabilir, sorun olmaz (okul projesi, eglence, ogrenme)
2) orta -> hata yapmasa iyi olur (hatanin ciddi sorunlara yol acmayacagi, ama hata miktari az olsa iyi olur uygulmalar)
3) yuksek -> asla hata yapamaz (fail proof) (ciddi uygulamalar)

ustteki kategorilemeden sonra siradan baslayayim.

1. kategori icin ne kullanirsan kullan, fark etmez. ben mesela bir keresinde verici ile havaya yaydigim sinyalleri, alici tarafindan senkron olmadan dinlemistim. 16bitlik veri yollayarak veri icerisinde pals genisligine (pulse width) benzer birsey yapmistim. veri cesitliligim cok azdi. sorun cikarmadan calisti. verilerim 0xC000, 0xF000, 0xFC00, 0xFF00 ile sinirliydi. benzer sekilde kendi uydurdugun bir yontem ile bu iletisimi gerceklestirebilirsin.

2. kategori icin senkronizasyon kullanman iyi olur. olmazsa ustteki gibi abuk subuk metodlar kullanman gerekir. peki neden senkron olman gerekir. sen aliciyi actin, rf havadan parazitleri okumaya baslar. veri gelmiyosa bile geliyor gibi. sen vericiden veri gondermeye basladiginda, alici bunu ortasindan veya sonundan baslarayak alabilir. bu durumda yapmak gereken sey, 2 islemcinin de ayni zamanlamaya sahip olmasini saglamak bunu saglamak icinde yaygin olarak kullanilan senkronizasyon algoritmalarindan birini tercih etmekde fayda var.
*senkron olmak cok onemli birseydir. gunluk hayatta birisine pardon demeden yol sorarsan, karsindaki anlamaz, cunku seni dinlemeye hazir degildir.

3. kategori icin senkron olmak ve veriyi gondermek yeterli degildir. veri yolda bozulmaya ugradimi onu da kontrol etmek gerekir. sadece kablosuz haberlesme icin degil, kablolu iletisim de gecerli. cunku iletisim hatlarinda parazitlenme olabiliyor ve veriler farkli gelebiliyor. bu durumu kontrol altina almak icin asagidaki sirayi izlemek uygun olacaktir veri gonderirken.

*sync (senkron kodlari, 110011001111 gibi)
*ID (mesaj/paket numarasi)
*DATA (gonderilecek n adet veri)
*Error Check (mesaj kontrol sayisi)
*EOM/sync (End of message, bitis senkronu)

-Error Check : bu asamada, gonderici tarafinda, gonderilecek veri bir hash algoritmasindan gecirilerek sonucta sabit bit miktarina sahip bir sayi elde edilir. veriden sonra bu sayi koyularak aliciya dogru yola cikartilir. alici senkron olup paket numarasi ve veriyi aldiktan sonra bu hash sayisini alir ve bir kenara koyar. aldigi veriyi, gonderici ile ayni hash algoritmasindan gecirerek sonucta bir sayi elde eder ve gelen hash degeri ile karsilastirir. ayni ise sorun yok demektir. farkli ise, paket numarsini gondericiye yollayarak paketi tekrar ister.
*bu yontem gunumuzde bilgisayar aglarinda kullanilmaktadir. internetten gelen verileri hatasiz cekmemizi bu yontem saglar.

umarim aciklayici olmustur. kolay gelsin.

fetihnesli

Anladım hocam sağolasın, peki
udea nın rf modüllerini kullanmış olsamda sağlıklı iletişim için manchester code
metodunu uygulamam gerekiyor değil mi?

bazı forumlarda, araştırmalarımda senkron haberleşmede manchester code
asenkron haberleşmede uart kodlama yapılıyormuş doğru mu?

ben asenkron haberleşme ile veri göndereceğim.
benim manchester kodlama yapmama gerek varmı?
tşk.