版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、智能卡课程设计课题名称: 智能卡公交收费机 学生姓 学号 专 业班 指导教师 设计要求:1. 完成系统的方案论证(系统分析、IC卡选型、硬件功能模块、成本与效益分析等)2. 完成的硬件电路设计、制作与调试。3. 完成智能卡公交收费机控制软件的设计与调试。4. 完成智能卡公交收费机软、硬件联调,实现脱机工作。5.按规范撰写课程设计报告及产品说明书。摘 要:本项目采用的是PHILIPS公司的Mifare卡作IC卡,设计以射频技术为核心,以单片机为控制器的IC卡读写器在公交自动收费系统中的应用。制作的IC卡读写器可以实现制卡、售卡、自动收费等功能,具有安全、实用、方便、快捷、可靠性高的特点,解决了城
2、市公共交通服务行业既频繁又琐碎的收费管理问题,有广泛的应用前景。智能卡公交收费机以智能卡作为小额电子钱包,实现预付费形式的公交收费管理,由发卡器将发行商信息、持卡人信息及预付费金额写入公交卡中,持卡人乘车时以刷卡扣费。要求设计制作智能卡公交收费机,具备读取卡中信息、校验卡的合法性、定额扣费功能及消费信息显示和存储功能,操作方便快捷。使消费者手持一种IC卡即可方便地替代现金结算任意乘坐公交,地铁,将给市民的出行带来极大的便利关键词:单片机 非接触式IC卡 读写器一、IC卡读写器概述目前经常接触到的IC卡有两种:接触式的和非接触式的IC卡。接触式的IC卡通过机械触点从读写器获取能量和交换数据;非接
3、触式IC卡通过线圈射频感应从读写器获取能量和交换数据,所以又称射频卡。目前在社会上常见的是接触式IC卡。它具有存储量大(以兆为单位),保密功能强(有多重密码设置和认证功能),可实现一卡多用。但是,这类卡的读写操作速度较慢,操作也不方便,每次读写时必须把卡正确地插入到读写器的口槽才能完成数据交换,这样,在公交、考勤等需要频繁读写卡的场合就很不方便,而且读写器的触点和卡片上IC卡的触脚暴露在外,容易损坏和搞脏而造成接触不良。非接触式IC卡是根据射频电磁感应原理产生的。它的读写操作只需将卡片放在读写器附近一定的距离之内就能实现数据交换,无需任何接触,使用中非常方便、快捷,不易损坏。因此,在公交、门禁
4、、校园、企事业等人事管理、娱乐场所等方面有广泛的应用前景。目前我国引进的射频 IC卡主要有PHILIPS公司的Mifare和ATMEL公司的Temic卡。下面以PHILIPS公司的Mifare卡为主、介绍城市公交自动售票IC卡读写器的实现方法。二、工作原理非接触式IC 卡读写器以射频识别技术为核心,读写器内主要使用了1片Mifare卡专用的读写处理芯片-MMM微模块。它是一个小型的最大操作距离达2030mm的Mifare读/写设备的核心器件,其功能包括调制、解调、产生射频信号、安全管理和防碰撞机制。内部结构分为射频区和接口区:射频区内含调制解调器和电源供电电路,直接与天线连接;接口区有与单片机
5、相连的端口,还具有与射频区相连的收/发器、16字节的数据缓冲器、存放64对传输密钥的ROM、存放3套密钥的只写存储器以及进行三次证实和数据加密的密码机、防碰撞处理的防碰撞模块和控制单元。这是与射频卡实现无线通信的核心模块,也是读写器读写Mifare卡的关键接口芯片。读写器工作时,不断地向外发出一组固定频率的电磁波(13.6MHz),当有卡靠近时,卡片内有一个LG串联谐振电路,其频率与读写器的发射频率相同,这样在电磁波的激励下,LG谐振电路产生共振,从而使电容充电有了电荷。在这个电容另一端,接有一个单向导电的电子泵,将电容内的电荷送到另一个电容内存储。当电容器充电达到2V时,此电容就作为电源为卡
6、片上的其他电路提供工作电压,将卡内数据发射出去或接收读写器发出的数据与保存。三、硬件组成公交收费系统结构复杂,环节较多,因此,公交非接触IC 卡的读写器至少应包括公交售卡机、公交车载机和公交制卡机三个读写器。除了售卡机要求有键盘外,其余的硬件组成大体相同。图1为非接触IC卡及其读写器硬件电路原理图,主要由MMM微模块、单片机、键盘、显示、存储器、天线和监控电路以及与PC机通信的TC232串行通信接口电路等部分组成。如下图MCUMIFARE卡读写模块EEPROM存储器通信接口显示报警天线一、 产品功能介绍1具备小额电子钱包功能,定额方式收费2操作方便快捷3工作距离50cm4可将当班收款额上传总站
7、数据库5. 公交公司可调整定额额度6. 卡遗失可挂失7. 抗干扰能力强MIFARE1卡基本性能指标:1. 卡内器件:无线智能卡芯片Mifare MF1 IC S50 +天线线圈2. 标准:遵从ISO/IEC 14443 Type A 标准3. 工作频率:13.56MHz4. 数据传送速率:106kbit/s (9.4s/bit)MIFARE1卡安全特性:q 密码认证:所有扇区需通过密码认证才能进行读/修改作。q 存取控制:所有块可通过设置存取控制条件限制存取。MIFARE 1卡特点:支持城市一卡通EEPROM存储器结构提供多应用:1K字节EEPROM,16个扇区, 4数据块/扇区,16字节/块
8、。用户可以定义每一个存储器块的访问条件。每个扇区(每应用)拥有各自独立的密钥,支持带密钥层次的多应用。适合定额收费:卡芯片中内建有增值/减值的专项数学运算电路,非常适合公交/地铁等行业的定额收费系统。MIFARE 1卡特点:支持开放环境下的安全可靠应用高保密性:全球唯一SN;密钥及传输密码保护,各扇区密码独立且有三套(KEYSET0、1、2)二个(KEY A、KEY B)密码。 密码认证采用三次相互认证;存取控制位保护,用户可以定义每一个存储器块的访问条件。RF信道数据加密 高可靠性: 无线通讯链路使用各种校验机制确保数据可靠传输MIFARE 1卡防冲突特性利用每张卡全球唯一的SN实现二进制树
9、状搜索防冲突算法。MIFARE 1卡特点:支持多卡同时操作卡芯片与读写芯片中都内嵌防冲突模块,可实现真正的(硬件)防冲突,可高速识别天线范围内的多张卡,适应多人同时刷卡。二、非接触式IC卡MIFARE 1卡公交收费机硬件原理图:1.公交收费机MCU处理模块原理图:2.公交收费机RF模块原理图:3.公交收费机液晶显示电路原理图:4.公交收费机电源模块原理图:5.JATAG模块原理图:6.公交收费机PCB图:二、 软件控制主要程序:功能:读写M1卡主函数#include #include #include #include /标准函数#include /I/O口函数#include #includ
10、e #include #define _Nop() _nop_()#define uchar unsigned char#define uint unsigned int/#include sookey.txt/ 全局常量#define BAUDRATE 9600 / Baud rate of UART in bps#define SYSCLK 12000000 / SYSCLK frequency in Hz#define SPI_CLOCK 250000 / Maximum SPI clock#define MAX_LEN 30 /receive buf MAX lengthuchar b
11、lkaddr=0;/块地址extern uchar blockdata16;/块数据uchar code Ver_HEX=SZRFMAINBORD;bit readFlag; bit frameFlag; extern uchar idata UID5;extern uchar idata tagtype2;/-/函数声明/-void SYSCLK_Init (void);void PORT_Init(void);void UART0_Init(void) ;void SPI0_Init();void Send_Char(uchar ch) ;/外部函数extern void Init_FM1
12、702(void);extern uchar Request(uchar mode); extern uchar AntiColl(void);extern uchar Select_Card(void);extern uchar loadkey_e2(uchar Secnr,ucharMode);extern uchar Authentication1(uchar *UID,uchar SecNR,uchar mode);extern uchar MIF_Halt(void);extern uchar MIF_Read(uchar xdata *buff, uchar Block_Adr);
13、extern uchar MIF_Write(uchar xdata *buff, uchar Block_Adr);extern uchar Write_E2(uchar lsb, uchar msb, uchar xdata *buff);extern voidcmd_execution_test(void);extern void menu();extern void disp(); extern void ST7565P_init(); extern void display_full(byte);/-/ 主函数/-void main (void) /uchar len; uchar
14、Status;/uchar KeyType; /uchar cmd; uchar xdata tmp16; /uint E2Addr; PCA0MD &= 0x40; / WDTE = 0 (clear watchdog timer SYSCLK_Init (); / Initialize Oscillator / enable) PORT_Init(); / Initialize Port I/O UART0_Init(); SPI0_Init(); Init_FM1702(); ST7565P_init(); /LCD INIT while(1) display_full(0x00); /
15、清屏 while(1)menu(); /显示欢迎主菜单 tmpMODE=RF_CMD_REQUEST_STD; / IDLE Status = Request(tmpMODE);/ Request standard,寻卡if(Status=MI_OK) break; /有卡则进入认证及扣款,无卡则循环显示主菜单 if(Status=MI_OK) Status = AntiColl(); / Anticollision if(Status=FM1702_OK) Status=Select_Card(); /Select application if(Status=FM1702_OK) Buffe
16、r4=1; /Buffer4为要认证的扇区号015,扇区1Buffer3=0; /Buffer3为要认证的密码类型,0-密码A,非0-密码B Status = loadkey_e2(Buffer4,Buffer3); if(Status=FM1702_OK) Buffer1=1; /Buffer4为要认证的扇区号015,扇区1Buffer3=0; /Buffer3为要认证的密码类型,0-密码A,非0-密码B Status = Authentication1(UID,Buffer4,Buffer3); /密码认证 blkaddr=4; /块地址063,扇区1块0if(Status=FM1702_
17、OK) Status=MIF_Read(&blockdata,blkaddr); /读块数据if(Status = FM1702_OK)blockdata6=blockdata6-3;/在块的第6个字节修改数据 Status=MIF_Write(&blockdata,blkaddr); /写入修改后的块数据,扣款 if(Status=FM1702_OK) Status = MIF_Halt(); /暂停 disp();/显示扣款额及卡余额 /-/ 初始化函数/- /-/ 系统时钟配置/-void SYSCLK_Init (void)* OSCICN |= 0x03; / Configure i
18、nternal oscillator for / its maximum frequency RSTSRC = 0x04; / Enable missing clock detector/* int i = 0; OSCICN = 0x83; /Enable internal high speed oscillator CLKMUL = 0x80; for (i = 0; i 20; i+); / Wait 5us for initialization CLKMUL |= 0xC0; while (CLKMUL & 0x20) = 0); CLKSEL = 0x03; /USB clock:
19、48MHz, system clock : 48MHz OSCICN |= 0x03; / Configure internal oscillator for / its maximum frequency/ CLKSEL = 0x20;/ RSTSRC = 0x04; / Enable missing clock detector / OSCICN = 0x83; / lcd init ,configure internal oscillator for 12MHz / 1 /RSTSRC = 0x04; / enable missing clock detector/-/ I/O配置/ P
20、0.4 digital push-pull UART TX/ P0.5 digital open-drain UART RX/-void PORT_Init() P0MDOUT = 0x0D; / Make SCK, MOSI, and NSS push-pull / P1MDOUT = 0x01; / Make the LED push-pull P1SKIP = 0x01; / Skip the LED (P1.0) XBR0 = 0x03; / Enable the SPI on the XBAR XBR1 = 0x40; / Enable the XBAR and weak pull-
21、ups P2MDOUT = 0xff; /lcd initP1MDOUT = 0xff; / XBR1 = 0x40; /-/ SPI0_Init/-/ Return Value : None/ Parameters : None/ Configures SPI0 to use 4-wire Single Master mode. The SPI timing is/ configured for Mode 0,0 (data centered on first edge of clock phase and/ SCK line low in idle state)./-void SPI0_I
22、nit() SPI0CFG = 0x40; / Enable the SPI as a Master / CKPHA = 0, CKPOL = 0 SPI0CN = 0x0D; / 4-wire Single Master, SPI enabled / SPI clock frequency equation from the datasheet SPI0CKR = (SYSCLK/(2*SPI_CLOCK)-1; ESPI0 = 1; / Enable SPI interrupts/-/串口初始化/-void UART0_Init(void) SCON0 = 0x10; / SCON0: 8
23、-bit variable bit rate / level of STOP bit is ignored / RX enabled / ninth bits are zeros / clear RI0 and TI0 bits if (SYSCLK/BAUDRATE/2/256 1) TH1 = -(SYSCLK/BAUDRATE/2); CKCON &= 0x0B; / T1M = 1; SCA1:0 = xx CKCON |= 0x08; else if (SYSCLK/BAUDRATE/2/256 4) TH1 = -(SYSCLK/BAUDRATE/2/4); CKCON &= 0x
24、0B; / T1M = 0; SCA1:0 = 01 CKCON |= 0x01; else if (SYSCLK/BAUDRATE/2/256 12) TH1 = -(SYSCLK/BAUDRATE/2/12); CKCON &= 0x0B; / T1M = 0; SCA1:0 = 00 else TH1 = -(SYSCLK/BAUDRATE/2/48); CKCON &= 0x0B; / T1M = 0; SCA1:0 = 10 CKCON |= 0x02; TL1 = TH1; / init Timer1 TMOD &= 0xf0; / TMOD: timer 1 in 8-bit a
25、utoreload TMOD |= 0x20; TR1 = 1; / START Timer1 IP |= 0x10; / Make UART high priority ES0 = 0; / Enable UART0 interrupts /-/发送单个字符 /-void Send_Char(uchar ch) SBUF0 = ch; /送入缓冲区 while(TI0 = 0); /等待发送完毕 TI0 = 0; /软件清零 /=SEND OR REVIECE HEX FORMAT DATAstatic bit recv1char(uchar *rdata)uchar i;TR0=0;TH0
26、=0X3a; /about 35 ms TL0=0X00; RI0=0; TF0=0; TR0=1; for(i=0;i8;i+) while(!RI0&!TF0); if(RI0) RI0=0; *rdata=SBUF0; TR0=0; return 1; TF0=0; TR0=0; return 0;static bit recv_datas(uchar *len)uchar rlen ;uchar buf;uchar bcc=0;RI0=0;for(rlen=0;rlenMAXDATA + CRC_CHECKBYTECNT + 1 ;rlen+) if(!recv1char(&buf)
27、return 0;if(buf=DLE)if(!recv1char(&buf)return 0;if(buf=DLE)Bufferrlen=DLE;elsebreak;/ETX,endelseBufferrlen=buf;bcc=buf;if(bcc!=0 | buf!=ETX )SBUF0=NAK;while(!TI0);TI0=0;return 0;SBUF0=DLE;while(!TI0);TI0=0;*len=rlen-1;return 1;static bit send_datas(uchar len)uchar i,buf,bcc=0;SBUF0=STX;while(!TI0);T
28、I0=0;if(!recv1char(&buf)return 0;if(buf!=DLE) return 0; for(i=0;ilen;i+)if(Bufferi!=DLE)SBUF0=Bufferi;while(!TI0) ;TI0=0;elseSBUF0=Bufferi;while(!TI0);TI0=0;SBUF0=Bufferi;while(!TI0);TI0=0;bcc=Bufferi;SBUF0=bcc;while(!TI0);TI0=0;if (bcc=DLE) SBUF0=bcc; while(!TI0); TI0=0; SBUF0=DLE;while(!TI0);TI0=0
29、;SBUF0=ETX;while(!TI0);TI0=0;if(!recv1char(&buf)return 0;if(buf!=DLE) return 0;return 1;void delay10us(void)_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();void delay100us(void)uchar i;for(i=0;i9;i+)delay10us();void delay10ms(void)uchar i;for(i=0;i99;i+)delay100us();void delay100ms(v
30、oid)uchar i;for(i=0;i10;i+)delay10ms();显示函数/*-文件信息-功能:在LCD上显示汉字信息 拔码开关: SW9的1,2脚拔向ON SW8的1,2脚拔向ON *-*/#include / SFR declarations#include #include #include #define NOP _nop_()#define word unsigned int#define byte unsigned char#define uint unsigned int#define uchar unsigned char/-/ 液晶接口定义/- sbit RES=
31、 P15;/resetsbit RS= P11;/data control signalsbit SDI= P27;sbit SCLK= P26;/* 欢 */unsigned char code Bmp002=/*-; 源文件 / 文字 : 欢; 宽高(像素): 1616-*/0x10,0x10,0x02,/宽的像素数,高的像素数,宽的字节数,参数设置可选0x14,0x24,0x44,0x84,0x64,0x1C,0x20,0x18,0x0F,0xE8,0x08,0x08,0x28,0x18,0x08,0x00,0x20,0x10,0x4C,0x43,0x43,0x2C,0x20,0x10,
32、0x0C,0x03,0x06,0x18,0x30,0x60,0x20,0x00,;/* 迎 */unsigned char code Bmp003=/*-; 源文件 / 文字 : 迎; 宽高(像素): 1616-*/0x10,0x10,0x02,/宽的像素数,高的像素数,宽的字节数,参数设置可选0x40,0x41,0xCE,0x04,0x00,0xFC,0x04,0x02,0x02,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00,0x40,0x20,0x1F,0x20,0x40,0x47,0x42,0x41,0x40,0x5F,0x40,0x42,0x44,0x43,0x
33、40,0x00,;/* 使 */unsigned char code Bmp004=/*-; 源文件 / 文字 : 使; 宽高(像素): 1616-*/0x10,0x10,0x02,/宽的像素数,高的像素数,宽的字节数,参数设置可选0x40,0x20,0xF0,0x1C,0x07,0xF2,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0xF4,0x04,0x00,0x00,0x00,0x7F,0x00,0x40,0x41,0x22,0x14,0x0C,0x13,0x10,0x30,0x20,0x61,0x20,0x00,;/* 用 */unsigned char co
34、de Bmp005=/*-; 源文件 / 文字 : 用; 宽高(像素): 1616-*/0x10,0x10,0x02,/宽的像素数,高的像素数,宽的字节数,参数设置可选0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,;/* 深 */unsigned char code Bmp006=/*-; 源文件 / 文字 : 深; 宽高(
35、像素): 1616-*/0x10,0x10,0x02,/宽的像素数,高的像素数,宽的字节数,参数设置可选0x10,0x61,0x06,0xE0,0x00,0x26,0x22,0x1A,0x02,0xC2,0x0A,0x12,0x32,0x06,0x02,0x00,0x04,0xFC,0x03,0x20,0x20,0x11,0x11,0x09,0x05,0xFF,0x05,0x09,0x19,0x31,0x10,0x00,;/* 圳 */unsigned char code Bmp007=/*-; 源文件 / 文字 : 圳; 宽高(像素): 1616-*/0x10,0x10,0x02,/宽的像素
36、数,高的像素数,宽的字节数,参数设置可选0x10,0x10,0x10,0xFE,0x10,0x10,0xFE,0x00,0x00,0xFC,0x00,0x00,0x00,0xFE,0x00,0x00,0x08,0x08,0x04,0x47,0x24,0x18,0x07,0x00,0x00,0x1F,0x00,0x00,0x00,0x7F,0x00,0x00,;/* 通 */unsigned char code Bmp008=/*-; 源文件 / 文字 : 通; 宽高(像素): 1616-*/0x10,0x10,0x02,/宽的像素数,高的像素数,宽的字节数,参数设置可选0x40,0x41,0x
37、C6,0x00,0x00,0xF2,0x52,0x52,0x56,0xFA,0x5A,0x56,0xF2,0x00,0x00,0x00,0x40,0x20,0x1F,0x20,0x40,0x5F,0x42,0x42,0x42,0x5F,0x4A,0x52,0x4F,0x40,0x40,0x00,;/* 扣 */unsigned char code Bmp009=/*-; 源文件 / 文字 : 扣; 宽高(像素): 1616-*/0x10,0x10,0x02,/宽的像素数,高的像素数,宽的字节数,参数设置可选0x00,0x08,0x08,0x08,0xFF,0x88,0x48,0x00,0xFC
38、,0x04,0x04,0x04,0x04,0xFC,0x00,0x00,0x00,0x02,0x22,0x41,0x3F,0x00,0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0x0F,0x00,0x00,;/* 费 */unsigned char code Bmp010=/*-; 源文件 / 文字 : 费; 宽高(像素): 1616-*/0x10,0x10,0x02,/宽的像素数,高的像素数,宽的字节数,参数设置可选0x00,0x00,0x3A,0x2A,0xAA,0x6A,0x3F,0x2A,0x2A,0xFF,0x2A,0x2A,0xAE,0x20,0xE0,0x00,0x00,0x02,0x82,0x81,0x5F,0x41,0x21,0x1D,0x21,0x21,0x41,0xDF,0x40,0x01,0x00,0x00,;/*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 技师上班考勤制度
- 新华区教体局考勤制度
- 西浦学生上课考勤制度
- 镇雄驻村双考勤制度
- 驻村工件队考勤制度
- 2025年中国科学院广州地球化学研究所科研助理招聘备考题库(稳定同位素地球化学学科组)及完整答案详解
- 2025年南京市公安局六合分局公开招聘警务辅助人员43人备考题库及答案详解(新)
- 2025年贵州镇远县人民政府政务服务中心公开招聘劳务派遣人员备考题库及答案详解(易错题)
- 2025年沈阳市城市建设投资集团有限公司所属企业沈阳市勘察测绘研究院有限公司校园招聘备考题库及1套完整答案详解
- 新部编八年级语文上册一着惊海天
- GB/T 45732-2025再生资源回收利用体系回收站点建设规范
- T/CECS 10214-2022钢面镁质复合风管
- DB31/T 5000-2012住宅装饰装修服务规范
- 广西南宁市2025届高三下学期第二次适应性考试化学试题(原卷版+解析版)
- 马工程西方经济学(精要本第三版)教案
- 【初中 语文】第15课《青春之光》课件-2024-2025学年统编版语文七年级下册
- 高校大学物理绪论课件
- 生产周报工作总结
- 2025年黑龙江省高职单招《语文》备考重点试题库(含真题)
- 农村污水处理管网施工方案
- 国网福建省电力限公司2025年高校毕业生(第二批)招聘高频重点提升(共500题)附带答案详解
评论
0/150
提交评论