RFID(MFRC522) İncelemesi Hakkında Kısa Kısa

Başlatan MrDarK, 01 Mayıs 2014, 15:17:30

justice_for_all

evet rx ve tx gibi düşünülebilir.

Aslında enkolay yöntem kendin fonksiyon yaparak çalış.

ben proton bilmediğim için algoritma yapacam.

fonksiyon gonder (byte data)
{
    CS = low

    MOSI = datanın 7.biti

    CLK= high
    CLK = Low

    datayı bir bit sola kaydır

    MOSI = datanın 7.biti

    CLK= high
    CLK = Low

     datayı bir bit sola kaydır

    MOSI = datanın 7.biti

    CLK= high
    CLK = Low


    datayı bir bit sola kaydır

    MOSI = datanın 7.biti

    CLK= high
    CLK = Low


     datayı bir bit sola kaydır

    MOSI = datanın 7.biti

    CLK= high
    CLK = Low

    datayı bir bit sola kaydır

    MOSI = datanın 7.biti

    CLK= high
    CLK = Low

    datayı bir bit sola kaydır

    MOSI = datanın 7.biti

    CLK= high
    CLK = Low

    datayı bir bit sola kaydır

    MOSI = datanın 7.biti

    CLK= high
    CLK = Low

    CS = high
}

fonksiyon Data_al()
{
    byte alınan=0;

    CS = Low ; 

    CLK=high;

    data|= MISO;

   CLK = low
   
   datayı bir bit sola kaydır.

     CLK=high;

    data|= MISO;

   CLK = low
   
   datayı bir bit sola kaydır. 

    CLK=high;

    data|= MISO;

   CLK = low
   
   datayı bir bit sola kaydır.

    CLK=high;

    data|= MISO;

   CLK = low
   
   datayı bir bit sola kaydır.

    CLK=high;

    data|= MISO;

   CLK = low
   
   datayı bir bit sola kaydır.

    CLK=high;

    data|= MISO;

   CLK = low
   
   datayı bir bit sola kaydır.

    CLK=high;

    data|= MISO;

   CLK = low
   
   datayı bir bit sola kaydır.

    CLK=high;

    data|= MISO;

   CLK = low
   
   CS = high;

   return alınan;

}


gibi yapılabilir.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

mustafa_cmbz

Anladım hocam.

Peki şimdi bu donanım bağlantılarını vs. olması gerektiğini öğrendim.

Sizin verdiğiniz örnekte sırası ile gelen bilgiyi bit bit alıyorsun galiba.

Bizim protonda direkt bu işlemi byte veya worda atabiliyoruz.Tabi arka planda koşan programı bilmiyoruz..


Peki şimdi denemeleri yapabilmek adına soruyorum.Geçen mesajlarınızda dediğiniz gibi anten default olarak kapalı geliyor demiştiniz.Sırası ile modül ile iglili tüm bağlantıları yaptıktan sonra modüle ne göndermemiz gerekiyor ne alamamız gerekiyor.Sonrasında neler yapmalıyız aşam aşama anlatırmısın hocam.Hatta datasheetten sayfa olarak gidersek daha açıklayıcı olacaktır diye düşünüyorum.Bende bu arada göz atıyorum..


justice_for_all

mesela protonda data.7 gibi bişe yapabiliyormusun?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

mustafa_cmbz

Alıntı yapılan: justice_for_all - 13 Ekim 2014, 18:40:19
mesela protonda data.7 gibi bişe yapabiliyormusun?


PRINT AT 1,1,"DATA : " ,DEC4 datta.7



gibi birşey yapabiliyorum hocam.

Yani bu data bytenın 7. bitini al gibi birşet değilmi?

yani bir byte a aktardığın datayı sırası ile 1-0 olarak çıkışa aktarıyorsun. değilmi ?


RaMu

SPI protokolünün birkaç farklı modu var aslında.
Şunu söyleyebiliriz, biz master ız MOSI data çıkış pinimiz, MISO data giriş pinimiz
spi de iki tane register var birisi giden birisi gelen
gidene göndereceğimiz datayı yazıyoruz,
sonra gönder diyoruz,
bu data bit bit MOSI pinimizden gönderiliyor
her spi clock uğunda datanın bir 1 biti gönderiliyor
ama aynı zamanda her spi clock unda MISO pininde bulunan 1 bit data okunuyor
(bu datayı slave cihaz bizw gönderiyor)
bunu futbolda oyuncu değişikliğine benzetebiliriz,
her hakem düdüğünde her clocda bir oyuncu değiştiriliyor,
bu sayede 8 clock da 1 byte data göndermiş ve 1 byte data almış oluyoruz.

Bunu mcu nun spi modülü kendi yapıyor,
bizim gönderilecek byte ı girmemiz yeterli oluyor.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

ArifAhmet

Hocam konudan biraz uzak olabilir. Belki yadımcı olur diye koyuyorum. Burada (http://birkodyaz.blogspot.com.tr/2014/09/stm32f4-stm32f429-discovery-ile-rfid.html) STM32 ile bir örneği var. Kütüphane gayet sade ve güzel yazılmış.
Yaşasın Open Source!

muhittin_kaplan

Hocam O Kütüphane "Genelde Kullanılan Kütüphane"
http://stm32f4-discovery.com/2014/07/library-23-read-rfid-tag-mfrc522-stm32f4xx-devices/

ve kartın olup olmadığında problem yaşıyoruz.

ArifAhmet

Hocam kütüphane kaynak kodları incelenirse fayalı olur diye düşünüyorum.
Yaşasın Open Source!

justice_for_all

ayrıca üreticinin datasheeti çok karışık.Haberleşme için normalde hangi registere ne yazılacağını algoritmasını filan vermesi gerek ama hiç biri yok.register açıklamaları da çok karışık yada ben anlamıyorum.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

M_B

http://stm32f4-discovery.com/2014/07/library-23-read-rfid-tag-mfrc522-stm32f4xx-devices/
Linkteki uygulamayı birebir denedim.
mavi anahtarlıkta sorun yok. Kartı detect edip Seri nosunu ekrana yazıyor.
Beyaz kartı ve ist kartı malesef detect edemiyor.
Şimdi burdan nasıl bir sonuc cıkar. Linkteki uygulamadaki kutuphaneye hıc mudahale etmedim. Kartlarda mı sorun var kitte mi ?
Anlayabilmiş değilim.
@muhittin_kaplan hocam  ve @justice_for_all  hocam siz neler yaptınız.

Not: Beyaz kartı ve İst kartı baska bir RFID li çalışan sisteme dokundurdugumda İnvalid ID diyor.
Bu da demek oluyorki kitle gelen kart saglam. O zaman sorun nerde :(

Linkini verdiğim uygulamanın resmi:
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

MrDarK

Elindeki okuyucu ile IST kart okuyamazsın, IST kart dediğin Desfire özellikli güvenlikli bir karttır ve Mifare versiyonu senin RC522 ile okunmasına müsade etmez.

RC522 ile Classic vb giriş seviyesinde kartları okuyabilirsin. Detaylı bilgi datasheet'inde ve karşılaştırma tablolarında mevcut.

Beyaz kartı okuyabilmen gerekiyordu , belki kart arızalıdır. Sana tavsiyem üniversite öğrenci kartları, bazı banka kartları içinde de mifare classic olabiliyor. Onları dene amaç sadece ID okumaksa.
Picproje Eğitim Gönüllüleri ~ MrDarK

M_B

Alıntı yapılan: MrDarK - 26 Kasım 2014, 11:51:09
Beyaz kartı okuyabilmen gerekiyordu , belki kart arızalıdır.
Hocam bende oyle dusunuyorum ama o kartı Baska RFID li kartla calısan sisteme okuttugumda İnvalid ID diyor. Yanı kartı gormese boyle demez dıye dusunuyorum.
Şunuda denedim. Personel kartımızı da denedim ( O da RFID li ) onu da tanımıyor.
Karta kesin olarak bozuk diyemiyorum bir kesinleştirebilsem. 
İmkanın sınırlarını görmek için imkansızı denemek lazım.                                                             Fatih Sultan Mehmet

AsHeS

Alıntı yapılan: M_B - 26 Kasım 2014, 16:01:03

Hocam bende oyle dusunuyorum ama o kartı Baska RFID li kartla calısan sisteme okuttugumda İnvalid ID diyor. Yanı kartı gormese boyle demez dıye dusunuyorum.
Şunuda denedim. Personel kartımızı da denedim ( O da RFID li ) onu da tanımıyor.
Karta kesin olarak bozuk diyemiyorum bir kesinleştirebilsem. 

Hocam İstanbul'da iseniz kendi okuduğum ID sini bildiğim kartlardan birini size verebilirim.

ArifAhmet

Hocam aynı kütüphaneyi (stm32f4-discovery.com) daha önceden denedim ve istanbul kartı okudum. Tabi sadece ID kısmını.
Yaşasın Open Source!

AsHeS

Alıntı yapılan: ArifAhmet - 26 Kasım 2014, 16:59:05
Hocam aynı kütüphaneyi (stm32f4-discovery.com) daha önceden denedim ve istanbul kartı okudum. Tabi sadece ID kısmını.
Bütün Mifare kartların Etiket tipleri alınabiliyor sorun okuma da başlıyor.