avatar_fatih88

bariyer kontrol

Başlatan fatih88, 28 Mayıs 2013, 11:52:43

fatih88

arkadaşlar öncelikle merhaba başlıkta oldugu gibi bariyersistemi kartı yapmaya çalışıyorum ama birsorunum var yazılıma geçmeden önce onu çözmem gerekiyor biliyorsunuzki amatör uzaktan kumanda sistemlerinde verici ve alıcı frekansımız 433mhz.
piyasadan almış oldugumuz elceke bastıgımızda benim kartımda pt2272 olmadan gönderilen sifre ve basılan buton konumunu pic ten nasıl okuya bilirim serin komutu ile alamadın elcekten gelen frekansın kac baudrate oldugunu hesaplayamadım bildigim kadarı ile elcek 8şifreleme biti 4 data biti 1desenkronizasyon biti yolluyr toplam 13 bit ben bu bilgiyi alıp pic e kaydepmem gerekiyor  nasıl çözebilirim yardımcı olursanız sevinirim iyi çalışmalar
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

ete

PT22xx serisi şifreleme entegrelerini pic'e çözdürmek çok zor bir iş değil. Ticari bir kaç projemde bu sistemi kullandım. Hala daha zaman zaman kullanıyorum. Forumda yayınlamadım ama RF yolu ile saat ayar sistemim de bu mantıkla çalışmaktadır.

Konu ticari olduğu için burada teorisini vermekle yetineceğim.

PT2262 (vericide bulunan entegre olup bu PT2260 da olabilir) data sheet'ine bakarsan,
- Entegrenin toplamda 12 adet adres bacağı vardır. Bunların bir kısmını entegre tipine göre Data bacağı olarakda kullanmak mümkün olabiliyor.
Şİmdilik biz tamamını adres bacağı olarak kullandığımızı farz edelim. Bu bacaklar ya HIGH , ya LOW yada FLOAT denilen boşta bırakılma konumunda olabiliyorlar.
Bu şekilde adreslenmiş bir entegreden veri çıkışı yapıldığı zaman enetgre, adres bitleri + 1 ad. senkron biti yollamaktadır.
Senkron biti işin püf noktasını oluşturuyor. Zira bu tür işlerde sinyal başını yakalamak çok önemlidir. Bu konuda tek ip ucuda senkron bitidir. Senkron biti  4 CLK palsi uzunluğunda HIGH ve 124 bit uzunlluğunda LOW sinyalinden oluşur. Hemen anlaşılacağı gibi kısa bir HIGH ve uzunca bir LOW sinyalidir bu.
Data yada adres bitlerine bakacak olursak;
- LOW biti = 4 CLK HIGH + 12 CLK LOW + 4 CLK HIGH + 12 CLK LOW  (kısa HIGH + Uzun LOW + Kısa HIGH + Uzun LOW)
- HIGH biti = 12 CLK HIGH + 4 CLK LOW + 12 CLK HIGH + 4 CLK LOW (Uzun HIGH + Kısa LOW + Uzun HIGH + KISA LOW)
- Z biti       =4 CLK HIGH + 12 CLK LOW + 12 CLK HIGH + 4 CLK LOW (kısa HIGH + Uzun LOW+ Uzun HIGH + KISA LOW)
şeklinde sinyallerden oluşmaktadır.
Şimdi bu veriler ışığında söz konusu sinyalin pic yardımı ile çözülme mekanizmasına adımlar halinde bakalım.
- İlk yapacağımız şey uzunca bir LOW sinyali yakalamak olacaktır. Bu sinyali yakalayıncaya kadar sistemi çalışıtırıyoruz.
- Sinyali yakaladıktan sonra  biliyoruz ki peşinden gelenler data yada adres bitleridir. Şimdi bu bitleri nasıl ve ne şekilde almayızıki bir birlerinden ayırd edebilelim.
Bitlere bakacak olursak Z biti hariç diğerleri yan yana ikiz bitlerden oluşuyorlar. O halde ilk bitlerine yada ikinci bitlerine bakarak bunları kayıt altına almak gerekir.
Örnek verecek olursak,
Bir LOW biti =4 CLK HIGH + 12 CLK LOW + 4 CLK HIGH + 12 CLK LOW   şeklinde idi. Yani kısa bir HIGH, Uzun bir LOW ve devamında bunun tekrarı görülüyor.  Formatın ilk parçası 4+12=16 CLK uzunluğundadır. Bu hiç değişmiyor. O halde ben sinyalin önce birinci bitine bakarım. Bu bit daima HIGH olacak. Bunu kayda alırım. Sonra sinyalin ikinci ikiz kısmındaki HIGH sinyalinide kayda alırım.
Her ikiside kısa HIGH ise bu bit LOW dur.
Her ikiside uzun HIGH ise bu bit High dır.
Biri kısa biri uzun ise bu bit Z dir
diye karar veririm ve böylece bitleri çözmüş olurum. Tabiiki aynı şekilde toplam 12 adet bit bu şekilde okunup kayda alınmalı sonrada bit uzunluklarına bakıp olay çözülmelidir.  Biraz uğraştırıcı ama sonunda oluyor.

Bu olayı henüz programlamayı öğrenmeye başladığım yıllarda çözmüşmüştüm. O zaman pic bilgim elbette çok fazla değildi ama epeyce uğraşarak bu işi çözmüştüm. Çok uğraştığımı itiraf etmeliyim.
Aslında ilk çözdüğüm entegre başka bir şifre entegresi idi. Sonradan PT serisini çözmüştüm. Demek istediğim şu ki bu veridğim açıklamayı o zaman bana birisi vermiş olsa idi olayı 2-3 günde çözebilirdim. Ama bir sürü bilinmeyen içinde herşeyi kendim keşfetmek zorunda kalmıştım. Üstelik Logic Analizör yada Skop gibi aletlerim olmadan. Tamamen mantık kullanarak bu işi yapmıştım.
Umarım sizde çözersiniz.

Ete

fatih88

hocam ilginiziçin teşekkurler zahmet edip  uzun uzadıya yazmısınız yani ben bilgiyi alabilmek icin serin komutu kullanamıyorum yani oylemi rica etsem kucuk bi komut dizisi yollarmısınız
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

ete

#3
Fatih88,
Bu işin Serin komutu ile hiç bir alakası yok. Olayı hiç anlamamışsın. Kod yazsamda yapacak halin yok bence. Ayrıca koda yazmayacağımı da belirtmiştim.
PT serisi sistem Baud kullanmaz. Sistemde iki etkin OSC bulunur. Birisi Entegrenin verileri üretmek için kullandığı CLK osilatörü. Bu bir caktanbağlanan direnç değeri ile belirlenir. Bu dirence göre entegrenin kullandığı CLK palslerinin peryodu değişir. Dolayısıyla alıcıda uyum içinde olmalı ve benzer frekansı yakalayabilmelidir. Diğer etkin OSC ise yayın frekansıdır. Yada taşıyıcı frekans diyebiliriz. Buda 433 Mhz - 315Mhz - 865 Mhz gibi değerler alır. Buradan da anlaşılacağı gibi işin içinde normalde seri haberleşme sistemi yoktur. Ama sen sokarsan onu bilemem. Normalde buna gerek yok elbette. Sistem butonları kullanır ve basılan tuşun kodu şifreleme mantığı ile karşıya iletilir. ALıcıda gelen kodu çözerek oradan hangi butona karşılık geldiğini anlar ve gerkenleri yapar.

Bana kalırsa sen PT2272-PT2262 data sheetlerini aç sinyal şekillerini incele. Benim yazdıklarımı sonra yeniden oku.

Ete

askin

Sevgili Fatih88
Birkaç yıl önce senin çalışmana benzer bir çalışma yapmıştım, ama ben elcikleri (kumandayı) piyasadan değil kendim yaptım.
Bazı elcikler ise Rolling Code özelliklidir ve her seferinde farklı kod gönderirler (yanılıyorsam arkadaşlar düzeltsinler lütfen)   
Bu konu üzerine uzunca bir çalışmadan sonra kendi kumandamı geliştirdim, içinde 12f675 var, istediğim id yi programlayıp kumandaya yerleştiriyorum, hatta kopyalanmasın diye farklı baudlar falan kullanmıştım, kumandaların mesafesi 30-50metre
faydası olacaksa incelemen için bir tane gönderebilirim.

fatih88

eyvallah kardeşim sağolasın ilgin icin etehocamız gerekli acıklamayı yapmış program yazamatacağımı anlamış biraz ugrastıktansonra hallederim allahın izniyle  :(
bilgi paylaştıkça çoğalır!!

www.fayelektronik.com

Powered by EzPortal