《一种实现对卡片进行多频道数据采集方法.pdf》由会员分享,可在线阅读,更多相关《一种实现对卡片进行多频道数据采集方法.pdf(10页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103632115 A (43)申请公布日 2014.03.12 CN 103632115 A (21)申请号 201310536027.8 (22)申请日 2013.11.01 G06K 7/00(2006.01) (71)申请人 福建鑫诺通讯技术有限公司 地址 350000 福建省福州市鼓楼区软件大道 89 号 (72)发明人 童长威 谢儒勇 (74)专利代理机构 福州市鼓楼区京华专利事务 所 ( 普通合伙 ) 35212 代理人 宋连梅 (54) 发明名称 一种实现对卡片进行多频道数据采集方法 (57) 摘要 本发明提供一种实现对卡片进行多频道数 据采集方法, 。
2、所述方法需提供一多串口 CPU、 至少 2 个设置有不同频道的射频读卡芯片以及信息处 理单元 ; 该方法具体为 : 各个卡片按一第一预设 时间间隔发送一帧带卡号的信息包, 且发送信息 包的频率为所述 2 种不同频道的频率中的任意一 种 ; 各个不同频道的射频读卡芯片分别接收对应 频率的卡片发送的信息包, 并将信息包进行拆解 ; 多串口 CPU 从 2 个射频读卡芯片中获取信息包中 的信息, 并在第二预设时间间隔对不同频道读到 的多个卡片的信息进行过滤 ; 信息处理单元将过 滤后的卡号对应的信息通过串口进行接收。本发 明解决出现漏读卡的现象, 提高了读卡速度和读 卡容量, 可以避免高峰期考勤人流。
3、量过大导致考 勤数据丢失的情况。 (51)Int.Cl. 权利要求书 2 页 说明书 5 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书5页 附图2页 (10)申请公布号 CN 103632115 A CN 103632115 A 1/2 页 2 1. 一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所述方法需提供一多串口 CPU、 至少 2 个设置有不同频道的射频读卡芯片以及信息处理单元 ; 所述多串口 CPU 设置有 至少3个串口, 所述2个不同频道的射频读卡芯片分别对应与多串口CPU的一串口连接 ; 所 述信息处理单元与所述多。
4、串口 CPU 的一串口连接 ; 所述方法具体为 : 将 2 个不同频道的射 频读卡芯片设置为接收模式, 将卡片设置为发送模式 ; 所述各个卡片按一第一预设时间间 隔发送一帧带卡号的信息包, 且发送信息包的频率为所述 2 种不同频道的频率中的任意一 种 ; 各个不同频道的射频读卡芯片分别接收对应频率的卡片发送的信息包, 并将信息包进 行拆解 ; 所述多串口CPU从2个射频读卡芯片中获取信息包中的信息, 并在第二预设时间间 隔对不同频道读到的多个卡片的信息进行过滤, 即过滤重复的卡号对应的信息 ; 信息处理 单元将过滤后的卡号对应的信息通过串口进行接收, 从而完成数据采集。 2. 根据权利要求 1。
5、 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所 述卡片为有源卡片, 该有源卡片采用 nrf241e1 芯片, 有源卡片采用电池进行供电。 3. 根据权利要求 1 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所 述信息包包括 : 前置域、 地址域、 载荷或校验。 4. 根据权利要求 3 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所 述信息包为自动装配形成, 在信息包中的地址域、 载荷、 校验被用户配置好后, 卡片会对该 些信息进行自动封装, 则一帧的信息包随之也固定下来。 5. 根据权利要求 3 所述的一种实现对卡片进行多频道数据采集方法。
6、, 其特征在于 : 所述前置域 : 是一个用于同步的位序列, 同步采用一个字节, 内容为二进制 01010101 或 10101010 ; 若地址位的第一位是 1, 则前置域自动设为 10101010, 若地址位的第一位是 0, 前 置域自动设为 01010101 ; 所述地址域 : 该地址域的作用是确保信息包被相应的接收设备所 正确收到, 地址域的地址能通过寄存器配置为35字节 ; 所述载荷 : 是4字节的卡号 ; 所述 校验 : 利用卡片自带的循环冗余校验 CRC 来校验一帧信息包是否在传输过程中产生错误。 6. 根据权利要求 1 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 。
7、: 所 述第一预设时间间隔为 0.5 0.755 秒 ; 第二预设时间间隔为 1 秒 ; 则所述各个卡片按 0.5 0.755 秒中随机一时间间隔发送一帧带卡号的信息包。 7. 根据权利要求 1 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所 述多串口 CPU 采用 LH79525 芯片 ; 则多串口 CPU 有 3 个串口, 所述方法包含有 2 个不同频道 的射频读卡芯片, 通过该 2 个不同频道的射频读卡芯片完成数据的采集。 8. 根据权利要求 7 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所 述 2 个频道分别为 2400MHz、 2420MHz ;。
8、 则各个卡片的信息包对应的以 2400MHz、 2420MHz 二 种频率中的任意一种随机发送。 9. 根据权利要求 1 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所 述多串口 CPU 采用 S3C2416 芯片 ; 则多串口 CPU 有 4 个串口, 所述方法包含有 3 个不同频道 的射频读卡芯片, 通过该 3 个不同频道的射频读卡芯片完成数据的采集。 10. 根据权利要求 9 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所 述 3 个频道分别为 2400MHz、 2420MHz 和 2440MHz ; 则各个卡片的信息包对应的以 2400MHz、 24。
9、20MHz、 2440MHz 三种频率中的任意一种随机发送。 11. 根据权利要求 1 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所 权 利 要 求 书 CN 103632115 A 2 2/2 页 3 述多串口 CPU 采用 STM32F103VC 芯片 ; 则多串口 CPU 有 5 个串口, 所述方法包含有 4 个不同 频道的射频读卡芯片, 通过该 4 个不同频道的射频读卡芯片完成数据的采集。 12. 根据权利要求 11 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所述 4 个频道分别为 2400MHz、 2420MHz、 2440MHz 和 2460。
10、MHz ; 则各个卡片的信息包对应的 以 2400MHz、 2420MHz、 2440MHz、 2460MHz 四种频率中的任意一种随机发送。 13. 根据权利要求 1 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所 述信息处理单元为信息处理平台或者上位机。 14. 根据权利要求 1 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所 述射频读卡芯片为 nrf241e1 芯片。 15. 根据权利要求 1 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 对 不同频道读到的多个卡片的信息进行过滤, 具体为 : 所述 CPU 内部设置有一时钟, 该时钟记。
11、 录 CPU 每一条通过串口读到的卡片卡号的时间, 4 字节卡号和 4 字节读卡时间构成一张卡 片的内容 ; 建立两张表, 表一和表二均设置有同样的索引、 卡号和读卡时间三个字段, 且两 张表均包含有模为01023的子表, 子表可存放若干个不同的卡片内容 ; 初始化两张表, 即 两张表都为空 ; 当接收到一张卡片内容后, 将卡片卡号对 1024 取模, 取模完后, 根据模值落 在表一的模为 0 1023 的子表中, 以卡号为关键字, 在表一对应模值的子表中查找是否有 相同卡号, 有, 则用读到的卡片内容的读卡时间更新表一内相同卡号卡片内容的读卡时间, 无, 则在表一的子表内添加这张卡片的内容,。
12、 即卡号和读卡时间 ; 所述索引字段表示这个存 储位置有无卡号, 索引为空表示没有卡号 ; 当 CPU 需要通过串口上传数据到信息处理单元 的时候, 将表一里面的卡片内容传送给信息处理平台或者上位机, 这样信息处理平台或者 上位机就能获得每一张卡片的最新读卡时间 ; 从而过滤重复的卡号对应的信息 ; 在表一进 行传送各卡片内容时, 表二则进行表一方式的存储过程存储卡片内容 ; 在表一信息传送完 毕后, CPU 再次需要通过串口上传数据到信息处理单元的时候, 将表二里面的卡片内容传送 给信息处理平台或者上位机, 初始化表一, 表一则进行存储卡片内容 ; 这样表一和表二依次 进行交替操作。 16.。
13、 根据权利要求 1 所述的一种实现对卡片进行多频道数据采集方法, 其特征在于 : 所述卡片工作方式为 : 卡片通过休眠方式以实现省电, 通过定时器唤醒以实现发射信息包 ; 每次定时器唤醒卡片后, 确定发射频道, 生成一个字节0-255的随机数N, 随机数N在卡片进 入休眠状态时仍然能被芯片保存 ; 卡片被定时器唤醒后确定本次发射频率 : 4 个不同频道, 则发射频率为 2400+N%4*20MHz ; 3 个不同频道, 则发射频率为 2400+N%3*20MHz ; 2 个不同频 道, 则发射频率为 2400+N%2*20MHz ; 随机数 N 用于确定下一次间隔的唤醒时间, 下一次的定 时器。
14、唤醒时间为 0.5+N/1000 秒, 即 0.5 0.755 秒, 这样卡片每次的间隔发射时间和频道 都是随机的。 权 利 要 求 书 CN 103632115 A 3 1/5 页 4 一种实现对卡片进行多频道数据采集方法 技术领域 0001 本发明涉及通讯设备技术领域, 尤其涉及一种实现对卡片进行多频道数据采集方 法。 背景技术 0002 在学生、 企事业单位人员考勤等应用中, 需要用到数据采集系统 (读卡器) 。传统的 数据采集系统可以采用近距离非接卡片或者远距离卡片考勤, 采用近距离考勤, 需要每一 张卡片对着读卡器刷一次卡, 速度缓慢。 采用远距离考勤速度较快, 有源卡片间隔一段时间。
15、 发送卡号, 只要卡片经过读卡器读卡区域就能被读卡器读到, 目前远距离考勤常采用 433M 或者 2.4G 频段, 通过有源的电子卡片将卡号通过射频传送给读卡器。传统远距离读卡器一 般都采用一个专门的射频读卡芯片读卡 (如 nrf24le1 芯片、 CC430 芯片等) 加上一个 CPU 作 数据处理。 0003 现有近似实现方案 : 0004 方案 (1) : 传统读卡器基本都是采用一个固定频道读卡, 即当有源卡片的发送频率 和读卡器的接收频率相等时, 有源卡片间隔一段时间发送带卡号的信息包, 与有源卡片工 作在相同频率的读卡器能够接收到信息包, 通过芯片内部的信息包处理协议, 将卡号提取 。
16、出来, 送到数据采集 CPU 处理。 0005 方案 (2) : 采用跳频抗读卡冲突, 卡片和读卡器都具有跳跃当前频道的功能, 读卡 器在 n 个频道中依次循环跳频读卡。当读卡器检测到当前频道存在读卡冲突时告知卡片当 前频道存在读卡冲突, 让卡片随机切换成其他频道, 当读卡器循环到与卡片频道相同时, 卡 片信息被读取。这种方法能够解决部分卡片冲突的问题。在本质上, 这个读卡系统在同一 时刻还是只有一个读卡芯片在工作。 0006 上述方案 (1) 和方案 (2) 的缺点是读卡容量比较受限制。有源卡片每发送一帧信 息包需要一定的时间, 假设为 2 毫秒, 则一秒钟内, 在完全不冲突的情况下 (如图。
17、 1 所示) , 读 卡器在不丢卡情况下能读卡的容量最大为 500, 即存在 500 个时隙可供卡片发送信息包, 图 1 中的、 、 为分别对应的一个卡片。实际上由于冲突、 射频空中传输干扰等原因, 实际 读卡容量没有 500, 例如实际只有 300(如图 2 所示, 冲突的情况下) 。如果应用在学生考勤 领域, 在上下学的高峰期, 大批学生以较快的速度通过校门, 可能会出现漏读卡的情况。 0007 其实, 上述方案 (2) 这种方案的读卡容量其实并不比方案 (1) 的高, 只是方案 (1) 如果有冲突时, 卡片和读卡器都不知道有冲突, 卡片继续发送自己的信息给读卡器。 而方案 (2) 存在冲。
18、突时能够检测到这种冲突, 并且切换频道, 但是切换后的频道也是有可能存在冲 突的, 并且冲突存在时读卡器发送冲突信息给卡片也是射频开销。如果方案 (1) 的卡片发 送时间是随机的 (比如间隔 0.5 秒加一个随机 0 0.25 秒的随机时间) , 则实际效果应该和 方案 (2) 差不多。因为不管处理方式如何, 在 1 秒内, 方案 (1) 和方案 (2) 最多都只有 500 个时隙可供读卡器和卡片收发卡片发出的信息包, 方案 (2) 由于读卡器除了接收, 还要在检 测到卡片冲突时切换为发送模式以告知卡片存在读卡冲突, 当切换为发送模式时是不能接 说 明 书 CN 103632115 A 4 2。
19、/5 页 5 收有源卡片发送的信息的, 这里也占用了部分时隙。 发明内容 0008 本发明要解决的技术问题, 在于提供一种实现对卡片进行多频道数据采集方法, 解决了出现漏读卡的现象, 提高了读卡速度和读卡容量, 可以避免高峰期考勤人流量过大 导致考勤数据丢失的情况。 0009 本发明是这样实现的 : 一种实现对卡片进行多频道数据采集方法, 所述方法需提 供一多串口 CPU、 至少 2 个设置有不同频道的射频读卡芯片以及信息处理单元 ; 所述多串口 CPU 设置有至少 3 个串口, 所述 2 个不同频道的射频读卡芯片分别对应与多串口 CPU 的一 串口连接 ; 所述信息处理单元与所述多串口 CP。
20、U 的一串口连接 ; 所述方法具体为 : 将 2 个不 同频道的射频读卡芯片设置为接收模式, 将卡片设置为发送模式 ; 所述各个卡片按一第一 预设时间间隔发送一帧带卡号的信息包, 且发送信息包的频率为所述 2 种不同频道的频率 中的任意一种 ; 各个不同频道的射频读卡芯片分别接收对应频率的卡片发送的信息包, 并 将信息包进行拆解 ; 所述多串口 CPU 从 2 个射频读卡芯片中获取信息包中的信息, 并在第 二预设时间间隔对不同频道读到的多个卡片的信息进行过滤, 即过滤重复的卡号对应的信 息 ; 信息处理单元将过滤后的卡号对应的信息通过串口进行接收, 从而完成数据采集。 0010 本发明具有如下。
21、优点 : 本发明采用至少 2 个 NRF24LE1 芯片作为接收频道, 采用具 有至少 3 个串口的 CPU, 2 个 NRF24LE1 芯片与核心 CPU 之间通过串口通讯, 核心 CPU 过滤完 重复的卡号后, 通过第 3 个串口, 将考勤数据传送给信息处理平台或者上位机软件。本发明 解决了出现漏读卡的现象, 提高了读卡速度和读卡容量, 可以避免高峰期考勤人流量过大 导致考勤数据丢失的情况。 附图说明 0011 图 1 为现有技术中读卡器读卡不存在冲突的情况的示意图。 0012 图 2 为现有技术中读卡器读卡存在冲突的情况的示意图。 0013 图 3 为实现本发明方法实施例一的原理框架图。。
22、 0014 图 4 为实现本发明方法实施例二的原理框架图。 0015 图 5 为实现本发明方法实施例三的原理框架图。 具体实施方式 0016 本发明为一种实现对卡片进行多频道数据采集方法, 所述方法需提供一多串口 CPU、 至少 2 个设置有不同频道的射频读卡芯片以及信息处理单元 ; 所述信息处理单元为信 息处理平台或者上位机 ; 所述多串口CPU设置有至少3个串口, 所述2个不同频道的射频读 卡芯片分别对应与多串口 CPU 的一串口连接 ; 所述信息处理单元与所述多串口 CPU 的一串 口连接 ; 所述方法具体为 : 将 2 个不同频道的射频读卡芯片设置为接收模式, 将卡片设置为 发送模式 。
23、; 所述各个卡片按一第一预设时间间隔发送一帧带卡号的信息包, 且发送信息包 的频率为所述 2 种不同频道的频率中的任意一种 ; 各个不同频道的射频读卡芯片分别接收 对应频率的卡片发送的信息包, 并将信息包进行拆解 ; 所述多串口CPU从2个射频读卡芯片 中获取信息包中的信息, 并在第二预设时间间隔对不同频道读到的多个卡片的信息进行过 说 明 书 CN 103632115 A 5 3/5 页 6 滤, 即过滤重复的卡号对应的信息 ; 信息处理单元将过滤后的卡号对应的信息通过串口进 行接收, 从而完成数据采集 ; 所述第一预设时间间隔随机为 0.5 0.755 秒 ; 第二预设时间 间隔为 1 秒。
24、 ; 则所述各个卡片按 0.5 0.755 秒中随机一时间间隔发送一帧带卡号的信息 包 ; 所述射频读卡芯片为 nrf241e1 芯片 ; 其中, 本发明的采集方法中还设置有外围电路 (未 图示) , 该外围电路与 CPU 连接。所述 CPU 串口的个数大于射频读卡芯片的个数。 0017 请参阅图3所示, 为实现本发明方法实施例一的原理框架图 : 所述多串口CPU采用 LH79525芯片 ; 则多串口CPU有3个串口, 所述方法包含有2个不同频道的射频读卡芯片, 通 过该 2 个不同频道的射频读卡芯片完成数据的采集。其中, 所述 2 个频道分别为 2400MHz、 2420MHz ; 则各个卡。
25、片的信息包对应的以 2400MHz、 2420MHz 两种频率中的任意一种随机发 送。 0018 请参阅图4所示, 为实现本发明方法实施例二的原理框架图 : 所述多串口CPU采用 S3C2416芯片 ; 则多串口CPU有4个串口, 所述方法包含有3个不同频道的射频读卡芯片, 通 过该 3 个不同频道的射频读卡芯片完成数据的采集。其中, 所述 3 个频道分别为 2400MHz、 2420MHz和2440MHz ; 则各个卡片的信息包对应的以2400MHz、 2420MHz、 2440MHz三种频率中 的任意一种随机发送。 0019 请参阅图 5 所示, 为实现本发明方法实施例三的原理框架图 : 。
26、所述多串口 CPU 采 用 STM32F103VC 芯片 ; 则多串口 CPU 有 5 个串口, 所述方法包含有 4 个不同频道的射频读 卡芯片, 通过该 4 个不同频道的射频读卡芯片完成数据的采集。其中, 所述 4 个频道分别为 2400MHz、 2420MHz、 2440MHz 和 2460MHz ; 则各个卡片的信息包对应的以 2400MHz、 2420MHz、 2440MHz、 2460MHz 四种频率中的任意一种随机发送。 0020 在本发明中, 所述卡片为有源卡片, 该有源卡片采用 nrf241e1 芯片, 有源卡片采 用电池进行供电。 0021 所述信息包包括 : 前置域、 地址。
27、域、 载荷或校验。 所述信息包为自动装配形成, 在信 息包中的地址域、 载荷、 校验被用户配置好后, 卡片会对该些信息进行自动封装, 则一帧的 信息包随之也固定下来。 其中, 所述前置域 : 由nrf241e1芯片确定, 是一个用于同步的位序 列, 同步采用一个字节, 内容为二进制 01010101 或 10101010 ; 若地址位的第一位是 1, 则前 置域自动设为 10101010, 若地址位的第一位是 0, 前置域自动设为 01010101 ; 这是为了确保 有足够的过渡时间来稳定接收处理。所述地址域 : 该地址域的作用是确保信息包被相应的 接收设备所正确收到, 地址域的地址能通过寄存。
28、器配置为 3 5 字节 ; 所述载荷 : 是 4 字节 的卡号 ; 所述校验 : 利用卡片自带的循环冗余校验 CRC 来校验一帧信息包是否在传输过程 中产生错误 ; 该校验是由包括地址域的地址、 载荷运输得到的 1 或 2 字节的校验和。 0022 在本发明中, 源卡片的频率是随机发送的 : 源卡片 nrf24le1 芯片自带有校准算法 的随机数发生器, 能产生 1 个字节的随机数, 校正算法能够确保统计学的均匀分布。每次发 送前, 产生一个随机数, 随机数对 4 取模, 结果为 0,1,2,3, 分别对应 4 个发送频率 2400MHz、 2420MHz、 2440MHz、 2460MHz。。
29、如果采用 3 个频道, 随机数对 3 取模, 结果为 0,1,2 对应 3 个 发送频率2400MHz、 2420MHz、 2440MHz, 如果采用2个频道, 随机数对2取模, 结果为0,1对应 2 个发送频率 2400MHz、 2420MHz。 0023 4 个读卡频道由 4 个芯片 nrf24le1 构成, 其中, 4 个芯片分别固定于 4 个频道, 如 2400MHz、 2420MHz、 2440MHz、 2460MHz, 有源卡片只有以这样的频率发送的信息包才有可能 说 明 书 CN 103632115 A 6 4/5 页 7 被对应的读卡频道接收。例如频道 1 对应频率 2400M。
30、Hz, 频道 2 对应频率 2420MHz, 频道 3 对应频率 2440MHz, 频道 4 对应频率 2460MHz, 对应的频道只能接收到跟它的接收频率相等 的信息包。或者 3 个读卡频道由 3 个芯片 nrf24le1 构成, 其中, 3 个芯片分别固定于 3 个频 道, 如 2400MHz、 2420MHz、 2440MHz, 有源卡片只有以这样的频率发送的信息包才有可能被对 应的读卡频道接收。例如频道 1 对应频率 2400MHz, 频道 2 对应频率 2420MHz, 频道 3 对应 频率2440MHz, 对应的频道只能接收到跟它的接收频率相等的信息包。 或者2个读卡频道由 2 个。
31、芯片 nrf24le1 构成, 其中, 2 个芯片分别固定于 2 个频道, 如 2400MHz、 2420MHz, 有源卡 片只有以这样的频率发送的信息包才有可能被对应的读卡频道接收。例如频道 1 对应频率 2400MHz, 频道 2 对应频率 2420MHz, 对应的频道只能接收到跟它的接收频率相等的信息包。 0024 信息包进行拆解 : 包的自动拆解与包的自动装配过程正好相反, 接收端的接收地 址和校验算法要和发送端一致, 这样, 接收端将接收到的信息包拆解, 提取有用的载荷 (即 用户数据, 4 字节卡号) 。 0025 在本发明中, 对不同频道读到的多个卡片的信息进行过滤, 具体为 :。
32、 所述 CPU 内 部设置有一时钟, 该时钟记录 CPU 每一条通过串口读到的卡片卡号的时间, 4 字节卡号和 4 字节读卡时间构成一张卡片的内容 ; 建立两张表, 表一和表二均设置有同样的索引、 卡号 和读卡时间三个字段, 且两张表均包含有模为 0 1023 的子表, 子表可存有有若干个不同 的卡片内容 ; 将两个表进行分时使用, 当一个表用于传输的时候, 另外一个用于存储卡片 内容 ; 初始化两张表, 即两张表都为空 ; 当接收到一张卡片内容后, 将卡片卡号对 1024 取 模, 取模完后, 根据模值落在表一的模为 0 1023 的子表中对应的值 (例如 : 如果卡号为 0xABCDE40。
33、1 则对 1024 取模后模值为 1, 则落在表一的模值为 1 的子表中) , 并以卡号为关 键字, 在表一对应模值的子表中 (模为 1 的子表中) 查找是否有相同卡号, 有, 则用读到的卡 片内容的读卡时间更新表一内相同卡号卡片内容的读卡时间, 无, 则在表一的子表内添加 这张卡片的内容, 即卡号和读卡时间 ; 所述索引字段表示这个存储位置有无卡号, 索引为空 表示没有卡号 ; 当 CPU 需要通过串口上传数据到信息处理单元的时候, 将表一里面的卡片 内容传送给信息处理平台或者上位机, 这样信息处理平台或者上位机就能获得每一张卡片 的最新读卡时间 ; 从而过滤重复的卡号对应的信息 ; 在表一。
34、进行传送各卡片内容时, 表二 则进行表一方式的存储过程存储卡片内容 ; 在表一信息传送完毕后, CPU 再次需要通过串 口上传数据到信息处理单元的时候, 将表二里面的卡片内容传送给信息处理平台或者上位 机, 初始化表一, 表一则进行存储卡片内容 ; 这样表一和表二依次进行交替操作。采用这种 过滤的方式好处是 : 避免大量卡号遍历寻找相同的卡号, 卡号对 1024 取模以后, 相同的卡 号必然落在同一子表里面, 在子表里面遍历寻找相同卡号, 速度就快了很多。(即使有10000 张卡片, 如果卡号随机, 理论上落在同一个表的子表里面的卡片也只有 10 张左右, 在这 10 张里面去找相同的卡号就快。
35、多了) 。 0026 其中, 所述卡片工作方式为 : 卡片通过休眠方式以实现省电, 通过定时器唤醒以 实现发射信息包 ; 每次定时器唤醒卡片后, 确定发射频道, 生成一个字节 0-255 的随机 数 N, 随机数 N 在卡片进入休眠状态时仍然能被芯片保存 ; 卡片被定时器唤醒后确定本次 发射频率 : 4 个不同频道, 则发射频率为 2400+N%4*20MHz ; 3 个不同频道, 则发射频率为 2400+N%3*20MHz ; 2 个不同频道, 则发射频率为 2400+N%2*20MHz ; 然后去更新生成新的随机 数 N, 随机数 N 用于确定下一次间隔的唤醒时间, 下一次的定时器唤醒时间。
36、为 0.5+N/1000 说 明 书 CN 103632115 A 7 5/5 页 8 秒, 即 0.5 0.755 秒, 这样卡片每次的间隔发射时间和频道都是随机的 ; 因为相当于用了 两个随机数。因此, 卡片实现了随机时间随机频道发送的方式。 0027 这里值得一提的是 : 本发明的射频读卡芯片 nrf24le1 芯片带有串口, 可以将有用 的载荷 (即用户数据, 4 字节卡号) 通过多串口 CPU 的串口传送给多串口 CPU 处理。多串口 CPU 与 4 个 (或 3、 或 2 个) 射频读卡芯串口通讯协议 : 因为读卡数据量可能很大, 为了不增 加串口传送过程中由于串口协议复杂而增加过。
37、多的消耗, 可采用简单的串口协议, 例如一 个字节帧头如 0xAA, 一个字节数据长度帧尾如 0xBB, 卡号为 0x12345678, 则一张卡号数据 为 0xAA0x120x340x560x780xBB(大端模式) 。 0028 总之, 虽然本发明的射频读卡芯片在读卡时存在冲突, 但是该冲突并不影响本发 明的方法, 因为读卡器的 4 个 (或 3、 或 2 个) 频段一直处于接收模式, 卡片则以随机频道随 机间隔随机时间发送信息包, 当此次发射存在冲突时, 下一次发射又是随机的, 再次冲突的 可能性就降低了。多串口 CPU 从 4 个 (或 3、 或 2 个) 读卡频道收到卡号后经过过滤,。
38、 将 1 秒 内从不同频道读到的多个卡号进行过滤只剩一个。采用 4 个 (或 3、 或 2 个) 频道同时读卡, 减小了冲突情况, 这样读卡容量是原来的 4(或 3、 或 2) 倍, 大大提高了读卡速度和读卡容 量, 可以避免高峰期考勤人流量过大导致考勤数据丢失的情况。 0029 以上所述仅为本发明的较佳实施例, 凡依本发明申请专利范围所做的均等变化与 修饰, 皆应属本发明的涵盖范围。 说 明 书 CN 103632115 A 8 1/2 页 9 图 1 图 2 图 3 说 明 书 附 图 CN 103632115 A 9 2/2 页 10 图 4 图 5 说 明 书 附 图 CN 103632115 A 10 。