智能卡网吧收费机设计3课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《智能卡网吧收费机设计3课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能卡 网吧 收费 设计 课件
- 资源描述:
-
1、智能卡网吧收费机设计智能卡网吧收费机设计(三)(三)逻辑加密卡读写控制逻辑加密卡读写控制教学目标q SLE4442卡读主存储器q SLE4442卡更新主存储器q SLE4442卡密码校验产品开发智能卡网吧收费机q开发任务:设计智能卡网吧收费机q卡型:SLE4442q智能卡网吧收费机功能分析 1、判断卡的合法性 2、上网计时收费产品开发之第三步:卡读写控制产品开发之第三步:卡读写控制q智能卡网吧收费机工作流程1、判断卡的合法性:判断是否SLE4442卡、是否本网吧发行的卡、密码是否正确、卡中余额是否充足复位与复位响应、读卡、校验密码2、计时收费:写卡扣款并发送允许上网代码,接收PC机计时时间到发
2、出的控制信号,收到启动信号则重新判断卡合法性并扣款,收到停止信号则下电并提示允许拔卡写卡如何实现卡读写控制?如何实现卡读写控制?q读卡信息如何从卡中读出?q校验如何校验密码?q写卡信息如何写入卡中?软件设计方法按SLE4442操作时序编制卡读写程序SLE4442卡操作时序分析q 通信协议:2线连接协议,满足ISO7816同步传送协议q 数据传输:CLK信号下降沿有效,低位在前。q 读写过程:(1)读写器发送命令命令(Command)给卡命令时序 命令=开始+(控制字+地址字+数据字)+附加脉冲+停止 函数实现:void sle4442_command(uchar control,uchar a
3、ddress,uchar dat)(2)卡执行命令(读写器接收数据或等待卡内部执行)操作模式(Mode):读数据:输出数据模式(OUTGOING DATA MODE)char sle4442_si(void)实现写入、擦除、校验:处理模式(PROCESSING MODE)sle4442_process()实现命令(Command)q复位响应以后,芯片等待着命令。q命令=开始+(控制字+地址字+数据字)+附加脉冲+停止。q开始:在CLK为高状态(H)期间,I/O的下降沿为开始状态。q停止:在CLK为高状态(H)期间,I/O的上升沿为停止状态。SLE4442操作命令/*sle4442 命令函数*/
4、void sle4442_command(uchar control,uchar address,uchar dat)IO=1;/Start,下降沿SLECLK=1;delay_12us();IO=0;delay_4us();/t3CLK=0;delay_4us();sle4442_so(control);/向卡中写入一字节的控制字sle4442_so(address);/向卡中写入一字节的地址字sle4442_so(dat);/向卡中写入一字节的数据字delay_4us();IO=0;/Stop,上升沿delay_4us();/t6CLK=1;delay_4us();IO=1;/*MCU向卡
5、送出(写入)一字节*/void sle4442_so(char dat)/write a byte,LSB first uchar i,temp;for(i=0;i1;/右移,低位在前delay(4);/保持CLK为高一个时钟脉冲操作模式(Mode)q接收了一个命令之后,卡芯片处于 两种可能的模式:(1)读数据:输出数据输出数据模式;(2)写入、擦除、校验密码:处理处理模式。输出数据(OUTGOING)模式q 将IC卡芯片中的数据传送给读写器q 在第一个CLK脉冲的下降沿之后,I/O线上的第一位数据变为有效。随后每增加一个时序脉冲,芯片内部的一位数据被送到I/O线上,低位(LSB)在前。当所需
6、要的最后一个数据送出之后,需要再附加一个时钟脉冲来把I/O线置成高阻状态(状态Z)。q 循环使用char sle4442_si(void)函数,每调用一次从卡读入当前地址指向的一个字节,卡内地址指针自动+1。分任务分任务1:读主存储器:读主存储器Read Main Memory q命令格式:0 x30 +字节地址+*q模式:OUTGOINGq功能:读出从给定的字节地址(N)开始,直到整个存储器末尾的主存储器内容。q说明:在该命令输入以后,接口设备IFD必须提供足够的时钟脉冲,起始地址为N时所需要的时钟脉冲数为 M=(256-N)*81 (N=0255)例如:地址为0 x7E(N=254),M=
7、17/*sle4442 读主存储器函数*/unsigned char rdata=0;void read(unsigned char rcom,unsigned char radd,unsigned char num)sle4442_command(rcom,raddr,0 xff);/送命令IO=1;/准备读入delay(12);CLK=0;delay(12);for(i=0;irnum;i+)rdatai=sle4442_si();/读入数据 以上程序可以实现读入需要读入的字节数,但将导致后续命令无法被SLE4442卡接收,必须提供起始地址为N255所需要的时钟脉冲数M=(256-N)*8
8、1/*sle4442 读主存储器函数,续上*/void read(unsigned char rcom,unsigned char radd,unsigned char rnum)/补充剩余脉冲,等待后续命令for(i=0;i255-rnum;i+)for(j=0;j8;j+)CLK=1;delay(4);CLK=0;delay(4);CLK=1;/附加脉冲delay(4);CLK=0;delay(4);IO=1;delay(4);第一阶段:读卡第一阶段:读卡1、通过复位应答方式读入SLE4442卡主存储器前4个字节的内容。2、通过读主存储器方式读入SLE4442卡主存储器前4个字节的内容。3
展开阅读全文