Dalga formum neden tetikleyiciden önce başlıyor?


10

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.

Osiloskop Görüntüsü

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.

Uzak tutma değeri

Hem nabzı hem de mevcut nabzı göstermek için bazı çerçeveler kaydettim:

Öncü nabız yok Öncü nabız mevcut

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:

Div başına 1 ms'de veri sinyalleri

Ö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.


2
Tetik menünüzü kontrol edin - nabız belirli bir süre düşük olduğunda tetikliyor olabilirsiniz; bu, gösterdiğiniz ekran görüntüsü ile eşleşir. Bunun yerine kenar tetiklemeyi deneyin.
Andy aka

Ayrıca bir "giriş seviyesi" kapsamı var, Owon SDS7102 ve bazen de ilk tetiği kaçırır. Davranış zaman tabanına / örnekleme hızına / bellek ayarlarına ve sinyalin frekansına bağlı gibi görünmektedir. Belki siz de zaman tabanı / örnekleme hızı ayarlarından etkilenebilirsiniz?
AndrejaKo

1
18.000 $ kapsamın geri dönüp 5 ms'nin altında geri çekilemediğini gördüm. Gerçekten çok üzücü. 2s aralık ile en azından bu senin sorunun olmamalı.
darron

1
@darron 2s bir yazım hatasıydı - darbeler 2 ms aralıklarla. Kapsamın tetikleyiciyi yeterince hızlı yeniden silahlandırdığını düşünüyorum, ancak soru güncellemesinde bahsettiğim gibi diğer faktörler de oyunda.
JYelton

Yanıtlar:


3

Muhtemelen bir çeşit tetikleyici filtreleme veya gecikme açıktır. Aksi takdirde, düzenli bir yükselen kenar tetiği, ikinci darbeyi yakalamalı, ikincisine kadar beklememeliydi. Tetik menüsüne dikkatlice bakın ve "filtre", "gecikme", "durdurma" ve benzerleri denilen herhangi bir şeyi kapatın.


Soruyu düzenledim. Veri akışı 2 saniyede bir, 2 saniyede bir tekrarlanır. Hiçbir filtrelemenin etkinleştirilmediğinden emin oldum ve tetik tetikleme darbeli trenden biraz daha uzun. Analog (BK 2190B) kapsamım ilk saat darbesinde gayet iyi tetikliyor. Ancak dijital olan her zaman özlüyor. Dijital kapsamı döndürmek dışında başka ne yapacağımdan emin değilim, çok yetenekli görünmüyor.
JYelton

3

Aynı sinyal, 350μs ila 1.5ms veya daha fazla tetik tetikleme değerleri ile bir Tektronix TDS3014 kullanarak iyi bir şekilde tetiklenir.

Tek TDS3014 Sonucu

Bu nedenle cevabın, bir şey doğru görünmediğinde sinyalleri birden fazla kapsamla çapraz kontrol etmektir.

BK 2542B'yi, ilk darbeyi kaçırmadan veya saat darbelerinin sayılamaz hale getirdiği rastgele "aksaklık" veya "çöp" göstermeden saati düzgün bir şekilde göstermesini sağlayamadım.


0

Dostum, SPI veri yolu yükselişte değil, saat çizgisinin düşüşünde senkronize edildi, bu yüzden her şey yanlış görünüyor!

Saygılarımızla, Max


Bahse girerim, kapsam SPI'nın nasıl senkronize edildiğini umursamıyor, tek gördüğü A sinyali ve B sinyali.
Dmitry Grigoryev

0

Teknik olarak kapsamınız yanlış bir şey yapmadı: yükselen saat kenarında senkronize etmek istediniz ve tüm ekran görüntüleriniz. Kimse bunun ilk nabız olacağını söylemedi . Kapsam yeterince erken kayda başlarsa, tetikleyici ilk darbeyi vurmalıdır, değilse - zor şans, 2 numaralı resmi elde edersiniz.

Tam olarak anlayamadığım şey, tetikleyicinizin neden SS sinyalinde değil, CLK'da olmasını istediğinizdir. SS'deki düşüş, işlemin başında olduğunuzu garanti eder, yükselen CLK kenarı bunu yapmaz.

EDIT: her zaman tam olarak bir darbe kaçırmış gibi göz önüne alındığında, sonuçta kapsamda bir hata gibi görünüyor. Yine de, SS'de tetiklemenin yardımcı olup olmadığına bakın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.