Select Sidearea

Populate the sidearea with useful widgets. It’s simple to add images, categories, latest post, social media icon links, tag clouds, and more.

hello@youremail.com
+1234567890

CAN-BUS Osiloskop Resimleri

Vetes Mühendislik > CAN-BUS Osiloskop Resimleri

İşte 1 Mbit/s hızında çalışan, tamamen normal bir ISO 11898 CAN veri yolundan bir resim. Alıcı-verici bir 82C251’dir; başka bir deyişle, fiziksel katman ISO 11898 tarafından belirtilen katmandır.

Ölçüm CAN_H ve GND arasında yapılmıştır. Durgun ve çekinik veri yolu gerilimlerinin 2,5 V civarında olduğuna dikkat edin. Baskın bir bit iletildiğinde voltaj 3,5V civarına yükselir.

Şimdi aynı veri yolu, ancak ölçüm CAN_L ve GND arasında yapıldı:

İşte 125 kbit/s hızında gönderilen başka bir mesaj. Mesajın (11 bitlik) tanımlayıcısı 300 ya da onaltılık olarak 12c’dir. Yakından baktığınızda mesajdaki ilk bitleri tanımlayabilmeniz gerekir.

İşte daha zor bir resim. Yukarıdaki ile aynı mesajı gösteriyor, hala (11-bit) tanımlayıcı 300 ve hala 125 kbit/s, ancak CAN veriyolunda sonlandırma yok. CAN kablosu kısa bir düz şerit kabloydu.

Peki, ne oluyor? Bu 125 kbit/sn, yani bir bit 8 mikrosaniyedir.

 

  • İlk olarak verici bir başlangıç biti gönderir. Bu mantıksal bir ‘0′, yani baskın bir seviye.
  • Ardından tanımlayıcı iletilir. 300 ondalık sayı onaltılık olarak 12c veya ikilik olarak 001 0010 1100’dür. İlk iki sıfır gayet iyi iletilir. – Bu, resimde görülen 24 mikrosaniyelik baskın seviyeyi açıklar.
  • Daha sonra bir ‘1′ iletilmelidir, ancak veri yolu sonlandırılmadığı için yükselen eğim olması gerektiği gibi değildir. İletim yapan düğüm şimdi veri yolunda bir ‘0′ gördüğünü düşünecektir.
  • Bu arbitrasyon aşamasında gerçekleştiğinden, verici iletimi durduracaktır – başka bir düğümün iletim yaptığını düşünür. Veriyolu artık resesif olarak kalacaktır, çünkü aslında kimse iletim yapmamaktadır.
  • 6 resesif bitten sonra, hem verici hem de alıcılar bir malzeme hatası tespit edecek ve hata işleme başlayacaktır. Bu noktada 80 mikrosaniye geçmiştir (bir başlangıç biti, iki ‘0′, bir yanlış yorumlanmış bit ve altı çekinik bit – toplam 10 bit = 80 mikrosaniye).
  • Doldurma hatasını tespit eden tüm düğümler şimdi bir hata çerçevesi iletmeye başlayacaktır. Bu durumda hata çerçevesi pasiftir çünkü yukarıdaki resim çekilmeden önce bir dizi hata üretilmiştir, bu nedenle verici hata pasiftir. Pasif bir hata çerçevesi aktif bir hata çerçevesi gibidir, ancak resesif bir seviyede iletilir ve bu nedenle veri yolunda görünmez.
  • Pasif hata çerçevesi 6 bitlik süreler için geçerlidir.
  • Daha sonra tüm düğümler hata sınırlayıcı olarak adlandırılan 8 resesif bitlik bir süre bekler.
  • Daha sonra tüm düğümler ara olarak adlandırılan 3 resesif bitlik bir süre bekler.
  • Yukarıdaki sayıları topladığımızda, 1+6+6+8+3 = 24 çekinik bit = 192 mikrosaniyeye ulaşırız (resme bakın!)

Kıssadan hisse: CAN veriyolunu daima sonlandırın! Yansımalar mutlaka zarar vermez, ancak kenarların kötü şekli iletişimi öldürecektir.

 

İşte başka bir zaman ölçeğinde aynı CAN veriyolu:

CAN veriyolu yaklaşık 2 desimetre (8 inç) uzunluğundaydı. Alt vuruş ve çınlama görülebilir ancak bu durumda açıkça önemli değildir. Bu kez suçlu yavaş yükselen kenardır.

 

İşte aynı kurulum, ancak bu sefer hem verici hem de alıcı hata aktif:

Ne oluyor?

 

  • Tıpkı yukarıdaki şekilde olduğu gibi, üç ‘0′ iletilir (24 mikrosaniye sürer) ve bir sonraki bit yanlış yorumlanır, böylece verici arbitrasyonu kaybettiğini düşünür.
  • Verici 6 bit bekler ve sonra bir stuff hatası tespit eder. Yanlış yorumlanan bit ve 6 bit 56 mikrosaniye sürer.
  • Verici ve alıcı şimdi bir hata çerçevesi iletmeye başlar. Bu 6 baskın bittir (48 mikrosaniye).
  • Hata çerçevesini ileten düğümler şimdi 8 çekinik bit bekler ancak yükselen eğim kötü olduğu için ilk bit yanlış yorumlanır. Düğümler bunun bir hata çerçevesi ileten başka bir düğüm olduğunu düşünecek ve bunu görmezden gelecektir.
  • Veri yolu tekrar resesif seviyeye geldiğinde tüm düğümler 8 bit bekler.
  • Sonra 3 resesif bitlik bir ara gelir.
  • Resimde görüldüğü gibi 3+9 = 12 bit = 96 mikrosaniye.
  • Daha sonra verici aynı sonuçla tekrar dener. Bir süre sonra verici hata pasif hale geçer ve daha önce açıklandığı gibi davranır.

İşte başka bir resim. Bu kurulumda (uygun şekilde sonlandırılmış) CAN veri yolu üzerinde sadece tek bir düğüm vardır. Bir mesaj iletmeye çalışıyor, ancak kimse dinlemiyor.

Peki neler oluyor?

 

  • İlk olarak, verici tüm mesajı gönderir.
  • Verici ACK yuvasında baskın bir seviye bekler, ancak kimse dinlemediği için ACK gelmez, bu nedenle verici bir Onay hatası algılar.
  • Verici daha sonra pasif bir hata bayrağı iletir (pasiftir çünkü yukarıdaki resimde birkaç saniyedir göndermeye çalışmaktadır, bu nedenle artık hata aktif değildir).
  • Pasif hata bayrağını bir hata sınırlayıcısı ve ara takip eder.
  • Bu düğüm bir mesaj göndermeye çalışıp başarısız olduğu için, yeni bir iletim başlatmadan önce 8 bit daha beklemek zorundadır. Buna CAN spesifikasyonunda ‘iletimi askıya alma’ denir.
  • İletim yapan düğümün de tx hata sayacını 8 artırması gerekir, ancak CAN spesifikasyonundaki özel bir durum nedeniyle, bu yalnızca verici hata aktif olduğu sürece gerçekleşir. Verici hata pasif duruma geçtiğinde (bu durumda) tx hata sayacını artırmaz ve sonuç olarak iletim sonsuza kadar yeniden denenir.

Yani yukarıdaki resimde gördüğünüz şey bir mesajın iletilmesi ve ardından hata bayrağı, hata sınırlayıcısı, ara ve iletimin askıya alınmasının toplamı olan küçük bir duraklamadır. Mesaj daha sonra yeniden iletilir ve yeniden iletilir ve böyle devam eder.