关于非接触式IC智能(射频)卡及其读写设备内核技术的研究与应用开发(连载3)
文章出处:http://www.singbon.com 作者:张敏 人气: 发表时间:2011年11月01日
(二). MCM500模块说明
A.. 特性:
1. 工作频率:13.56MHZ
2. 标准的+12V电源供电,
3. 工作频率:13.56MHZ
4. 读写卡片距离可达100MM以上
5. 与卡片的通信速率可达106KBps
6. 模块与卡片通信时,数据加密
7. 每个扇区设有3套密码及其认证和密码存储器
8. 有防卡片重叠功能
9. 16个字节的FIFO(先进先出)队列接收/发送缓冲寄存器
10. 在模块与卡片通信时自动侦查错误,自动对数据流分析
11. 对RF(射频)通道自动监控
12. 内建8位/16位的CRC协处理器,提供CRC,PARITY等数据校验
13. 支持多种方式的活动天线,并且不需“天调系统”(天线调节系统)对天线进行补偿调节
14. 标准的MIFARE并行接口与MCM200 100%全兼容
15. MCM200 的软件与MCM500模块 100%全兼容
16. 可遥控,级联MCM500模块
17. 工作温度范围在:-20 ~ +70度
B.MCM500模块引脚说明
如图所示是该模块的引脚排列示意图:
如图所示是该模块的引脚排列示意图:
上述表中:I --------------- 输入引脚 O --------------- 输出引脚
SUPPLY -------电源供电输入 I/O ---------------输入/输出双向引脚
PU ---------------Internal Pull-up 内部有上拉电阻
NC -------------- 该引脚暂时未使用
上述MCM500引脚功能说明表中,与MCM200引脚定义相一致的,同样适用与对MCM200的引脚说明。
C.其他说明
MCM500是Philips 公司的产品,另外还有其他公司与之相兼容的产品。
UniVision Engineering Limited (联视工程有限公司)持有Mifare 制造专利,其生产的相当与MCM200的产品命名为SB601。
SB601与MCM500模块在硬件上有一处不同,表现在软件上有一个MODE方式寄存器的设置不同。SB601 的MODE 设置为0xD6H;MCM500 的设置为0xC6H(这在以后的章节中还会论述)。除此以外,两者软/硬件100%全兼容。这一点与上述的MCM200模块/SB201模块相一致。
法国的GEMPLUS公司向PHILIPS公司购买MCM中核心ASIC RC150或RC170芯片制造的MCM500模块及读写器与MCM500全兼容等。
二. MCM的硬件内核寄存器描述
MCU是通过对MCM 内核特殊的内存寄存器的读写来控制MCM的。这些寄存器位于MCM中的ASIC(特殊应用IC)的内部。共有16个寄存器可存取。在对MCM进行读/写操作时,各寄存器担负着不同的功能和作用,并且不是所有的寄存器都是可写或可读的,即有些寄存器只能读而不能写,有些则反之。
读取MCM, 一般的 指向MIFARE 1卡请求。MCM实际上是MCU与非接触式IC智能(射频)卡之间信息(数据)交换的”中间人”。任何读取卡片上的数据,或写进卡片上的数据`均必须通过MCM 来传递。写MCM意味着去控制MCM,例如,送一些类型的指令给它。
以下是MCM中ASIC内核特殊寄存器一览表。
各种特殊寄存器材的具体说明如下:
任何传递到MIFARE 1卡的数据 或 来自MIFRAE 1卡的数据 都必须分别地 被写入DATA寄存器 或 从DATA寄存器中 读出。
例如, MCU向卡片写数据Xi, 则Xi必须首先被写入到 DATA寄存器中, 然后在MCM与Mifare 1 卡片进行通信, 由卡片上的ASIC将DATA寄存器中的数据读取并存放在指定的卡片上的存储器中, 从而完成 MCU向MIFRAE 1卡片写数据的过程。 反之亦然。
DATA寄存器中有一个16 BYTE 的FIFO(先进先出)队列寄存器。 数据写到DATA寄存器后,被存放在这个16 BYTE 的FIFO(先进先出)队列寄存器中, 等待向卡片上或MCU传送。
如要进行传送DATA寄存器中数据, 则首先必须先设定要传输 多少位(BIT) 或多少字节(BYTE), 即必须对BCNTS寄存器进行有效的正确设置,以确定有多少字节将要被传送。
当卡片上的数据流接收 结束或没有被接收时, STACON寄存器中的DV标志被置位”1”,并且MCM 上的引脚NIRQ也将由”HIGH”变为”LOW”。
如果设置了DV-bit,则STACON寄存器中的error-bits (出错位)将被设置。如果没有相关的error-bit被设置,则FIFO寄存器中的数据将被假设为正确,且可以被读出。
将数据写到STACON寄存器中将对MCM进行状态控制,见如下表:
这里,应该注意, 当写数据到STACON寄存器时(即对STACON寄存器进行设置),在写数据到STACON寄存器的这一写周期中,RFS位的设置必须与RF单元相互一致。
另外,设置了AC位,即“AC=1”,将使防重叠状态机启动工作,执行内部存取。这一存取在设置AC位后的12us开始,至35us结束。在这一间隙时间,不允许MCU向MCM进行写(WRITE)数据操作。必须延迟35us。这是为了保证防重叠状态机处理软件的正确运行,让其能识别叠放在一起的多张Mifare 1 卡片,为下一步进行选择一张指定SN(Serial Number)的Mifare 1卡片进行数据读/写而作准备。Philips公司(或UniVision Engineering Limited 联视工程公司)推荐至少延迟35us,然后进行写DATA,TOC寄存器等操作。
读取 STACON寄存器,将告诉我们一系列的MCM及卡片的当前状况信息。以下是读取STACON寄存器后的一系列标志位表。
(待续)