打印

有没有玩过或者正在玩Mifare Plus芯片的高手

[复制链接]
1567|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
梦幻泡影|  楼主 | 2018-7-3 16:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在玩Mifare Plus芯片的时候,发现激活卡片后给它发送Deselect Virtual card的命令,直接就返回FF的错误码,以下是命令函数:
UINT8 Mifare_Plus_Deselect(void)
{
    UINT8 status = PN512_NoError;

//        SetBitMask(PN512_TxModeReg,0x80);                // TXCRC enable
//        SetBitMask(PN512_RxModeReg,0x80);                // RXCRC enable
//        ClearBitMask(PN512_Status2Reg,0x08);    // disable crypto 1 unit

    //************* Cmd Sequence **********************************//
    FlushFIFO();
    vSPI_Write(PN512_FIFODataReg,MIFARE_CMD_DESELECT_VIRTUAL_CARD);                        // send deselect virtual card command
        vSetPN512Timer(60);                                                // 6 ms Time out
        status = vPcdCmd(PN512_TRANSCEIVE,K_ParityErrBit);

           return status;
}

按照NXP的规则,如果是SL0的卡,那么运行这条指令是返回错误的,只有SL3的卡片才会返回正确,那么问题来了,当卡片运行T = CL协议的时候,datasheet里面提到此时只能运行两条指令,分别是Write Perso 和 Commit Perso指令,但是当我运行Write Perso的时候,也是返回FF,这就不对了,以下是write Perso函数:
UINT8 MifarePlus_WritePerso( void )
{
        UINT8 i;
        UINT8 status = PN512_NoError;

//        SetBitMask(PN512_TxModeReg,0x80);                // TXCRC enable
//        SetBitMask(PN512_RxModeReg,0x80);                // RXCRC enable
//        ClearBitMask(PN512_Status2Reg,0x08);    // disable crypto 1 unit

    //************* Cmd Sequence **********************************//
    FlushFIFO();
    vSPI_Write(PN512_FIFODataReg, MIFARE_CMD_WRITE_PERSO);        //write perso command
    vSPI_Write(PN512_FIFODataReg, MIFARE_CMD_WRITE_PERSO_ADDRESS1);                //address 1
        vSPI_Write(PN512_FIFODataReg, MIFARE_CMD_WRITE_PERSO_ADDRESS2);     //address 2
        for(i = 0; i < 16; i++)
        {
                vSPI_Write(PN512_FIFODataReg,0x00);
        }
        vSetPN512Timer(100);                                                // 6 ms Time out
        status = vPcdCmd(PN512_TRANSCEIVE, K_ParityErrBit|K_CRCErrBit);

    return status;
}


谁有不同见解,欢迎一起探讨
评论
xiayangchun 2019-12-10 22:57 回复TA
楼主解决了吗?最近在高mifare plus卡,一点头绪没有,能否提供例程给参考,NXP的手册能否发我一份,我也是SL3的卡片,我的邮箱308735647@qq.com,谢谢 

相关帖子

沙发
liuxinhong111| | 2019-2-21 18:38 | 只看该作者
本帖最后由 liuxinhong111 于 2019-3-7 18:40 编辑

MifarePlus

使用特权

评论回复
板凳
tyw| | 2019-2-21 19:21 | 只看该作者

使用特权

评论回复
评论
zh4704886 2020-8-5 19:27 回复TA
T叔老厉害了 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

287

帖子

6

粉丝