Plataforma RENESAS, I2C, Smart Card Acadêmicos: Marlon Lopes, Vinicius Lemos, Bernardo Berra.

Post on 17-Apr-2015

105 views 0 download

Transcript of Plataforma RENESAS, I2C, Smart Card Acadêmicos: Marlon Lopes, Vinicius Lemos, Bernardo Berra.

Plataforma RENESAS, I2C, Smart Card

Acadêmicos: Marlon Lopes, Vinicius Lemos, Bernardo Berra

Objetivo

Implementar solução de leitura e gravação em um smart card utilizando protocolo I2C através da plataforma RENESAS.

Breve tutorial de Utilização de ambiente de desenvolvimento HEW4 (High-performance Embedded Workshop)

Renesas

Renesas

Placa Renesas QSK26A

Área em azul são as portas de expansão da placa utilizadas para mapeamento e implementação do protocolo de comunicação.

Criando o Projeto 1Ao criar um novo projeto selecionar o kit QSK26A

Criando o Projeto 2Criar um projeto vazio

Criando o Projeto 3O wizard de criação automaticamenteInclui arquivos necessários paramapeamento e utilização do hardware.

Criando o Projeto 4

Alterar sessão para M16C_R8C_FoUSB.

Uma sessão contem todas as unidades necessárias para gerenciar vários parâmetros, do ambiente tais como opções do HEW debbuger ,e tambem usado gerenciar a conexão com a plataforma

Criando o Projeto 5Alterar modo de conexão para USB e selecionar o arquivo referente ao processador utilizado.

Criando o Projeto 6Se o dispositivo estiver corretamente conectado via USB, a conexão será estabelecida.

I2C

I2C

I2C

I2C utiliza somente duas linhas de comunicação denominadas por: serial data (SDA) e serial clock (SCL) .

As linhas SDA e SCL carregam somente informações digitais, e portanto operam dentro dos limites de 0 a 5 volts. Para que este sistema funcione corretamente, alguns protocolos bem definidos devem ser obedecidos, como por exemplo: o sinal de start (início da transmissão), o sinal de stop (final da transmissão), etc.

I2C A LINHA DE CLOCK - esta linha é quem fornece a

cadência para que a transmissão serial seja entendida.

Nesta tarefa é a linha de clock quem identifica quando um dado (um bit) pode ser considerado válido - esta situação sempre é definida quando a linha de clock está alta (nível lógico alto). Portanto , sempre que a linha de clock SCL estiver alta , saberemos que a linha SDA possue um dado válido (nível lógico 1 ou 0).

I2C PROTOCOLO - é um padrão utilizado para que não

haja erros na transferência de dados. Para isto são definidas as condições que devem ser reconhecidas (ACKNOWLEDGE).

O sinal de reconhecimento é quem permite a fluência da transferência dos dados. Assim , por exemplo , após a condição de Start e o endereçamento estarem concluídos, o estágio (escravo) selecionado deverá fornecer o sinal de reconhecimento (ACK).

I2C Hoje o protocolo I2C - pela sua simplicidade -

tornou-se um standard em comunicação e tem aplicação nos mais variados produtos , dentre eles: TVs , VCRs , áudio , etc.

Será explicado agora a solução de leitura e gravação em um smart card utilizando protocolo I2C através da plataforma RENESAS. Implementado na linguagem C de programação.

I2C

Aplicação

Aplicação

MapeamentoHardware mapeado em memória utilizaremos a área P6 da placa. São 8 pinos equivalentes a 1 Byte.

Também é necessário a utilização dos pinos VCC e GND

AplicaçãoMapeamento bit a bit da porta P6 da placa. Para implementar o protocolo I2C utilizaremos os pinos p_0 = clock e p_1 = dados.

Implementação do mapeamento das portas utilizadas. Macros para alternar sinais nas portas.

Aplicação Start, StopSinalização de condição de START e STOP padrao I2C.È necessário um delay entre as trocas de sinal para que seja estabilizado e reconhecido.Codificação do sinal

de START. Sinal de dado baixa enquanto o sinal de clock permanece alto.Codificação do sinal de STOP. Sinal de dado levanta enquanto sinal de clock permanece alto.

Aplicação sinais

Envio do valor “1,” pois quando o clock esta alto o valor no barramento é um valor válido.

Envio do valor “0,” pois quando o clock esta alto o valor no barramento é um valor válido.

Aplicação Ack Nack

Após cada byte enviado um sinal de ACK é enviado. Isso sinaliza ao transmissor que o sinal foi recebido com sucesso, e outro byte pode ser enviado. Todos os pulsos de clock incluem um ack. No gráfico de sinal acima se verifica essa afirmação.

Aplicação Envio de dadoO envio de um dado segue a seguinte sequencia:O dispositivo master ajusta a condição inicial.O dispositivo master envia 7 bis de endereçamento.O dispositivo master envia o 8o bit, R/W.O dispositivo slave envia o sinal de ACK (Acknowledge).O dispositivo master (ou slave) envia pacotes de 8 bits de dados, sempre seguidos de um sinal ACK enviado pelo dispositivo slave (ou master) confirmando a recepção.O dispositivo master encerra a comunicação.

Aplicação Envio de dado

O significado dessa seqüência de bits após o start, é que o periférico responsável pelo dado que será enviado está selecionando o dispositivo para gravação, este por sua vez reconhece essa seqüência e aguarda o byte de endereço para armazenamento e permite acesso a sua área de memoria, e depois de recebido responde com um ACK.

Aplicação Lendo um Dado

Seleciona dispositivo para leitura dos dados, dispositivo retorna um ACK.

Inicia processo de recebimento dos dados

Ao final do processo, a variável “aux2” contem o dado que estava no primeiro endereço de memória no dispositivo.

DificuldadesDificuldade ao encontrar

delay de ajuste para implementação correta do protocolo I2C.

Bibliografia NXP Semiconductors.

(http://www.nxp.com/products/interface_control/i2c/facts/)

NXP Semiconductors. (http://www.nxp.com/products/all_usermanuals/)

I2C Bus site (http://www.i2c-bus.org/) Renesas product center

(http://www.renesasuniversity.com/scripts/pc2/university/pc_technology_summary.pl?AREA=38&CENTER=13&SID=19797.19807.20051222&cf=pc-university&obj=652)

Bibliografia

Bernardo Berra bernardoberra@gmail.com

Marlon Lopes marlonglopes@gmail.com

Vinicius Lemos viniciusdelemos@gmail.com

Fimmmmmm