1000 kişiden bir kişi için ! devam.... 320volt blog

Elektronik Devreler Projeler » Elektronik Elektrik Makale Kılavuz Bilgi Rapor »

İnferruj Data Transferleri Protokoller Devre Mantığı

inferruj Data Transferleri Protokoller Devre Mantığı

Hazırlayan: Yıldırım AK – İnferruj Data Transferleri Protokolleri hakkında detaylı bilgiler örnek uygulamalar. Emei geçen hazırlayan kişilere teşekkürler.

SIRC Protokolü

SIRC Protokolü

40 kHz taşıyıcı üzerinde, 1 / 4 veya 1 / 3 Duty Cycle Oranı

Bu protokol 5 bitlik cihaz kodu + 7 bitlik tuş kodundan oluşan 12 bitlik paket data bilgisi kullanır. Bu 12 bit yollanmadan önce, alıcı 2.4 ms High pozisyonda kalınıp kalınmadığını kontrol eder.

Bu nedenle ilk biti göndermeden bu süreyi High pozisyonunda beklemeliyiz. (Header Time) Daha sonra ilk bitten önce 0.6 ms süreyle göndereceğimiz data Low olmalıdır. Bu iki işlemden sonra alıcı ilk bitin yollanacağını anlar. (Header Time End) Bu iki işlem start bitini oluşturur.

Göndereceğimiz bit eğer 0 sa çıkışı high durumunda 0.6 ms tutarız. Daha sonra 0.6 ms süreyle low pozisyonunda tutarız.

Göndereceğimiz bit eğer 1 se çıkışı high durumunda 1.2 ms tutarız. Daha sonra 0.6 ms süreyle low pozisyonunda tutarız.

Buradan anlaşılacağı üzere 0 olan bitlerde high kalma süresi 0.6 ms, 1 olan bitlerde high kalma süresi 1.2 ms ‘dir. Her iki durumda da 0.6 ms LOW kalma süresi vardır. Yani bir bit süresi bitin 0 veya 1 olmasına göre değişkendir ( 1.2 ms (0 olan bit) veya 1.8 ms (1 olan bit) )

İlk gidecek bit en sağdaki bittir (LSB). Örneğin Televizyon alıcısının cihaz kodu 1 dir. Yani 5 bitlik cihaz kodu olarak “00001”. Burada ilk giden bit en sağdaki 1 ve daha sonra sola doğru sırasıyla 4 tane sıfır biti. Tuş kodunda da data gönderim mantığı aynıdır.

0 olan bitlerde high kalma süresi 0.6 ms, 1 olan bitlerde high kalma süresi 1.2 ms ve her bit arasında bekleme süresi 0.6 ms ‘dir.

Kanal artırma tuşunun kodu 16 dır. Yani 7 bitlik tuş kodu olarak “0010000”. Yine sağdaki bitten başlayarak, en sağdaki 4 tane sıfır, daha sonra bir tane 1 ve sonrasında 2 tane sıfır biti gönderilir.

Dikkat edilecek diğer bir nokta her paket data gönderimi arasında 45 ms beklemek olmalıdır. (Start tan bir Sonraki starta)

Not : Bu protokolde yeni çıkan cihazlarda 15 bitlik ve 20 bitlik paketlerde kullanılmaktadır.

Cihaz Kodları

  • 1 Televizyon
  • 2 VCR 1
  • 4 VCR 2
  • 6 Lazer disk çalıcı
  • 12 Ses Cihazları
  • 16 Mini Kaset/Radyo
  • 17 CD Çalıcı
  • 18 Ekolayzer

Tuş Kodları

  • 0-9 Numerik Tuşlar
  • 16 Kanal +
  • 17 Kanal -
  • 18 Ses +
  • 19 Ses -
  • 20 Ses Kesme
  • 21 Açma
  • 22 Resetleme
  • 23 Ses Modu
  • 24 Kontrast +
  • 25 Kontrast -
  • 26 Renk +
  • 27 Renk -
  • 30 Aydınlık +
  • 31 Aydınlık -
  • 38 Sol Balans
  • 39 Sağ Balans
  • 47 Kapama

RC5 Protokolü

RC5 Protokolü

36 kHz taşıyıcı üzerinde, 1 / 4 veya 1 / 3 Duty Cycle Oranı

Bu protokol 5 bitlik cihaz kodu + 6 bitlik tuş kodundan oluşan 11 bitlik paket data bilgisi kullanır. Bu protokol SIRC protokolunden tamamen farklıdır. Bu Protokolde bir bit uzunluğu sabittir ve süresi 1.8 ms dir. (aslında bir bit süresi 1.778 ms dir.)

Start ;1 (Start) + 1 (Field) + 0 (Control) olmak üzere 3 bitten oluşur.

Alıcı Field bitini kontrol ederek, 6 bitlik tuş kodu ile gönderilebilecek toplamda 64 komutun 0-63 veya 64-127 aralığının hangisi için olduğunu anlar. Bu bit sayesinde 6 bitlik tuş kodu 7 bit olarak kullanılabilir.

Bitin 0 olması, bu 1800 us luk zamanın ilk 900 us luk kısmında datanın high, kalan 900 us luk zaman diliminde ise low olmasından anlaşılır.

Bitin 1 olması ise, bu 1800 us luk zamanın ilk 900 us luk kısmında datanın low, kalan 900 us luk zaman diliminde ise high olmasından anlaşılır. İlk gidecek bit en sağdaki bittir (LSB). Her paket data gönderimi arasında 114 ms bekleme süresi vardır.

RC5 Protokolü ile ilgili önemli not

29 Temmuz 2004 tarihinde tesadüfen görülen durum

Philips RC5 protokolünde, Philips in yayınladığıda dahil olmak üzere tüm teknik bilgiler Start bitinin “1”, Field bitinin tuş takımı sayısına göre “1” veya “0” ve kontrol bitinin “0” olduğunu bildirmesine karşın, Philips 14PT serisi 37 ekran televizyonun orijinal kumandasında kontrol biti bazen “1” bazen “0” olarak gönderiliyor.

Kumandaya bozuk demeye ramak kalmışken, test devremdeki TK19 çıkış sinyalini skopla kontrol ettiğimde durumu farkettim. Acaba benim devredemi bir şey var diye skopla televizyonun orijinal kumandasının inferruj sürücü çıkışını kontrol ettiğimde durum yine aynıydı.

Acaba televizyon yeni model olduğundan eski modellerle uyum sağlamaması için kontrol biti kullanılarak yeni bir özellik mi kullanılmış diye merak ettim ama televizyonda 97 model, yani yeni değil. Kumandanın bozuk olduğunu düşünenler olabilir.

Ancak benim test devrem, kontrol bitinin sürekli “0” geleceğini düşündüğünden ve kontrol bitinin “1” gelmesinden dolayı diğer bitleri kontrol bile etmiyor. Buda kontrol biti “1” olduğunda kodu çözmeyeceği sonucunu çıkartıyor. Test devresi bu durumda bazen çalışıyor, bazen çalışmıyor. Ancak televizyon üzerindeki alıcı devre her tuşa basışta kodu çözüyor. Buda kontrol bitinin sürekli “1” olmadığı sonucunu ve kumandanın sağlamlığını doğruluyor.

Ben bu duruma göre test devremdeki kodu güncelledim. Artık kontrol biti ne olursa olsun her tuş basışını çözüyor. Anlayacağınız üreticisi bile yayınlasa yazan her şeye güvenmemek gerekiyor.

Merak edenler için kumanda üzerindeki etiket :RC8205/01 3104 207 02781 OP009717

SHARP Protokolü

SHARP Protokolü

38 kHz taşıyıcı üzerinde, 1 / 4 veya 1 / 3 Duty Cycle Oranı

Bu protokol 5 bitlik cihaz kodu + 8 bitlik tuş kodundan oluşan 13 bitlik paket data bilgisi kullanır. Diğer protokollerden farkı start bitinin olmayışıdır. Ancak paket sonunda iki kontrol biti vardır ve eğer yanılmıyorsam ilki “1” ikincisi “0” bitidir.

Bir bit süresi bitin durumuna göre değişkendir. 0 olan bitlerde 1 ms ve 1 olan bitlerde 2 ms dir. Her iki durumda da sürenin ilk 320 us u high kalan süre low dur.

Data gönderimi ; 0 olan bitlerde 320 us high, 680 us low ve 1 olan bitlerde 320 us high, 1680 us low şeklinde yapılmalıdır. Data gönderme mantığı diğerleri ile aynıdır ve bir sonraki bit ara vermeden yollanmalıdır.

İlk gidecek bit en sağdaki bittir (LSB). Her paket data gönderimi arasında 40 ms bekleme süresi vardır.

NEC Protokolü

NEC Protokolü

38 kHz taşıyıcı üzerinde, 1 / 4 veya 1 / 3 Duty Cycle Oranı

Bu protokol 8 bitlik cihaz kodu(x2) + 8 bitlik tuş kodundan(x2) oluşan 32 bitlik paket data bilgisi kullanır.

Start biti SIRC de olduğu gibidir ancak header time 9 ms ve header time end 4.5 ms dir. Start bitinden sonra, (8 bit cihaz kodu + 8 bit cihaz kodu) + (8 bit tuş kodu + 8 bit tuş kodu) şeklinde aynı datalar 2. defa tekrarlanır.

Bu protokolde bit kullanımı SHARP ı andırır ancak bir bit süresi 0 olan bitlerde 1.12 ms ve 1 olan bitlerde 2.25 ms dir. Her iki durumda da sürenin ilk 560 us u high kalan süre low dur. Data gönderimi ; 0 olan bitlerde 560 us high, 560 us low ve 1 olan bitlerde 560 us high, 1690 us low şeklinde yapılmalıdır. Diğer protokollerden farkı ise “Repeat Start” özelliğidir.

İlk starttan sonraki 110 ms bitiminde 9 ms high ve 2.25 ms low yollamamız durumunda Repeat Start durumu oluşur. Bu durumda alıcı data kontrolü yapmadan (zaten vericide Repeat Start tan sonra data gönderiminde bulunmaz), vericinin bir önceki komutu tekrarladığını anlar ve bir önce aldığı komutu tekrar işler. İlk gidecek bit en sağdaki bittir (LSB). Her paket data gönderimi arasında 110 ms bekleme süresi vardır.

NOKIA Protokolü

NOKIA Protokolü

38 kHz taşıyıcı üzerinde, 1 / 4 Duty Cycle Oranı

Bu protokol 4 bitlik cihaz kodu + 8 bitlik tuş + 4 bitlik alt cihaz kodundan oluşan 16 bitlik paket data bilgisi kullanır.

Start için ilk olarak 0 biti yollanır. Daha sonra 2500 us boyunca low da beklenir ve 1 biti yollanır. Toplam start süresi 4 ms dir.

Start bitinden sonra sırasıyla 8 bit tuş kodu, 4 bit cihaz kodu ve 4 bitlik alt cihaz kodu yollanır. Bu protokol RC5 i andırır bir bit süresi 1 ms dir. Bitin 1 olması, bu 1000 us luk zamanın ilk 500 us luk kısmında datanın high, kalan 500 us luk zaman diliminde ise low olmasından anlaşılır.

Bitin 0 olması ise, bu 1000 us luk zamanın ilk 500 us luk kısmında datanın low, kalan 500 us luk zaman diliminde ise high olmasından anlaşılır. İlk gidecek bit en sağdaki bittir (LSB). Her paket data gönderimi arasında 100 ms bekleme süresi vardır.

ITT Protokolü

ITT Protokolü

Diğer protokollerden oldukça farklıdır ve en hızlı protokoldür. Toplam data transfer süresi maximum 2700 us dur. Her transfer standart 14 inferruj darbesi ile yapılır.

Bu protokol 4 bitlik cihaz kodu + 6 bitlik tuş kodundan oluşan 10 bitlik paket data bilgisi kullanır. Tablolardaki zamanlar verici tarafındaki RC osilatör ile +/- %20 oranına kadar değiştirilebilir. Alıcı kalibrasyonunu start biti süresine göre yapar.

“0” biti = Start Biti Lead-in = 3 x Start Biti
“1” biti = 2 x Start Biti Lead-out = 3 x Start Biti

Her paket gönderiminden önce Lead-in, paket sonunda Lead-out gönderilir. Bu gönderimler 14 inferruj darbesine dahildir.

Lead-in gönderiminden sonra gönderilen “0” biti startı oluşturur.

Start tan sonra 4 bitlik cihaz kodu, ardından 6 bitlik tuş kodu gönderilir. Paket gönderimi Lead-out ile sona erdirilir. İlk gidecek bit en soldaki bittir (MSB). Her paket data gönderimi arasında 130 ms bekleme süresi vardır.

ITT Protokolü için TBA2800 Infrared Preamplifier Entegresini aşağıdaki bilgiler yardımıyla kullanabilirsiniz.


tba2800_connection

YAK Protokolü

Yukarıdaki protokollerle işim olduğunda hep düşünmüşümdür “adamlar işi karıştırmak için ne kadar kafa yormuşlar” diye. Kendi geliştirdiğim aşağıdaki bu protokol aslında kablolu hat üzerinden uzaktaki birkaç makineyi kullanmak içindi. Yani işin aslı biraz tembellik.

Evde içişleri bakanımız kabloların “ortalıkta dolaşığı” iddiası ile savaş açınca işi kablosuza dökmek zorunda kaldım. Gerçi bu kararda geçen yıl dünyaya gelen tek oğlum Alp Eren’in yürümeye başladığında bu kabloları kemirmek, koparmak, takılıp düşmek gibi fiillerde bulunacağı daha etkili oldu desem yalan olmaz. Şimdi kabloların yerine evin duvarlarını süsleyen inferruj aktarım istasyonları var.

Buyurun Türkiye‘mizin medarı iftiharı bildiğim kadarıyla ilk inferruj kumanda protokolümüze ;

Bit Tanıtım Tablosu

Bit Tanıtım Tablosu

4 Bit Data Transfer Tablosu ( Tüm alıcılar )

4 Bit Data Transfer Tablosu ( Tüm alıcılar )

8 Bit Data Transfer Tablosu ( Tek alıcı )

8 Bit Data Transfer Tablosu ( Tek alıcı )

Kısaltmalar

  • C0 = Bit Süresi 1539 us.
  • A0 = Bit=”0” HIGH kalma süresi 513 us.
  • B0 = Bit=”0” LOW kalma süresi 1026 us.
  • A1 = Bit=”1” HIGH kalma süresi 1026 us.
  • B1 = Bit=”1” LOW kalma süresi 513 us.
  • K = Alıcının bit kontrolünü yapabileceği 514-1025 us aralığı.
  • a = Start, protokol tipi ve alıcı kodunu belirleyen süre
  • aH = Start 4096 us
  • aL = Protokol tipi ve alıcı tipini belirleyen değişken süre
  • b = aL yi doğrulama ve alıcı hazırlık / bekleme süresi
  • bH = aL ile aynı, aL yi doğrulama süresi
  • bL = Alıcılar için data alımına hazırlık veya bekleme kontrol zamanı
  • mT = Modülasyon da uygulanacak bir palsin süre toplamı 27 us
  • mH = Modülasyonda bir palsin HIGH Süresi 7 us
  • mL = Modülasyonda bir palsin LOW Süresi 20 us
  • mTk = Modülasyonda toplam mT sayısı

Bu protokol 4 veya 8 bitten oluşan data paketleri kullanır. 37 kHz taşıyıcı üzerinde, 1 / 4 veya 1 / 3 Duty Cycle Oranı.

YAK Protokolü Verici Devre Mantığı

YAK Protokolü Verici Devre Mantığı

1. Mikro kontrol inferruj kontrol çıkışının LOW olması, 555 i reset durumunda tutar. Bu durumda 555 çıkışındaki transistor tetiklenmediği için inferruj led devre dışıdır.

2. Mikro kontrol inferruj kontrol çıkışının HIGH olması 555 i devreye sokar. Bu durumda 555 çıkışındaki transistor iletime geçer ve modülasyonu göndermeye başlar.

3. Mikro kontrol bağlantısını yapmadan 555 in 4 nolu reset ucunu + volta alarak 555 çıkış modülasyonunu kontrol etmeniz tavsiye edilir.

YAK Protokolü Alıcı Devre Mantığı

YAK Protokolü Alıcı Devre Mantığı

1. İnferruj alıcı TK19 data gelmediği için çıkışını HIGH de tutar. Bu durumda inferruj alıcı çıkışındaki transistor iletimdedir ve alıcı mikro kontrolünün data giriş ucu LOW dadır.

2. İnferruj alıcı TK19 data geldiği süre boyunca çıkışını LOW da tutar. Bu durumda inferruj alıcı çıkışındaki transistor iletimde değildir ve alıcı mikro kontrolünün data giriş ucu HIGH dedir.

3. Mikro kontrol bağlantısı yapılmamış 555 in 4 nolu reset ucunu + volta alarak 555 çıkış modülasyonu ile inferruj ledi sürmeniz ve ALICI KONTROL noktasını bağlamadan alıcınızın çalıştığını kontrol etmeniz tavsiye edilir.

4. TK19 un çıkışında transistör kullanmadan, +5 volta asarak datayı terslenmiş olarakta alabilirsiniz. Ancak bu terslenmiş data dizaynını aktarıcı devrede kullanamazsınız.

YAK Protokolü Aktarıcı Devre Mantığı

YAK Protokolü Aktarıcı Devre Mantığı

Bu devre uygun noktalara yerleştirildiğinde, inferruj vericinizin yolladığı dataları daha uzak noktalara taşır.

1. İnferruj alıcı TK19, data gelmediği için çıkışını HIGH de tutar. Bu durumda TK19 çıkışındaki transistor iletimdedir ve 555 reset ucu LOW dadır. Bu durumda 555 çıkışındaki transistörler tetiklenmediği için inferruj ledler devre dışıdır yani aktarım yapılmaz.

2. İnferruj alıcı TK19, data geldiği süre boyunca çıkışını LOW da tutar. Bu durumda TK19 çıkışındaki transistor iletimde değildir ve 555 reset ucu HIGH dedir. 555 reset girişi HIGH de kaldığı süre boyunca çıkışındaki transistörler vasıtasıyla inferruj ledleri ayarlandığı modülasyona göre sürer.

3. 4 Adet inferruj led kullanılma sebebi devre plaketi üzerine farklı açılarla yerleştirilerek datanın farklı yönlere dağıtılabilmesi içindir.

4. Aktarıcıdan çıkan inferruj data, kendi alıcısı TK19 u kesinlikle görmemeli ve eşya, duvar gibi nesnelerden geri yansımamalıdır. Verici ledler gerekirse led soketi içerisine alınarak veya başka meteryaller ile döndürüldükleri yöne odaklanmalıdır. Aksi takdirde aktarıcı sonsuz döngüye girer.

YAK Protokolü Verici Data Gönderim Mantığı

Verici her şeyden önce kullanıcının tuş takımı, bilgisayar vb. yollarla data gönderim isteğini beklemek zorundadır.(Alıcılar kullanıcının keyfi yetene dek saf saf beklemektedirler ve can sıkıntısından pil, elektrik vs. yemektedirler.)

Verici, kullanıcı talepte bulunduğunda, çıkışı HIGH yaparak 4096 us bekler veya 555 kullanılmadıysa modülasyona yönlenir.(Alıcılar bu arada girişin “lojik 1” olmasıyla sayaçlarını ayarlarlar ve HIGH de geçen süreyi saymaya başlarlar)

Verici; daha sonra iletişim kuracağı alıcının aL süresini sayacına yükler, çıkışı LOW yaparak bu sürenin geçmesini bekler. 555 kullanılmadan modülasyon yapıldıysa, zaten modülasyon dönüşünde çıkış LOW durumundadır. (Alıcılar LOW ile birlikte sayaçlarını sıfırlar ve aL süresini saymaya başlarlar. Bu aşamada HIGH süresini kontrol ederek 4096 us luk start olup olmadığına karar verirler. Eğer bu zaman dilimi start değil ise aL sayaçlarını durdurarak işlem başlangıcına dönerler.)

Verici daha sonra aynı aL değeri ile doğrulama bilgisini (bH) göndermek üzere çıkışı tekrar HIGH yapar ve bH süresinin dolmasını bekler veya modülasyon rutinine yönlenir.

Modülasyon rutini için örnek ; (örnek tüm alıcılarla iletişim kurulduğu varsayılarak verilmiştir.) mTk = 513 us / 27 us = 19 palsden sonra geri döner.

(Alıcılar HIGH ile birlikte aL süresini kaydederek sayaçlarını sıfırlarlar ve bH süresini saymaya başlarlar)

Verici aynı sayaç ile alıcıların data kontrolünü yapması ve ilgili alıcının data alımına hazırlanması için çıkışı LOW da yaparak bekler. Bu arada kendi bit sayacını sıfırlar.

(Alıcılar LOW ile birlikte aL ve bH sürelerinin aynı olup olmadığını kontrol ederler. Aynı değilse 25 ms bekleme rutininden sonra işlem başlangıcına dönerler. Aynı ise kendi dataları ile aL yi kontrol ederler. Buda tutmuyorsa yine 25 ms bekleme ve işlem başlangıcı. Tutuyor ise iletişimin kendileri ile kurulmak istendiğini anlarlar ve sayaçlarını K noktasını tutturacak şekilde ayarlayarak, bit sayacını da sıfırlayarak 4-8 bitlik paket alımına hazırlanırlar)

İlk gidecek bit en sağdaki bittir (LSB). Verici gönderilecek bitin “0” veya “1” olmasına göre sayaçlarını ayarlayarak çıkışı HIGH yapar ve A0 veya A1 süresinin dolmasını bekler veya modülasyon rutinine yönlenir.

4 bitlik tablodaki ilk bit “1” bu durumda A1=1026 us
mTk = 1026 us / 27 us = 38 palsden sonra geri döner.

HIGH süresi sonunda çıkışı LOW yaparak B0 veya B1 süre dolumu bekler. Bu arada kendi bit sayacını 1 artırır.

(İlgili alıcı K alanında datayı kontrol ederek bitin “1” olduğunu algılar ve bit sayacı=0 olduğu için gelen biti gelen_data_registerinin 0. bitine kaydeder ve bit sayacını 1 artırır. )

Verici kendi bit sayacını kontrol ederek iletişimin tamamlanıp tamamlanmadığını kontrol eder. Tamamlandıysa alıcıların içinde data alındığında işlenecek en uzun program süresi ne kadar ise en az o kadar bekleme rutininden sonra kullanıcının yeni gönderim isteğini bekler. Bu işlemler zinciri her bit gönderiminden sonra yapılmalıdır.

Bizim data transferimiz daha tamamlanmadığı için, vericinin bit sayacı bir olmuştur. Bu yüzden gönderilecek 4-8 bitlik datanın 1. bitinin “0” veya “1” olmasına göre sayaçlarını ayarlar çıkışı HIGH yapar ve A0 veya A1 süresinin dolmasını bekler veya modülasyon rutinine yönlenir.

4 bitlik tablodaki ikinci bit “0” bu durumda A1=513 us
mTk = 513 us / 27 us = 19 palsden sonra geri dönerek çıkışı LOW da bırakır.

HIGH süresi sonunda çıkışı LOW yaparak B0 veya B1 süre dolumu bekler. Bu arada kendi bit sayacını 1 daha artırır.

(İlgili alıcı K alanında datayı kontrol ederek bitin “0” olduğunu algılar ve bit sayacı=1 olduğu için gelen biti gelen_data_registerinin 1. bitine kaydeder ve bit sayacını 1 daha artırır)

Bu şekilde verici ile ilgili alıcı 4-8 bitlik datayı kendi aralarında hallederler.

Sadece tek bir alıcıyı yönlendireceğinizde değişiklik aL, bH ve bL zamanlarında olacaktır. Bu süreler “cihaz kodu” özelliği taşıdığından sizin belirlediğiniz ve alıcınızın anlayacağı şekilde 513 us un katları olarak siz ayarlayacaksınız. Dikkat edilecek nokta çıkışın boşta iken sürekli LOW da kalmasıdır.

YAK Protokolü Alıcı Data Alım Mantığı

4 bitlik transferde aL süresi 513 us dur. 4 bitlik iletişimde tüm alıcılar paket alımına hazırlanır. Alıcılar 4 bitte toplam 16 değişik komutu algılayarak tümü aynı komutu işlerler. Tüm alıcıları aç, Tüm alıcılar stand-by vb.

8 bitlik transferde aL süresi 513 us hariç, 513 us un katları şeklinde değişkendir. aL süresi diğer protokollerdeki cihaz kodu yerine kullanılır. 8 bitlik iletişimde tüm alıcılar aL ve bH sürelerini değerlendirerek iletişimin kendileriyle kurulmak istenip istenmediğine karar verirler. İletişim kurulacak alıcı hariç diğer alıcılar 25 ms bekleme konumuna geçerek iletişimin ilgili alıcıyla yapıldığı süre boyunca data kontrolü yapmazlar. 25 ms bekleme süresi dolumunda data kontrolüne yeniden başlarlar. Alıcılar 8 bitte toplam 256 değişik komutu algılayarak iletilen komutu işlerler.

4 veya 8 bitlik transferde alıcılar aL süresi sonunda sayaçlarını sıfırlayarak bH süresini tekrar sayarlar. aL = bH ise ve bu zaman dilimi kendilerini ilgilendiriyor ise bL içerisinde sayaçlarını ayarlayarak 4-8 biti alım hazırlığını yaparlar.

K aralığında gelen bitin kontrolü yapılır. Bu kontrolde giriş portu “lojik 1 “ olursa data biti “1” dir, olmazsa “0” dır. Bu kontrol toplamda 4-8 defa yapılarak 4-8 bitlik data alınır ve işlenir.

Kontrol K zamanının başlama (514. us) veya bitişine (1025. us) yakın değil de ortalarında yapılır ise, yazılım hatası nedeniyle olabilecek kaymalar sonucu oluşabilecek hatalar engellenebilir.

Diğerleri ile aynı işlemleri yapmayacak alıcılar (4 bitlik data transferine katılmayacak olanlar) aL ve bH sürelerinde 513 us kontrolü yapmayabilirler.

YAK Protokolü Modülasyon Rutini (555 kullanılmadığında verici için)

  • Çıkış “lojik 1” yapılır.
  • Toplamda 7 us geçene dek beklenir. (mH)
  • Çıkış “lojik 0” yapılır.
  • Toplamda 20 us geçene dek beklenir. (mL)
  • mTk sayacı kontrol edilir.
  • mTk sayısı tamamlandıysa geri dönülür.
  • mTk sayısı tamamlanmadıysa aynı işlemler için rutine tekrar girilir.

Hesaplamalar, Formüller ve Diğer Açıklamalar

555 bu devre ile astable modunda kullanılmaktadır.

555 bu devre ile astable modu

Çıkış frekansı için kullanılacak formül

Çıkış frekansı için kullanılacak formül

Duty cycle için kullanılacak formül (mT, mH ve mL %)

Duty cycle için kullanılacak formül (mT, mH ve mL %)

İstediğimiz frekans için R2+RV1 toplamını bulmak için kullanılacak formül

ne555 frekans için R2+RV1

Şemadaki elemanların değerlerini aşağıdaki gibi kullandığımızda ;

R1 = 3K3 Ohm
R2 = 1K8
RV1 = 1K
C1 = 4.7 nF

Örneğin 36 kHz çıkış frekansı istersek

36 kHz çıkış

Bu durumda çıkış frekansının 36 kHz olması için R2 direnci ve RV1 potu toplam değerinin 2.6053K olması gerekmektedir.

Duty Cycle ise ;

Duty Cycle

Bu devre ile alınacak Minumum / Maximum değerler

Pot Değeri 0 K iken
f = 1440 / (3K3 + (2 x 1K8) x 4.7nF = 44.4033
D = 1K8 / (3K3 + (2 x 1K8)) = % 26.08

Pot Değeri 1K iken
f = 1440 / (3K3 + (2 x 2K8) x 4.7nF = 34.4250
D = 2K8 / (3K3 + (2 x 2K8)) = % 31.46

Devre, elemanların bu değerleri ile çıkış frekansı R2 ye seri bağlı 1K pot kullanılarak, 34.42 ile 44.40 kHz aralığında ve %31.46 ile %26.08 arasında duty cycle ayarlanabilmektedir. 555 in 4 nolu reset ucu mikrokontrolden gönderilen inferruj datasının giriş ucu, 3 nolu ucu ise inferruj verici ledi tetikleyen ucudur.

Mikrokontrol çıkışında direkt olarak inferruj ledini kullanmayarak 555 entegresini kullanmamızın sebebini ise RC5 protokolünü örnek vererek şöyle açıklayabiliriz;

RC5 protokolü 36 kHz de çalışır. Bu frekans için ;

1.000.000 us / 36.000 us = 27.778 us modülasyon gerekmektedir. (noktadan sonrası ns dir, yani değer 27 us ile 28 us arası, 28 us a yakındır)

Buna göre ise RC5 için 1 / 4 (%25) duty cycle kullandığımızda ;
27.778 us %25 i = 6.944 us high darbesi ve 27.778 us – 6.944 us = 20.834 us low da bekleme gerekmektedir ve bit süresini tutturmak için, her bitte bu palslerin 32 defa tekrarlanması gerekmektedir. 27.778 x 32 = 888.896 us bir bit içerisindeki HIGH süresini verir.

Aynı süre ile de LOW gerekeceğinden, RC5 protokolünde bir bitin gerçek zamanı bu 1,778 ms dir. Bu sonuca göre biz, 555 i kullanarak çıkışı sadece high veya low yaparız. Modülasyon işini 555 yapar. Çıkışta 555 kullanmadan modülasyonu yazılımla da çözebilirsiniz.

YAZININ DİĞER SAYFALARI: 1 2

sakla feedmail facebook twit  

Yazar: gevv

Yazarımızın 320volt.com Blog üzerinde şu an okuduğunuz yazı dahil 1893 yazısı bulunmaktadır. Yazarımız hakkında bilgileri ve diğer yazılarını görmek için bakınız;

online elektronik komponent satışı

 
  1. Ugur diyor ki:

    İnferruj Datayı Bilgisayardan Okumak ve Göndermek hangi programları kullabiliriz

Yorum yapın

Doğrulama: (kutuyu işaretleyiniz)


  • Lütfen Türkçe imla kurallarına dikkat etmeye özen gösteriniz.
  • Yorumunuz yönetici tarafından kontrol edilmeden yayımlanmaz.
  • Paylaşılan devrelerin malzeme listesini istemeyiniz. Olsa zaten paylaşılırdı şema üzerinden listeyi çıkartabilirsiniz
  • Gavatar sitesine avatarınızı yükleyebilirsiniz.
sponsor

sponsor

diptrace

diptrace

sponsor

sponsor

embeddedtrading

embeddedtrading

sponsor

sponsor

seo

Seo Danışmanlığı

feed save face twit  
Translate: TürkçeEnglish

Forum Son İletiler