pic16f877 no circuito de programação

D

D1_DRE

Guest
Bem eu
estou a tentar integrar no circuito de programação para o meu pedido e fiquei me perguntando se alguém já fez isso antes.O meu problema é interface serial de alta tensão em circuito programação para PIC16F877 através pino PIN 1, RB6 e RB7, ao mesmo tempo, utilizar este pino para outro aplicativo.Tenho considerado usando jumpers para mudar afectadas pinos, mas isso eu realmente não gosto.Vocês sabem de uma maneira melhor de fazer esse sistema completamente automatizado?ou seja, eu só tenho que plugin de programação por cabo e programar o pic imediatamente.Utilização do bootloader não é uma opção embora

Obrigado
 
Eu não vi outra forma de fazer isso automaticamente.O melhor é isolaton com jumpers ou DIP switches.Se existe uma outra maneira eu também estar interessado_O meu entendimento é que a alta tensão apenas os efeitos / MCLR pino e não RB6 e RB7.

Boa sorte

 
Você
está correto digidot cerca de alta tensão apenas afectam / MCLR pino.Tensões RB7 e RB6 nem sempre são 0V-5v quer e estão dependentes da forma como o programador é bom.Isto pode ter um efeito adverso sobre qualquer dispositivo dependente destes pinos.Também não quiser enviar o dispositivo anexado em um estado desconhecido.Assim tenho 2 solução para 2 cenários

1> programação irá ocorrer através de uma ficha n jogar conector.
que se comporta muito como os jumpers que você sugeriu.Só que desta vez um dos pinos no conector ele irá alternar ON activa baixa trasistor uma lógica que, por sua vez, habilitar ou desabilitar RB7 e RB6 para qualquer modo de programação ou de I / O modo

2> Apresentando um pouco para permitir que os afectados pinos.Isto irá obviamente envolver sacrificar um extra IO pino, para permitir que 2 trasistor muda para normal e vice-IO modo universal.

Em alguns casos, no entanto, não precisa se preocupar muito se o dispositivo conectado tem um pino mestre permitir, por exemplo um LCD.Quando o modo de programação PIC entra o dispositivo será automaticamente desabilitado afinal tão dados inválidos mento para o PIC será simplesmente ignorada pela LCD.Bem, essa era a ideia que tive depois de pesquisar um pouco mais.Sinta-se livre para sugerir alterações ao presente.

 
Oi D1_DRE
A idéia da utilização de transistores para mudar o RB6 e RB7 linhas parece ser o melhor.Eu realmente gosto da idéia.Vou testá-lo em um novo design.Se você tentar isso antes de eu fazer, então por favor me avise.Eu vou fazer o mesmo.

Mantenha bem
 
Porque não usar o modo de programação de baixa tensão (0-5v todos os pinos)?
 
Modo de utilização de baixa tensão, é o mesmo
perder o pino Rb3 I / O.Então, eu não gosto dela quer ....
caso contrário, usando modo padrão de alta tensão
poderia ser feito, quando e utilizar uma tensão Switcher sobre o pino mclr, combinado com um
analógico alternar 4066 sobre o rb7, rb6 alfinete.
tudo isto, comutada automaticamente ou com um
slide switch (programa / normal).

por agora, estou usando uma testboard (home made)
que eu trocar com um rotativo sw.
prog / normal / off
rotativa que muda é o mclr/rb6/rb7/power linhas.
em prog modo, eu uso um mini relais para desligar a porta paralela linhas, e colocar o
anexado buffers para o nível adequado.

talvez esta configuração está a ajudar, para resolver
uma nova configuração, que é melhor / portátil.

Greetz.[Esta mensagem foi editada por: gelly em 2002-04-28 22:35]

 
Muito bom ponto gelly.LVP não é definitivamente uma opção.E utilizando um interruptor mecânico é o que eu
estou tentando me livrar de todo.Voltar para o uso de transístores.Uma ligeira modificação.Eu posso tirar partido do facto de que, durante a programação de alta tensão a tensão sobre MCLR irá exceder bem mais de 10V na comperison com 5V durante o funcionamento normal.Uma simples detecção circuito pode ser usado para controlar um analógico ou transistores para RB7 e RB6 conforme o caso.No entanto, o grande quenstion estou ainda a investigar é a de que, uma vez programação começa, vou ser correto dizer que a tensão sobre MCLR nunca largar abaixo 10V até mesmo para 1ns programação está concluída?

Eu aprecio a sua visão sobre isso.E sim Digidot I'll be aplicar este método para um protótipo e irá informá-lo sobre o resultado.
 
Eu uso e uma pequena rele provador para alternar entre programação e utilização uC UC.Não há erro.

Atenciosamente.
 
Eu suponho que deve funcionar

_________________[Esta mensagem foi editada por: D1_DRE em 2002-05-01 19:27]

 
Eu só ICSP acrescentado em ambos os circuitos do meu.Aqui está o que / como eu encontrei / fizeram.

Usando o 16F foi muito fácil.Basta colocar um diodo na VPP (pino 1), RB6 & RB7 são as duas saídas no meu circuito.Portanto, este não teve qualquer efeito adverso por simplesmente liga-los diretamente para o meu programador.

O 18F parte foi um pouco mais difícil.RB6 e RB7 foram realizações, mas eles foram para um chip RF.Então, tive de adicionar um resistor pull-down para ter certeza que o chip foi RF em modo de espera quando programação_O stand-by pino também se deslocou para o pic, mas eu não poderia deixá-lo flutuando durante a programação.

Eu testei o PIC16F com as peças da Microchip ICSP e não tinha problemas.Eu tenho que definir um sinalizador no Hi-Tech compilador para dizer que eu estava fazendo ICSP.

As peças foram PIC18F apuros, mas nada para mim.Eu tentei usar ICD2
da Microchip.Eu não tiveram sorte em tudo.Ele simplesmente não funciona.Não sei se o problema na parte 18F ou o ICD2.Tentei atualizar o firmware e MPLab, mas nada parece funcionar.Tentei PIC18F242 diferentes partes, nope.Estou esperando que eles
vão corrigir isso em breve, assim que o meu novo design pode usar este recurso.

BTW - tanto dos meus circuitos estão executando em 3.5V.ICSP funciona bem, de acordo com a fichas e app.notas.SÓ VPP vai para 13V.A única diferença no modo de baixa tensão é que você solta um pino porto B, e você não precisa 13V sobre VPP.Em ambos os casos RB6 e RB7 só vão para o VCC tensão.

Hope this helps ...

Garanhão

 
Citação:O meu problema é interface serial de alta tensão em circuito programação para PIC16F877 através pino PIN 1, RB6 e RB7, ao mesmo tempo, utilizar este pino para outro aplicativo.

 
ideia simpática sobre o uso de diodo Zener.No entanto, este método não irá evitar a transmissão de dados falsos para o dispositivo ligada a este IO alfinete.e se o dispositivo é algo um potenciómetro digital.Isto implica que, no final de uma seqüência de programação, quer você goste ou não o seu tim pot teria desviado por um desconhecido incremento.Pense do que a incidência será, se o dispositivo é utilizado no controle ativo, como o meu pedido
 
Ainda usar um resistor, como sugerido pela jetmarc e utilizar um pino em seu conector ICSP linhas utilizadas para puxar para baixo através de díodos após o resistor (sem necessidade de zeners).

Você também pode usar diodos de alta tensão para evitar serem dirigidas para o seu local de alimentação de 5V alvo circuito.

Este trabalho deverá ainda se processador está em execução.
Programação modo será inscrita, logo MCLR é disparada.

Todas as linhas ligado a outros circuitos levará "0", e não quaisquer dados ou assim.

 
Basta colocar um resistor em série a RB6 e RB7 i / o linhas de cerca de 4K7 para isolar-las do resto do circuito.(min 2K7) Se eles são factores de produção, dependendo da fonte impedância, ele vai machucá-los, se forem realizações, o que depende a sua condução, pior caso, use um tampão ou transitor o final do circuito resistências.
A maioria proggramers estão muito felizes com este acordo.
Boa sorte.

<img src="http://www.edaboard.com/images/smiles/icon_confused.gif" alt="Confused" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top