Detalhes do ICSP para os PICs e como usá-lo.

Transcrição

Detalhes do ICSP para os PICs e como usá-lo.
Detalhes do ICSP para os PICs e como usá-lo.
Detalhes do PIC-ISCP e como usá-lo para os microcontroladores
PIC.
ICSP oferece uma maneira conveniente de programar PIC Micros sem remover o chip da
placa de desenvolvimento ou produção.
Tudo que você precisa é de um programador que fornece o conector ICSP (geralmente seis ou
quatro pinos do conector molex).
Clique aqui para obter mais detalhes sobre como configurar seu sistema ICSP.
Clique aqui para um projeto programador PIC ICSP.
Nota: Os programadores que são rotulados de Série ou Paralelo ambos enviam dados série
para o microcontrolador PIC através do circuito PIC ICSP. A denominação "série" ou "paralela"
refere-se apenas à interface usada a partir do PC para o circuito PIC ICSP.
Aqui está o circuito ICSP eu uso:
Signals PIC ICSP
ICSP fornece 6 conexões do programador pic ICSP para a sua placa como segue:
VPP (ou MCLRn)
Vcc
GND
PGD - Data
PGC - Clock
PGM - LVP enable
Tensão de programação (geralmente 13V)
Alimentação (geralmente 5V)
Ground (0 volts).
Pino de dados e conexão RB7
Pino de clock e conexão RB6
Pino de habilitação LVP e conexão RB3/RB4
1/3
Detalhes do ICSP para os PICs e como usá-lo.
Nota: Com as conexões feitas nesta ordem no conector não importa se o conector é colocado
ao contrário pois GND e VCC são então aplicadas aos pinos de clock e dados. Se VCC e GND
estivessem em lados opostos no conector então haveria um problema.
Sinal VPP (Sinaliza uma ação de programação)
Vpp se conecta à entrada de reset do microcontrolador PIC o MCLR. Durante a programação
ou verificar se este sinal é gerado para a tensão de programação (13,5 V) - VCC + 3,5V. Isso
sinaliza para o microcontrolador que a verificação/programação está prestes a começar e para
os pics mais antigos, fornece corrente.
Nota: Antigos pic micros usavam para essa linha diretamente para alimentação do circuito de
programação que atualiza a memória Flash. Assim, esta conecção tinha que fornecer alguma
corrente. Com as peças mais recentes que permitem LVP (Programação em Baixa Tensão) a
tensão de programação é gerada internamente então, o sinal de Vpp do PIC ICSP é utilizado
apenas como um indicador ou seja, ele não tem que fornecer corrente. Sinal VDD/VCC
(Alimentação)
Esta conexão pode fornecer energia para o seu PIC - geralmente usando um regulador de 5V
(provavelmente 7805). Isso está ok para algum uso onde você pode desenvolver um protótipo
de placa sem necessidade de qualquer outra fonte de alimentação (apenas uma parte da
energia que se conecta ao circuito programador pic).
O único problema é que o circuito programador não é projetado para o seu circuito (ele tem um
dissipador de calor) e também pode introduzir ruído para o circuito. Se o programador usa um
78L05, então você só irá obter 100mA máximo de corrente de saída. Sinal GND
A referência à terra - 0V.
Sinais PGC e PGD (Clock e Dados)
Estes são os sinais que fazem o trabalho. De Dados (PGD) e o clock (PGC) transmitem os
dados para o pic micro. O primeiro dado é enviado, seja alta ou baixa tensão (0/1). Depois de
um tempo adequado o clock é mudado de nível baixo para alto - na borda de subida de clock
os dados são enviados para o microcontrolador.
O PGD é também uma linha chaveada pelo pic micro, durante a verificação isto é bi-direcional.
Sinal PGM (Sinal de Programação em Baixa Tensão)
O objetivo deste pino é manter PGM em nível baixo para o micro não entrar no modo LVP.
Normalmente, será feito através de um resistor pull-down, por exemplo 10k.
Nota: Se você programar o microcontrolador com o modo LVP desabilitado então este sinal
não terá nenhum efeito.
Nota: microcontroladores PIC são vendidos com LVP habilitado - por isso, se você usar um
chip novo você pode usá-lo em modo de LVP. A única maneira de mudar o modo é usando um
2/3
Detalhes do ICSP para os PICs e como usá-lo.
programador de alta tensão. Qual circuito você precisa na sua placa-alvo (a ser
gravado)
Note que o esquema da nota de aplicação do pic ICSP "DS33023A" especificamente encoraja
você para não projetá-lo dizendo que RB6 e RB7 devem ser isolados, mas isso depende do
seu circuito! Isso não é muito útil por isso eu incluí o circuito que eu uso na minha placa de
desenvolvimento (veja o diagrama anterior):
Para garantir que você possa programar e verificar corretamente duas resistências de 10k
isolam o programador (RB6 e RB7) do resto do circuito ou seja, eles barram sinais
provenientes do outro lado, de interferências com RB6 e RB7 durante a programação. Se você
não usar as resistências de isolamento, em seguida, o funcionamento ou a condução dos pinos
podem interromper o processo de programação.
Por exemplo, se você colocar um LED no RB6 (PGD), que drena 20mA quando ligado. A
tensão de saída (quando a saída está em alto) a tensão ficará tão baixa que o programador pic
ICSP não será capaz de ler novamente a tensão desejada ou seja vai dar uma falha de
verificação.
3/3