collapse

* Posts Recentes

DIY Physical Vapor Deposition (PVD) using Thermal Evaporation por SerraCabo
[15 de Junho de 2021, 12:20]


Traduzir automaticamente o Quake 3 de C para Rust. por blabla
[12 de Junho de 2021, 12:23]


O porquê que os programadores gostam tanto da linguagem de programação Rust. por blabla
[12 de Junho de 2021, 09:56]


Campainha de Telefone Antiga por almamater
[10 de Junho de 2021, 12:29]


localizador carro. por dio123
[10 de Junho de 2021, 09:10]


Compras Aliexpress por jm_araujo
[09 de Junho de 2021, 12:56]


Módulo Shelly 2.5 por zordlyon
[09 de Junho de 2021, 11:20]


Sensor CAN por KammutierSpule
[07 de Junho de 2021, 07:58]


fonte de alimentacao ORNO ou Mean Well por senso
[06 de Junho de 2021, 22:07]


Lisboa parque para robôs por josecarlos
[05 de Junho de 2021, 21:12]

Autor Tópico: Glitch em linha I2C  (Lida 2608 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline SerraCabo

  • Mini Robot
  • *
  • Mensagens: 929
    • Serra Cabo
Glitch em linha I2C
« em: 17 de Fevereiro de 2021, 01:43 »
... só por curiosidade...

Olá.

Estava aqui a vasculhar umas linhas de controlo para tentar perceber quanto a comunicação I2C atravanca o controlador (ATmega 2560 a 16MHz) e deparei com uma coisa curiosa.

Reparem (olhem em baixo) no último bit antes de ACK aparece um glitch na linhas D5. Não aparece sempre (ou não é 'agarrado') mas aparece pelo menos 50% das vezes. Quando aparece, aparece nesse local.



O clock D4 trabalha a 100KHz e a frequência de amostragem está a 8MHz.

Não estou preocupado com isto porque, de uma forma ou outra, o LCD está a funcionar bem.

Outra coisa curiosa: não estava à espera que ele enviasse um byte de cada vez. Estava à espera que houvesse um cabeçalho e despachasse uma molhada de caracteres. Eu suponho que esta comunicação seja unidireccional.

Já agora, este "Logic Analyzer" que trabalha (diz ele) até 24MHz, tem um preço muito acessível e é particularmente útil. O software é o PulseView.

Abraço
SC

Offline SerraCabo

  • Mini Robot
  • *
  • Mensagens: 929
    • Serra Cabo
Re: Glitch em linha I2C
« Responder #1 em: 17 de Fevereiro de 2021, 16:24 »
Já percebi por que aparece o glitch. Dá-se quando o master (controlador) larga a linha de dados (vai passar a receptor). A linha vai para HI (haverá um pull-up qualquer) para que o slave (o LCD), possa colocar a linha a LOW indicando ao master que os dados foram lidos.

Agora, há outra coisa que eu não esperava. Se não houver resposta do slave (desligando, por exemplo a linha de dados), o controlador fica pendurado.