Estoy aprendiendo a analizar el reloj y los datos del bus SPI usando un osciloscopio de almacenamiento digital de nivel de entrada. Estoy usando un BK Precision 2542B para medir la salida del reloj y las líneas MOSI de un Netduino que utiliza un microcontrolador ARM.
Enestaimagen,tengoelrelojenelcanal1(amarillo)yelMOSIenelcanal2(azul).Eldisparadorestáconfiguradoparausarelcanal1,usandoundisparadordeflancoascendentede1.44V.Laamplituddelaondacuadradadelrelojesaproximadamente3.3V.
Elindicadordeactivaciónestáenelcentrodelapantallahorizontalmente,perotengounpulsoasuizquierda.Esperabaqueelprimerpulsodelrelojcomenzaraenlaubicacióndeldisparador.Séqueunosciloscopiodealmacenamientodigitallepermitevereventospreviosyposterioresaldisparo,peroestoyconfundidodeporquéelprimerpulsonoestádondepenséqueestaría.
¿Mientendimientodedesencadenaresincorrecto,osimplementeestoyusandounalcanceextraño?
Editar:Eltrendepulsostieneunanchode300μs,serepiteaintervalosde2ms,ytengounvalorderetencióndedisparode500μs.Elajustedelaretenciónnohacambiadoelhechodequeunimpulsoprecedealdisparador.
Edición2:
Despuésdemásanálisisdelaseñal,incluidoelusodelosciloscopioanalógico,creoquehedeterminadoqueavecesladuracióndelpulsoesdeunos350μsenlugarde300μs.Estopuedeserunafallaenlosmarcosdegeneracióndecódigo.
Descubríqueuntiempodeesperade352μsproduciráelresultadoesperado,perodevezencuandounpulsoadicionalprecedealdisparador.
Grabé algunos cuadros para mostrar el pulso tanto ausente como presente:
Si configuro la base de tiempo horizontal el tiempo suficiente para ver la duración de los pulsos, siempre parece haber al menos 1,7 ms entre ellos:
Entonces,sibiencreoqueelpulsoinicialeselresultadodeun"fallo técnico" de la fuente, todavía no estoy seguro de cómo la retención del gatillo > 360μs produce el pulso inicial inesperado.