FM17520的调试

 

目录

一、简介

二、FM17520芯片的使用

三、开发过程中的BUG

3.1 MISO数据的异常

3.2 无法寻卡

3.3 S70卡工作不正常

四、低功耗模式

4.1 Deep Power Down

4.2 Hard Power Down

4.3 Soft Power Down


一、简介

      项目内容:使用FM17520芯片读写Type A卡片
      主要解决问题:
           1)FM17520 通用非接触读写器芯片的应用,其中包含SPI通信
           2)超低功耗处理
           3)ISO-14443协议、TypeA卡片应用及其安全性
      应用场景:使用卡片刷机过门,卡片作为通行证。
      调试工具:NFC Tools PRO

二、FM17520芯片的使用

      主要学习过程
            1)认识FM17520芯片功能特性、使用方法、接口通信编写、寄存器操作等。
            2)封装软件应用函数,打包成库文件,提供应用层调用。
            3)归纳:外设芯片一般应用方法
     【知识点01】首先,知道芯片能干什么?一般查阅芯片手册的首页就有:产品简介。其中包含着该芯片型号所代表的重要信息,我们能从中获取第一手资料。
             在FM17520芯片手册里面,就可以知道该芯片是在非接触式卡片方面使用的,并且获知其基本特性(接口类型、通信距离及速度、功耗特性、内存容量、各种硬件特性等)。
             工作频率:13.56MHz
             内置震荡电路晶振:27.12Mhz
             ISO 14443 TYPE A支持通讯速率:106kbps、212kbps、424kbps、848kbps。

     【知识点02】其次,找到该芯片的结构框图,加深对芯片的理解。结构框图往往是可以提供了芯片的功能架构及其内不同组成之间的关系。
             本次重框图下获知:芯片内部架构,通信接口、以及最为重要的寄存器组成。

       【知识点03】获取寄存器组成,对芯片的操作几乎都通过寄存器来实现,因为寄存器是嵌入式软件的直接操作对象。
               而在FM17520芯片手册对寄存器进行了分类型处理,包括了1)命令和状态2)通讯3)配置4)测试,四大类型寄存器。
       【知识点04】主控芯片与外设芯片之间的通信接口,此步骤最为重要,之后我们对芯片的操作都是依赖于通信接口。
               FM17520的接口类型有SPI、UART、I2C三种连接方式,芯片在上电期间就自动完成Host接口自动侦测。同时,接口部分都必须要细心阅读,在本次调试SPI通信的过程中,发现           读或写寄存器操作都需要同时编写读写FIFO寄存器(比如说,如果SPI是半双工工作,读的过程中,需要写一个地址和写一个0x00的数据后连续读取两次;如果SPI是全双工工作,读           的过程中需要写一个地址和写一个0x00的数据,那么你读取的数据在写0x00时已经产生)
       【知识点05】由此可见,通信接口程序的编写要注意的有两点:其一,通信接口程序符合某通信接口类型的基本通信方式(SPI或I2C则按照其规范编写),其二,最终目的是与外设芯 片进行的通信,也必须要符合外设芯片规定的通信方式。
       【知识点06】以上的通信接口是主控芯片与外设芯片之间的通信,外设芯片与卡片(M1S卡)之间的通信则是模拟电路接口与非接触式接口来控制的,外设芯片通过发射无线信息与卡片进行交换数据,最终达到我们跟卡片交换数据,完成整体通信。
              在此需要说明的,涉及到的无线通信是需要软硬件共同调节的,比如控制发射驱动功率、距离等。这个过程是完成了通信接口程序的编写后进行。

      【知识点07】数据交换储存器(一般称为FIFO寄存器),数据交换是贯穿整个完整通信过程的。
              FM17520的FIFO用于主控芯片与FM17520内部状态机之间的输入输出数据流的缓冲,实现一个8*64位的FIFO缓冲器。也就是说,我们一旦设置好模拟电路(无线部分),之后的          操作都是根据我们编写通信接口函数来实现的。
      【知识点08】就如同单片机一样,外设芯片亦具备了外部中断请求系统。
               在FM17520中,我们通过使用IRQ引脚,来标记外设芯片是否具有外部中断请求,一旦检测到IRQ引脚发生中断,我们就可以通过特定的IRQ寄存器来判断中断类型,从而获取不             同的中断信息,进而作出相应的操作。
       【知识点09】嵌入式设备往往需要稳定、可靠、并且维持长时间可持续运行。使用外设芯片的同时,也需要设定外设芯片所处的工作状态来决定它的功耗特性。
               FM17520具备三种功耗类型,同时也允许用户关闭射频功能来进一步降低功耗。
       【知识点10】关于外设芯片的指令集问题。
               1)指令集是外设芯片自身独自决定 ,几乎每个外设芯片都有它们芯片内部确定了一套指令集。
               2)指令集的一般应用:使用某个指令,加上合适的数据,就完成了一次基本的控数据传输操作。有时候,指令也可以不加数据,直接使用。具体需要看芯片手册的指令集介绍。

       【知识点11】电气参数。本人本次仅站在软件测试的角度去学习电气参数,如图1、图2所示。

图1 典型应用图

 

图2 电器参数


         FM17520的电气参数,提供我们硬件设计和软件测试的典型参数,软件调试过程中需要利用工具观察参数,在允许参数波动范围内即表明软件控制目的完成,否则重新设定。

三、开发过程中的BUG

3.1 MISO数据的异常

          测试过程中CLK、CS、MOSI正常,MISO通信异常。使用逻辑分析仪(LA5016)抓取的数据如图3所示,示波器抓取的MISO拐角的波形图如图4所示。

图3 MISO异常的逻辑分析仪抓取的数据
图4 MISO异常的示波器抓取的数据


         最终排查发现,TVDD、AVDD、DVDD供电电压为3.3V,而PVDD供电电压为1.8V导致,把PVDD的电压改为3.3V,MISO工作正常。由图2可知,PVDD为引脚的电源,其电源必须与MISO、MOSI、CLK、CS、NPD等这些引脚的数字信号一致,在本产品中数字信号为0~3.3V,所以这些PVDD的电源必须为3.3V才可以。

3.2 无法寻卡

         MISO数据异常解决以后,SPI通信正常,但是还是无法正常寻卡。测量天线上的信号以及RX的信号,如下。咨询供应商,信号正确。最终排查发现,是天线的端子接口焊反了。

3.3 S70卡工作不正常

      S70的卡片后33扇区访问不正常。参考:复旦和NXPS70的芯片比较

四、低功耗模式

4.1 Deep Power Down

4.2 Hard Power Down

4.3 Soft Power Down

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值