Asenkron seri iletişimde baud rate mantığı nasıl işliyor?

Başlatan mreer, 02 Haziran 2016, 02:31:17

mreer

Merhaba arkadaşlar
ne zaman araştırma yapsam bu forum hep karşıma gelirdi kısmet bugüneymiş bende aranıza katıldım inş birbirimize faydamızın dokunması dileği ile hemen söze geçmek istiyorum

Asenkron veri iletişiminde baud rate işleyişini kavrayamıyorum farklı saat frekanslarında çalışan iki devre (alıcı , verici) nasıl senkron hale gelebilmekte ? asenkron iletişim her bitin (lojik 1 , lojik 0 ) süresi ile alakalıysa iki tarafında aynı zaman kavramında buluşmaları/senkronize olmaları gerekmiyormu ? inş anlatabilmişimdir saygılar.

aRci

merhaba hoş geldin

iletişimde önemli olan veri aktarım zamanlamasının 2 taraf içinde aynı olaması gerekiyor. yani 2 tarafın sadece iletişim hızının uyumlu olaması yeterli işlemcilerin çalışma frekansı iletişim de problem yaşatmayacak yeterlilikte olamalı.

20mhz ile 4mhz de çalışan 2 işlemci orneğin gerekli ayarlamalar yapılınca 9600 baunda iletişim kurabilir.sadece yazılımda ayarlamalarını çalışma frakansına göre yapmanız yeterlidir.

ete

Sorunun cevabı aslında haberleşme hızı olan Baud Rate'in biriminde saklı. Bit per second yani bir saniyede gönderilecek bit sayısı. Bu durumda işlemci frekansı ne olursa olsun gönderilen bit sayıları aynı olursaki bu sayede bit süreleride belirli toleranslar dahilinde aynı olmak zorunda her iki tarafta ne demek istediklerini kolayca anlamaktadır. Zaten haberleşme ortamı yaratılsın diye bu sistem geliştirilmiş olmalı yoksa haberleşme olmazdı değilmi. Mutlaka binlerce kez muhtelif alternatifler denenmiştir işin Ar-Ge safhasında, sonunda aklın yolu bir deyip çalışma frekanslarından bağımsız bit süreleri ve birim zamanda yollanan bit sayıları iki tarafta da eşitlenince bu olur diye kararlaştırmışlardır.

Ete

mreer

internetteki kaynaklarla bu oranın 8 bitlik byte paketlerinin saniyede kaç kez değiştiğiyle alakalı olduğunu söylüyor galiba asenkron iletişimde kaçırdığım bir yer var baştan anlatıyım

şimdi asenkron mantığını şu şekilde düşünüyorum her bitin kendi süresi var buda örneğin 1ms olsun "0111" ifesini göndermek için "0" da 1ms "1" içinde toplamda 3 ms bekleniyorsa arka arkaya 3 adet 1 bilgisi geldiğini yorumluyorum şayet bu şekilde işliyorsa yapmak istediğim ccp yada portb kesmesi gibi bir birimle bu hatta bir kanca atıp bit bit dinleyip gelen veriyi yorumlamak eğer burayı çözebilirsem bu byte'ların saniyede kaç kez geldiğini yorumlamak kolay olcak yani herşeyi manuel yapmak istiyorum işte kafam burada karışıyor verici taraf veriyi bastı 1ms bekledi değiştirdi diyelim bu vericinin 1ms kavramı belki alıcının 1ms'nin tam orasında bitiyor yani bu yazılımla yapılan uart larda baud rate mekanizması nasıl bir mantıkla çalışıyor pic' mi yavaşlatılıyor nasıl olmakta

ete

Bana bu şekil bir bilgi lazım olmadığı için ne araştırdım nede biliyorum. En güzeli bir lojik analizör ile muhtelif data bilgilerini bit bazında incelemek. Başka türlü bir detay zor bulunur gibi geliyor bana.
Ete

mreer

Alıntı yapılan: ete - 02 Haziran 2016, 13:49:06
Bana bu şekil bir bilgi lazım olmadığı için ne araştırdım nede biliyorum. En güzeli bir lojik analizör ile muhtelif data bilgilerini bit bazında incelemek. Başka türlü bir detay zor bulunur gibi geliyor bana.
Ete

Ete hocam teşekkürler en garanti yolu bu olacak sanırım Uart kütüphanelerinden belki birşeyler çıkar

Şurada güzel bilgiler var
http://www.mcu-turkey.com/msp430-launchpad-msp430g2553-donanimsal-uart-kullanimi
http://www.fpganedir.com/embedded/arm/uart/uart.php
http://www.fpganedir.com/ornek/rs232/transmit_mode.php
http://www.mcu-turkey.com/fpga-ile-uart-tx-modulu-tasarimi

Powered by EzPortal