Como programo um PIC12?

8

Eu tenho um PIC12F675 que preciso programar. Estou usando um Pickit 2 e o software Pickit 2. Supostamente eu deveria poder programá-lo usando este circuito , mas o software Pickit 2 não está detectando o chip.

o circuito

O que está acontecendo de errado?

EDIT: Eu adicionei uma imagem do meu circuito empanado. E aqui é onde você pode encontrar a folha de dados para o PIC12F675. Vá para a página 4 para a pinagem.

Breadboard

EDIT2: Na verdade, eu apenas olhei para os chips (burro, mas achei que a mouser me enviaria o que eu pedi) e notei que eles são realmente do PIC12C671. Quanta diferença isso faria?

Edição final: Uau! Obrigado a todos que me ajudaram com isso! Eu não estava esperando esse tipo de resposta. Acabou sendo um pequeno problema estúpido, como eu pensei que seria. Foi minha culpa por não ter checado tudo quando recebi o pacote da Mouser.

Willem Ellis
fonte
2
Tem certeza de que seu circuito está correto, está ligado, tem capacitores de desacoplamento, está conectado ao seu computador?
Eu tenho 5 volts, e ele está conectado ao meu computador. Parece que eu esqueci os capacitores de desacoplamento. Isso teria um grande impacto no circuito?
Willem Ellis
1
Provavelmente não, mas você não quer perder uma semana com um capacitor de desacoplamento que pode adicionar em um minuto.
2
O 12F675 é suportado pelo PICkit 2 e MPLAB.
Leon Heller
3
O Vdd no conector ICSP deve ser conectado a + 5V.
Leon Heller

Respostas:

9

Um possível problema é que alguns PICs precisam de um ciclo de energia para entrar no modo de programação. O 12F675, em particular, precisa disso quando a palavra de configuração no seu aplicativo configura o pino MCLR como GPIO.

Quando o pcikit2 alimenta seu chip de destino, ele fornece o ciclo de energia. Com o + 5V independente que você fornece, ele não pode fazer isso.


Depois de cobrir os problemas mais prováveis, você pode procurar os improváveis ​​... Não ria de mim, estou aproveitando minha própria experiência!

  • você poderia ter dois pickit2's conectados? (Sim, uma vez eu fiz isso e fiquei espantado que o aplicativo pickit2 selecionado não fosse aquele ao qual o PIC estava conectado. Eu também perdi uma hora quando tinha dois fios PICs de destino em paralelo. Isso dá resultados muito estranhos quando ambos colocam seu ID de chip para o programador.)
  • o pickit2 que você está usando está conectado ao PC que está usando? (Eu faço aulas de PIC e os alunos podem ser bastante criativos em quem o laptop se conecta ao que é o PIC)
  • são o pickit2 e o chip o lado direito redondo? A imagem pickit2 é como vista de cima (onde estão o botão e os LEDs).
  • o chip é realmente um 12F675? (Uma vez tentei durante o dia inteiro obter o conversor A / D de um 12F629 funcionando - para os não-gurus da PIC: esse é o irmão mais barato do 12F675, é mais barato porque não possui um conversor A / D ).
  • Os fios estão exatamente como você os mostra, não estão misturados? E eles não são quebrados por acidente? Se você estiver usando uma tábua de pão sem solda: ainda faz todos os contatos?
  • O firmware no pickit2 é uma versão que corresponde ao seu PC? talvez recarregue o firmware para ter 100% de certeza.

Em resposta ao seu EDIT2: ROFL, verifique meu item 4. O PIC12C671 é um chip totalmente diferente e C significa que é um chip EPROM (programável uma vez), que não é suportado pelo pickit2.

Wouter van Ooijen
fonte
Tentei alimentá-lo a partir do próprio PICKit, e ele ainda não está funcionando.
Willem Ellis
:( Obrigado pela ajuda Como eu disse, eu assumi Mouser tinha me enviado as fichas certas minha culpa por não double tudo verificação antes de começar Obrigado novamente!..!
Willem Ellis
1
Como digo aos meus alunos: fique à vontade para cometer um erro pela primeira vez. Mas nunca mais.
Wouter van Ooijen
4

O programador PICkit2 deve funcionar como está da sua parte, sem nenhum cabeçalho. (A depuração é outra questão.)

Além das recomendações de desacoplamento de capacitores oferecidas, considere o seguinte: a maioria (todos) dos dispositivos PIC precisam de uma extração de 10k de _MCLR para VDD. Tente adicionar isso e veja o que acontece.

Suporte ao PICkit2

Aqui está um exemplo de fiação do pôster de instalação do PICkit3. (As pinagens do PICkit2 e PICkit3 são idênticas, portanto, as informações são 100% relevantes.)

Diagrama ISCP

Você pode ver que os pinos de 1 a 5 do programador precisam estar conectados ao seu circuito. Está faltando no esquema a conexão VDD Target do pino 2. Tente conectar isso e permita que o PICkit2 ligue o circuito.

Adam Lawrence
fonte
3
A falta de um resistor no MCLR não impedirá o PICkit de programar o dispositivo. No entanto, isso pode impedir a execução do programa.
Leon Heller
Adicionei o pull-up e verifiquei se o dispositivo correto foi selecionado no MPLAB. Ainda não há dados.
Willem Ellis
@LeonHeller Baseei minha declaração sobre o _MCLR no pôster do PICkit3, que mostra o _MCLR sob a maneira "correta" de conectar as coisas.
Adam Lawrence
@ Madmanguruman Eu gostaria de não tê-lo conectado exatamente assim, mas verifiquei com a folha de dados e todas as conexões estão corretas.
Willem Ellis
2

O PICKit2 suporta o seu dispositivo ( fonte ). Isso significa que há algo errado com sua configuração. Há algumas coisas que você pode verificar:

  • Há algum problema na comunicação com o PICKit? Não, se esse for o caso, você receberá um erro informando que a ferramenta ICSP não pôde ser encontrada.
  • Existe algum problema com o circuito com o chip? Possivelmente . Você deve verificar seu circuito, adicionar capacitores de desacoplamento, se ainda não o tiver feito. Todos os pinos VDD e VSS devem estar conectados, também os do conector ICSP. Além disso, verifique sua fonte de alimentação: é suave?
  • Existe um problema de software? Muito provavelmente , eu diria. Você selecionou o chip certo no MPLAB? Você pode programar outros chips com a mesma configuração?

fonte
Eu verifiquei tudo isso. Adicionado nas tampas de desacoplamento e no resistor pull-up MCLR. Estou usando o software PICKit2 v2.61 para programar o chip, em vez do MPLAB. Embora eu tenha tentado o que você disse no MPLAB. Eu recebo esse erro quando tento conectar-me ao chip. Por favor verifique que um PIC12F675 está instalado corretamente no aplicativo
Willem Ellis
@WillemEllis Muito bem. Pensei em outra coisa: você conectou todos os pinos Vdd e Vss do chip? Verifique também se o PGC está conectado ao PGC e não ao PGD - isso me causou alguns problemas recentemente.
@WillemEllis algum progresso neste?
desculpe por demorar tanto para voltar para você. Infelizmente não. Conversei com meu professor e ele também não conseguiu descobrir. Verifiquei se tudo está conectado, como no circuito, com o PGD e o PGC indo para os pinos corretos. Ainda sem sorte.
Willem Ellis #
Se você tiver certeza de que suas conexões estão boas, tente outro dispositivo ou outro PICkit2.
Adam Lawrence