通过示波器分析TypeB卡通讯数据
这几天,使用NFC芯片模拟了一张TypeB的cpu卡,在调试过程中,因为要检查射频性能,所以用示波器抓取了RFID读卡器和TypeB CPU卡之间的通讯数据。READER发送的数据位106K ASK调试方式,采用NRZ-L编码,这种方式的数据很好读取,高电平就是1,低电平就是0.而卡片回发的数据位106K BPSK 调试方式,也采用NRZ-L编码,其副载波频率为13.56M/16,即:847.5K bps,也就是说,一个bit的持续时间等于8个副载波。
在加载副载波的情况下,信号逻辑电平的判断如图1所示:
图 1
上图中,图1代表逻辑电平‘0’;图2代表逻辑电平‘0’;
见图2所示:
图 2
卡片打开副载波TR1时间后,开始发送SOF帧,该帧相移为0,后边当发生图1所示的情况时,相移以此增加180°;当未发生图1所示的情况,就表示没有相移,当没有相移时,逻辑电平保持不变。
在通过示波器读取数据时,首先应该找准第一个Byte的START位,此时,必须要注意在第一个START位之前有三次相移,三次相移是由SOF帧引起的,具体见图3:
图 3
三次相移的位置在图3中已经标清。
此后数据的发送格式为 1个起始位 + 8个bit(其中lsb首先发送)+1停止位(高电平)
两个字节数据之间有EGT,卡片发送的数据,其EGT范围为0-19微秒。我抓取的数据中,EGT为1个etu即:9.44微秒,两个CRC之间的EGT是7个多微秒。
第一个字节读完后,找下一个相移,即START的起始延,如此就能正确读完。
最后一个字节stop结束后就是10个bit到11个bit的0,,然后卡片关闭副载波。
通过示波器分析TypeB卡通讯数据的更多相关文章
- 服务质量分析:腾讯会议&腾讯云Elasticsearch玩出了怎样的新操作?
导语 | 腾讯会议于2019年12月底上线,两个月内日活突破1000万,被广泛应用于疫情防控会议.远程办公.师生远程授课等场景,为疫情期间的复工复产提供了重要的远程沟通工具.上线100天内,腾讯会议快 ...
- 示波器分析I2C时序波形图
对于嵌入式开发的朋友来说,I2C协议实在是再熟悉不过了,有太多的器件,采用的都是通过I2C来进行相应的设置.今天,我们就随便聊聊这个I2C协议. I2C协议中最重要的一点是I2C地址.这个地址有7位和 ...
- Linux内核--网络栈实现分析(七)--数据包的传递过程(下)
本文分析基于Linux Kernel 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7545855 更多请查看专栏,地 ...
- Linux内核--网络栈实现分析(二)--数据包的传递过程--转
转载地址http://blog.csdn.net/yming0221/article/details/7492423 作者:闫明 本文分析基于Linux Kernel 1.2.13 注:标题中的”(上 ...
- Android4.0图库Gallery2代码分析(二) 数据管理和数据加载
Android4.0图库Gallery2代码分析(二) 数据管理和数据加载 2012-09-07 11:19 8152人阅读 评论(12) 收藏 举报 代码分析android相册优化工作 Androi ...
- Python股票分析系列——基础股票数据操作(一).p3
该系列视频已经搬运至bilibili: 点击查看 欢迎来到Python for Finance教程系列的第3部分.在本教程中,我们将使用我们的股票数据进一步分解一些基本的数据操作和可视化.我们将要使用 ...
- 使用Octave分析GNU Radio的数据
Octave 是 GNU Radio 的最流行的分析工具,因此 GNU Radio 软件包也包含它自身的一组脚本用于读取和语法分析输出.本文介绍如何使用 Octave 分析 GNU Radio 产生的 ...
- HDFS源码分析心跳汇报之数据块汇报
在<HDFS源码分析心跳汇报之数据块增量汇报>一文中,我们详细介绍了数据块增量汇报的内容,了解到它是时间间隔更长的正常数据块汇报周期内一个smaller的数据块汇报,它负责将DataNod ...
- AI-Info-Micron-Insight:案例分析:美光使用数据和人工智能来发现、倾听和感觉
ylbtech-AI-Info-Micron-Insight:案例分析:美光使用数据和人工智能来发现.倾听和感觉 1.返回顶部 1. 案例分析:美光使用数据和人工智能来发现.倾听和感觉 内存芯片制造商 ...
随机推荐
- mysql 添加定时任务
之前定时任务都是用quartz 或者spring的任务调度来做的,易于管理,但是要写代码加 配置,其实mysql 自带了job ,先创建一个存储过程
- Struts2 Spring hibernate 整合示例 .
示例工具:MyEclipse 8.5.Tomcat 6.0.MySql 步骤: 1.创建一个WEB工程,命名为BookShop(名字自己取,此处为示例工程名): 2.导入struts2的核心jar包, ...
- [转] openjdk和jdk的区别与联系
使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk,那么到底什么是openjdk,它与sun jdk有什么关系和区别呢? 历史上的 ...
- niop 2014寻找道路
/* 乍一看就是个最短路 SFPA 但是要保证路径上的所有点的出边所指向的点都直接或间接与终点连通. 这一点就蛋疼了0.0 开始想的是正着跑一边 每一个点的所有边都能符合条件 那这个点就符合条件0.0 ...
- HTML DOM节点
在 DOM 树中,基本上一切都是节点.每个元素在最底层上都是 DOM 树中的节点.每个属性都是节点.每段文本都是节点.甚至注释.特殊字符(如版权符号 ©).DOCTYPE 声明(如果 HTML 或者 ...
- 2015 Multi-University Training Contest 2
附上第二场比赛的链接 从5300-5309 我是链接 顺便贴出官方题解:
- C#中创建、打开、读取、写入、保存Excel的一般性代码
---转载:http://hi.baidu.com/zhaocbo/item/e840bcf941932d15fe358228 1. Excel对象微软的Excel对象模型包括了128个不同的对象,从 ...
- HTML5 Canvas 概述
本文中,我们将探索如何使用HTML5的Canvas API.Canvas API很酷,我们可以通过它来动态创建生成和展示图形,图表,图像以及动画.本文将使用渲染API(rendering API)的基 ...
- 在eclipse中新建Dynamic web project时选择2.5和3.0的区别(里面涉及servlet和tomcat的问题)
1.是指servlet的版本,是2.5的还是3.0的 servlet3.0以后支持异步 2.dynamic web module和对应的TOMCAT 版本 http://blog.sina.com.c ...
- exist的用法
http://blog.csdn.net/maladoufu/article/details/8194624 http://blog.csdn.net/xiwu1616/article/details ...