Cortex-M0+的RFID读卡器模块设计
1 主控和射频芯片简介
1.1 主控芯片NXP LPC812
LPCS00系列是基于ARM Cortex-M0+的低成本32位MCU系列产品,工作时CPU 频率最高可达30 MHz。它支持最高16 KB的闪存和4 KB的SRAM。
1.2 射频芯片SLRC610
SLRC610 是NXP公司新一代多协议无线近场芯片中的一员,它是用于13.56 MHz的非接触式通信的高度集成的收发器芯片,支持并遵守IS0/IEC15693、EPC UID和ISO/IEC18000-3 mode 3/EPC Class-1 HF协议的卡片。它与主机的通信接口有SPI、UART、I2C总线(包括I2C和I2CL模式)三种。另外,它的安全性比上一代更高,支持安全访问模块(SAM)的连接。
数据手册的第一个正式版(SLRC610 v.3.1)在2012年9月6日发布,从目前最新的数据手册(SLRC6l0 v.3.4)来看,新版主要是修正发现的描述错误和数据值的更新。
2 模块硬件设计
模块主要由通信升级接口、调试接口、提示信号、LPC812、SLRC610、模块内置天线等组成。模块框图如图1所示。
图1 模块框图
2.1 主控芯片电路设计
LPC812 是LPC800 系列配置最高的型号,它有TSSOP16、SO2O、TSSOP20三种封装,因为设计的是小模块,所以选用了sO2O塑料小型封装。由于LPC812支持通过开关矩阵将特殊功能分配到某个I/O引脚,所以在设计原理图的时候可以充分考虑将某个功能分配到哪个引脚上既方便布线、性能又好。另外,本次设计中 LPC812内置的1%精度的12 MHz内部RC振荡器作系统时钟。主控芯片电路如图2所示。
图2 主控芯片电路图
2.1.1 通信、升级接口设计
LPC812继承NXP以往单片机的在系统编程(ISP)升级功能。 由于在ISP模式下占用了USARTO,而本次设计模块的通信接口也是串口,故将通信和升级合并为一个接口。要模块正常工作则将IsPEN悬空(推荐接 VCC);要升级固件,则将ISPEN接GND,然后给LPC812上电,再通过工具软件Flash Magic烧写新固件。这部分对应图2中的J1接口。
2.1.2 调试接口设计
LPC812 支持SWD调试、JTAG 边界扫描、微跟踪缓冲区(MTB)三种方式。其中,SWD使用较为方便,仅仅需要串行线调试数据输入/输出(SWDIO)、串行线时钟(SWCLK)、复 位(nRST)这i根线。本设计中为了调试方便又加了VCC和GND这两根线,也就是说可以在只插这个调试接口的情况下对模块进行调试。在默认情况下它的 VCC是从外界取电的,所以要外部给板子供电才能调试。打开JTAG的外壳,将内部的跳线帽插到靠近VCC的两针上,那么JTAG工具的VCC就对外供电 了,对板子调试可以不用再外部供电。这部分对应图2中J2接口。
2.2 射频芯片电路设计
SLRC610只有一种小型的HVQFN32封装,特别要注意它的第33引脚,也就是芯片朝PCB面正中间一个正方形的面,这个面必须良好接地,否则会出现些奇怪的现象。SLRC610支持SPI、I2C 总线、I2CI 和UART 四种接口,它会在掉电复位后通过IFSEL0和IFSEL1电平组合来判断当前主机接口类型。本次设计是采用了硬编码的SPI接口,在硬件电路上需 IFSEL0接地、IFSEL1接VCC。射频芯片电路如图3所示。其巾,引在SLRC610芯片中33引脚VSS的作用是接地和散热,所以此引脚必须良好接地。
图3 射频芯片电路图
天线的匹配电路包含一个EMC低通滤波器(L1、L2、C5、C6),一个匹配电路(C3、C4、C7~ C1O),一个接收电路(R2、R3、C15)和天线本身。接收电路的元件值需被特别设计并根据板子实际情况调整。本次设计模块的尺寸有限,接收电路采用 了元器件较少的单端模式,且天线线圈是内置在PCB中间层,以方便应用,减小体积。
3 模块软件设计
主程序包含系统初始化、LED测试、串口测试、SLRC610测试这4部分。系统初始 化部分主要有系统内核时钟更新、GPIO初始化、systick配置功能。LED测试部分主要包含LED端口初始化、更新为灭状态、更新为亮状态、翻转亮 灭状态功能测试。当然这之后LED已经配置好,可以随意使用三个更新状态函数。串口测试主要包括对串口功能引脚分配(LPC812的开关矩阵,这部分放在 SPI配置部分详细叙述)、串口初始化、发送字符串等功能测试。这之后,就可以通过串口打印调试信息。
3.1 SLR0610测试部分
SLRC610 测试部分包含设置接口连接、SLRC610复位、NXP lib初始化、等待SLRC610复位就绪进人空闲状态、检测15693卡、LED灯提示等。设置 接口连接部分主要是通过软件来设置IFSEL0和IFSEL1的电平,告诉SLRC610采用哪种接口,因为本设计中这两个引脚是通过硬件方
- 构建更佳系统模块设计的秘方——加“香料”SPICE(06-01)
- 资深老工程师分享:利用PSpice仿真数字滤波器的快速简单方法(08-12)
- I2C串行总线组成及其工作原理(01-10)
- 一种基于双单片机的数据通信模块设计方案(06-24)
- 基于UART&SPI的接口验证工具的设计与实现(03-20)
- AD7793在高精度温控设备中的应用(07-22)