
私人项目开源 — 低成本125K RFID读卡模块(原理图+PCB+代码+调试)
读卡模块原理图rfid读卡模块
简介
我们提供的解决方案是一个低成本的125K RFID读卡模块,包括原理图、PCB设计、代码和调试说明。模块使用CD4060产生125KHZ的方波,并经过功率放大和LC串联谐振电路,实现读卡距离达到10CM以上。模块的UART输出已经经过量产验证,韦根输出仅用于示波器波形观测。硬件电路设计方面,模块可以在3.3V和5V两种电压下正常工作。读卡模块的工作流程包括曼彻斯特编码分析和行列奇偶校验。您可以通过附件下载详细资料。
正文
我们提供的解决方案是一个低成本的125K RFID读卡模块。该模块包括了原理图、PCB设计、代码和调试说明。原理图使用ORCAD软件制作,并提供了PDF预览。PCB设计使用PADS软件完成,并附带了BOM烧写说明和标注图。模块的UART输出已经经过量产验证,而韦根输出仅用于示波器波形观测,没有实际应用。
模块的原理如下:使用CD4060产生125KHZ的方波,经过推挽电路进行功率放大,然后进入LC串联谐振电路。谐振频率由345uH和4.7NF的电感和电容决定,恰好是125KHZ。在这种情况下,电容两端的电压可以达到十几伏,如果使用CBB电容,电压可以达到二十多伏,这样读卡距离可以达到10CM以上。当有卡片靠近线圈时,线圈两端会产生曼彻斯特编码的调幅波。通过二极管和电容的检波和滤波,产生的小信号经过LM358放大和整形,变成单片机可以读取的曼彻斯特编码信号。
在硬件电路设计方面,CD4060在3.3V电压下,4M以下的晶振都可以起振,但2M的晶振体积较大,因此选择了4M。实验发现,ATTINY13的频率会随着工作电压的变化而有较大的变化,因此无法使用RC校准。而CD4060恰好可以输出4M的频率,因此将其作为系统时钟,以确保时序的精确性。这样,该模块可以在3.3V和5V两种电压下正常工作。
ATTINY13只有5个IO口,其中1个用于中断,1个用于UART输出,1个用于CLKIN,1个用于上电波特率配置,1个用于曼彻斯特编码输入,正好用完了。
RFID读卡模块的工作流程如下:串口收到5个字节,其中前4个字节是卡号。根据曼彻斯特原理,在程序中找到长电平和短电平,并根据跳变沿分析出0数据和1数据。然后寻找消息头,并对后续数据进行行列奇偶校验,从而分析出卡号。在程序上电时,通过ADC引脚读取外部电阻的分压配置,以初始化出4种波特率。然后进行读卡操作。在实际应用中,需要保证读卡的稳定性,当卡片靠近线圈时,只发送一次数据,并进行良好的去抖处理。代码的长度不能超过1K,目前代码长度正好为1024个字节。关于奇偶校验算法,异或和比对2取余更简洁,但在测试中发现,异或和的代码长度大于比对2取余,因此选择了比对2取余算法。
您可以通过附件下载RFID读卡模块的原理图、PCB设计、代码和调试说明。
模块的原理如下:使用CD4060产生125KHZ的方波,经过推挽电路进行功率放大,然后进入LC串联谐振电路。谐振频率由345uH和4.7NF的电感和电容决定,恰好是125KHZ。在这种情况下,电容两端的电压可以达到十几伏,如果使用CBB电容,电压可以达到二十多伏,这样读卡距离可以达到10CM以上。当有卡片靠近线圈时,线圈两端会产生曼彻斯特编码的调幅波。通过二极管和电容的检波和滤波,产生的小信号经过LM358放大和整形,变成单片机可以读取的曼彻斯特编码信号。
在硬件电路设计方面,CD4060在3.3V电压下,4M以下的晶振都可以起振,但2M的晶振体积较大,因此选择了4M。实验发现,ATTINY13的频率会随着工作电压的变化而有较大的变化,因此无法使用RC校准。而CD4060恰好可以输出4M的频率,因此将其作为系统时钟,以确保时序的精确性。这样,该模块可以在3.3V和5V两种电压下正常工作。
ATTINY13只有5个IO口,其中1个用于中断,1个用于UART输出,1个用于CLKIN,1个用于上电波特率配置,1个用于曼彻斯特编码输入,正好用完了。
RFID读卡模块的工作流程如下:串口收到5个字节,其中前4个字节是卡号。根据曼彻斯特原理,在程序中找到长电平和短电平,并根据跳变沿分析出0数据和1数据。然后寻找消息头,并对后续数据进行行列奇偶校验,从而分析出卡号。在程序上电时,通过ADC引脚读取外部电阻的分压配置,以初始化出4种波特率。然后进行读卡操作。在实际应用中,需要保证读卡的稳定性,当卡片靠近线圈时,只发送一次数据,并进行良好的去抖处理。代码的长度不能超过1K,目前代码长度正好为1024个字节。关于奇偶校验算法,异或和比对2取余更简洁,但在测试中发现,异或和的代码长度大于比对2取余,因此选择了比对2取余算法。
您可以通过附件下载RFID读卡模块的原理图、PCB设计、代码和调试说明。