Rádio Controlado (RC) relógio do computador
A interface serial para Rádio Controlado (RC) relógio do computador
1. Introdução à interface serial para Rádio Controlado (RC) relógio do computador
A interface série é constituído por uma linha de entrada de dados e uma linha de saída de dados.
A velocidade de tráfego de dados da interface serial é 300 bps. Por causa dos recursos limitados do relógio do computador RC micro-controlador de apenas um protocolo de software de fácil utilização pode ser usado.
Não existem linhas de apertar a mão. A sincronização com o hospedeiro é, por meio de o eco de caractere.
2. Tensão de alimentação da interface serial
O relógio do computador RC é uma bateria de relógio operado RC que é alimentado por duas pilhas 1.5V. Isso garante uma autonomia de aproximadamente dois anos. A tensão de alimentação do interface serial é independente destas baterias. A interface serial RS232 padrão consiste não apenas da entrada serial (RxD) e saída (TxD) linhas, mas também algumas linhas adicionais que são usados em algumas aplicações para fins de handshaking, o relógio do computador RC usa essas linhas adicionais para suprir sua interface serial interna circuito com a tensão necessária eléctrica. Estas linhas adicionais que não são necessários para a troca de dados.
O relógio do computador RC requer tanto um positivo e um negativo de tensão de interface serial do PC. A tensão positiva é fornecido pela linha DTR.
Existem duas formas de proporcionar a tensão negativa:
a) O PC "comunica" com o relógio do computador RC enviando caracteres ASCII para o relógio do computador RC, como descrito abaixo (ver 5.). Isto permite que a voltagem negativa a ser fornecida pela linha TxD. Quando o computador envia caracteres esta linha é alternada entre um nível de tensão positivo e negativo. Se o PC está esperando o relógio do computador RC para responder a linha TxD é sempre baixo a uma tensão negativa. O relógio do computador RC não precisa da tensão TxD negativo ao receber apenas caracteres durante o envio.
b) o relógio do computador RC pode ser disparado para transmitir a informação de data / hora, puxando a linha de entrada de dados para o nível de tensão elevado, tal como descrito abaixo (ver 3.3). Esta linha deve ser erguida até a transmissão de dados para fora do relógio do computador RC já começou. Portanto, não pode fornecer a voltagem negativa. Existe a possibilidade de fornecer a tensão negativa para fora da linha de RTS. Esta linha deve ser definida para o nível baixo pelo programador que quer fazer com que o relógio do computador RC para transmitir as informações de data / hora, mantendo TxD a nível de alta tensão.
3. Dados formato word
Dados 3.1 transmitida ao relógio do computador controlado por rádio
Parâmetros de interface
- Velocidade: 300 bps
- Dados de contagem de bits: 7
- Paridade: mesmo, espaço ímpar, marca, (não marcado pela Rádio Relógio PC)
- Parar a contagem de bits: 2
A função de entrada de dados
O relógio do computador RC aceita comandos de até três caracteres, incluindo os seus parâmetros. O retorno de carro de caracteres (0d hex) faz com que o relógio do computador RC para executar o comando. Apenas os quatro bits mais baixos de cada caracter de comando e de parâmetros são utilizados. Por exemplo, os caracteres "?", "O" e "o" tem o mesmo efeito. A exceção é o retorno de carro final que é decodificado por considerar os sete bits inferiores (completamente decodificado).
Respostas 3.2 do relógio do computador controlado por rádio
Parâmetros de interface
- Velocidade: 300 bps
- Dados de contagem de bits: 7
- Paridade: mesmo
- Parar a contagem de bits: 2
A função de entrada de dados
A resposta do relógio do computador RC consiste em uma seqüência de caracteres ASCII terminadas por um caractere de retorno de carro cr final. O conjunto de caracteres usado pelo relógio do computador RC se limita aos números 0 9 ... e os personagens:; =?. A informação está contida dentro dos quatro bits mais baixos.
Os bits 4 e 5 de cada personagem resposta são os binários, o 6 bit é zero binário eo 7 pouco contém o bit de paridade par. Isso resulta em 16 diferentes caracteres transmitidos pelo relógio do computador RC, como descrito acima. a saída serial do relógio do computador RC não pode ser interrompido durante a sua resposta. Portanto, todos os personagens devem ser tomadas pelo computador host imediatamente.
3.3 Suporte de uma troca de dados simplificada
A troca de dados simplificado é possível.
As informações de data / hora de transmissão de comando ((o cr) veja abaixo 5. 1.) Não é a única maneira de iniciar uma seqüência de caracteres ASCII. Um método mais simples é a de puxar o nível de tensão TxD (TxD do PC) de altura. Nível de tensão normalmente TxD é baixo (inativo). Se a linha TxD é alto no início de um segundo, em seguida, o relógio do computador RC irá transmitir a sua informação de data / hora. Isto pode demorar até um segundo, porque o bit de partida, antes de a informação data / hora define o início de um segundo. Se a linha TxD é realizada continuamente alta seguida, o relógio do computador RC irá transmitir as informações de data e hora a cada segundo. Mas é preciso ter cuidado: o consumo de corrente do relógio do computador RC aumenta durante a saída de informações de data / hora até 600 A. (duração de aproximadamente 200 ms.)
4. Handshaking
Cada personagem recebido pelo relógio do computador RC é ecoado. O próximo personagem não deve ser transmitido para o relógio do computador RC antes o eco do personagem anterior e uma duração adicional de 10 ms.
Reconhecendo caracteres de entrada é verificar a aparência correta tanto do bit de início e os dois bits de parada. Os oito bits de dados ecoaram permanecem inalterados em todas as circunstâncias, independentemente ou não de paridade é par ou ímpar.
5. Descrição dos comandos
5.1 Transmitir hora / data informações
sintaxe ASCII: o Personagem cr "o" pode ser substituído se necessário, por um personagem cujo código contém mais baixos os quatro bits f (HEX), por exemplo, também /? O _
binária sintaxe: xxxx1111 00001101
O relógio do computador RC responde a este comando com uma seqüência de caracteres 15 que contêm a informação em tempo completo e um cr final. Fazendo personagens 16 no total.
O relógio do computador RC não irá responder imediatamente a este comando, porque a borda bit de início do carácter primeira resposta marca o início da segunda. Então, o relógio do computador RC irá responder a este comando no início do próximo segundo.
Os personagens têm o seguinte significado:
- 1. dezenas horas
- 2. unidades de horas
- 3. minutos dezenas
- 4. minutos unidades
- 5. segundo dezenas
- 6. segundo unidades
- 7. dia da semana 1 (segunda-feira) ... 7 (domingo)
- 8. dia de dezenas mês
- 9. dia de unidades meses
- 10. dezenas mês
- 11. unidades meses
- 12. dezenas ano
- 13. unidades ano
- 14. BST / UTC estado
- paridade bit7
- bit6 sempre 0
- bit5 sempre 1
- bit4 sempre 1
- bit3 sempre 0
- bit2 = 1 se UTC está em vigor, complementar ao pouco BST
- bit1 = 1 se BST está em vigor, de acordo com o bit BST
- bit0 BST / UTC mudar pouco iminente = caso em 1 de mudança iminente
- 15. estado
- paridade bit7
- bit6 sempre 0
- bit5 sempre 1
- bit4 sempre 1
- bit3 = 1 se baixa tensão da bateria é detectado
- bit2 = 1 se a tentativa de recepção último falhou e uma informação de tempo válido já existe (bit0 = 1)
- bit2 = 0 se a tentativa de recepção último foi bem sucedida
- bit1 = 1 se pelo menos uma tentativa de recepção desde 2: 30 am foi bem sucedida
- bit1 = 0 se nenhuma tentativa recepção desde 2: 30 am foi bem sucedida
- bit0 = 1 se o relógio do computador RC contém uma informação de tempo válido
- Este bit é zero após um reset e depois da tentativa de primeira recepção de sucesso.
5.2 Transmitir estado de recepção
sintaxe ASCII: g cr
Caractere "g" pode ser substituído por um caractere cujo código contém os quatro mais baixos 7 bits, por exemplo, também '7 GW w
binária sintaxe: xxxx0111 00001101
A resposta a este comando é composto por duas personagens eo cr final.
Os personagens têm o seguinte significado:
1. Estado de recepção e de linha
- paridade bit7
- bit6 sempre 0
- bit5 sempre 1
- bit4 sempre 1
- bit3 sempre 0
- bit2 sempre 0
- bit1 sempre 1
- bit0 = 0 se nenhuma tentativa recepção ocorre no momento
- bit0 = 1 se uma tentativa de recepção tem lugar no momento
2. recepção número caracterização da qualidade de 0 para 5
- 5 indica uma boa recepção sem quaisquer perturbações
- 0 indica condições de recepção muito pobres
Se o número esteja na gama desde 0 a recepção bem sucedida 2 não é de esperar normalmente.
Durante a recepção pausas este número é sempre 0.
5.3 tentativa recepção Iniciar, incluindo comparação do tempo
sintaxe ASCII: h cr
Personagem de "h" pode ser substituído em outros personagens, cujo código contém os quatro bits mais baixos, por exemplo, também 8 (8 HX binário sintaxe x: xxxx1000 00001101
Este comando faz com que o relógio do computador para ativar o RC IC receptor e para iniciar uma tentativa de recepção que inclui a entrada das informações completas tempo MSF e sincronizar o computador RC relógios de ponto interno de acordo com os pulsos MSF segundo. A exactidão é melhor do que 20 ms. Se esta tentativa termina sem sucesso de 2: 00 sou a 3: 00 sou 1 pouco do 15th tempo / personagem informações de data será reposto (ver 5.1.). Este bit é sempre definido após o término da tentativa de recepção com sucesso.
5.4 tentativa recepção Iniciar sem comparação do tempo
sintaxe ASCII: i cr
Caractere "I" pode ser substituído por todos os outros personagens que o código contém mais baixos os quatro bits 9, por exemplo, também) 9 IY binários sintaxe y: xxxx1001 00001101
Este comando faz com que o relógio do computador para ativar o RC IC receptor e para iniciar uma tentativa de recepção. Só o tempo segundo interna serão sincronizados de acordo com os pulsos segundo MSF. A exactidão é melhor do que 20 ms. Configuração de bits de status está de acordo com 5.3.
Atenção: Se a tentativa de recepção anterior não foi bem sucedida ou se este comando aparece a partir 12: 00 sou a 3: (. Ver 00) 5.3 sou causará uma tentativa de recepção que inclui a comparação de tempo completo