2、支付核心硬件选型:主控芯片(MCU/MPU)选型对比、安全芯片(SE/eSE)选型、NFC控制器选型
好,咱们直接进入正题。轨道交通支付模块的硬件选型,说白了就是给系统挑「大脑」和「保镖」。主控芯片是大脑,安全芯片是保镖,NFC控制器是嘴巴和耳朵。这三样东西选不好,后面软件写得再漂亮也是白搭。
我个人习惯,选型之前先画一张系统框图,把数据流和关键接口标清楚。你想想看,主控要跟安全芯片通信,要驱动NFC控制器,还要跟后台服务器握手。这三者之间的时序配合、功耗分配、甚至PCB布局,都会影响最终产品的稳定性。
核心原则:轨道交通支付模块的硬件选型,必须满足「金融级安全 + 工业级可靠 + 毫秒级响应」这三个硬指标。缺一个,产品就上不了线。
2.1 主控芯片(MCU/MPU)选型对比
主控芯片的选择,我一般会先看应用场景。轨道交通支付模块,对实时性要求极高。你刷卡进站,闸机必须在300毫秒内完成交易。慢了,乘客就堵在门口了。
这里有个常见的误区:很多人觉得CPU主频越高越好。其实不然。我在项目中遇到过,用了一颗1GHz的MPU,结果因为外设接口的DMA通道不够,数据搬运反而比800MHz的MCU还慢。嗯,这里要注意,选型要看「有效算力」,不是「标称主频」。
下面这张表,是我这些年总结的选型对比,你可以直接拿来参考:
| 对比维度 | 高性能MCU(如STM32H7、i.MX RT) | 低功耗MPU(如AM335x、i.MX6ULL) |
|---|---|---|
| 典型主频 | 400MHz - 1GHz | 800MHz - 1.5GHz |
| 实时性 | 极强(硬件中断延迟<100ns) | 一般(依赖RTOS调度) |
| 外设接口 | 丰富(多路SPI/I2C/UART,带CAN-FD) | 更丰富(带LCD控制器、千兆以太网) |
| 功耗 | 低(典型<500mW) | 中等(典型1-2W) |
| 安全特性 | 内置硬件加密引擎、安全启动 | 依赖外部安全芯片 |
| 成本 | 中等($5-$15) | 较高($10-$25) |
| 适用场景 | 单功能闸机、手持终端 | 多功能自助售票机、车载终端 |
我个人建议,如果模块功能相对单一(比如只做刷卡扣费),选高性能MCU就够了。我做过一个项目,用i.MX RT1052,主频600MHz,自带2MB SRAM,连外部DDR都省了。PCB面积缩小了30%,成本也降了不少。
但如果你的模块需要跑Linux,需要图形界面,或者需要同时处理NFC、二维码、银行卡三种支付方式,那还是老老实实上MPU吧。我曾经在一个项目里硬要用MCU跑复杂的协议栈,结果内存不够,频繁触发HardFault,调试了整整两周才找到原因——说白了就是选型时太乐观了。
避坑指南:选MCU时,一定要留足Flash和RAM余量。我一般按「需求×1.5」来估算。比如你的固件预计占用200KB Flash,那就选至少512KB的芯片。为什么?因为后期加功能、加日志、加OTA升级,都会吃掉大量空间。我曾经因为Flash只留了20%余量,结果客户要求加一个国密算法,硬是塞不进去,最后只能换芯片,重新做EMC认证,损失了三个月时间。
2.2 安全芯片(SE/eSE)选型
安全芯片,这是轨道交通支付模块的「命门」。金融级别的交易,密钥必须存储在安全芯片里。主控芯片可以被人破解,但安全芯片不行——这是底线。
市面上主流的安全芯片,主要分两类:独立SE(Secure Element)和嵌入式eSE(embedded SE)。
独立SE,比如NXP的SE050、英飞凌的SLC37系列。它们通过SPI或I2C接口与主控通信。优点是灵活性高,可以单独认证,更换主控不影响安全等级。缺点是多了一颗芯片,占PCB面积。
嵌入式eSE,比如ST33系列,直接集成在NFC控制器或主控芯片内部。优点是体积小、通信速度快。缺点是如果eSE被破解,整个模块都得换。
我个人更倾向于独立SE。为什么?因为轨道交通设备的生命周期通常长达10-15年。这期间,安全标准会不断升级。独立SE可以单独更换,而不用动整个主板。我见过一个项目,用了集成eSE的NFC芯片,结果三年后安全算法被攻破,只能把整批闸机的主板全部召回——那个成本,想想都心疼。
选型时,有几个关键指标你必须关注:
- CC认证等级:至少EAL5+,最好EAL6+。这是国际公认的安全等级。
- 密钥存储容量:至少支持50组密钥对。轨道交通涉及多个票务中心,密钥数量不会少。
- 通信接口:I2C是主流,但要注意速率。我建议选支持1MHz Fast Mode Plus的芯片,否则交易数据量大的时候会卡顿。
- 国密算法支持:这是硬性要求。SM2/SM3/SM4必须硬件支持,不能用软件模拟。软件跑国密,速度慢不说,还容易侧信道攻击。
警告:千万不要为了省几毛钱,选没有CC认证的「兼容芯片」。我曾经在一个试点项目中,客户贪便宜用了某国产兼容芯片。结果上线第一天,就被白帽黑客通过差分功耗分析(DPA)攻破了密钥。整个项目被迫暂停,客户被上级通报批评。安全芯片的选型,一分钱一分货,没有捷径可走。
2.3 NFC控制器选型
NFC控制器,负责跟手机、卡片进行无线通信。轨道交通支付,主要用的是ISO/IEC 14443 Type A/B标准,也就是我们常说的MIFARE和CPU卡。
选NFC控制器,我主要看三个维度:
- 射频性能:发射功率、接收灵敏度、天线调谐能力。轨道交通闸机的天线通常藏在塑料面板后面,环境干扰大。我建议选支持自动天线调谐(Auto Tuning)的芯片,比如NXP的PN7160。它能自动补偿天线失谐,保证刷卡成功率。
- 协议支持:必须同时支持MIFARE Classic、MIFARE DESFire、CPU卡(T=CL协议)。有些老旧的NFC芯片不支持DESFire,那就没法兼容最新的交通联合卡。
- 低功耗模式:闸机虽然一直通电,但NFC控制器不能一直全功率发射。我建议选支持「轮询模式」的芯片,平时以低功耗状态检测卡片,检测到卡片后再切换到全功率模式。这样整机功耗能降低40%以上。
这里分享一个我踩过的坑。有一次,我选了一款NFC控制器,射频性能标称很好,但实际测试时发现,当手机贴着天线左侧时能刷卡,贴着右侧时就刷不了。折腾了好久,最后发现是芯片的「天线差分输出」引脚布局不合理,导致PCB走线不平衡。后来换了另一款芯片,这个问题就消失了。所以,选NFC控制器时,一定要看芯片厂商提供的「天线设计参考指南」,严格按照他们的Layout建议来画板子。
下面是我常用的几款NFC控制器对比:
| 型号 | 厂商 | 协议支持 | 特色功能 | 典型应用 |
|---|---|---|---|---|
| PN7160 | NXP | ISO 14443 A/B, MIFARE, FeliCa | 自动天线调谐、低功耗轮询 | 地铁闸机、公交刷卡机 |
| ST25R3916 | ST | ISO 14443 A/B, MIFARE, ISO 15693 | 动态功率输出、高抗干扰 | 车载终端、手持POS |
| CLRC663 | NXP | ISO 14443 A/B, MIFARE | 性价比高、成熟稳定 | 低成本闸机、门禁 |
我个人习惯,新项目优先考虑PN7160。它的自动天线调谐功能,能省去很多调试天线的痛苦。你想想看,闸机的天线形状、大小、安装位置,每个项目都不一样。如果每次都要手动调天线匹配电路,那研发周期至少多出两周。PN7160能自动补偿,说白了就是「傻瓜式」操作,对硬件工程师非常友好。
小技巧:NFC控制器的天线设计,我建议用「差分走线」,线宽控制在0.3mm-0.5mm,线间距保持2倍线宽以上。天线匹配电路的电容,用NP0/C0G材质的,温度稳定性好。我曾经用X7R材质的电容,结果冬天和夏天的刷卡距离差了整整2cm——温度漂移导致的。
好了,关于支付核心硬件的选型,我就讲这么多。总结一下:主控芯片看「有效算力」和「外设接口」,安全芯片看「CC认证」和「国密支持」,NFC控制器看「射频性能」和「低功耗」。这三样选好了,你的支付模块就成功了一半。下一章,咱们聊聊电源管理和功耗优化——嗯,那也是个大坑。