![]() |
|
|
PT2262 ile PT2272-M4 ve PT2272-L4 Denemeleri / 21 Ağustos 2011
Son güncellenme: 10 Eylül 2011 PT2262 ile PT2272-XY bir encoder-decoder çiftidir. PT2262 paralel uygulanan data ve adres bitlerini belirli bir kurala göre kodlar, PT2272 ise kodlanmış verinin içerisindeki adres bilgisiyle kendisine uygulanmış adres bilgisini karşılaştırır, tutuyorsa kodlanmış verinin içinden vericinin gönderdiği bitleri çözer ve data çıkışına yansıtır. Basit RF modüller ile 4-6 bit paralel bilgi iletilmesi bu çiftin kullanıldığı yerlere güzel bir örnektir. Kodlama işlemi katalogda anlatılmış, yapılan işlem lojik1 biti yerine 10001000, lojik 0 biti yerine 11101110 bitlerini göndermek gibi bir işlem yoksa PT lerin herhangi bir şifreleme özelliği yoktur. Öncelikle kodlama ile şifrelemeyi ayırmak gerekir. Haberleşmede veriyi direkt göndermek yerine kodlama-kod çözme işlemini araya koymanın birkaç nedeni vardır: 1) Sağlamlık: Çeşitli kodlama teknikleriyle, data bitlerine eklenen bitler(parite bitleri) sayesinde kanalda olası bir hatanın alıcı tarafta sezilmesi ve hatta düzeltilmesi mümkün olabiliyor (Popüler kodlama yöntemleri: cyclic codes, convolutional codes). Şifreleme(kriptolama) ise PT lerle ilgisi olmayan bambaşka bir konu, genel olarak kriptolamada sadece alıcıda ve verici tarafında bilinen bir anahtar olur. Verici taraf bu anahtara ve belirli bir algoritmaya göre datayı(kırmızı bilgiyi) kriptolar, alıcı taraf da bu anahtara göre datayı çözer. PT serisi daha çok donanımsal sebeplerden ve adresleme amaçlı kullanılıyor[Bu cümleyi düzelttim]. PT2272 alıcısı adres bilgisi uyuşmadığı sürece datayı çözmediğinden alıcının hata yapma ihtimali düşüyor ancak buradaki güvenliğin şifreleme ile ilgisi yok, nitekim adres ve data bitleri 3. kişiler tarafından rahatça görülebilecek/kayıt edilebilecek şekilde olduğu gibi kodlanmaktadır. Bu yazıda bahsedeceğim denemelerimde PT2262 ile PT2272-M4 ve PT2272-L4 kullandım. PT2272 nin 2 tipi var, (M)omentary ve (L)atched. PT2272 adından sonra gelen M ve L harfleri tipi belirtiyor. Hemen sonra gelen sayı ise data bit sayısını belirtiyor. PT2272-M6, momentary tip 6 bit data alabilen demek oluyor. Alıcı-verici çiftinin çalışabilmesi için iki tarafın osilatör frekanslarının uyumlu olması gerekiyor(PT2272 nin 2.5~8 kat daha hızlı olması gerekiyormuş). Frekansları belirleyen dirençler için tavsiye edilen değerler datasheet ten de görülebileceği gibi tabloda verilmiş: Ben 1.2M ve 200k seçeneğini kullandım. PT2262 Tarafından Üretilen Dalga Şekilleri Sistemin çalışmasına geçmeden önce PT2262 tarafından üretilen dalga şekillerine bir göz bakalım. Ayrıntılı katalogda verildiği üzere bir kod sözcüğü aşağıdaki bitlerden oluşmaktadır. Görüldüğü üzere adres ve bilgi bitleri direkt gönderilmektedir. Buradaki bitlerin PT2262 tarafından nasıl kodlandığı ise aşağıda gösterilmiştir: A3 ve A7 bitleri lojik1 diğer adres bitleri lojik0 olduğu durumdaki örnek bir kod sözcüğünün adres bitleri aşağıda görülmektedir: Aşağıda da yazdığım üzere VCC, /TE şartları sağlandığı sürece kod sözcüğü tekrar tekrar gönderilmekte: Kod sözcüğünün tüm bitleri bir osiloskopta veya daha güzeli PICKIT2 ayarında lojik analizörlerle gözlenebilir. Sistemin Çalışması 2262 de /TE ucunu toprağa çektiğimizde iletim aktif oluyor, toprakta kaldığı sürece tekrar tekrar gönderiyor, gözlediğime göre her 16ms de tekrar gönderiyor. Momentary tip alıcının(PT2272-Mx) data çıkışlarında, vericiden gönderdiğiniz veriyi sadece gönderildiği sürece görebilirsiniz. Çıkışları bir süreliğine görmek isterseniz bu süre boyunca /TE yi toprağa çekerek gönderim yapmanız gerekir(alıcıda bir süre “valid transmission” ledini yakmış olacaksınız). Örneğin uzaktan kumandalı araba yapmak isterseniz;) momentary alıcı kullanmanız daha uygun olur. /TE yi topraktan çeker çekmez(iletimi durdurur durdurmaz) alıcı taraf OFF oluyor(çıkışlar floating). PT2272-M4 ün çalışmasının kısa bir videosu şöyle:
Vericide(2262) iletim aktifken datayı değiştirdiğinizde gönderilen veri güncellenmiyor. /TE toprağa çekildiğinde PT2262 o anda girişlerde gördüğü datayı kodluyor ve /TE toprakta kaldığı sürece girişlerin değişmesi çıkışı değiştirmiyor. Yani /TE ucu sanki bir örnekleme işlemi gibi toprağa çekildiğinde datayı örnekleyip kodlamaya başlıyor. Güncellenme için /TE nin yenilenmesi(1>0 yapılması) veya beslemenin resetlenmesi gerekiyor yani iletimin kesilip yeniden açılması gerekiyor. PT2262 nin datasheetinde diyotlar yardımıyla sadece butona basıldığında entegreye besleme uygulayan devrenin şeması var yani sadece düğmeye basılıyken entegrenin beslemesi veriliyor. Bu mantık güç tasarrufu açısından faydalı, sadece butona basıldığında enerji gitmesi data güncellenmesi problemini tek butona basılacaksa ortadan kaldırıyor ancak buton basılı tutulduğu esnada diğer bir butona basılması halinde veri güncellenmiyor(yukarıda bahsettiğimiz örnekleme problemi). Dolayısıyla uzaktan kumandalı arabanıza ileri komutu basılı iken bir süre sonra sağa dön komutu verdiğinizde dönmeyecektir! Eliniz çekip iki düğmeye birden basmanız gerekmektedir. Keyifsiz bir sürüş! Bu durumu yukarıda verdiğim videonun son bölümünde göstermek istedim. Latched tip alıcıda(PT2272-Lx) ise durum şöyle: PT2262 gönderdiği veriyi bir defalığına PT2272-L4 e ulaştırabilirse(alıcıdaki valid transmission ledini bir anlık yakabilirse) artık PT2272-L4 o data çıkışlarını vericiden bağımsız olarak sürekli tutar, PT2262 nin beslemesini çekseniz de PT2272-L4 ün çıkışları devam eder. Latched versiyonun çalışmasının kısa bir videosu şöyle:
PT2262 nin data uçlarının birinden UART veri girip PT2272 den almak akla gelebilir ancak PT çifti bu konuda çok yavaş kalıyor daha doğrusu o iş için tasarlanmamış. Düğmelerle denediğim uygulamada düğme yerine 50Hz lik bir kare dalga uyguladığımda bile 2272 nin data ucunda bu kare dalgayı göremiyorum, RF modülsüz direkt kablo bağlantısı yapılmışken. PT2262 ve PT2272 nin detaylı datasheetleri önceki bir yazıda da verildiği üzere bu bağlantıdan indirilebilir. Son olarak PT serisinin pek de sevimli olmayan datasheetlerini dirtikleyip şema çıkarmaya üşenen(!) arkadaşlar için denemesini yaptığım devrenin şemasını veriyorum: Yazıyı burada bitiriyoruz. Bu sefer de ertelememeyi deneyelim;) Çalışma hevesiniz daim olsun. Ek notlar: Arkadaşlar katalogdaki örnek devre şemalarında adres bitleri hep “floating” bırakılmış. Girişler 3state olduğundan boş bırakmak da mümkün ancak ben denemelerimi adres bitlerini toprağa çekerek yaptığımı söylemiştim. Adres bitlerini değiştirmek istediğimde, mesela bir adres bitini dirençsiz +VCC ye çektiğimde PT2262 nin VCC verilmeksizin(herhangi bir düğmeye basılmadığı durum)(/TE toprakta tabi) veriyi kodlayıp gönderdiğini(entegrenin çalıştığını) gözledim, 10k ile çektiğimde DOUT çıkışında genliğin 2V a düştüğünü ama yine de entegrenin çalıştığını gördüm. Bu durumlar(VCC pini bağlanmaksızın entegrenin çalışması) muhtemelen, girişleri korumak için konulmuş clamp diyotlar yüzünden olmaktadır. Dolayısıyla eğer adres bitlerini lojik1 yapmak istiyorsanız adres bitlerini çektiğiniz besleme gerilimi, sadece düğmeye basıldığında verilen besleme ile aynı olsun, VCC pini olabilir mesela. Yani düğmeye basıldığında entegre enerjilenmişti, adres bitleri de o zaman lojik1 olsun. Adres bitini sabit bir 5V a çekerseniz düğmeye basmasanız da(VCC gitmese de) adres girişlerinden entegre enerjileniyor ve kodlama/gönderme işlemi sürekli yapılıyor. Örnek şema: Son olarak, PT çiftinin kodlama ve kod çözme işlemleri, günümüz mikrodenetleyicileriyle yazılım ile de gerçeklenebilir. “PT2262 ile PT2272-M4 ve PT2272-L4 Denemeleri” için 5 YorumYorum Yapın |
|
| |
08 Eylül 2011, 11:24
Merhabalar,
Sitenizde bulunan PT2262 ile yapılmış olan devrenizi simulasyonda çalıştırmak istiyorum siteye ekleme veya mail atma şansınız var mıdır? Ben bu uygulamayı saat sıcaklık devremde saat kısmını ayarlamak için kullanmak istiyorum buna benzer bir uygulamanız varsa da rica edeceğim.
Teşekkürler.
08 Eylül 2011, 12:15
Merhaba, simülasyon yapılmadı sadece devre şeması çizildi. Entegreler sadece çizim, model dosyası yok. PT2262,2272 nin proteus ta modeline rastlamadım. Bir de son not olarak yazıya eklemiştim, adres bitlerini 0 a çekip yaptığım gözlemleri yazdım, adres bitlerinden bir veya birkaçını VCC belirlemek istediğimizde başka durumlar ortaya çıktığını fark ettim, 10k dirençle pull up yaptığımda VCC pini boşta olmasına rağmen entegrenin çalışması gibi durumlara rastladım. Yazıyı devam ettirmeyi planlıyorum.
Benzer uygulamam ne yazık ki yok, bu yazdıklarım PT lerle ilgili adamakıllı ilk denemelerim. Uygulamanız için 2272 nin latch versiyonu daha uygun olabilir. Aslında veri haberleşmesinde bu basit rf modüller pek iyi değil. RFM nin daha gelişmiş rf modülleriyle yapmak lazım, PT gibi encoder-decoder e de gerek kalmaz, fiyatlar da pek yüksek değil. Bu basit rf modülleri PT lerle kullanarak bit kontrollü uygulamalarda, röle tetikleme vs.de kullanabiliriz.
İyi çalışmalar.
25 Eylül 2011, 18:04
Fatih Hocam, elinize sağlık. Yararlı bilgiler içeren güzel bir yazı hazırlamışsınız. RF ile iletişim kurma konusunda önceden bir deneyimim olmadığı için soruyorum: Bildiğim kadarı ile RF haberleşmede önce bir uyandırma sinyali gönderdikten sonra, her iki tarafın da bildiği öncü bir sinyalin arkasından verimizi gönderebiliriz. Örneğin iki kez ‘a’ nin ASCII kodu geldikten sonra gelen byte bizim yolladığımız bilgi oluyor gibi. Fakat burda da yine hata denetimi yapmamız zorunlu gibi. Çünkü son byte gönderilirken yine bozulabilir. Bu tarz donanımsal çözümler sanki bizi biraz daha rahatlatıyor. Fakat, entegrelerin seri iletişim için uygun olmadığını belirtimişsiniz. Acaba RF ile seri iletişim için kullanılabilecek bir encoder/decoder çifti entegre biliyor musunuz?
Saygılarımla
25 Eylül 2011, 21:22
Merhaba, bu basit modüllerle düzgün haberleşme için bahsettiğiniz gibi çok işlem gerekiyor. Sonuçta eldeki basit modüller 300 baud da bile tam güven vermediğinden encoder-decoder ler de pek fayda etmez. Sorduğunuz şekilde hazır bir encoder-decoder çifti bilmiyorum, yazılım ile hızı 100 baud lara kadar düşürüp denemeler yapılabilir.
RF modüller ile sağlıklı bir seri haberleşme yapmak için ASK nın en basit hali OOK kullanan modüller yerine daha gelişmiş modüller kullanmaktan yanayım. GFSK, BPSK modülasyonları kullanan kendi kontrol mekanizmaları olan modüllere geçiş yapmakta fayda var. Elimde RFM70 modül var, çalışabilirsem ilgili bir yazı yazmak istiyorum. İyi çalışmalar.
28 Eylül 2011, 20:32
Teşekkürler Fatih hocam, yazılarınızı merakla bekliyoruz.