Transistor ile seri çıkış ?

Başlatan Maxim, 22 Ekim 2007, 12:34:24

Macera

Diyelimki bir taraf veri yoluyor.(Verici)
Öteki tarafda gelen veriyi işliyor.(Alıcı)
Alıcı veriyi hızlı işleyemediği zaman vericinin bilgi yollamayı kesmesi lazım.
Kesmezse veriler üst üste gelir vede veri bilgisi bozulur.
Bunu engelemek için ya donanımsal (RTS/CTS) yada yazılımsal (XON , XOFF) olarak  
alıcı vericiye geçici  bir işaret yada sinyal yollar ve veri yollaması durur.Buna el sıkışması yada Handshake denir.
Donanımsal el sıkışmada verici RTS hatını -12V yada lojik 1e çeker.
Alıcıda CTS sinyalini -12V a çekerek vericiye iletişime hazır olduğunu söyler.
Alıcı veriyi işleyemediği zaman CTS sinyalini 12 V yada lojik 0 a çeker.
Verici bu sinyali görerek bilgi yollamayı bırakır ve alıcıdan gelen sinyalin -12V gelmesini bekler.
Sinyal -12v a geldiğinde veri iletişimi tekrar başlar.
Yazılımsal el sıkışmada alıcı veriyi işleyemediği zaman XOFF değerini vericiye yolar.Verici veri yollamayı durdurup XON  değerini bekler.
XOFF genelde 13H XON da 11H dir.XON değeri alıcıdan vericiye yollandığında veri iletişimi tekrar sağlanır.

Yazılımsal el sıkışmasının üç kablo avantajı vardır.İletişim anında duramıyabilir.
Donanımsalda ise veri iletimi beş hat üzerindendir ama
iletişiminin  hemen durması gösterilebilir.
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts

Macera

Tek transistörlü devreyle olur ama RTS ve veya DTR sinyal ayağının bağlı olması şartı ile.
Bu uçlarda -12 V varsa aşağıdaki devreyi deniyebilirsin.
DB9 da RTS sinyali 7 , DTR sinyali 4 numaradadır.
DB25 de RTS  4 , DTR 20 numaradadır.
Simulasyondan gördüğüm kadarı ile RS232 iletişim şartlarını sağlıyor.
Gerçek anlamda denemedim ama çalışması gerekir.
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts

Maxim

-12 volt şartmı ?

mesela şimdi bu devre çalışmazmı ?


Maxim

Alıntı yapılan: "Macera"Diyelimki bir taraf veri yoluyor.(Verici)
Öteki tarafda gelen veriyi işliyor.(Alıcı)
Alıcı veriyi hızlı işleyemediği zaman vericinin bilgi yollamayı kesmesi lazım.
Kesmezse veriler üst üste gelir vede veri bilgisi bozulur.
Bunu engelemek için ya donanımsal (RTS/CTS) yada yazılımsal (XON , XOFF) olarak  
alıcı vericiye geçici  bir işaret yada sinyal yollar ve veri yollaması durur.Buna el sıkışması yada Handshake denir.
Donanımsal el sıkışmada verici RTS hatını -12V yada lojik 1e çeker.
Alıcıda CTS sinyalini -12V a çekerek vericiye iletişime hazır olduğunu söyler.
Alıcı veriyi işleyemediği zaman CTS sinyalini 12 V yada lojik 0 a çeker.
Verici bu sinyali görerek bilgi yollamayı bırakır ve alıcıdan gelen sinyalin -12V gelmesini bekler.
Sinyal -12v a geldiğinde veri iletişimi tekrar başlar.
Yazılımsal el sıkışmada alıcı veriyi işleyemediği zaman XOFF değerini vericiye yolar.Verici veri yollamayı durdurup XON  değerini bekler.
XOFF genelde 13H XON da 11H dir.XON değeri alıcıdan vericiye yollandığında veri iletişimi tekrar sağlanır.

Yazılımsal el sıkışmasının üç kablo avantajı vardır.İletişim anında duramıyabilir.
Donanımsalda ise veri iletimi beş hat üzerindendir ama
iletişiminin  hemen durması gösterilebilir.

Güzel bilgiler ;

peki donanımsal el sıkışması, ilgili uçları kullanınca otomatikmi yapılıyor ?
yada donanımsal veya yazılımsal handshake için pic örneği varmıdır ?
bağlantı şeması nasıldır ? nasıl yapılır ?
kullanılan seri komutlarında handshake ile ilgili bir ibare bulunmuyor çünkü ,
en azından proton+ da yok .

Macera

Alıntı yapılan: "maxiboost"-12 volt şartmı ?
mesela şimdi bu devre çalışmazmı ?

-12v şart değil -3 -25 volt arası olması lojik 1 için yeterlidir.
Keza 3 ... 25 V aarası lojik 0 olarak değerlendirilir.
Ama kablo kayıplarından dolayı sinyal yolda güç kaybeder.
Bu sebebden dolayı voltajı mümkün olduğu kadar yüksek tutmakda yarar var.
Gösterdiğin devre 3.3 Volt besleme gerilimiyle doğru çıkış vermez.
transistöründe gerilimi düşüreceğinide hesaplarsan çıkış 3 Voltdan aşağıda olur.
Bu değerde RS232 standardına göre ne 1 dir nede 0.
Mümkünse besleme gerilimini 5 v gibi tutmanı tavsiye ederim.

PIC lerde donanımsal yada yazılımsal el sıkışma örneğine bende rastlamadım.
PIC bu konuda yeteri kadar hızlı.
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts