工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->综合电路图->综合电路图->bcm20793的NFC模块电路设计

bcm20793的NFC模块电路设计

作者:fanxiaoxi时间:2022-11-08

  NFC技术的出现改变了人们使用某些电子设备的方式,甚至改变了信用卡、现金和钥匙的使用方式,它可以应用在手机等便携型设备上,实现安全的移动支付和交易、简便的端到端通信、在移动中轻松接入等功能。随着智能手机的快速兴起,NFC与智能手机的结合将很大程度上促进NFC的发展,苹果公司推出的 iPhone6也具备NFC功能,相信在不久的将来NFC必定被广泛应用。

  这个技术由非接触式射频识别(RFID)演变而来,由飞利浦半导体(现恩智浦半导体)、诺基亚和索尼共同研制开发,其基础是RFID及互连技术。近场通信是一种短距高频的无线电技术,在13.56MHz频率运行于20厘米距离内。其传输速度有106 Kbit/秒、212 Kbit/秒或者424 Kbit/秒三种。近场通信已通过成为ISO/IEC IS 18092国际标准、EMCA-340标准与ETSI TS 102 190标准。NFC采用主动和被动两种读取模式。

  NFC技术原理

  支持NFC的设备可以在主动或被动模式下交换数据。在被动模式下,启动NFC通信的设备,也称为NFC发起设备(主设备),在整个通信过程中提供射频场(RF-field),。它可以选择106kbps、212kbps或424kbps其中一种传输速度,将数据发送到另一台设备。另一台设备称为NFC目标设备(从设备),不必产生射频场,而使用负载调制(load modulaTIon)技术,即可以相同的速度将数据传回发起设备。此通信机制与基于ISO14443A、MIFARE和FeliCa的非接触式智能卡兼容,因此,NFC发起设备在被动模式下,可以用相同的连接和初始化过程检测非接触式智能卡或NFC目标设备,并与之建立联系。图为NFC主动通信模式:

 

    bcm20793的NFC模块电路设计

  本文采用博通BCM20793 NFC芯片并结合S3C6410主控制器,设计了具有主动模式和被动模式的NFC阅读器,主要针对硬件和驱动进行了设计。

    硬件设计

  NFC模块主要由NFC(控制器,可与Device Host或Secure Element安全单元交互)、Antenna(天线)和Contactless Front-End(非接触前段,负责射频信号的调制解调工作)三部分组成。本设计采用BCM20793芯片,该芯片支持212或424 kbps的数据传输速率,是专为低功耗、低价格的设备设计的。该模块提供PCI、I2C总线、UART串行接口,安全单元可以连接SD卡、SIM卡、SAM卡或是其他芯片,兼容多种通信标准。该芯片还支持低功耗模式、正常工作模式、轮询模式等多种工作模式。

  主控制器采用S3C6410芯片,该芯片高性能、低功耗、高性价比,可以运行Android系统。BCM20793与S3C6410采用I2C总线的连接方式。TX1和TX2引脚接RC匹配电路,RC匹配电路的P_JS_IT_18和天线相连接。NFC芯片由1.8 V电压供电,其与主控制器有6根引脚相连,分别是NFC_I2C_SD数据线、NFC_I2C_SCL时钟线、NFC_I2C_REQ中断、 NFC_REQ_PU使能、HOST_WAKE唤醒,NFC_CLK_REQ时钟使能,I2C物理通信地址是0x77,时钟信号由19.2 MHz外接晶振提供、NFC电路原理图如图3所示。

  

  NFC驱动分析

  设备树分析

  本设计内核采用了Linux 3.4版本,与以往内核版本不同的是,内核3.4版本采用设备树来对驱动设备进行统一管理,以方便设备的管理。NFC采用I2C总线的连接方式与CPU相连接,驱动只负责数据的发送接收,上层负责数据的解析工作。

  下面是BCM2079x的设备树节点配置信息,包括:I2C总线的通信地址为0x77,中断为34号,GPIO34为中断引脚,GPIO65为使能引脚,GPIO20为唤醒引脚。其中最为关键的是compaTIble=“broadcom,bcm2079x_i2c”键值对,在加载驱动程序时,首先会匹配该字段,如果相等则调用probe函数进行相关的初始化工作。

  

  以下为I2C总线配置信息,GPIO31作为I2C总线的时钟信号线,GPIO32作为I2C总线的数据信号线,I2C总线的时钟频率为19.2MHz。

  

  驱动程序中的bcm2079x_matcn_table结构体负责和设备树进行匹配,在系统初始化阶段,就会匹配设备树里的.compaTIble属性是否在驱动中有相同的名字,本驱动中是broadcom,bcm2079x_i2c,若匹配成功就会调用驱动程序的probe函数进行初始化工作。

  

  

  在驱动程序中,bcm2079x_parse_dt负责解析设备树的代码,以下为设备树解析关键代码,分别获取中断、使能、唤醒引脚。

  


关键词: bcm20793 NFC模块

评论

技术专区