2017/01/19

[nfc]OM5578/PN7150S来たる (2)

PN7150は、これだ。
PN7150|High Performance Plug'n Play NFC for OS|NXP

NCI1.0互換というところが売りのようだ。
NFC Controller Interfaceの略なのだが、NCIの仕様書はNFC Forumの有料会員になるか購入するかしないと入手できなくなってしまった。

が、NCI1.0のときはまだダウンロードできたので、手元にある。
以前ダウンロードできたものが有償になったときって、ダウンロードしたものの扱いはどうなるんだろう?
まあ、捨てないけどさ。


PN7150に戻ろう。
PDFを見ると、PCD(R/Wね)にもなれるし、PICC(タグね)にもなれるようだ。
PN53xみたいなチップなのかもしれない。
PN54系は使ったことが無いが、モバイルFeliCaチップみたいに電源だけ入れておけばCardEmulationしてくれるのだろうか。
まあ、私には手に入れられないチップだから、気にすまい。。。

ブロック図を見ると、Cortex-M0が載っていた。
へー。
CODE側とDATA側にそれぞれEEPROMが載ってるのは何でだろう?
ホストとはI2Cで通信するようだ。


そういえば、今のLinuxはNCI対応しているということだ。
I2Cはどうやってるのだろう、などと思っていたが、kernelのビルド時に決まっているのだろうか?

このPDFを見ると、kernel spaceのドライバと、user spaceのHALで何とかしているように見える。
linux_libnfc-nci/doc at master · NXPNFCLinux/linux_libnfc-nci

image

 

lsmodすると、pn5xx_i2cというモジュールが読み込まれていた。
PN7150だけど、pn5xxで扱えるようになっているのだろう。

ソースはこれか。
ちょっと見たけど、よくわからん。
NXPNFCLinux/nxp-pn5xx: NXP's NFC Open Source Kernel mode driver

$ cat /sys/bus/i2c/devices/1-0028/name
pn547

この0028が、0x28というI2Cアドレスということだろうか?

UM10936によると、PN7150のI2Cアドレスは0x28~0x2Bで、アドレスピン2本で決定されるようになっている。
OM5578/PN7150Sの回路図ではどちらのピンもGNDにプルダウンされているから、0x28でよいはずだ。

しかし、これは機器を接続するまで分からないはずだ。
モジュールのビルド時に決定しているのだろうか?
今回使ったRaspberry PiのSDカードはPN7150用だから、そうなのかもしれない。

 

いくらモジュールやアプリが提供されていても、使うまでの方法が分からねば意味が無いのだ。。。
次はそこら辺を見ていこう。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。