O

CCS C ile RFID Manyetik Kart Okuma

Başlatan ozkan, 15 Kasım 2013, 15:05:57

ozkan

Herkese selamlar.

Çalıştığım kurumda manyetik kart ile asansör çağırma işlemi gerçekleştirmek istiyoruz. Yaptığımız PIC devresi master olarak, okuyucular ise slave olarak çalışacak. RFID okuyucumuz MF522-AN. SPI iletişimini kullanıyor.  CCS C fonksiyonları ile birçok deneme yapmama rağmen henüz bir okuma gerçekleştiremedim. PIC16F877 ile iletişim kurmak istiyorum.

İnternette arduino ile yapılmış çok sayıda örnek var ancak PIC ile okuma konusunda bir bilgi veya örnek bulamadım maalesef.

Bu konuda yardımcı olabilecek, küçük bir fikir bile verebilecek arkadaşlarımız varsa, çok mutlu olurum.

Teşekkürler

Elimizdeki Kart



est32

C bilmiyorum ama yerli yabancı forumlarda ya da kendi sitesinde falan kütüphanesi yok mu?

ozkan

Baya bi araştırdım ama hep arduino ile ilgili dökümanlar var. hiç PIC ile ilgili dökümana ya da örneğe rastlayamadım maalesef. Kart olarak bi datasheet i de yok. Sadece özerinde kullanılan entegrenin datasheetini bulabildim o da bi işime yaramadı :)

est32

tamam  zaten o üzerindeki işlemciye göre datasheet indireceksin. Datasheette de zaten resimdeki kartta kullanılan elemanlardan oluşan çevre birimleri olması lazım, dikkatli incele. bu kartı yapan firma datasheete bakarak tüm malzemeleri toplayıp bir kart haline getirmiş oluyor. bence kütüphaneyi üzerindeki işlemciye göre aramalısın.
Aslında C bilgin var, avr için yazılmış kütüphane bulup avr ile de yapabilirsin. Biraz uğraştırır ilk başta avr mimarisini ve derleyicisini tanımak ama yeni bişey öğrenmiş olmak iyidir. programlayıcısı da  basit oluyor avrlerin. tabii iş ticari değilse...

ozkan

#4
Ben amatör bi elektronükçi olduğumdan avr yi öğrenmek açıkçası biraz zor geliyor :) Zaman yetersizliği de var tabi. Datasheetinden de pek bişey anlamadım ingilizcem olmadığı için.
İşin ticari bir yönü yok. Sadece asansörün manyetik kartla çağrılmasında kullanılacak devre

xoom

Bu modülü kullanmak zorundamısınız?

ozkan

Aslinda degilim. Simdi isyerimde giris cikis takibinin yapildigi bi kart sistemi var. Bu devre de o kartlara uyumlu olsun calışanlar extra bi kart daha tasimasin istiyoruz. Mevcut sistemdeki okuyucuda da bu karttaki entegre oldugundan bunu tercih ettik. Ama onerileriniz varsa degerlendirebiliriz tabiki

xoom

Daha önce
http://www.mikroe.com/add-on-boards/various/rfid-reader/
bu modülü kullanarak KartOkuma falan yaptırmıştım. internettede bu modülle ilgili CCS C de kaynak kodlar mevcut.

ozkan

Peki bu kart MF5T22 AN nin okudugu kartlari okuyabilir mi ? Bir de bu kart ile okumayi PIC ile mi yaptiniz ?

xoom

Okumaması için bir neden yok.. Evet 18F45K22 kullanmıştım.. verdiğim reader ile ilgili internette çeşitli picler ile örnekler mevcut. hatta kendi sitesinde örnek kodlar var..
http://www.mikroe.com/downloads/get/247/rfid_examples.zip

ete

Bana hata yapıyorsunuz gibi geliyor.
MF522 kartı Spi olarak çalışıyor. Frekansı 13,6 Mhz. Data formatı bilinirse okunması çok zor değil bence. Yalnızca clk, seri giriş , seri çıkış ve Spi enable pinlerini doğru şekilde kullanmak gerekir o kadar. Gerisi shiftin komutu ile halledilir. Bir diğer önemli konuda msb first data girişi olduğunu unutmamak lazım.
Ama mikroelektronika nın kartı EM4095 temeline dayalı. Frekansı 125 Khz ve bilinen standart bir haberleşme protokolü yok maalesef. Dolayısıyla bu ikisi birbirlerinin programları ile çalışmazlar.
Şu anda bende Mikroelektronika nın sistemi ile uğraşıyorum. Daha doğrusu mantığını anlamaya çalışıyorum. Ne hikmetse bu Rfid konusunda detaylı bilgi verilmiyor. Herkes yapmasın diyemidir nedir anlamıyorum. Bir data sheet var çok az bilgi ihtiva ediyor. Aplikasyon formu yazmışlar ama oradada az bilgi var. Mevcut programları inceleyerek  işin mantığını çözmeye çalışıyorum. Epeyce yol adım ama elimde aksi gibi kart yok. Deneme yapmadan sonuca gitmem zor olacak sanırım.

Ete

ozkan

#11
Ete hocam ben de sizin gibi EM4095 in elimdeki kartlari okumayacagi kanisindayin cunku frekans farki var. Peki ben elimdeki okuyucudan kart idsini nadil alabilirim bi ornek verebilir misiniz bana? Bu konuda bir calismaniz oldu mu ?

ete

#12
Senin kartla ilgili hiç çalışma yapmadım. Mesajından sonra şöyle bir baktım MF522 ile ilgili ne bukabilirim diye ama maalesef çok bilgi yok. Kartın özelliklerini tespit etmeye çalıştım. Aşağıdaki linkte en azından kartın işlemciye nasıl bağlanması gerektiği gösterilmiş.
http://sfe-electronics.com/index.php?id_product=23&controller=product
Bu şekle bakarak şunu söyleyebiliriz.
SS pini sanırım Chip Select pini yada spi enable pini oluyor. İşlemcide bir pine bağlanacak ve çıkış yapılacak. Bu pin Low olduğunda haberleşme yapılacak. Sonra tekrar high da bekletilecek.
SCK yani clk yine işlemciye bağlanacak ve çıkış olarak ayarlanacak. Kalan diğer iki pin kritik nokta. MOSI pini Master-out, Slave in pini olup master burada işlemci olmaktadır. Kısaca bu pin işlemciden karta bir şey yazmak isterseniz bu pin data pini olacaktır. Diğeri MISO ise Master in, Slave out pini olup karttan işlemciye bilgi yollanırken bu pin üzerinden okunacaktır. Kısaca kart ıd sini okumak için bu pin data pini olarak kullanılacaktır. Kart üzerinden bir bilgi okumak için;
SSpin=0
Shiftin  MISO,SCK,0,[ID0,ID1,ID2,ID3]
Şeklinde okunabileceğini düşünüyorum.
Reset pinini unutmuşum sanırım. Onu ya direk GND ye bağlamak yada işlemci pini üzerinden LOW da tutmak gerekir.
Bu bilgileri bile doğru dürüst bir yerlerde bulamıyoruz. Halbuki bu özelliklerin serbestçe dolaşması lazım ortalıkta . Bu bilgileri verdim ama pin konumları konusunda çokda emin değilim açıkçası. Bir sürü ardunio kodu inceledim. Bana fazla karmaşık geliyor. Üstelik pinlerin fonksiyonları çok açık belirtilmemiş. BU nedenle emin değilim diyorum. Ama yinede denemeye değer diye düşünüyorum.
Elbette CRC kontrolü yapılması gerekir. Bunu yapmak için data paketini tanımak ve parity bitlerinin yerlerini ve even (1) mi yoksa odd (0) mu bilmek lazım. Gerisi bitlerin sırası ile XOR lanması ve en sonda kalanın parity biti ile aynımı değilmi bakmak gerekir. Farklı ise parity hatası aynı ise CRC kontrolü başarılı demek lazım gelir.
Ama şimdilik parity kontrolünü yapmadan kartı okuma çalışmaları yapmanda yarar var.

Ete


ozkan

Ete hocam kusura bakmayın 2 gün internetim olayınca cevap veremedim.

Hafta sonu yazdıklarınızdan da fikir alarak ço ksayıda deneme yaptım ama başarılı olamadım. İnternette araştırırken aurduino için yazılmış kütüphane buldum. Bu kütüphaneyi PIC için kullansak acaba bi sonuç alabimir miyim? Sonuçta arduino da bir PIC devresi

pwm3434

ete hocam  link  verebilirmiyim  konuyla  ilgili  belki  bu  kişilerle  bağlantıya  geçilebilirse yol  kısalabilir.
http://www.kontrolkalemi.com/forum/pic-programlama/48126-pic-18f4550-rfid-kart-okuyucu-reader.html

zaman  bulabilirsem bu  konu hakkında  kaynak  bilgi bulabilmek için  uğraşayım.

Powered by EzPortal