智能卡网吧收费机设计3.ppt

智能卡网吧收费机设计3.ppt

ID:52528754

大小:382.50 KB

页数:34页

时间:2020-04-09

智能卡网吧收费机设计3.ppt_第1页
智能卡网吧收费机设计3.ppt_第2页
智能卡网吧收费机设计3.ppt_第3页
智能卡网吧收费机设计3.ppt_第4页
智能卡网吧收费机设计3.ppt_第5页
资源描述:

《智能卡网吧收费机设计3.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、智能卡网吧收费机设计 (三)逻辑加密卡读写控制教学目标SLE4442卡读主存储器SLE4442卡更新主存储器SLE4442卡密码校验产品开发——智能卡网吧收费机开发任务:设计智能卡网吧收费机卡型:SLE4442智能卡网吧收费机功能分析1、判断卡的合法性2、上网计时收费产品开发之第三步:卡读写控制智能卡网吧收费机工作流程1、判断卡的合法性:判断是否SLE4442卡、是否本网吧发行的卡、密码是否正确、卡中余额是否充足——复位与复位响应、读卡、校验密码2、计时收费:写卡扣款并发送允许上网代码,接收PC机计时时间到发出的控制信号,收到启动信号则重新判断卡合法性

2、并扣款,收到停止信号则下电并提示允许拔卡——写卡如何实现卡读写控制?读卡——信息如何从卡中读出?校验——如何校验密码?写卡——信息如何写入卡中?软件设计方法——按SLE4442操作时序编制卡读写程序SLE4442卡操作时序SLE4442卡操作时序分析通信协议:2线连接协议,满足ISO7816同步传送协议数据传输:CLK信号下降沿有效,低位在前。读写过程:(1)读写器发送命令(Command)给卡命令时序命令=开始+(控制字+地址字+数据字)+附加脉冲+停止函数实现:voidsle4442_command(ucharcontrol,ucharaddres

3、s,uchardat)(2)卡执行命令(读写器接收数据或等待卡内部执行)操作模式(Mode):读数据:输出数据模式(OUTGOINGDATAMODE)——charsle4442_si(void)实现写入、擦除、校验:处理模式(PROCESSINGMODE)——sle4442_process()实现命令(Command)复位响应以后,芯片等待着命令。命令=开始+(控制字+地址字+数据字)+附加脉冲+停止。开始:在CLK为高状态(H)期间,I/O的下降沿为开始状态。停止:在CLK为高状态(H)期间,I/O的上升沿为停止状态。SLE4442操作命令/*sle

4、4442命令函数*/voidsle4442_command(ucharcontrol,ucharaddress,uchardat){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()

5、;//t6CLK=1;delay_4us();IO=1;}怎样向卡中写入一个字节?/*MCU向卡送出(写入)一字节*/voidsle4442_so(chardat)//writeabyte,LSBfirst{uchari,temp;for(i=0;i<8;i++)//bitcounter,设置位计数器(8位){temp=dat;CLK=0;//dropclock,拉低时钟delay(4);//保持CLK为低一个时钟脉冲if((temp&0x01)==0)//串行传送一位到数据总线IO上IO=0;//temp最低位为0则置0elseIO=1;//temp

6、最低位为1则置1delay(4);CLK=1;//raiseclock,升高时钟temp=temp>>1;//右移,低位在前delay(4);//保持CLK为高一个时钟脉冲}}操作模式(Mode)接收了一个命令之后,卡芯片处于两种可能的模式:(1)读数据:输出数据模式;(2)写入、擦除、校验密码:处理模式。输出数据(OUTGOING)模式将IC卡芯片中的数据传送给读写器在第一个CLK脉冲的下降沿之后,I/O线上的第一位数据变为有效。随后每增加一个时序脉冲,芯片内部的一位数据被送到I/O线上,低位(LSB)在前。当所需要的最后一个数据送出之后,需要再附加

7、一个时钟脉冲来把I/O线置成高阻状态(状态Z)。循环使用charsle4442_si(void)函数,每调用一次从卡读入当前地址指向的一个字节,卡内地址指针自动+1。分任务1:读主存储器ReadMainMemory命令格式:0x30+字节地址+**模式:OUTGOING功能:读出从给定的字节地址(N)开始,直到整个存储器末尾的主存储器内容。说明:在该命令输入以后,接口设备IFD必须提供足够的时钟脉冲,起始地址为N时所需要的时钟脉冲数为M=(256-N)*8+1(N=0~255)例如:地址为0x7E(N=254),M=17/*sle4442读主存储器函数

8、*/unsignedcharrdata[]={0};voidread(unsignedchar

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。