2013-07-23 11 views
6

Pracuję z czytnikiem zbliżeniowym, aby komunikować się z moim urządzeniem z systemem Android.W jaki sposób ankieta Android dla urządzeń NFC

Zauważyłem, że w dowolnym momencie nie mogę połączyć się z moim urządzeniem z Androidem za pomocą P2P. Jeśli chcę się połączyć, aby zainicjować transfer z Androidem Beam, muszę ciągle próbować połączyć się z urządzeniem wiele razy w ciągu jednej sekundy.

Urządzenie NFC z systemem Android może wykrywać karty zbliżeniowe, cele NFC P2P i inicjatory NFC P2P, tj. 3 różne tryby. Zaczynam myśleć, że za kulisami odbywa się jakiś głos, który bardzo szybko przełącza się między trzema trybami.

Oznacza to, że w dowolnym momencie, gdy próbuję połączyć się z telefonem, może on być dostępny w prawidłowym trybie i zakończy się niepowodzeniem. Właśnie dlatego muszę próbować wielu połączeń.

Patrzyłem na źródło Androida, aby spróbować rozwiązać ten problem bez żadnego szczęścia. here to najbardziej obiecujący plik, jaki widziałem, ale wciąż nie ma sensu.

Moje pytanie brzmi: w jaki sposób Android wykrywa wiele trybów NFC, czy używa algorytmu przełączania, a jeśli tak, jakie są szczegóły algorytmu?

Dzięki.

Odpowiedz

5

zaczynam myśleć, że istnieje jakiś rodzaj odpytywania dzieje się za kulisami który przełącza pomiędzy trzema trybami bardzo szybko.

Dokładnie to się dzieje. Różne technologie są multipleksowane czasowo. Jednak jest o wiele więcej niż trzy tryby. Zazwyczaj NFC urządzenie będzie sondować dla:

  • Reader ISO14443 A
  • czytelnik ISO14443 b
  • Reader Felica (aka typu tag 3)
  • Reader ISO15693
  • Karta emulacji ISO14443
  • karty Emulacja ISO14443 B
  • Emulacja karty Felica

Tryb Peer-to-Peer używa Czytnika A, Czytnika FeliCa jako inicjatora. Emulacja karty A i emulacja karty Felica są również wykorzystywane jako technologia trybu Peer-to-Peer Target.

Dokładny czas odpytywania nie jest publiczny i nie znajdziesz w nim zbyt wiele informacji w kodzie źródłowym. Jest to obsługiwane wewnętrznie przez chip NFC.

+0

Świetna odpowiedź, aby potwierdzić moje podejrzenia, dzięki. Czy możesz mi powiedzieć, skąd to wiesz? Czy masz jakieś linki referencyjne, które mogę przeskanować? Dzięki. – conor

+0

Cóż, znam każdy chip NFC na wylot, ponieważ w mojej pracy faktycznie rozwijam chipy i middleware NFC. (część zespołu przyczynowego). Jeśli układy scalone nie działają i występują problemy z połączeniem, często moim zadaniem jest podłączenie znacznika RF, uchwycenie tego, co się dzieje i odkopanie do poziomu bitowego, na którym występuje problem. Widzę więc pętlę odpytywania każdego dnia. –

Powiązane problemy