Giriş seviyesi dijital depolama osiloskopu kullanarak SPI veri yolu saatinin ve verilerinin nasıl analiz edileceğini öğreniyorum. Ben kullanıyorum BK Precision 2542B bir gelen saat ve MOSI hatlarının çıkışını ölçmek için Netduino bir ARM mikrodenetleyici kullanır.
Bu görüntüde kanal 1'de (sarı) saat ve kanal 2'de (mavi) MOSI var. Tetikleyici, 1.44V yükselen kenar tetiği kullanarak kanal 1'i kullanacak şekilde ayarlanmıştır. Saat kare dalga genliği yaklaşık 3.3V'tur.
Tetik göstergesi ekranın ortasında yatay olarak duruyor, ancak solunda bir nabız var. Saatin ilk darbesinin tetikleyici konumunda başlamasını bekliyordum. Dijital depolama osiloskopunun tetikleme öncesi ve sonrası olayları görmenize izin verdiğini biliyorum, ancak ilk nabzın neden düşündüğüm yerde olmadığına şaşırıyorum.
Tetikleme anlayışım yanlış mı yoksa sadece garip bir kapsam mı kullanıyorum?
Düzenleme: Nabız treni 300μs genişliğinde, 2ms aralıklarla tekrarlanır ve 500μs tetikleme tutma değerine sahibim. Bekletmeyi ayarlamak, bir darbenin tetikleyiciden önce olduğu gerçeğini değiştirmedi.
Düzenleme 2:
Analog osiloskopun kullanılması da dahil olmak üzere sinyalin daha fazla analizinden sonra, bazen nabız süresinin 300μs yerine yaklaşık 350μs olduğunu belirledim. Bu kod üreten çerçevelerde bir aksaklık olabilir.
352μs'lik bir bekleme süresinin beklenen sonucu üreteceğini keşfettim, ancak her seferinde ve sonra ekstra bir darbe tetikleyiciden önce geliyor.
Hem nabzı hem de mevcut nabzı göstermek için bazı çerçeveler kaydettim:
Yatay zaman tabanını darbelerin süresini görecek kadar uzun ayarlarsam, aralarında her zaman en az 1,7 ms olduğu görülür:
Önde gelen darbenin kaynaktan gelen bir "aksaklık" sonucu olduğunu düşünüyorum, ancak 360μs'den fazla tetikleme tetiklemesinin hala beklenmedik öncü darbeyi nasıl ürettiğinden emin değilim.