Estou aprendendo a analisar o relógio e os dados do barramento SPI usando um osciloscópio de armazenamento digital básico. Estou usando um BK Precision 2542B para medir a saída do relógio e as linhas MOSI de um Netduino que utiliza um microcontrolador ARM.
Nesta imagem, tenho o relógio no canal 1 (amarelo) e o MOSI no canal 2 (azul). O gatilho está configurado para usar o canal 1, usando um gatilho de borda ascendente de 1,44V. A amplitude da onda quadrada do relógio é de cerca de 3,3V.
O indicador de disparo está no centro da tela horizontalmente, mas tenho um pulso à esquerda. Eu esperava que o primeiro pulso do relógio iniciasse no local do gatilho. Sei que um osciloscópio de armazenamento digital permite que você veja eventos antes e depois do disparo, mas estou confuso por que o primeiro pulso não está onde eu pensava que seria.
O meu entendimento de acionamento está incorreto ou estou apenas usando um escopo estranho?
Edit: O trem de pulso tem 300μs de largura, repete-se a intervalos de 2ms, e eu tenho um valor de retenção de gatilho de 500μs. O ajuste da retenção não mudou o fato de que um pulso precede o gatilho.
Edição 2:
Após mais análises do sinal, incluindo o uso do osciloscópio analógico, acho que determinei que algumas vezes a duração do pulso é de cerca de 350μs em vez de 300μs. Isso pode ser uma falha no código que gera quadros.
Descobri que um tempo de espera de 352μs produzirá o resultado esperado, mas de vez em quando um pulso extra precede o gatilho.
Gravei alguns quadros para mostrar o pulso ausente e presente:
Se eu definir a base de tempo horizontal por tempo suficiente para ver a duração dos pulsos, sempre parecerá haver pelo menos 1,7ms entre eles:
Portanto, embora eu pense que o pulso inicial seja o resultado de uma "falha" da fonte, ainda não tenho certeza de como uma retenção de disparo> 360μs ainda produz o pulso inicial inesperado.