PN553/PN557 to PN7160 migration guidelines
1目的
本文件提供了从PN553/PN557 NFC控制器迁移到PN7160 NFC控制器的指南。它旨在从硬件和软件的角度描述PN7160 NFC控制器与PN553/PN557 NFC控制器的主要区别和新功能。软件部分逐步介绍如何适应Android开源项目
为PN553/PN557 NFC控制器构建的源,以迁移到PN7160 NFC控制器。
1.2范围
PN7160 NFC控制器与PN553/PN557 NFC控制器引脚对引脚兼容。本迁移指南与PN553/PN557有所不同。
PN7160和PN557 NFC控制器符合NCI 2.0版,而PN553 NFC控制装置符合NCI 1.0版。PN7160 NFC控制器不集成安全元件接口。
1.3受众
本文档适用于以下客户:
•他们开发了基于PN553/PN557 NFC控制器的产品,并决定迁移到PN7160 NFC控制器。
•熟悉PN553/PN557 NFC控制器,并希望启动基于PN7160 NFC控制器的新产品
2 PN553/PN557和PN7160之间的高级别比较
PN553/PN557和PN7160是设计用于集成在移动设备和符合NFC标准的设备(NFC论坛,NCI)中的NFC控制器。这些产品旨在快速集成到非常广泛的系统中,并支持所有NFC论坛模式。恩智浦半导体公司发布的软件包包括Android和Linux驱动程序,支持RTOS和无操作系统应用程序。
PN553/PN557 NFC控制器和PN7160 NFC控制器在特征方面相似。表1列出了这些产品之间的主要差异:
NFC论坛NFC-IP和读取器模式与PN553/PN557 NFC控制器和PN7160 NFC控制器产品相匹配。
3.1引脚间兼容性
PN7160 NFC控制器与PN553/PN557 NFC控制器引脚对引脚兼容,并且几乎所有外围设备在这两种设备中都是一致的。这些NFC控制器之间的主要区别与安全元件接口连接和NFC_GPIO引脚有关。表3中列出的所有这些引脚都内部连接在PN7160 NFC控制器中,并且应保持打开状态。
3.2包装信息
PN7160 NFC控制器有两种封装配置:VFBGA64和HVQFN40,而PN553/PN557 NFC控制器仅提供VFBGA66封装。PN7160和PN553/PN557产品的引脚对引脚兼容仅适用于VFBGA64封装版本SOT1980-1。
有关包装规格的更多信息,请参阅PN7160和PN553/PN557数据表。
3.3 NFC天线匹配
当用PN7160 NFC控制器替换PN553/PN557 NFC控制器时,无需更改NFC天线及其匹配电路。同样的设计也适用。
4.1安卓软件概述
本章介绍了基于NXP交付包的Android 12的体系结构,该交付包可在https://github.com/NXPNFCLinux/nxpnfc_android12存储库并解释
从PN553/PN557 NFC控制器迁移到PN7160 NFC控制器需要进行的所有修改。
本文档以Android AOSP 12.0.0_r9版为参考,移植到其他Android版本可能需要对API进行少量修改。
OEM集成可能会根据实际系统集成而有所变化。
图1显示了Android NFC软件移植的基本流程。在以下部分中查找每个块的详细信息。
注:对于PN557 NFC控制器,SEHal、WeaverHal、KeyMasterHal和SPIDriver未集成用于NFC。与这些模块相关的所有修改都可以忽略。
4.1.1 PN553/PN557 NFC控制器和PN7160 NFC控制器的Android堆栈比较
以下是PN553/PN557 NFC控制器和PN7160 NFC控制器之间的软件关键区别:
•PN553/PN557 NFC控制器使用恩智浦定制的NFC和NCI库,而PN7160 NFC控制器则使用AOSP本地库。
•PN553/PN557 NFC控制器使用NXP安全元件框架,PN7160 NFC控制器不集成SE。
4.2下载Android源代码
使用Android网站上的以下说明:
http://source.android.com/source/downloading.html
使用以下命令获取相应分支android-12.0.0_r9的源代码:repo-init-uhttps://android.googlesource.com/platform/manifest-b
安卓-12.0.0_r9
图3显示了Android堆栈,其中包含必须修改/删除的模块,以清除PN553/PN557 NFC控制器的所有依赖项,并为PN7160 NFC控制器集成准备代码。
修改/添加$ANDROID ROOT目录,如下表所示:
4.4集成基于PN7160 NXP NCI的NFC控制器
要将PN7160 NFC控制器集成到您的AOSP中,请参阅:
•https://www.nxp.com/docs/en/application-note/AN13189.pdf
4.5内核移植-驱动程序详细信息
PN553/PN557 NFC控制器为I2C和SPI接口实现了两种不同的驱动程序,其中第二种用于安全元件通信。对于PN7160 NFC控制器,SPI接口可以用作主连接,具体取决于设备和平台配置。
在任何情况下,对于PN7160 NFC控制器,都有必要在构建中配置并包括目标驱动程序(I2C或SPI版本)。有关如何构建内核驱动程序的完整指南,请参阅第4.4节中提到的文档。