sincronização de tempo através da UART

M

mufarish

Guest
Oi,

Preciso de ajuda no meu projeto no qual estou trabalhando nestes dias.Eu tenho que sychronize tempo (hh: mm: ss: ms) entre o computador eo controlador PIC através de RS232.ou seja, temos dois relógios, um computador e em um no PIC (eu tenho que aplicá-lo também).Tenho que sincronizar o tempo em ambos com a precisão de mili-segundo.Preciso de sugestões ou algoritmos, como implementá-lo.Eu uso PICC PCW compilador CCS & 18F448 ou controladores 16F877A.

 
HI,
É muito difícil para sincronizar o PC de tempo usando comunicação serial usando 16F877A.THINK U Should Be USANDO CRYSTAL 20MHZ .. Uma coisa você pode fazer é gerar SOBRE O SEU TIME DE CONTROLADOR .. ENTÃO PERODICALLY SYNC com o PC.

 
Oi,

Estou utilizando 20 MHz de cristal.Eu quero saber como sincronizar o tempo, ou eu ping controlador e obter reconhecer e calcular demora b / w essas mensagens e, em seguida, enviar atual tempo demora para PIC para fazer a sincronização_Ou eu deveria tentar alguma outra técnica.Eu posso usar milissegundos para fazer esse processo.

 
Você está usando um relógio em tempo real?É melhor usar um como o DS1302.

Eu tentei sincronizar o tempo do PC para o microcontrolador através do envio de tempo a partir do PC em formato hexagonal, em seguida, atualizar o relógio em tempo real.

Para implementar a alta precisão de sincronização de ajustar o momento oportuno para o atraso causado pelo tratamento.

Eu não posso ajudá-lo com o programa porque eu não sou familliar com C, embora eu possa lhe fornecer informações adicionais sobre como eu fiz isso.<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Muito feliz" border="0" />
 
Não, eu não estou usando RTC.Eu tenho implementado relógio do PIC através de temporizador e sua ISR.Agora eu tenho que calcular o tempo de atraso do envio de novo horário a partir do PC e seu processamento, de modo que ambos PC e PIC são sincronizados.Forneça-me ajudar sobre este assunto.

 
oi,

u pode gerar em tempo real com temporizadores, depois que a cada intervalo de tempo pertical
u ter tempo atual a partir do PC e escrever com mais registros u'r.

u whish all the best

 
Agora estou enfrentando problema de tempo do sistema entrar em milissegundos (mesmo no segundo micro).Como posso conseguir isso?

 
Acho que você está esperando muito aqui.O problen é que o PC está executando um sistema multitarefa opperating e vai processar o seu pedido quando fica em torno a ele.Se ele está apenas fazendo um de seus processos do sistema no momento que você perguntar então muitos milissegundos muitos passarão e possível por muito mais tempo.Um décimo de segundo pode até ser um desafio.
Atenciosamente,
John.

 
Concordo com u John.É por isso que eu estou apenas tentando sincronizar a hora B / W através de duas CPIs UART.Qualquer sugestão sobre isso?

 
Oi, Enviar o tempo de um PIC a PIC, mas outras adicionar algumas 100ms para o tempo que você enviar para que este tempo está sempre à frente do seu tempo neste momento.quando o PIC recebe desta vez ela vai atualizar o relógio, mas vai manter o relógio de espera antes de ser executado novamente.Agora você enviar uma mensagem curta de START CLOCK para PIC que está esperando, e você iniciar o relógio!.

Mesmo no Windows você pode sincronizar mas você tem que usar handshaking e enviar o tempo de ida e volta a partir de PC-> PIC e PIC-> PC e calcular o atraso e enviar selos novo tempo com tempo de retardo ajustado até que o erro de enviar e ler é menor que o seu 1ms!.Regards, Paul.PS: Muitos sistemas usam este truque.

 

Welcome to EDABoard.com

Sponsor

Back
Top