0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用STM32和RFID连接的读卡器系统设计

454398 来源:一板网 作者:天南地北客 2020-10-26 15:39 次阅读

在本篇文章中,我们将使用STM32RFID读卡器设计一个读取RFID卡的系统。 RFID表示射频识别,它使用无线电频率读取信息。 RFID用于许多认证系统,如电梯乘坐系统、自动收费系统、医院患者信息维护系统、自动数据收集等。本文中,我们将学习如何使用STM32F103C8微控制器连接EM-18 RFID读卡器模块来读取RFID标签的唯一ID。

所需的组件

● STM32F103C8控制器

● EM-18 RFID读卡器模块

● RFID卡

● 1602 LCD显示屏模块

● 面包板

● 连接线

在将RFID与STM32连接之前,首先我们将了解RFID标签和RFID读卡器。

RFID标签

RFID标签由一组盘绕天线和一片微芯片组成,可以与附近的读卡器无线通信。市场上有各种形状和尺寸的不同类型的RFID标签。很少有人使用不同的频率进行通信。我们将使用125Khz无源RFID卡,其中包含唯一的ID数据。

当您将RFID标签放在明亮的灯光前时,您可以观察标签内部的线圈和微芯片。

基本上有两种类型的RFID标签:无源和有源

无源RFID标签从EM-18等读卡器模块产生的磁场中获取能量,并用它为微芯片的电路供电。然后芯片将信息发送给读卡器。

有源RFID标签需要单独供电,并包含高达1MB的读/写内存。

EM-18 RFID读卡器

每个RFID卡都嵌入有一个唯一ID,并且使用RFID读取器可以读取RFID卡号。 EM-18 RFID读卡器的工作频率为125 KHz,它配有一个片上天线,可以用5V电源供电。它提供串行输出。范围大约8-12厘米。串行通信参数为9600bps、8个数据位、1个停止位。这种无线射频识别用于许多系统,如基于RFID的考勤系统、安全系统、投票机以及电子收费公路定价等等。

EM-18 RFID读器卡提供的输出为12位ASCII格式。在12位数中,前10位是卡号,后两位是卡号的XOR结果。最后两位数字用于错误校验。

例如,从读卡器读取到的卡号为0200107D0D62,然后卡上的卡号将如下所示。

02- 前导符

00107D0D =十进制的1080589。

62是(02 XOR 00 XOR 10 XOR 7D XOR 0D)的XOR值。

因此卡上的号码是0001080589。

EM-18的引脚详细信息

EM-18 RFID读卡器有九个引脚。在9个引脚中,2个引脚没有连接,所以我们只需要考虑7个端子。下表显示了EM-18的引脚说明。

编号 引脚名称 说明
1 VCC 电源正极
2 GND 电源地
3 BUZZ 连接到蜂鸣器
4 NC
5 NC
6 SEL SEL = 1(RS232
SEL = 0(WEIGAND)
7 TX 数据通过RS232的TX发出
8 DATA1 WEIGAND接口DATA HIGH引脚
9 DATA0 WEIGAND接口DATA LOW引脚

EM-18 RFID模块的规格参数

● 读取距离:10厘米

● 工作温度:0ºC至+80ºC

● 通讯参数:9600bps

电流消耗:<50mA

● 工作频率:125 kHz

● 工作电压:5v

电路图和连接

STM32F103C8和EM-18读卡器模块之间的连接如下:

EM-18读卡器模块 STM32F103C8
VCC + 5V
GND GND
TX PA10

编程STM32F103C8用于读取RFID

在之前的文章中,我们了解了使用USB端口编程STM32F103C8T6板。所以我们现在不需要FTDI烧写器。只需通过STM32的USB端口将其连接到PC,然后开始使用ARDUINO IDE进行编程。在ARDUINO IDE中对STM32进行编程以读取RFID标签非常简单

1.首先,包括用于使用LCD显示函数的LCD显示库。然后定义LCD引脚并初始化LCD显示屏。

#include

const int rs = PB11, en = PB10, d4 = PB0, d5 = PB1, d6 = PC13, d7 = PC14;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

2.接下来在void setup()函数中,我们需要将LCD显示模式设置为16x2,并使用PA10引脚以波特率9600开始串行通信(这是STM32F103C8的SERIAL1通信端口RX1,它与EM-18 TX引脚相连。

lcd.begin(16, 2);

Serial1.begin(9600);

pinMode(PA10,INPUT);

3.接下来显示欢迎信息并在一段时间后擦除屏幕。

lcd.print("CIRCUIT DIGEST"); //Prints at LCD display

lcd.setCursor(0, 1); //Set courser to second line

lcd.print("RFID WITH STM32"); //Prints at LCD display

delay(5000); //Delay for 5 Seconds

lcd.clear(); //Clears LCD display

lcd.setCursor(0,0); //Sets cursor at First Line

lcd.print("RFID TAG NO:"); //Prints at LCD display

lcd.setCursor(0,1);

4.在void loop()函数中,一旦STM32F103C8的串行引脚提供EM-18 RFID读取器模块(标签ID)的数据,该字符将逐位存储并在LCD显示屏上逐个显示。

{

while(Serial1.available() && count < 12)         

{

RFID[count] = Serial1.read();

count++;

lcd.print(RFID[count]);

if (count==12)

{

lcd.print(" ");

count = 0;

lcd.setCursor(0, 1);

}

}

}

现在只需在STM32中上传完整的代码,您的系统即可运行。然后将RFID标签放在RFID阅读器上,您就会看到标签ID出现在1602 LCD显示屏上。

编辑:hfy

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RFID
    +关注

    关注

    388

    文章

    6152

    浏览量

    237876
  • 读卡器
    +关注

    关注

    2

    文章

    413

    浏览量

    39373
  • STM32
    +关注

    关注

    2270

    文章

    10900

    浏览量

    355985
  • 烧写器
    +关注

    关注

    0

    文章

    18

    浏览量

    13179
  • STM32F103C8
    +关注

    关注

    1

    文章

    23

    浏览量

    8088
收藏 人收藏

    评论

    相关推荐

    开疆智能Modbus转Profinet网关连接Modbus读卡器YW-630MA配置案例

    简介: Modbus读卡器YW-630MA是基于RS485总线,遵循Modbus RTU协议的一款IC卡读卡器.。这款读卡器使为PLC而设计和研发的新一代读写,可以直接
    的头像 发表于 12-23 09:41 69次阅读
    开疆智能Modbus转Profinet网关<b class='flag-5'>连接</b>Modbus<b class='flag-5'>读卡器</b>YW-630MA配置案例

    充电桩非接触式读卡器 FSV-MD5422-01

    1、简介 FSV-MD5422-01 产品是一款基于 13.56MHZ 频率射频技术上开发出来的非接触式读卡器模块, 产品基于 TTL、RS232 串口两种设计接口,通信协议简单实用,方便产品
    的头像 发表于 10-29 10:27 208次阅读
    充电桩非接触式<b class='flag-5'>读卡器</b> FSV-MD5422-01

    TRF7970A NFC读卡器天线多路复用

    电子发烧友网站提供《TRF7970A NFC读卡器天线多路复用.pdf》资料免费下载
    发表于 10-26 11:15 0次下载
    TRF7970A NFC<b class='flag-5'>读卡器</b>天线多路复用

    AGV读卡器在AGV自动搬运小车上应用方案

    控制根据读取到的标签信息,控制小车做出相应的动作,从而实现AGV小车的调度系统功能、站点定位功能。利用RFID技术控制AGV读卡器来实现站点定位,相对于其他定位方式(惯性定位、超声波
    的头像 发表于 10-12 17:33 244次阅读
    AGV<b class='flag-5'>读卡器</b>在AGV自动搬运小车上应用方案

    二代身份证识别仪身份证阅读读卡器

    读信息规则(试行)》《2018版港澳台居民居住证机读信息规范(试行)》 内置式居民身份证读卡器 USB读卡器 身份识别 网络云读卡器 内 USB
    发表于 09-07 15:09

    X-CUBE-NFC4能否用于其他品牌的NFC读卡器

    X-CUBE-NFC4能否用于其他品牌的NFC读卡器,或者通过移植来驱动其他品牌的NFC读卡器
    发表于 05-22 06:27

    网络读卡器_产品手册

    电子发烧友网站提供《网络读卡器_产品手册.pdf》资料免费下载
    发表于 05-19 09:33 0次下载

    RFID在汽车制造中的应用如何改变行业

    的信息,可通过RFID读卡器读取RFID标签内的信息,再上传到管理系统中进行检验识别通信,或通过特定的RFID手持机进行查看。
    的头像 发表于 05-10 14:40 529次阅读

    stm32f103上做ic读卡器,有没有办法让他执行库函数的时候强制在内部执行,而不会跳转到外部函数中去?

    stm32f103上做ic读卡器读卡部分调用了封装好的lib库,通过单步调试,在执行库里面的函数的时候,会出现遇到相同函数跳转到外面的函数执行,而没有在库内完成整个操作,有没有办法让他执行库函数的时候强制在内部执行,而不会跳
    发表于 04-22 07:54

    IO-Link RFID读卡器系统方案设计与挑战

    如图2这个IO-Link RFID传感的方案,使用了L6364和STM32G0通用电路来支持IO-Link的协议转换,使用ST25R3916来作为NFC的读卡器芯片。
    发表于 04-02 10:56 649次阅读
    IO-Link <b class='flag-5'>RFID</b><b class='flag-5'>读卡器</b><b class='flag-5'>系统</b>方案设计与挑战

    基于stm32的usb,sdio,fatfs系统读卡器工程,经过bootloader挂在后跳转初始化就卡死的原因?

    本人调试工程中,想实现bootloader中读取sd卡是否有升级固件完成iap升级。逻辑如下: 开机进入bootloader→挂载fatfs系统读取sd卡中是否有升级固件→读卡器的App。 工程用
    发表于 04-02 07:59

    使用ST-link V2的过程中电脑插入读卡器设备后无法正常识别ST-link V2的原因?

    配合cubeIDE使用一切正常,电脑插入读卡器设备后无法正常识别ST-link V2,但在电脑的设备管理中还是可以找到ST-link,同时升级ST-link还可以正常操作,目前我只能拔掉读卡器设备后通过重启电脑来解决这个问题!
    发表于 03-11 06:30

    小区门禁系统常见故障及解决方法

    包括读卡器故障、门禁设备故障、电源问题等。读卡器故障是门禁系统最常见的故障之一,可能导致无法刷卡开门。解决方法可以是更换读卡器,或者重新连接
    的头像 发表于 02-02 11:00 3126次阅读