改进的代码读出器.pdf

上传人:xia****o6 文档编号:4552001 上传时间:2018-10-19 格式:PDF 页数:30 大小:1.57MB
返回 下载 相关 举报
摘要
申请专利号:

CN88106860.8

申请日:

1988.09.23

公开号:

CN1032249A

公开日:

1989.04.05

当前法律状态:

撤回

有效性:

无权

法律详情:

||||||公开

IPC分类号:

G06K7/14; G06K5/00

主分类号:

G06K7/14; G06K5/00

申请人:

恩哈特工业公司

发明人:

加里·E·拉维尔

地址:

美国康涅狄格州

优先权:

1987.09.23 US 099,924

专利代理机构:

中国专利代理有限公司

代理人:

吴秉芬;匡少波

PDF下载: PDF下载
内容摘要

一种可靠的电子锁,包括钥匙卡插入和取出时的读卡装置。从钥匙卡读出的数据组与从钥匙卡读出的CRC数据进行比较以确定哪一组数据包括实际数据而没有由电子锁不正确读出的错误数据。CRC数据以编码形式存贮在卡上,将与一组包括实际数据和错误数据发生一致符合的可能性减至最小。

权利要求书

1: 具有从钥匙卡读出一组实际数据的电子锁装置,其改进包括: 连接到读出装置的存贮装置,用于存贮所说这组实际数据,同时也用于存贮从所说读出装置错误读出的不正确数据, 用于将多组所说实际数据和错误数据通过所说存贮装置移至内存单元的装置,第一个所说数据组包括所说实际数据和所说错误数据,第二个所说数据组包括所说实际数据而没有错误数据, 连接到移位装置的处理装置,用于确定所说第一组包括某些所说错误数据以及第二组包括所说实际数据而没有所说错误数据, 连接到所说处理装置的装置,用于把所说第二组内的所说实际数据同所说锁装置内存贮的锁暗码进行比较,如果这种比较合适,则操作所说锁装置。
2: 按照权利要求1所述的改进,其特征在于所说的存贮装置包括用于按由所说读出装置读出的顺序存贮所说这组实际数据和所说错误数据的装置,所说错误数据或先或后于所说这组实际数据读出。
3: 按照权利要求1所述的改进,其特征在于,所说钥匙卡包括有效性检验信息,该信息对应于所说实际数据,并且是可以由读出装置读出的,并且 所说处理装置包括将所说这组数据与有效性检验信息进行比较的装置,以确定这些组中的哪一个是所说第二组实际数据。
4: 按照权利要求3所述的改进,其特征在于,所说处理装置包括用以把第一组数据与含有所说有效性检验信息的第三组数据进行比较的装置,以确定所说第一组数据除包含所说实际数据外是否还包括其它内容。
5: 按照权利要求3所述的改进其特征在于,所说有效性检验信息是一CRC组,所说处理装置包括这样的装置,它能确定对应所说实际数据的一组CRC,并能把由所说处理装置确定的所说的一组CRC与从所说有效性检测信息读出的一组CRC进行比较。
6: 按照权利要求2所述的的改进其特征在于移位装置包括通过按位顺序移动所说实际的和错误的数据来定位所说第二组有效数据的装置。
7: 按照权利要求1所述的电子锁装置,其特征在于: 读出装置包括这样的装置,它能读出所说钥匙卡的至少一个磁道上顺序提供的所说实际及错误数据。
8: 按照权利要求1所述的电子锁装置,其特征在于: 读出装置包括从所说锁装置中插入或取出所说钥匙卡时读出所说实际数据组的装置。
9: 按照权利要求1所述的改进,其特征在于,所说的钥匙卡包括第一组循环冗余码校验位,它对应于所说的这组实际数据并由所说读出装置读出,所说处理装置包括这样的装置,它从所说这组实际数据计算第二组循环冗余码校验位,由读出装置读出的第二组循环冗余码校验位分成两半并交换这两半,并将计算出的第二组循环冗余码校验位与分成两半又经交换后的第一组循环冗余码校验位进行比较。
10: 一种用于锁系统的钥匙卡,它具有读出装置,用于读出包括在所说钥匙卡上的第一组实际数据和包括在所说钥匙卡上的第二组有效性数据,还有存贮装置,用于存贮由读出装置读出的所说一组实际数据,还有比较装置,用于将所说第一组实际数据与所说第二组有效性数据进行比较以确定是否所说第一组实际数据是有效的,所说钥 匙卡包括: 按直线形式包括所说第一组实际数据和所说第二组有效性数据的至少一个磁道,所说第一组实际数据包括一个锁存取暗码,所说第二组有效性数据包括循环冗余码校验位,所说第一组实际数据按顺序存贮在至少一个磁道上和所说第二组有效性数据近似地分为两半并按顺序交换两半以便按直线形式存贮在至少一个磁条上。
11: 按照权利要求10所述的钥匙卡,其特征在于有两个所说磁道,它们以直线形式包括所说第一组实际数据和所说第二组有效性数据,第一个磁道存贮二进制1数据,另一个磁道存贮二进制0数据。
12: 一种用锁系统的锁暗码数据给钥匙卡编码的方法,该锁系统具有用于读出所说钥匙卡的装置,并且具有对从所说钥匙卡读出的所说的锁暗码数据和存贮在所说锁装置中的锁暗码进行比较的装置,所说钥匙卡有至少一个磁道,所说方法包括的步骤为: 从所说锁暗码数据计算相应的一组循环冗余码校验位, 将所说这组循环冗余码校验位分裂成两部分, 将所说这组循环冗余码校验位的所说两部分交换顺序,以及 将被分裂/交换的这组循环冗余码校验位连同所说锁暗码数据按顺序地写在所说钥匙卡的所说至少一个磁道上。
13: 按照权利要求12所述的方法,其特征在于分裂所说这组循环冗余码的步骤是将这组码分为两个近似等长部分。
14: 在电子锁装置中,有确定一个开口以便接收钥匙卡的装置,用于把从所说钥匙卡读出的锁的暗码数据与存贮在所说锁装置中的至少一个锁暗码进行比较的处理器装置,以及响应于在所说钥匙卡上的所说锁暗码数据和存贮在所说锁装置中的所说锁暗码之间一致性的装 置,用于操作该锁装置,其改进包括, 连接到处理器装置上的装置,用于通过规定所说开口的所说装置来插入和取出所说钥匙卡时读出所说钥匙卡上的锁暗码数据。
15: 按照权利要求14所述的改进,其特征在于,所说处理器装置包括这样的装置,它在所说钥匙卡插入期间确定所说钥匙卡上的锁暗码数据何时被成功地读出,并且当钥匙卡插入期间所说钥匙卡上的锁暗码数据被成功地读出,所说的数据对应于存贮在所说锁装置中的所说锁暗码时能起动锁的操作装置。
16: 按照权利要求15所述的改进,其特征在于,所说处理器装置包括这样的装置,它在钥匙卡取出期间确定所说钥匙卡上的锁暗码数据何时被成功地读出,并且当钥匙卡取出期间所说钥匙卡上的所说锁暗码数据被成功地读出,所说的数据对应于存贮在所说锁装置中的所说锁暗码时能起动锁操作装置。
17: 按照权利要求16所述的改进,其特征在于,所说钥匙卡包括有效性检验信息,该信息对应于存贮在所说钥匙卡上的锁暗码数据,该信息可由读出装置读出,所说处理器装置包括这样的装置,它从所说钥匙卡读出的所说锁暗码数据计算有效性检验信息,并将计算出的有效性检验信息与从钥匙卡读出的有效性检验信息进行比较,以便确定钥匙卡是否被正确地读出。
18: 按照权利要求17所述的改进,其特征在于计算和比较装置的运行的根据是插入和取出期间读出的锁暗码数据和有效性检验信息是有效的。
19: 按照权利要求14所述的改进,其特征在于,读出装置包括一个第一传感器,它在钥匙卡插入的一开始时由所说钥匙卡起动,它 连接到所说处理器装置以便起动所说处理器装置来处理所说钥匙卡插入期间读出的所说锁暗码数据。
20: 按照权利要求19所述的改进,其特征在于,所说读出装置进一步还包括一个第二传感器,它在所说钥匙卡完全插入时由钥匙卡起动,它连到所说处理器装置以便起动所说处理器装置来处理所说钥匙卡取出期间读出的所说锁暗码数据。

说明书


本发明一般来说涉及电子锁系统,特别是涉及从钥匙卡可靠地读出数据的卡片读出器。

    美国专利第4,126,780号公开了一个光学卡片读出器,当卡片触到读出器的底部时,该读出器有一个弹簧推压卡片偏离光检测器和光电底部检测器,以产生一个信号。

    美国专利第4,519,228号公开了一个可重复编码的电子锁,该锁包括一个磁性的或光学的卡片读出器。该卡片读出器包括一个杆式起动开关和一个结束开关,当钥匙插入槽里时该杆式起动开关打开读出头,而当钥匙触到槽的底部时该结束开关关闭读出头。

    美国专利第3,896,293号公开了一个具有恒速卡片传输机构的卡片读出器,该读出器利用一个悬臂弹簧对着卡片推动一个滚轮,以致使卡片的编码区被压在读出头。

    美国专利第RE29,846号公开了一个电子锁系统,该系统包括一个钥匙卡读出器,这个读出器包括一个微型开关,在卡片完全插入后起动读出传感器。

    美国专利第3,622,991号公开了一个含光学卡片读出器系统的电子锁系统。该卡片读出器利用可限定枢轴位移的快门保证钥匙卡在槽中的正确取向。

    此外,用于判定从磁盘驱动器或从数据磁带系统读出的数据是否是真的各种循环冗余码校验(CRC)过程是已知的过程。CRC数据同其它数据一起被存贮在磁盘驱动器或磁带上。这些数据从以机械过程驱动的磁带或磁盘上沿着一个方向以恒定的速度读出。还有,用来判定存贮在信用卡上的数据是否是真的线性冗余码校验(LRC)过程也是已知的过程。当数据沿一个方向被读出时即完成了LRC,LRC对每个数据位都包括一个奇偶校验位。

    已有技术制造的卡片读出器存在着诸如上面所说的问题,其中包括错读卡片上的数据。这些问题对于用于电子门锁的卡片读出器尤其突出,因为正确地插入卡片钥匙会打不开锁。

    错误可能是由于卡片同读出头未对准产生地。此外,错读也可能是由于卡片没有以合适的速度通过读出头。再有,错读可能由于起动条件造成的。如果钥匙卡片含有一个串行磁道,读出磁道上的第一位可能很困难,下面作更详细讨论。

    本发明的目的在于提供一个能可靠地从卡片读出数据的卡片读出器。

    本发明归为一个电子锁,该电子锁具有从钥匙卡读出一组实际数据的装置,与读出装置相连的存贮装置用于存贮这组实际数据,同时也存贮读出装置不正确地读出的错误数据。根据本发明的一个特征,所提供的装置通过存贮装置移位至多组所说的实际和错误数据的内存单元。第一组既包括实际数据也包括错误数据,而所说的第二组只包括实际数据但没有错误数据。连接到移位装置的处理装置判定第一组包括一些错误数据,而第二组只包括实际数据但没有错误数据。连接到该处理装置的装置把第二组内的实际数据与存贮在锁装置中的锁暗码进行比较,并且如果二者相符则使该锁装置动作。因此,与实际数据一道不正确读出的错误数据没有使电子锁装置失效。

    根据发明的另一个特征,钥匙卡上的数据在钥匙卡插入和取出时都被读出,从而提高了可靠性。

    根据发明的另一个特征,钥匙卡含有对应实际数据的有效性数据,例如CRC数据。处理装置将多组实际数据与从钥匙卡读出的有效性数据进行比较,以确定实际数据。有效性数据能以编码形式存贮在钥匙卡上,将与从钥匙卡读出的错误数据偶然一致的危险性减至最小。

    图1表示一个适于本发明的卡片读出器,其外壳部分被剖开以显示完全插入的卡片,以及一个部分剖开的卡片读出器弹簧。

    图2是图1卡片读出器的部件分解图,表示了外壳、卡片读出器弹簧和电子模块。

    图3、4和5是读出器卡片插入前、部分插入和完全插入时沿着剖线1-1的侧剖视图。

    图6和7表示电子模块。

    图8表示用作为电子门锁系统部件的卡片读出器。

    图9是方块图,用图解法说明图2电子模块内的电路。

    图10是图1的钥匙卡和其上数据的示意图。

    图11(a)是图10的卡片和数据的放大示意图。图11(b)表示图8当卡片插入电子锁时的卡片读出器产生的电子波形。图11(c)表示图11(b)经图1电子模块处理后的电子波形。

    图12(a)是流程图的上部,而图12(b)是流程图的下部,该流程图包括在该电子模块内的计算机程序,用于读钥匙卡。

    图13(a)是一个中央管理系统内的可能的计算机程序的流程图,用于写入信息,包括在钥匙卡上的数据信息。图13(b)是电子锁内的相应程序,用于辨认钥匙卡上的信息。

    图1、2和8表示一个按照本发明的卡片读出器,它包括一个外壳10,它具有一个槽13,槽的大小可容纳一个卡片20,该卡片含有一个磁片,该磁片含有两个磁道19和21。安装两个伸出的杆11和12以便插到要采用卡片读出器的装置上。螺钉31穿过电子模块30上的孔35和弹簧片50上的孔51拧入外壳10内部螺丝套的螺纹孔15中,把卡片读出器弹簧片50和电子模块30固定在外壳10的内壁。用螺钉插入螺纹孔16中把卡片读出器固定在所用装置上。

    磁性读出头55借助于适当的粘结剂,例如不易氧化的或防潮的粘结剂,粘在卡片读出器弹簧片50的一个臂上。弹簧片50有一个框架或底座,两个臂60和61被固定到上面。弹簧片的底座可以有一个或多个凹槽区62和63以增加结构刚性。右臂61通常是矩形的并连在弹簧片的底座上。读出头55装在右臂61与底相连端的相反一端。支架56和57是为了增加结构的刚性。右臂61朝向卡片读出器外壳10偏斜,因此适宜于推动读出头朝向卡片20。左臂60通常做得象一个小“h”的形状,只是“h”的左下部连在弹簧片的底座上。左臂60有两个支点使其能完成两种功能。支点的大概位置由标号40和41表示。弹簧片左臂的上部有一个弯曲的结构,凸面58位于“h”顶部(详见图7)。“h”形左臂的右下部分包括另一个由标号59表示的凸出部分。微型开关100(图3)位于凸面58下面,微型开关101位于弹簧片50的左臂60的凸部59的下面。弹簧片50的左臂60也对所说卡片的插入起作用,并离开微型开关100和101,斜向卡片读出器外壳10。传感器,例如光学或霍尔效应传感器,可以被用来代替微型开关100、101,并不偏离本发明的构思。

    读出头55可是任一磁片读出器,但最好是舒凯公司(Shokai    Co.)制做的SLP-526型。读出头和电子模块用导线39连接。

    参照图3、4和5,更详细地说明卡片读出器的工作情况。在图3中,卡片20直接装在槽13的外面。微型开关100处于打开或日关闭状态,所示的弹簧片50的臂60的凸部58和读出头55倾斜地靠向外壳10。当卡片20通过槽13并进入该通道时,推开了弹簧片50的凸部58(见图4)。弹簧片50偏到左边,如图中所见,并且压下杆99,这就推动微型开关100,微型开关100起动电子模块及读出头55。图4画出微型开关100处于压下或曰“打开”位置。当卡片20上的数据被推送通过读出头55中心时,读出头55就读出了卡片20上含有的数据。在该通道末端,卡片20碰到弹簧片50的凸起部59(见图5)。这一碰,弹簧片50偏斜并压下杆98,因此推动微型开关101。图5画出微型开关101处于压下或曰“打开”状态,微型开关101向电子线路发信号:插入读出已经结束,抽出读出应该开始。

    当微型开关101被推动时,微型开关100仍旧接合,因此读出头55仍旧还被激励。微型开关101完成两项功能:第一,它向电子模块30发信号:卡片移动已经完成,于是读出头读出的信息可以被传送到逻辑电路,在该电路内与存贮在其中的信息比较,确定是否信息一致和锁是否能被打开。第二,它向电子模块发出信号:开始接收第二次读出的信息,这第二次读出发生在卡片取出时。因此,如果读出器没有正确地读出插入卡片上的信息,当取出卡片时它将有另一个机会重读该信息。按这种方式,每次卡片插入时都给该系沉酱位帷?

    参照图6和7,电子模块30包括操作读出器的电子和逻辑电路。此外,该模块还可以包括操作诸如象电子锁那样的器件的电路。电源由电池219(如图9所示)供给,如例中所示,它是3个3伏锂电池串联产生9伏电源。

    在图8中,卡片读出器作为电子锁的一部分被示出。可利用的本发明的最佳电子门锁包括外壳体200,外部手柄206,外部操作机构210,内部操作机构(未示出),插销螺栓组件207,内壳体250和内柄(未示出)。铸造盒和铸造板按惯用的方式固定在门的侧壁上。

    包括外壳10、弹簧片50和电子模块30的卡片读出器位于电子锁的外壳体200内。卡片读出器由伸长杆11和12及螺钉201固定在锁上。固定接头202的位置,使伸长杆11和12能被安置在这些接头上,并将卡片读出器保持在相对水平的位置以便维修安装。固定螺钉201的位置以便可从门的里边拆卸维修。螺丝201通过电子锁内壳体250内的孔209,通过外壳体200的后板上的孔204,固定在卡片读出器螺纹孔16中。

    对于锁装置7的更多的细节,可以参考美国专利申请第099,929号,题目为“改进的卡片读出器”(代理人Docket    3878-01号)和美国专利申请第099,940号,题目为“电子锁的拆卸盖板”(代理人Docket    3991-01号),这些专利申请作为本公开的部分资料。在此被参考引用。

    图9表示电子模块30内的电子器件。这些器件包括一个微处理器220,一个存贮锁的暗码并向微处理器220提供操作程序或微程序语言的电可擦式可编程序只读存贮器(EEPROM)222,及一个存贮一个或多个锁的暗码以及其它从钥匙卡读出的数据的随机存取存贮器(RAM)223。作为例子,微处理器220和RAM223可以由微型计算机提供。在读出从钥匙卡得到的这样的锁的暗码后,微处理器220将这个锁暗码同存贮在EEPROM222中的一个或多个锁暗码比较,如果一致,微处理器起动一个或多个驱动器224以便驱动一个或多个涉及打开锁装置7的电磁线圈226。

    电子模块30还包括一个具有一个峰值检测器227的读出电路225,该读出电路连在读出头55的输出,并将这输出转换为数字形式以便传送给微处理器220,如下所述。微处理器也连在开关100和101的输出,分别检测钥匙卡何时开始进入锁装置7的槽及何时完全插入锁装置7。对于驱动器224和相连的电磁线圈226以及它们怎样操作锁装置的更详细的说明,可以参考美国专利申请第099,937号,名称为“多功能电子锁的锁装置”(代理人Docket,3915-01),这里仅作为部分现有的公开资料被参考引用。

    图10示意地说明磁性卡片20和它的两个磁道19与21,每一个磁道包含数据区段510,CRC区段511和没有信息的两个区段512及514。每个磁道的514区段靠近钥匙卡20的前部边缘216。

    图11(a)进一步用图示方法说明钥匙卡20的磁道19和21。在512和514区段,所有磁性数据位都以同样的方向极化,正如向上指示的箭头213、213所表示的。在数据区段510和CRC区段511中,数据位都由相反极化的磁道反转表示,并由向下指示的箭头515、515说明。磁道19中向下指示的箭头表示二进制的“0”数据位,磁道21中向下指示的箭头表示二进制的“1”数据位。因此,钥匙卡20包括从数据区段510的前缘开始的数据区段位10011和随后的CRC区段位10。

    图12(a-b)是流程图,说明操作一个锁装置7的过程,其中包括存贮在EEPROM222中的计算机程序230,该程序控制微处理器220。当钥匙卡20插入时(步骤231),开关100起动(步骤232),并且通过电子模块内的电路和电池219的连接使电子模块30通电(步骤234)。开关100的起动还使微处理器220复位(步骤236)。响应中,微处理器开始监控读出电路225的输出并在卡片插入期间读出数据(步骤238)。

    每当下一个磁性数据位的极性改变时,读出头55就产生一个电压脉冲。如图11(b)所示,读出电路225提供两个输出,一个用于磁道19,另一个用于磁道21。每当一个由图11(a)中向下指示的箭头表示的反相极化磁性数据位515通过读出头时,每个输出中就包括一个电压脉冲。在读出头输出端出现数据区段510中的第一个真的电压脉冲400,它和数据磁道21上的第一个真数据位相对应,该脉冲表示二进制的1电平。下面的两个真电压脉冲401和402出现在读出头55的输出端,该输出和数据磁道19对应,并表示两个二进制的0位。卡片读出器的输出提供了萸?10中的最后两个真脉冲403和404,代表磁道21和两个二进制的1位。

    必须注意,卡片读出器区段514中表示磁道19或21的输出中,存在着比较小的数据脉冲237和239,它们自磁性读出头55下数据卡20的前导沿216抵达时开始定时,这是由以下原因造成的。在磁性卡20的前导沿216达到读出头55前,读出头不受任何磁性作用,但当该前导沿216抵达读出头下时,并且当每个磁道19和磁道21中的第一个磁性数据位在读出头下通过时,存在着从无磁性到用向下指示的箭头表示的有极化磁性的改变。这种磁性改变在读出头55输出端就产生了电压脉冲237和239。电压脉冲237和239的幅度比数据区段510中与真数据位相对应的电压脉冲400-404小,因为每一个真数据位对应着从一个方向的极化到另一个方向极化的磁性改变,而电压脉冲237和239仅对应磁性从极性为0或中性到某一方向的改变,当读出一个真数据位时,只经受二分之一的磁性改变。电压脉冲237和239及数据脉冲400-404的实际幅度也取决于卡片20被插入的速度,较大的速度产生较大的磁性变化率(可由读出头55测得),因此产生较大的最终电压脉冲幅度。由于卡片在一次插入中插入的速度可能有变化,电压脉冲237和239不能总由简单地测量它们峰到峰的电压的方法来识别。

    插入期间数据磁道19和21上读出数据的步骤238还包括了处理读出头55输出的步骤。这种处理是由包括峰值检波器227的读出电路225进行的。峰值检波器227检测电压脉冲的峰值,并在卡片读出器的输出下降到小于预定电平后复位。检测出的高于门限电平的峰触发读出电路225中的数字门从而形成如图11(c)所示的输出,以便传送给微处理器220。必须注意,图11(c)所示的例子中,电压脉冲237产生了脉冲243,脉冲243同分别和实际数据位400-404对应的脉冲410-414相类似。因此,微处理器读出数据位010011而不是10011。微处理器220按读出的顺序将这些数据位存贮在串行寄存器221中(步骤6240),它是RAM223的一部分。微处理器类似地读出两个CRC位,即分别由图11(b)中的电压脉冲405和406以及图11(c)中的脉冲415和416表示的511区段的二进制1和二进制0。CRC数据也存贮在寄存器221中。循环冗余码校验算法是本专业的已有技术,因此不需要进一步的讨论,只消说它们具有和奇偶校验位相同的功能。CRC数据对应于510区段的实际数据,从卡片读出的CRC数据和通过微处理器由实际数据计算出来的CRC值之间的一致性表示数据成功地被读出了。

    在插入期间读出数据,直到或者开关101被起动或是“N+P+4”的和被读出为止(步骤241,238,240,241等),这里“N”等于510区段的实际数据位数,“P”等于实际CRC位数。

    然后,由于下面要讨论的理由,微处理器置变量“M”等于1(步骤242)。接着,微处理器从串行寄存器221中的数据的第一个“N”位,从“M”到“N+M-1”位计算CRC的结果(步骤244)。在许多情况下,第一个“N”位实际上是数据位而不是别的,但是在11(c)所示的一些情况下,第一个“N”位包括错误位243和N-1实际数据位。然后微处理器220把计算出来的CRC与从下一个“P”位,从“M+N”到“M+N+P-1”位得到的二进制数进行比较,(步骤245),判定是否从包含在第一个N位内的假定的数据计算出的CRC等于从串行寄存器221的下一个“P”位读出的CRC二进制数(步骤245)。计算出的和读出的CRC一致,则表示该数据有效。由于在所说明的情况中,第一个“N”位不是实际数据位,不存在这样的一致(步骤246),微处理器开始增加变量“M”(步骤251)。作为例子,这个增加的步骤可以由变量“M”简单地加1完成。在这情况下,微处理器确定,是否该变量小于5(步骤252),由于变量“M”一般等于2,微处理器返回到步骤244来计算自位“M”到“N+M-1”的CRC值,现在相当自第2位到N+1位。然后,微处理器将由步骤244计算出来的CRC值与由下一个“P”位,从“N+M”到“N+M+P-1”,读出的CRC值进行比较。必须注意,在步骤244中,不再认为错误位243是数据位的一部分,包括在CRC运算中的数据位事实上只能是510数据区段内的所有数据位,而非其他,并且从下一个“P”位读出的CRC值事实上只能相当于包含在CRC511区段内的CRC位而非其它。因此,如果在读出的数据中不存在其它的错误,则步骤245中比较的结果即正确地表示了有效数据。这样一些错误可能来源于不正确地将卡片推进卡片读出器,以致于在完成插入之前,操作者将钥匙卡拉回致使一个或多个数据位读了两次。

    下面,微处理器开始处理贮存在寄存器221中的M到M+N-1位的数据(步骤248)。如果钥匙卡是标准的存取卡,并且包含在数据区段510中的数据与存贮在EEPROM222中的锁的暗码相符,则微处理器起动驱动器224,驱动器224驱动电磁线圈226打开锁。另一方面,如果该数据与锁暗码不符,微处理器220将不打开锁。步骤248之后,微处理器220可能停止给电子模块30供电(步骤249)以节者电能;然而,在许多应用中可能期望等到钥匙卡从锁中取出为止,然后再驱动电磁线圈并使电子模块30断电,这样就能保证使用者能移开他或她的卡片而不会因疏忽将卡片留在锁装置7中。

    还必须注意,如果有多于一个的错误数据位先于实际数据读入串行寄存器221,微处理器将重复处理由步骤244,245,246,251和252构成的附加的循环,直到错误数据位被当作实际数据处理的这组数据位移出为止。例如,上述循环允许反复四次以确定实际数据。

    如果有四次错误的和步骤244,245,246,251和252的重复相对应的读操作,微处理器清寄存器221(步骤254),然后等待钥匙卡从锁装置7中取出时从钥匙卡20读数据。这样的取出通常发生在上述的四次重复之后,在这样的取出期间同样的数据区段510和CRC区段511从钥匙卡被读出(步骤255),但顺序相反,并且该数据被存贮在寄存器221中(步骤256)。在开关100打开以表示卡片20已被移开或是N+P+4位已被读出(步骤257)后,微处理器置变量M等于1(步骤259),并开始对在卡片取出期间读出的数据的分析过程。微处理器最初把取出期间读出的新的M到M+P-1位看作是相反顺序的CRC位,并把取出后读出的M+P到M+N+P-1位看作是相反顺序的数据位。换句话说,在寄存器221内的位M(最初M=1)作为最后的CRC位用,位M+P-1作为第一个CRC位用,位M+P作为最后的假定数据位用,而寄存器221内的位M+P+N-1作为第一个假定数据位,等等。然后,微处理器以相反顺序计算M+P到M+P+N-1的CRC(步骤260)。接着,微处理器把步骤260计算出来的CRC值与从位“M”到“M+P-1”按相反顺序读出的CRC值进行比较(步骤261)。如果比较是成功的(步骤262),微处理器开始步骤263,按上述步骤248的方式处理数据位M+P到M+N+P-1,但是如果比较是不成功的,则开始增加参量“M”(步骤264)。如果“M”小于5(步骤266),微处理器重复步骤260,261,262和263或264,以便确定实际数据和实际的CRC并消除错误数据位。如果在确定和读出实际数据及实际CRC时有四次不成功的尝试,则微处理器不能打开锁并关闭电源(步骤249)。

    必须注意,即使图10和11说明了数据区段510只包括5个数据位,且CRC区段511只包括两个数据位,但这只是为了简化说明,通常数据区段510可能包括很多位,例如100到200位,CRC区段可包括几位,例如6到32位。

    图13(a)是一个流程图,说明对卡片20的磁道19或21的每一个CRC区段511内的CRC值进行编码的一个过程。然而,必须清楚地知道,各种这样的编码过程都可以被使用,也可以应用无编码过程。对于不经编码的过程,实际的CRC值被简单地写入CRC区段511,并作如上的分析。根据图13(a)的过程,首先,包括一个随机数发生器的管理系统(没有画出)对钥匙卡20的510区段产生适当的锁暗码数据(步骤299)。然后也包括在系统内的计算机将CRC数作为与磁道19和21的数据区段510中的数据对应的一组数据位来计算CRC数(步骤300)。然后计算机把这组计算出来的CRC位分成两半(步骤302),将数据位的前一半作为CRC值的后一半,而把计算出来的CRC数据位的后一半作为CRC值的前一半(步骤304)。例如,如果在步骤300中计算出来的CRC值是01,在步骤302和304后,最后的CRC值将是10。然后,操作者将空白钥匙卡插入管理系统内的写入设备,该管理系统能向钥匙卡写入数据。计算机指示写入设备在CRC区段511内写入最后的CRC数据组,并在磁道19和21的数据区段510内写入该数据(步骤306)。

    图13(b)是一个流程图,说明完成图12算法230的步骤245和261的过程,该过程对应关于用如图13(a)所示的CRC值给钥匙卡20编码的过程。首先,微处理器假定,CRC位是关于步骤245的位“M+N”到“M+N+P-1”,或反之,关于步骤261的位“M”到“M+P-1”(步骤310)。然后,微处理器将CRC位分成两半(步骤311),并将两半颠倒过来(步骤312),以使在上述例中,最后的CRC位等于步骤245的头一位“M+N+P/2”和最后一位“M+N-1+P/2”,或是步骤261的头一位“P/2”和最后一位“1+P/2”。然后,微处理器把经步骤311和312后得到的CRC值与在步骤244或步骤260从数据区段510计算出来的CRC值进行比较(步骤318)。这样就完成了实现步骤245或261的一个过程的实施方案,因此微处理器就开始步骤246或262,分别在图12中进行说明。

    将写在钥匙卡20上的并且由数据区段510计算出来的CRC值分成两半并且交换这两半的目的,是保证只有包括有效锁暗码的一个钥匙卡才能操作该锁。如果错误数据位被读进了微处理器,则微处理器从一开始就把一个错误的二进制数认为是有效数据(连续重复步骤244,245,246,251和252或步骤260,261,262,264和266之前)。然而,微处理器还假定从CRC字段511读出的CRC值取了一个不正确的二进制数,这是因为所取的CRC值是由于错误数据位的缘故移动了一位。因此,如果没有预防措施,假定的数据还是有可能与假定的CRC值一致,尽管这种相等的概率是很小的。如果这种情况发生,那么微处理器将认为,读出的数据位尽管包括一个错误的数据位也是有效的,并且这个错误的数据位组可能意外地同存贮在EEPROM222中的一个锁暗码相符而使锁打开。错误数据同错误CRC的偶然一致在很大程度上取决于所用校验数据的CRC过程。但是必须注意,如果错误数据组只是一位不正确,错误CRC字段的大多数位应该同实际的CRC组一致。因此,通过将实际的CRC组分成两半并交换两半,并且因此大大改变了CRC的值,从仅由一个数据位改变的数据流所计算出的CRC值极少有可能同分成两半又按顺序交换了两半后从该卡片读出的不正确的CRC值相符。因此,图13的过程改善了电子锁7的安全性。

    由上述,体现本发明的电子锁装置被公开。然而,还可能进行许多改进和替换仍不超出本发明的范围。为此,本发明以图解方式公开,但不受此限制,应参照确定本发明范围的下述权利要求书。

改进的代码读出器.pdf_第1页
第1页 / 共30页
改进的代码读出器.pdf_第2页
第2页 / 共30页
改进的代码读出器.pdf_第3页
第3页 / 共30页
点击查看更多>>
资源描述

《改进的代码读出器.pdf》由会员分享,可在线阅读,更多相关《改进的代码读出器.pdf(30页珍藏版)》请在专利查询网上搜索。

一种可靠的电子锁,包括钥匙卡插入和取出时的读卡装置。从钥匙卡读出的数据组与从钥匙卡读出的CRC数据进行比较以确定哪一组数据包括实际数据而没有由电子锁不正确读出的错误数据。CRC数据以编码形式存贮在卡上,将与一组包括实际数据和错误数据发生一致符合的可能性减至最小。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1