
2020-8-31 21:55 上传
点击文件名下载附件

2020-9-3 13:59 上传
点击文件名下载附件
Android APP v3.2.1

2020-9-12 21:14 上传
点击文件名下载附件
非常感谢面包板社区和ST提供的ST NFC开发设计大赛机会。
1. 需求分析
本项目预计实现一个基于ST NFC的无线显示器功能,主要包括2部分功能模块:MCU和其控制的显示器模块和ST NFC无线通信模块。无线显示器具有多种应用场景,典型应用包括超市的商品标签,在基于ST NFC实现商品标签时,具有操作简便和智能化等优点。可以批量的根据标签ID(对应商品SKU)写入数据,也可以根据需要单独配置,实现智能化管理商品。显示器由MCU控制,可以根据超市营业时间配置自动开关机操作,可以根据需求展示更多商品相关信息。由于ST NFC部分具有无源特性,当无线显示器没电关机后,客户仍然可以通过手机NFC读取商品信息。项目框图如下所示。

2. STNFC选型
ST的ST25产品线包含了ST NFC可用产品选型,子类包括标签类的ST25T,动态标签类的ST25D和Reader类的ST25R等,如下图示。

ST25T具备RF通信方式,ST25D还具备了I2C接口,所以可以连接到MCU实现传输数据的功能,ST25R具备了I2C/SPI通信方式,除了能连接MCU还具备读写模式。本项目选择使用ST25D作为参考设计,ST25D通过I2C连接到MCU模块,MCU通过I2C读取ST25D的信息用于显示。
ST25D-I2C的基本特性如下图示。其具备I2C通信功能,中断GPO,EEPROM存储,含有256字节的缓冲区用于实现快速传输功能(FTM),NDEF(NFC Data Exchange Format)支持等。

3. ST25DV-DISCOVERY开箱与功能体验
本次申请到了ST25DV-DISCOVERY作为参考开发平台。ST25DV-DISCOVERY由2部分组成:MCU显示器模块部分MB1283和ST NFC模块部分MB1285。ST25DV-DISCOVERY具有完备的功能模块用于评估无线显示器项目。
3.1.开箱
ST25DV-DISCOVERY保持了ST一贯的包装,简洁明了。包装的正反面如下图所示。


各开发模块配置参数如下图所示。


3.2.功能体验
ST25DV-DISCOVERY开发板自带了全功能体验的固件,NFC功能示例包括3部分:ST25DV,FTM和NDEF,上电开机后如下图所示。

ST25DV项目用于测试芯片的基本功能,比如GPO,EH等,如下图所示。

FTM用于测试快速传输功能,ST25DV含有一个256字节的缓冲区用于FTM,可以在MCU之间快速传输数据。测试FTM需要手机安装一个ST NFC Tag APP来辅助测试,如下图所示。

操作FTM并选择发送一个16929Bytes的图片给手机,如下图所示。

手机通过NFC顺利接收到图片,ST25DV-DISCOVERY提示发送成功且用时7396ms,本次测试的FTM速度为2.2KByte/s。如下图所示。


NDEF用于测试通过NFC,手机可以直接打开对应的APP并执行相应的功能,如下图示,以URL为例,手机读取NFC NDEF URL信息后弹出通知,可以从手机浏览器直接打开该URL。




4. 配置开发环境
根据ST25DV-DISCOVERY配置情况,本节讲述基本的开发环境搭建和配置。
所用软件总结如下表所示。
ID | 项目 | 备注 |
1 | VMware Workstation Player | 免费虚拟机软件 |
2 | Windows 10 2004 | 虚拟机开发主机OS |
3 | ARM MDK v5.31 | 集成开发环境IDE |
4 | Keil.STM32F4xx_DFP.2.14.0 | MDK用的STM32F4参数、flash参数和下载算法等。 |
5 | STSW-LINK009 v2.0.1 | MB1283板载ST LINK调试器驱动 |
6 | JRE 64bit v1.8.261 | STM32CubeMX依赖的JAVA运行时 |
7 | STM32CubeMX v6.0.1 | STM32CubeMX用于配置生成STM32工程 |
8 | STM32CubeF4 v1.25.0 | 用于STM32CubeMX针对F4的各中间件 |
9 | X-CUBE-NFC4 v2.0.0 | 用于STM32CubeMX针对ST25DV的中间件 |
10 | STSW-ST25DV001 v1.1.2 | Firmware for ST25DV-DISCOVERY kit,含源码。 |
11 | STSW-ST25001 | Android app,用于Android手机测试ST25 NFC功能。 |
12 | STSW-ST25IOS001 | iOS app,用于苹果手机测试ST25 NFC功能。 |
4.1.安装Windows 10虚拟机
下载并安装VMware Workstation Player。
从微软官网下载工具并指定下载Windows 10系统的ISO文件。
在VMware Workstation Player新建虚拟机,如下图示。

选择稍后安装,如下图示。

指定最大磁盘为200GB,选择存储为单个文件,方便移动和分享。如下图示。

调整系统配置,并选择ISO系统文件。如下图示。

按照常规步骤安装即可。如下图示。完成后,在虚拟机中安装VMware Tools以提升虚拟机性能。

4.2.安装ARM MDK IDE
下载最新版本的ARM MDK和Keil.STM32F4xx_DFP。
安装MDK-ARM IDE,如下图所示。

在MDK-ARM IDE中手动加入Keil.STM32F4xx_DFP开发包,如下图所示。

Keil.STM32F4xx_DFP开发包用于在MDK-ARM IDE中支持STM32F4系列的MCU,包括flash参数和下载算法等,如下图所示。

4.3.安装STM32CubeMX
下载JRE 64bit、STM32CubeMX、STM32CubeF4和STSW-LINK009。
安装STSW-LINK009,其是ST-LINK调试器的驱动。
安装JRE,STM32CubeMX基于JRE实现,如下图示。

安装STM32CubeMX,如下图示。

手动加入STM32CubeF4,其被用于STM32CubeMX以支持F4系列的中间件,如下图示。


5. 总结
本文首先给出了需求分析,然后根据ST25的产品线及其分类,选定了基于ST25D系列的ST NFC型号。对申请到的ST25DV-DISCOVERY进行了开箱和功能体验。ST25D具备一系列丰富的功能:I2C、FTM、NDEF、EEPROM、GPO等,可用于多种应用场景,并使得设备使用更方便和更智能化。最后完成了针对ST25DV-DISCOVERY开发板的开发环境的安装和配置。
基于NFC的开发相对复杂一些,准备的开发环境和软件也比较多,由于是NFC无线通信,还会使用到Android或苹果手机的APP用于测试。另外,还有针对ST25R的PC版软件开发包STSW-ST25SDK001,用于实现对NFC标签的读写,由于没有对应的开发板和NFC Tag,所以本文没有涉及STSW-ST25SDK001部分的内容。
6. 参考资料
1. ST NFC
https://my.st.com/content/my_st_com/en/products/nfc.html
2. ST25DV-DISCOVERY
https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/st25-nfc-rfid-eval-tools/st25-nfc-rfid-eval-boards/st25dv-discovery.html
3. ST25DV04K
https://my.st.com/content/my_st_com/en/products/nfc/st25-nfc-rfid-tags-readers/st25-dynamic-nfc-tags/st25dv-i2c-series-dynamic-nfc-tags/st25dv04k.html
4. VMwareWorkstation Player
https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html
5. Windows10下载工具
https://www.microsoft.com/zh-cn/software-download/windows10
6. ARM-MDK
https://www.keil.com/demo/eval/arm.htm
7. STSW-LINK009
https://my.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-link009.html
8. JRE64bit
https://www.java.com/en/download/manual.jsp
9. STM32CubeMX
https://my.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html#tools-software
10. STM32CubeF4
https://my.st.com/content/my_st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-mcu-mpu-packages/stm32cubef4.html
11. X-CUBE-NFC4
https://www.st.com/content/st_com/en/products/embedded-software/mcu-mpu-embedded-software/stm32-embedded-software/stm32cube-expansion-packages/x-cube-nfc4.html
12. STSW-ST25DV001
https://www.st.com/content/st_com/en/products/embedded-software/st25-nfc-rfid-software/stsw-st25dv001.html
13. STSW-ST25001
https://www.st.com/content/st_com/en/products/embedded-software/st25-nfc-rfid-software/stsw-st25001.html
14. STSW-ST25IOS001
https://www.st.com/en/embedded-software/stsw-st25ios001.html
15. 哔哩哔哩ST25-NFC
https://space.bilibili.com/517958317
全部回复 6
欢迎进入意法半导体专区:
意法半导体(STMicroelectronics; ST)是全球领先的半导体公司,提供与日常生活息息相关的智能的、高能效的产品及解决方案。意法半导体的产品无处不在,致力于与客户共同努力实现智能驾驶、智能工厂、智慧城市和智能家居,以及下一代移动和物联网产品。享受科技、享受生活,意法半导体主张科技引领智能生活(life.augmented)的理念。意法半导体2019年净收入95.6亿美元,在全球拥有10万余客户。
详情请浏览意法半导体公司网站:https://www.st.com
意法半导体(STMicroelectronics; ST)是全球领先的半导体公司,提供与日常生活息息相关的智能的、高能效的产品及解决方案。意法半导体的产品无处不在,致力于与客户共同努力实现智能驾驶、智能工厂、智慧城市和智能家居,以及下一代移动和物联网产品。享受科技、享受生活,意法半导体主张科技引领智能生活(life.augmented)的理念。意法半导体2019年净收入95.6亿美元,在全球拥有10万余客户。
详情请浏览意法半导体公司网站:https://www.st.com

- 帖子 334
- 回复 1552

评测文章
热帖
大家都在看的技术资料
举报
内容系网友发布,其中涉及到安全隐患的内容系网友个人行为,不代表面包板社区观点
关闭
站长推荐
/3


-
返回顶部
-
工具栏