1.1 SPI主模式
控制时钟SCK主模式可以在任何时候据。主模式通过软件协议控制从模式中的数据输出。
一旦在主模式中SSPUF当寄存器被写入时,数据将被发送或吸收。SSPSR寄存器凭证时钟速度移位,一旦吸收到字节,数据就会传输到SSPBUF,同时断开符号位置和状态符号位置。
编程可以改变时钟的极性。在主模式下,时钟SCK可配置为:fosc/4(即Tcy)、fosc/16(即4Tcy)、fosc/64(即16Tcy)和按时器2(Timer2)输出二分频等四种。芯片时钟为20MHz时,SCK最大频率为5.0MHz。
在这个计划中,行使是SPI主模式由单片机控制SCK输出IC在卡中写数据时,可以随时发送数据;阅读时IC卡内数据时,首先要发送任意数据(此时,IC卡不在写入状态,不会吸收数据), 给IC卡提供输出数据的时钟,然后吸收IC卡发出的数据。当时序列如图2所示。(发送和关注的数据均为6FH)
如果要继续发送数据,每次都要发送数据SSPBUF寄存器后,需要判断数据是否已发送,即判断PIR1寄存器的SSPIF位是否为1。假如SSPIF如果位于1,则表白数据已发送完毕,可继承发送下一个数据。但是下一个数据不能在这个时候立即发送,因为SSPIF软件必须在措施中清除位置SSPIF位软件清零后,才能继承发送下一个数据。
1.2 SPI从模式
在SPI领先于模式、数据发送和吸收SCK引脚上输入的外时钟脉冲,当最后一位被锁存后,间断符号位SSPIF(PIR1的D3)位。在休眠模式下,数据仍然可以从模式中发送和吸收。一旦数据被吸收,芯片就会从休眠中醒来。假如回收SS从模式控制,当SS引脚接到VDD时,SPI假如 彩CKE=1控制从模式,必须开放SS引脚节制。
因为IC卡是存储卡,不能提供时钟信号,所以不能从模式中回收,只能从主模式中回收,时钟信号由单片机控制。
单片机的SPI初始化措施如下:
MOVLW20H ;将20H送到累加器
MOVWF SSPCON ;将累加器中的数字送到SSPCON寄存器
BSF STATUS,RP0 ;将定RAM区的第1页
BCF SSPSTAT,SMP ;将SSPSTAT寄存器的SMP位置0
BSF SSPSTAT,CKE ;将SSPSTAT寄存器的CLK位置1
BCF TRISC,3 ;将端口C的第三位配置为输出
BCF TRISC,5 ;将端口C的第五位配置为输出
其中,上述第1行和第2行措施是设置控制寄存器SPI该方法设置为主控模式,时钟频率为单片机时钟频率的1/4,时钟高电平配置为空闲状态。第三行措施是换页指令,将指针转到第一页。由于PIC16F877单片机的数据存储器是分页的,要操作的存储器在第一页,所以指针应该用换页指令到第一页。第四行和第五行措施是设置状态寄存器SPI该方法配置在数据输出时钟的中间采样SCK上升沿触发。第六、第七行措施是RC口的RC3和RC5配置为输出。
2 USART方法
通用同步异步吸收发送模块(USART)是两个串行通信接口之一,USART又称为SCI(Serial Communication Interface)。USART可配置为全双工异步串行通信系统,可与个人计算机配置PC或串行接口CRT串行通信也可配置为半双工异步串行通信系统和串行接口A/D或D/A集成电路,串行EEPROM等设备相邻。USART它是线系统串行通信接口,可定义为全双工异步法、半双工同步主控法、半双工同步从动法三种事件方法。
为了把RC6和RC7单独配置串行通信接口的发送/小时钟(TX/CK)线和吸收/数据(TX/DT)线,必须开始SPEN位(TCSTAT的RD7)和偏向寄存器TRISC的D7:D6置1。
USART结果模块包含两个8位可读/写状态/控制寄存器,它们是发送状态/控制寄存器TXSTA和吸收状态/控制寄存器TCSTA。
USART带有一个8位波特率产生器BRG(Baud Rato Generator),这个BRG支持USART同步和异步事件。SPBRG寄存器控制一个独立的8位按时器周期。在异步法下,发送状态/控制寄存器TXSTA的BRGH位(即D2)也被用来控制波特率(忽略同步法)BRGH位)。
向波特率寄存器SPBRG写入一个新的初值时,城市使BRG按时器复位清零,可以保证BRG没有必要在按时器溢出后输出新的波特率。
对USART初始化措施如下:
BSF STATUS,RP0 ;将指针指向数据存储器的第一页
MOVLW 0x19
MOVWF SPBRG ;波特率96000
BCF STATUS,RP0 ;指针指向数据存储器的第0页
CLRF RCSTA ;清除吸收控制和状态寄存器
BSF RCSTA,SPEN ;串口应承
CLRF PIR1 ;打破间断符号
BSF STATUS,RP0 ;将指针指向数据存储器的第一页
CLRF TXSTA ;清除发送控制和状态寄存器
BSF TXSTA,BRGH ;配置为异步,高速波特率
BSF TXSTA,TXEN ;应承发送
BCF STATUS,RP0 ;指针指向数据存储器的第0页
BSF RCSTA,CREN ;应承吸取
初始化完成后,可以发送或吸收数据。在发送或吸收数据时,可以通过查询发送/吸收间歇符号位来确定是否发送数据/吸收数据。发送/吸收间歇标地不必要或有效的软件复位。
在异步串行发送过程中,只要TXREG寄存器为空,间断符号TXIF所以,TXIF1不是发送的符号,但仍然可以使用TXIF所以当TXREG当数据发送到空时,数据将保存TXREG在寄存器中,直到前一个数据从发送移位寄存器中移出,即前一个数据发送完成。
3 IC卡
IC卡是集成电路卡(Integrated Circuit Card)一些国家和地方称之为智能卡(Smart Card)、芯片卡(Chip Card)。国际规模组织(ISO)在ISO规模为7816,IC卡是指聚氯乙烯(PVC)或聚氯乙烯酸脂(PVCA)原料制成的塑料卡嵌入式处理赏罚器和存储器IC芯片数据卡。多年来,由于导半体技能的进步,集成水和良好的存储容量取得了很大的进步,使CPU与存储器集成在芯片上,从而提高数据的安全性。
在本计划中,IC卡回收的是AT45DB041B-SC芯片的特点如下:
*单一的2.7V~3.6V电源;
*串行接口布局;
*页面编程操作,单轮重复编程(擦除编程,2048页(每页264字节)主存;
*两个264字节的SRAM在重编程非易失性存储器中吸收数据缓存数据;
*内置编程和控制按时器;
*低功耗,4mA有源读取电流,2μA CMOS备用电流;
*15MHz最大时钟频率;
*串行外围接口法(SPI)——模式0和3;
*CMOS的TTL兼容的输入输出;
*5.0V可接受的输入,SI、SCK、CS(低电平有用),RESET(低电平有用)。
在本计划的调试过程中进行了测试IC卡的输入输出电平,功效证明了这一点IC卡的输入电平与TTL与输出电平和兼容TTL不兼容。
4 IC卡的电源提供电路
因为IC卡的电源电压范围为 2.7~ 3.6V,而PIC单片机必要的电源是 5V,稳压源提供的电压一ㄇ 5V,因此,所有的稳压模块都应该计算出来IC卡提供 3V您的电压。计划电路如图3所示。
电路的主要部件是LM317芯片是三端可调集成稳压器,输出电压为1.25~37V范围内可调。当其Vin2~40端输入电压V范畴内变革时,电路均能正常事变,输出端Vout和调解端ADJ基准电压1是基准电压1.25V。芯片中基电路的事变电流IREF很小,约为50μA,由恒流性好的恒流源提供,其尺寸不受供电电压的影响,非常不变。在图3中,B点为电压输出端,为IC卡提供电压。A点为节制端,与单片机的端口引脚相连。当引脚低电时,三极管Q1不事变,B点输出电压约为3.15V;当引脚为高电平时,三极管Q1事变,B点输出电压约为1.25V。查询措施IC是否有卡插座IC卡,当有IC卡时,将A点连接的单片机引脚配置为低电平IC当没有IC卡或对IC卡操作完成后,A点连接单片机引脚配置为高电平,不给予IC卡提供电源。
IC卡上下电措施如下。
IC卡上电子措施 IC卡下电子措施
POWERON POWEROOF
BSF STATUS,RP0 BSFSTATUS,RP0
BCF TRISE,0 BCF TRISE,0
BCF RTISE,1 BCF TRISE,1
BCF STATUS,RP0 BCF STATUS,RP0
BCF PORTE,0 BSF PORTE,0
BCF PORTE,1 BSF PORTE,1
CALL DLYTIM CALL DLYTIM
RETURN RETURN
在本计划中,单片机与IC卡通信的主要措施流程图如图4所示。
5 与PC机的通讯
在这个计划中,有PIC单片机与PC机器串行通信的结果。为本计划所用的单片机PIC16F877有USART方法,该方法可将C口的RC5和RC7配置成异步串行通讯模式,因而在本计划中,与PC机的通讯模块电路就较量简朴。将单片机C口的RC6和RC7配置为异步串行通讯模式,颠末MAX232A芯片举办电平转换后,将TTL电平转换为RS232电平,再与DB9接口相连,即可实现通讯。在PC机端,可以用VC等编程器材按照通讯协议编写软件来节制对IC卡的读写操纵。
6 结论
颠末调试,本计划可以或许在离开在线仿真器的环境下,上电后独立的运行措施,并能在PC机软件的节制下,实现对IC卡中恣意位置的读写,个中读写的起始地点、读写数据的个数以及数据内容可以在PC机端输入或选择。
本计划已在现实应用中测试过,具有适用代价。因为本计划中所行使的PIC单片机的措施存储器较大(8KB),因而可以编写较大的措施,实现多合一该卡器并由PC机节制读写哪种芯片的IC卡。其它,因为本计划所行使单片机的措施存储器是Flash存储器,因而可以利便地实现措施的下载和进级。