2012-07-04 18 views
5

Java'da, bir akıllı karta komut gönderen ve NFC arabirimi üzerinden yanıtları gönderen bir uygulama yazıyorum. Bu uygulama hem Android hem de PC'de kullanılabilir.Java'da temassız bir akıllı kart için güç gereksinimlerinin belirlenmesi.

Bir USB temassız kart okuyucuyu bilgisayardan kullanarak bağladığım herhangi bir kartla bağlantı kurup iletişim kuramam.

Android bir başka meseledir. Uygulamanın bir Nexus S üzerinden kullanılması, karta bağlı olarak daha az istenen sonuçlar üretir.

Bazı kartlar bağlanır ve% 100 başarı oranıyla iletişim kurar. Kullanmaya çalıştığım çoğu kartın bağlantı kurması bile çok zor oldu, iletişim kurmaya bile izin vermedi.

Nexus S'deki NFC hizmeti kartlarla bağlantı kurmaya çalışıyor. Sürekli bir düşük nabız sesi çıkarır, bu da sağlam bir bağlantı kuramayacağını gösterir (anlayabildiğim kadarıyla).

Şu anki düşünce işlemim, Nexus S'nin kullanıyorum USB PC okuyucudan daha düşük güçlü bir NFC yongasına sahip olmasıdır. Okuduğum diğer makalelerden farklı kartların bunları kullanmak için farklı güç gereksinimleri varmış gibi görünüyor.

Bir kartı açmak için hangi güç seviyesinin gerekli olduğunu nasıl belirleyebilirim? ATR'de bir yerlerde saklı mı?

Belirli bir NFC çipinin sahip olduğu güç seviyesini nasıl belirleyebilirim? Bu bir yerlerde belgelenmiş mi?

+0

İlk soru için ISO 7816 – Blackbelt

+0

'u okumanız gerekir. NFC çipinin tam olarak hangi modeli olduğunu bilmeniz gerekir, bu nedenle bu tür bir bilgi ile veri sayfasını indirebilirsin –

cevap

4
sorun bu tür tipik haliyle (bir arada) neden olduğu

aşağıdakilerden biri olabilir: kart

  1. Kötü ayarlanmış anten
  2. zayıf RF alanı çok güç gerektiren
  3. Mikro denetleyici kartı NFC telefona Bu kötü ya da hiç iletişim sonuçlanan telefon ve kartı arasında kötü anten bağlantı sonuçlanır

tarafından oluşturulan. Bir masaüstü okuyucu genellikle çok daha güçlü bir alan oluşturduğundan bu tür bir sorunu yoktur. Bir telefondaki NFC oldukça düşük bir güce sahiptir ve oluşturduğu RF alanı genellikle ISO 14443 tarafından izin verilenin kenarındadır. Nexus S'deki NFC çipi, NXP PN544 zayıf bir RF alanı oluşturur. Bununla birlikte, bu telefondaki NFC yongası ve NFC anteninin bir işlevidir. Benim deneyimlerime göre, B Tipi kartlar sıklıkla sorunlara neden olurlar (söylentiler genellikle daha fazla güce ihtiyaç duyduklarına inanırlar). Başka bir örnek de elektronik pasaportlardır: Sıklıkla daha az optimal antenler vardır.

Bir kart için gereken minimum güç seviyesi: ATR'de değil. ISO 14443 kartında ATR yoktur (EF.ATR dosyası olabilir, ancak hiç görmedim). ATS (Cevapla Seç) yanıtı, gerekli güç seviyelerini göstermez. Kartlar, ISO 14443-4 S-Bloklarının CID alanında güç seviyesinin yeterli olup olmadığını belirleme imkanına sahiptir (mevcut ve kart tarafından desteklendiğinde). Yine de bunu yapan kartlar görmedim.

Belirli bir anten (ve ayarlama devresi) ile birleştirilmiş özel NFC çipinin güç düzeyini belirlemek için, ölçümleri yapmak üzere bir spektrum analizcisi kullanabilirsiniz. Tüm bir PN544 içeren birkaç Android NFC telefon (Galaxy Nexus, Nexus S, Galaxy S3, One X) ölçtüm. Sonuçlar, bazı durumlarda (S3 en fazla güç üreten) farklılık yaratabilecek telefonlar arasında farklılık gösterir.

+0

Sizi çok yakından görüyorum. . :) Cevabınız için teşekkürler. – Brad

+0

Rica ederim. Nexus S ve Galaxy Nexus ile çalışmayan bazı Kore Tip B kartlarına (EZ-Link ve T-Money) hızlıca baktım. Aslında S3 ile çalıştıklarını buldum. –

İlgili konular