Comunicação com os
SIM card
ISO 7816 é uma especificação padrão internacional documento que
descreve os requisitos de interface comunicação com os cartões inteligentes
tipo com contato, a ISO 7816 tem várias partes.
As informações de alto nível de algumas das ISO 7816 são a segue:
• ISO 7816-1 especifica as características físicas do cartão.
• ISO 7816-2 especifica a dimensão e a localização dos contatos do
chip do cartão.
• ISO 7816-3 especifica os sinais eletrônicos e protocolos de
transmissão do cartão.
• ISO 7816-4 especifica a organização, a segurança e comandos para comunicação.
•
ISO 7816-1 specifies the physical characteristics of the card
•
ISO 7816-2 specifies the dimension and the location of the chip contacts of the
card
•
ISO 7816-3 specifies the electronic signals and transmission protocols of the
card
•
ISO 7816-4 specifies the organization, security and commands for interchange
Embora o padrão ISO 7816-2 define oito contatos para o cartão
inteligente (ver Figura 2), são usados normalmente seis para a comunicação.
|
Terminais SIM card |
VCC
|
É usado para
fornecer energia para o smart card
|
RST
|
É usado para resetar
o smart card
|
CLK
|
Entrada do clock
para o cartão inteligente
|
GND
|
Terra
|
VPP
|
Fornece a entrada de
tensão de programação para o smart card
|
I/O
|
Linha de entrada /
saída é usada para comunicação serial de dados entre o cartão inteligente e o
Dispositivo de
interface. Esta é uma comunicação half-duplex.
(O TX
e RX Assíncrona do receptor e do transmissor (UART) no Dispositivo de Interface
(IFD), deve ser curto e conectado à linha de I / O do cartão inteligente).
|
RFU
|
Reservado
para uso futuro. Atualmente, usado para Bus (USB) Interface Serial Universal
|
Classificação do SIM card
O
dispositivo de interface (por exemplo, o micro controlador PIC®) controla os
sinais CLK, RST e VCC dadas ao cartão inteligente. Com base na tensão de
alimentação nominal fornecida pelo dispositivo de interface através de VCC, o
cartão inteligente pode ser classificado em três tipos:
- • Classe A -
4.5V = VCC = 5.5V no ICC = 60 mA
- • Classe B -
2.70V = VCC = 3.3V no ICC = 50 mA
- • Classe C -
1.62V = = VCC 1.98V no ICC = 30 mA
São enviados
10 bits para a saída I/O, O primeiro bit
de é considerado o bit de start, que é sempre
baixo. Precedendo o bit de início, a tensão na saída I/O é mantida em seu
padrão de nível alto. Após o bit de start , são enviados 8 bits de dados. O
último bit é o bit de paridade, que é alto ou
baixo.
Após os dez
bits de informação, há uma pequena pausa. E se houver qualquer erro na recepção
dos dados, dispositivo receptor tem que enviar para o I/O o nível lógico baixo antes do meio do bit de
parada (isto é, tempo de 10.5-bit de borda inicial).
O receptor envia
o sinal lógico baixo em 1-2 ETU. Unidade de Tempo Elementar (ETU) é um tempo deum
bit na comunicação I / O.
Não é muito
complicado, o transmissor (que neste caso é o SIM card) verifica a entrada I/O
no final do Bit de parada (11 ETU). Se o transmissor detectar sinal lógico baixo,
ele retransmite os 8 bits de dados anterior, após 2 ETU.
|
Gráfico
lógico de transmissão de dados |
O periférico
UART nos micro controladores PIC transmitir os 0,5 Stop bit. Isto permite a aplicação do ISO
7816-3 detecção de erros e o possível protocolo de retransmissão usando os
micros controladores PIC.
A
comunicação entre o cartão inteligente e a interface do dispositivo envolve as
seguintes etapas:
1. A
inserção do cartão inteligente no slot.
2. Detecção
da inserção do cartão inteligente pelo dispositivo de interface (isto é, o micro
controlador).
3. Reinicialização
usando o reset do cartão inteligente pela interface dispositivo.
4. Resposta (ATR)
do SIM card ao micro controlador.
5. Protocolo
Parameter Selection (PPS) de comunicação entre o SIM card e o micro controlador
(se o cartão inteligente suporta PPS).
6. A
execução do comando (s) entre o SIM card e o dispositivo de interface.
7. A remoção
do cartão inteligente do slot.
8. Detecção
de remoção de cartão inteligente pelo micro controlador.
9. Desativação
dos contatos de Smart Card pelo micro controlador.
Após a
detecção de um cartão inteligente no slot (através de um contato mecânico, por
exemplo), o dispositivo tem que executar uma reinicialização do cartão
inteligente utilizando os seguintes passos:
1. Envia o
sinal lógico baixo no RST.
2. Alimenta
o VCC com sinal alto.
3. O módulo
UART do dispositivo de interface deve estar em modo de recepção (definido via software, programação).
4. Forneça o
sinal de clock na linha CLK do cartão inteligente.
5. A linha
RST tem que estar em estado baixo, é
aplicado o sinal de clock no pino CLK. O RST deve permanecer em estado baixo
ate 400 ciclos do clock, Dando um atraso
de 400 ciclos depois de fornecer o clock no pino CLK do cartão inteligente.
6. Eleve RST
ao estado alto.
ATR é uma
série de caracteres de resposta enviado para o leitor do cartão após a operação
Cold Reset bem sucedida.
Existe uma
biblioteca chamada #include
<SCLib.h> ela pertence a linguagem de programação do arduino, você pode
baixa-la e testar seus projetos..
boa sorte
|
Nenhum comentário:
Postar um comentário