1-wire系统中TM卡的单片机等效替换

2008-09-05 09:55:01编辑:汤宏琳 关键字:从机  TM卡  单总线  主机  单片机  Init  ID码  温度仪  主循环  tREC

  1 TM卡简介

  TM(Touch Memory)卡是美国Dallas公司的专利产品。它采用单线协议通信,通过瞬间碰触完成数据读写,既具有非接触式IC卡的易操作性,又具有接触式IC卡的廉价性,是当前性价比最优秀的IC卡之一。它的外形类似于一个钮扣(button)电池,可镶嵌于卡片、钥匙扣等物体上。

  TM卡通过一个多功能器将数据线、地址线、控制线和电源线合并为1根线,实现单线通信。当主机加电时,TM卡通过500 kΩ和50 Ω阻抗之间的切换来响应主机,用信号被拉低的时长(长或短)来表示数字逻辑(长为1,短为0)。由于阻抗切换的幅度为10 000∶1,因此,触点的接触电阻不会影响数字信号的辨识。

  2 1wire通信协议

  单总线即只有1根数据线, 系统中的数据交换、控制都由这根线完成。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线, 以允许设备在不发送数据时能够释放总线, 而让其他设备使用总线。单总线通常要求外接一个约为4.7 kΩ 的上拉电阻, 这样, 当总线闲置时, 其状态为高电平。主机和从机之间的通信可通过3个步骤完成: 初始化1wire 器件;识别1wire 器件;交换数据。由于它们是主从结构,只有主机呼叫从机时, 从机才能应答, 因此主机访问1wire 器件都必须严格遵循单总线命令序列, 即初始化、ROM 命令、功能命令。如果出现序列混乱,1wire 器件将不响应主机(搜索ROM 命令,报警搜索命令除外)。

  SMC1990A1是具有工厂激光刻度的64位ROM ID码,其中包括48位的序列号、1个8位的CRC编码和1个8位的产品系列号。数据遵循单总线协议传输,用于读和写的电源由数据线本身提供,而不需要提供外部电源。

  3 SMC1990A1的等效替换

  单总线技术具有节省I/O口线资源,线路简单,硬件开支少,成本低,便于总线扩展和维护等优点。在分布式测控系统中有着广泛的应用。在实际应用过程中,可能会出现TM卡丢失和损坏的情况,如果发生此类情况,往往需要根据一个新TM卡来设置多个采集点的权限。如果采集点设置得很多,将浪费大量的人力。此时,利用单片机来替换已丢失或损坏的TM卡就显得很有必要。

  3.1 系统硬件组成

  系统采用AT89C51作为控制器,并采用24 MHz晶振。为了能尽量适应标准的单总线通信协议,晶振频率应尽量高。考虑到单总线通信协议所有的传输都是由主机发起的,因此为了尽快地响应主机,采用中断处理。选择AT89C51的INT0(即P3.2)作为SMC1990A1等效替换的正极。图1为TM卡的等效替换示意图。

  

  

  图1 TM卡的等效替换

  3.2 系统软件设计

  对于SMC1990A1的等效替换,主要是对其时序的分析。对于SMC1990A1子设备,主要的编程是针对主机而言的,传输都是由主机发起的。现在改为单片机模拟SMC1990A1子设备(现称为“从机”)。

  

  

  图2 初始化时序

  首先,初始化时序,如图2所示。主机首先发送一个复位脉冲,历时tRETL(最短为480 μs的低电平信号),然后释放总线并进入接收状态。从机在检测到总线的上升沿后,等待tPDH时间后,从机拉低总线发出存在脉冲,历时tPDL(低电平,持续60~240 μs),然后释放总线。释放总线通过拉高总线实现。

  对应于从机,初始化时序的中断服务程序流程如图3所示。

  

  

  图3 初始化时序的中断服务程序流程

  下面是主机写0和写1时序。在初始化时序后,当主机总线从高电平拉至低电平时,就产生写时间隙。在开始15 μs之内,应将所需写的位送到总线上,从机在开始后15 ~60 μs间对总线采样。若为低电平,写入的位是0,如图4所示;若为高电平,写入的位是1,如图5所示。连续写多位间的间隙tREC应大于1 μs。

  

  

  图4 主机写0时序

  

  

  图5 主机写1时序

  对应于从机,是等待主机命令。从机等待主机命令的中断服务程序流程如图6所示。

  

  

  图6 从机等待主机命令的中断服务程序流程

  最后是主机读数据时序,如图7所示。主机总线在开始时刻从高电平拉至低电平时,总线只需保持低电平1~7 μs。之后在tLOWR时刻释放总线,一般在tRDV时刻采样总线(15 μs处),读时间隙在tLOWR与tRDV之间有效。从机必须在tRDV时刻前拉高或拉低总线,主机在tRDV时刻采样,并在60~120 μs内释放总线。

  

  

  图7 主机读数据时序

  对从机来说,则为发送64位ID处理。程序处理的难点在于从机必须在15 μs之前拉高或拉低总线,以供主机在15 μs处采样总线。程序通过判断位地址00H处的状态来实现此功能。通过判断位地址01H处的状态来确定发送位0或发送位1。从机发送64位ID处理的中断服务程序流程如图8所示。

  

  

  图8 从机发送64位ID处理的中断服务程序流程

  在完整地实现一次ROM功能的过程中,从机首先等待主机发送的复位脉冲,待检测到后发图9实现ROM功能的流程送存在脉冲应答。随后,从机开始接收主机发送的ROM命令,并将其保存,以判断随后的操作。最后,从机发送TM卡的64位标识码,完成一次ROM命令的执行。实现ROM功能的流程如图9所示。

  单片机的汇编程序如下:

  ORG0000H

  AJMPInit//跳到Init段

  ORG0003H

  AJMPJudge//跳到中断服务程序

  Init: //初始化

  MOVDPTR,#ID//ID表地址

  MOVR5,#001H

  MOVR7,#000H

  CLR00H

  SETB01H

  SETBP3.2

  LCALLDelay10s

  CLRP3.2//拉低总线叫醒主机

  LCALLDelay100us

  SETBP3.2

  SETBEA

  SETBIT0

  SETBEX0

  MAIN: AJMPMAIN//主循环

  Judge:CLREX0//判断执行动作,关中断

  JNB00H,SecondJ//跳到二次判断

  ID_IN:JB01H,SEND1//从机发送TM卡64位标识码

  CLRP3.2//发送位0

  SEND1:SETBP3.2 //发送位1

  LCALLDelay30us

  MOVA,R5//R5循环左移

  RLA

  MOVR5,A

  MOVA,#00H

  MOVCA,@A+DPTR

  ANLA,R5

  CLR01H//设置01H状态

  JZRelease1

  SETB01H

  Release1:SETBP3.2

  MOVA,R5

  ANLA,#080H//判断字节发送完否

  JZINTEND

  INCDPTR

  AJMPINTEND//跳到中断结束

  SecondJ:MOVA,R7//二次判断

  JZWaitReply//跳到执行应答判断是否命令接收结束

  ANLA,#008H

  JZWaitOrder//跳到执行接收命令

  SETB00H

  WaitOrder: LCALLDelay15us//接收命令

  NOP

  NOP

  MOVA,P3//采样P3.2

  ANLA,#004H

  JZSAVE_R6

  MOVA,#001H

  SAVE_R6:

  ORLA,R6 //保存命令到R6

  RRA

  MOVR6,A

  RLOOP1:

  MOVA,P3//判断主机的发送状态,是否返回

  ANLA,#004H

  JZRLOOP1

  AJMPINTEND//跳到中断结束

  WaitReply://执行应答

  RLOOP:MOVA,P3//判断主机的复位信号

  ANLA,#004H

  JZRLOOP

  LCALLDelay30us

  CLRP3.2//从机拉低电平应答

  LCALLDelay150us

  SETBP3.2//释放总线

  NOP

  NOP

  NOP

  NOP

  INTEND:

  INCR7

  CLRIE0

  SETBEX0//开中断

  RETI//中断返回

  ID:DB001H//ID表

  DB0C3H

  DB04DH

  DB057H

  DB033H

  DB022H

  DB000H

  DB0D2H

  本文代码在实际运用中得到了很好的验证,能够稳定地替代SMC1990A1实现TM卡的ROM功能,极大地方便了权限管理人员用于丢失或损坏的TM卡的权限管理。

  参考文献

  [1] SMC1990A1 Datasheet. Version 0.1, June, 2004.

  [2] 陈志英,李光辉. 单总线(1Wire Bus) 技术及其应用[J]. 国外电子元器件, 2003(8) : 47.

  [3] 丁明勇,李昔华. TM卡智能电子锁与门禁系统研制[J]. 重庆工商大学学报, 2004, 21(5) : 488 490.

  [4] 徐敏,诸葛振荣,宋加仁. 基于1Wire技术的数字温度仪[J]. 机电工程, 2007, 24(4) : 26 29.

  [5] 杨振野, 韦方明, 陈坤城,等. DS1991信息纽扣的密钥破解和等效替换[J]. 电子技术, 2006(12): 61 63.

 

 

关键字:从机  TM卡  单总线  主机  单片机  Init  ID码  温度仪  主循环  tREC

来源: 单片机与嵌入式应用 引用地址:http://www.eeworld.com.cn/afdz/2008/0905/article_1094.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:一种扩频通信调制器的FPGA设计与仿真
下一篇:Atmel的6通道触摸控制芯片AT42QT1060

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Cortex-M单片机下载数据到外部flash

主机环境:Windows 10 64bit开发环境:MDK 5.23目标板:LPC54114之前在NXP社区得到一块LPC54114的板卡,是由万利制作的,LPC54114是一款双核MCU,包含了一颗M4主核和一颗M0+从核,利用该板卡学习了一下双核MCU的开发流程,板卡中提供了一颗W25P80FLASH,之前拥有的板卡都没有挂外部FLASH,刚好之前利用LPC54608学习TouchGFX时可以把图片资源下载到外部FLASH中,因此借此机会来学习一下如何把数据下载到外部FLASH。平时烧录代码我们都是烧录到MCU内部的FLASH中,如下图:可以看到下载的时片上256KB的FLASH,该算法文件是由DFP包提供的,具体
发表于 2018-07-23 20:09:32

工业级无人机 现在和未来可能都不会有垄断者出现

“未来会想要做消费级无人机市场吗?”“不想,除非大疆不干了。”自去年一片红海之后,面对消费级无人机市场,创业者们别说干上一干,连想他们都懒得再想。再来,观察近几年来全球无人机的融资情况,会发现无人机领域的融资在2015年达到顶峰。同时,自2015年后,无人机的融资开始出现了断崖式下滑。对于如何把蛋糕做大的问题,大家已经思考很久。产品升级、转换市场,创业者们很自然地从扎堆消费级无人机过渡到了深耕工业级无人机。走到工业级无人机的面前,大家才猛地惊醒,原来这里才是蓝海。近一两年,北斗+众创空间落地西安、李开复投资鳍源科技水下无人机、海尔投资GDU普宙无人机、柳枝行动提供20万补贴(无偿不占股)支持鲲鹏智汇无人机等动作不断,在这片新蓝海上
发表于 2018-07-23 18:57:21

雷军的空调梦与董明珠的手机梦 为何同病相怜?

如果要评选最近5年来中国市场最不靠谱的多元化项目,格力手机、小米空调,将毫无悬念上榜。  在智米空调上市即将迎来一周年,并在市场上遭遇“雷声小、雨点更小”商业尴尬之际,雷军一手创立的小米系,又有新的品牌要参与空调市场“抢一杯羹”了。  日前家电圈获悉,小米旗下的米家品牌也将发布全新的空调产品。相对于智米品牌,米家品牌同样也是用于小米生态链企业的产品品牌。不过,这一次米家空调推出,正是弥补并汲取此前智米空调的高定价失策略,走小米一贯主导的“性价比之路”即主打低价格手段。  雷军的空调梦,至今还未放飞  就在2017年8月上旬,传闻已久的“小米空调”终于推向市场,小米生态链企业智米科技推出一款1.5匹智米空调,售价却高达4399
发表于 2018-07-23 18:12:35

全新车载手势识别解决方案发布,增强人机互动效果

2018年7月23日讯,德国elmos公司日前宣布推出IC E909.21(控制器)和E909.22(调节器),用于汽车应用中的光学接近和手势识别解决方案。该控制器和调节器的设计适用于汽车大屏幕中控显示器,两者的组合为用户提供了完美协调的解决方案,可与图形用户界面(GUI)进行精确人机互动。 这两款产品可以检测到如接近、滑动、空气滑动™(手势挥动)、放大等动作。对基于简单的主动式红外光电技术的物体识别和运动分析进行实时处理。在汽车应用中Elmos是手势识别的先驱,同时在该应用中Elmos处于世界第一的位置。原因之一是该产品在市场上具有最佳的抵抗外部环境光能力和自动系统校准功能。此外,为了简化系统和传感器设计,两款产品
发表于 2018-07-23 17:36:25
全新车载手势识别解决方案发布,增强人机互动效果

守护手机的流畅与安全,绿色公约的新进展你应该了解

》,并将公约落地到联盟的绿色应用规范中,共同推送行业生态的良性发展。目前支持绿色应用公约的名单如下,AppSo 也在其中。  统一推送标准最新进展  目前,推送通道层接口标准涉及服务器端和手机端。服务器端包括推送鉴权(Auth)及推送(Send)两个接口,手机端包括注册(registerToken),开启推送(TurnOnPush)等九个接口。▲通道层标准接口简介  在本次大会上,《统一推送通道层接口规范》引起了听众的广泛讨论,开发者们针对当前标准提出了很多建设性的意见和建议。  在本次大会后,联盟秘书处对现场征集的相关意见进行了逐一评估,并对标准进行了一定的修订。按照标准制订的流程,修改后的标准仍将组织联盟内相关成员企业进行讨论
发表于 2018-07-23 13:12:48
守护手机的流畅与安全,绿色公约的新进展你应该了解

黑莓KEY2 Lite手机曝光:红蓝铜三色

   在上个月,黑莓发布了KEY2新机,但售价高达649美元,国内售价3999元起,该机配置骁龙660处理器,依然采用物理全键盘。现在爆料大神evleaks曝光了黑莓KEY2 Lite手机,这可能是黑莓KEY2的低配版,预计将在德国IFA上发布。  根据爆料,黑莓KEY2 Lite手机外形尺寸和黑莓KEY2一样,拥有红色、蓝色和铜色。  目前对于黑莓KEY2 Lite来说,仅有这些信息曝光,具体配置还不清楚,但从Lite名称来看,将会是黑莓KEY2的低配版本,售价会更低。
发表于 2018-07-23 13:05:08
黑莓KEY2 Lite手机曝光:红蓝铜三色

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved