Seri iletişim - farklı hızlardaki işlemciler

Başlatan pcb, 05 Ekim 2010, 16:06:04

pcb

Alıcı - verici hızları farklı olduğunda seri iletişim Serin - Serout komutları ile sağlanabilir mi ?
Mesela alıcı 20Mhz, verici ise 4mhz de çalışsın.

subram

http://www.elektronark.org  Türkiyede Elektronik Kültürünü Değiştirmeye Geliyoruz

ete

Her birine ait programın baş tarafına Define komutu ile OSC değerlerini verir isen çalışır.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

pcb

Alıntı yapılan: ete - 05 Ekim 2010, 16:42:13
Her birine ait programın baş tarafına Define komutu ile OSC değerlerini verir isen çalışır.

Ete

Hocam "define osc" yi biraz açıklarmısınız.
proton "define osc" komutunu tanımıyor ancak "$define OSC =   ? " olarak tanıyor, karşılığına ne yazmalı?
programın kullandığı kristalin değeri mi? OSC ye bu değerleri verirsek fark olacaktır?

ete

Tabiiki işlemcinin kullandığı kristal değerini vereceğin komut olacaktır.
Sanırım Proton da define yerine;
XTAL 20 yada XTAL 4 şeklinde bir komut kullanılıyor.

Biliyorsunuz basic komutları derleme esnasında ASM ye çevriliyor. Seri haberleşme komutlarıda ASM ye çevrilirken devrenin sahip olduğu kristal frekansı göz önüne alınarak gerekli zaman ayarlamaları yapılıp çevrim yapılır.
Düşünsenize
DELAYMs 100 şeklinde bir komut kullanıyorsunuz. Bu komut 4 Mhz kristal ile farklı süre, 20 Mhz için farklı süre verir. Bunu önlemek için krital frekansı komutların işlenmesinde dikkate alınarak gerekli düzeltmeler yapılır.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com

pcb


OG

Alıntı YapAlıcı - verici hızları farklı olduğunda
değil herhalde
Alıcı - verici PIC hızları farklı olduğunda

demek istediğin anlaşılıyor. Bu durumun cevabını ETE Hoca vermiş.
Declare Xtal 4
Declare Xtal 20

gibi.

Eğer gönderme ve alma hızları farklı diyorsan bu olmaz tabiiki.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

F493

#7
Selam,

  4Mhz - 20Mhz xMhz işlemcinin 1cycle'da nekadar komut işleyebildiğini gösterir. ör- 20mHz için 20 / 4 = 5 -> 200ns hızla içerdeki komutlar işlenir demektir. Bu işlemcinin performansını belirtir. Bu işlemci 5MIPS(million per second) yani saniyede 5milyon komut işler demektir.

Seri port, SPI, I2C vb.. birimler modüler olarak işlemcinin içinde ayrı bir donanım olarak bulunur. Bunların çalışma hızlarıda işlemcinin ana frekansı üzerinden hesaplanır.(Burada 5MIPS). Burada genelde seri port 9600 bps ile çalışıyorsa 1bit 100us hızla hatta koyulur. 19200bps için 1 bit 50us. Aslında işlemcimiz eger seri port desteklese 200ns hızla bile veri gönderir ama burada modüllerin çalışabildiği aralık önemli. sizin işlemciniz 200ns de bir işlem yapıyor ama çevre birimler bunu bölerekten kullanıyor.
Seri port ayarlarında boudrate'i ayarlamak için formül var. siz her iki işlemciyide 9600bps ile haberleştirmek istiyorsanız 4Mhz ile çalışıyorsanız ona göre formüle deger vericeksiniz, eger 40mhz ile çalışıyorsanız ona göre formüle deger koyarsınız. Aslında İŞLEMCİLER farklı hızlarda çalışıyor fakat ÇEVRE BİRİMLER nasıl ayarlarsan öyle çalışıyor. Umarım yardımcı olabilmişimdir.

Esen kalın.

mech

Her kristal için ayrı spbrg değeri mevcut
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Şarttır