社区导航

 

搜索
查看: 276|回复: 0

[资料分享] CPU卡程序设计实例的上、下电

[复制链接]

3404

TA的帖子

0

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2019-3-16 21:15 | 显示全部楼层 |阅读模式
1.1 CPU卡上电程序


/*******************************************


函数名称:CardPowerUp


函数功能:卡上电


输入参数:无


输出参数:无


描述:复位过程:先加VCC,200个时钟周期内加CLK,之后,SDA应在CLK加上后的


200个时钟周期内被置于接收状态,CLK加上后,保持RST为低至少400个时


钟周期,之后卡复位RST被置为高,SDA上的应答应在RST信号上升沿后


400-40000个时钟周期内开始,RST为高后,等待400个时钟周期开始接收


应答信号


*******************************************/


void CardPowerUp(void)


{


//卡SDA输出1,


CardSDAOutput;


CardSDAOutputHigh;


//卡上电输出高,不上电


CardPowerOutputHigh;


delay_ms2M(10);


//开始复位时序,卡上电200个时钟周期内加MCLK


//卡上电


CardPowerOutput;


CardPowerOutputLow;


Delay05XETU(); //186个时钟周期


//输出MCLK


MCLKOutput;


MCLKOutputLow;


MCLKOutputHigh;


MCLKSEL;


//MCLK加上后,卡复位脚输出低,保持至少400个时钟周期


CardRSTOutput;


CardRSTOutputLow;


Delay05XETU();


//SDA应在MCLK加上后200个时钟周期内被置于接收状态


//卡SDA脚置为输入


CardSDAInput;


Delay1ETU();//372个时钟周期


Delay1ETU();


//卡复位脚输出高,应答信号在RST变高后400-40000个时钟周期开始


CardRSTOutputHigh;


Delay1ETU();


}


1.2 CPU卡下电程序


/*******************************************


函数名称:CardPowerDown


函数功能:卡下电


输入参数:无


输出参数:无


描述:先将RST置低,再将CLK置低,然后将SDA置低,最后将VCC置低


*******************************************/


void CardPowerDown(void)


{


//RST,CLK,SDA,VCC置低


CardRSTOutputLow;


MCLKOutputLow;


CardSDAOutputLow;


CardPowerOutputLow;


CardRSTOutput;


CardSDAOutput;


//将SDA,MCLK,POWER,RST都置为输入口


//CardSDAInput;


MCLKInput;


//MCLKOutput;


CardPowerInput;


//CardRSTInput;


}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-5-27 12:46 , Processed in 0.080038 second(s), 19 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表