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

Adresleme, Tahkim ve Tanımlama: Mesaj Denetleyiciye Nasıl Ulaşır?

Vetes Mühendislik > Adresleme, Tahkim ve Tanımlama: Mesaj Denetleyiciye Nasıl Ulaşır?

Veri Yolu Tahkimi ve Mesaj Önceliği

Mesaj tahkimi (iki veya daha fazla CAN kontrolörünün veri yolunu kimin kullanacağı konusunda anlaştığı süreç), veri iletimi için hazır bant genişliği açısından büyük önem taşır.

 

Herhangi bir CAN kontrol cihazı, boşta bir veri yolu tespit ettiğinde bir iletim başlatabilir. Bu, iki veya daha fazla kontrolörün aynı anda (neredeyse) bir mesaj başlatmasına neden olabilir. Çatışma aşağıdaki şekilde çözülür. İletim yapan düğümler gönderim yaparken veriyolunu izler. Bir düğüm kendisi çekinik bir seviye gönderirken baskın bir seviye tespit ederse, derhal tahkim sürecinden çıkar ve bunun yerine bir alıcı olur. Tahkim tüm hat üzerinde gerçekleştirilir ve veri yolunda tam olarak bir verici kalır. Bu düğüm hiçbir şey olmamış gibi iletime devam eder. Diğer potansiyel vericiler, veri yolu bir dahaki sefere müsait olduğunda mesajlarını yeniden iletmeye çalışacaktır. Tahkim sürecinde zaman kaybedilmez.

 

Bu bit-odaklı tahkimin başarılı olması için iki düğümün aynı Tahkim Alanını iletememesi gerekir. Bu kuralın bir istisnası vardır. Eğer mesaj veri içermiyorsa, herhangi bir düğüm bu mesajı iletebilir.

 

Hat kablolu ve baskın bit 0 (sıfır)’dır. Bu yüzden sayısal olarak en düşük Tahkim Alanına sahip mesajın tahkimi kazanacağı sonucuna varılır.

 

S: Bir düğüm veri yolunda yalnızsa ve iletim yapmaya çalışırsa ne olur?

 

C: Düğüm elbette tahkimi kazanacak ve mutlu bir şekilde mesaj iletimine devam edecektir. Ancak onaylama zamanı geldiğinde… ACK slotu sırasında hiçbir düğüm baskın bir bit göndermeyecektir. Bu nedenle verici bir ACK hatası algılayacak, bir hata bayrağı gönderecektir. Sonrasında iletim hata sayacını 8 artıracak ve yeniden iletime başlayacaktır. Bu 16 kez gerçekleşecek; ardından verici hata pasif duruma geçecektir. Hata sınırlama algoritmasında özel bir kural vardır. Buna göre düğüm hata pasif durumdaysa ve ACK hatasıysa iletim hata sayacı daha fazla artırılmaz. Böylece düğüm, en azından birisi mesajı onaylayana kadar sonsuza kadar iletmeye devam edecektir.

Mesaj Adresleme ve Tanımlama

CAN mesajlarında açık bir adres bulunmadığını bir kez daha belirtmek gerekir. Her CAN kontrolörü veri yolundaki tüm trafiği alır ve donanım filtreleri ile yazılımın bir kombinasyonunu kullanarak mesajın “ilgili” olup olmadığını belirler.

 

Aslında CAN’de mesaj adresi diye bir kavram yoktur. Bunun yerine, mesajların içerikleri mesajın herhangi bir yerinde bulunan bir tanımlayıcı ile tanımlanır. CAN mesajlarının “içerik adresli” olduğu söylenir.

 

Geleneksel bir mesaj adresi “İşte X düğümü için bir mesaj” gibi kullanılır. İçerik adresli bir mesaj ise “İşte X etiketli veri içeren bir mesaj” şeklindedir. Bu iki kavram arasındaki fark küçük ama önemlidir.

 

Arbitrasyon Alanının içeriği, Standart uyarınca, mesajın veri yolundaki önceliğini belirlemek için kullanılır. Tüm CAN denetleyicileri ayrıca Arbitrasyon Alanının tamamını (bazıları sadece bir kısmını) donanım filtreleme sürecinde bir anahtar olarak kullanacaktır.

 

Standart, Tahkim Alanının bir mesaj tanımlayıcısı olarak kullanılması gerektiğini söylemez. Yine de bu çok yaygın bir kullanımdır.

Temel CAN ve Tam CAN

“Temel CAN” ve “Tam CAN” terimleri CAN’ın çocukluk döneminden kaynaklanmaktadır. Bir zamanlar programcıya DPRAM tarzı bir arayüz sağlayan Intel 82526 CAN denetleyicisi vardı. Daha sonra Philips, FIFO (kuyruk) odaklı bir programlama modeli ve sınırlı filtreleme yetenekleri kullanan 82C200 ile ortaya çıktı. İki programlama modelini birbirinden ayırmak için insanlar nedense Intel yöntemini “Tam CAN” olarak adlandırdılar. Philips yöntemini ise “Temel CAN” olarak adlandırdılar. Günümüzde çoğu CAN kontrol cihazı her iki programlama modeline de izin vermektedir, bu nedenle “Tam CAN” ve “Temel CAN” terimlerini kullanmak için bir neden yoktur – aslında bu terimler karışıklığa neden olabilir ve kaçınılmalıdır.

 

Elbette, bir “Tam CAN” kontrol cihazı bir “Temel CAN” kontrol cihazı ile iletişim kurabilir ve bunun tersi de geçerlidir. Herhangi bir uyumluluk sorunu yoktur.

 

Sadece açıklığa kavuşturmak için: bu kurs Klasik CAN veri yoluna bir giriş sağlamaktadır. Buradaki tüm bilgiler CAN’ın 1986’daki ilk kabulünden 2011’e kadar bilinen halini, yani şu anda “Klasik CAN” olarak adlandırılan halini anlatmaktadır. Ancak 2011 yılında Bosch, “CAN FD” olarak adlandırılan yeni bir CAN iterasyonunu geliştirmeye başladı. “FD”, “esnek veri hızı” anlamına gelmektedir.

 

CAN FD, 2011 yılından bu yana yeni nesil CAN olarak benimsenmiş ve SAE spesifikasyon toplantılarında sürekli olarak geliştirilerek çip ve alet üreticileri tarafından uygulanmıştır.

Tanımlayıcı Değerler Üzerine Bir Not

Tanımlayıcıda 11 (CAN 2.0A) veya 29 (CAN 2.0B) bitin mevcut olduğunu söyledik. Bu tam olarak doğru değildir. Belirli bir eski CAN denetleyicisiyle (tahmin edin hangisi?) uyumluluk nedeniyle, tanımlayıcılarda en önemli 7 bitin hepsi bir olarak ayarlanmamalıdır, bu nedenle 11 bitlik tanımlayıcılar için yalnızca 0..2031 tanımlayıcıları kalır ve 29 bitlik tanımlayıcıların kullanıcısı 532.676.608 farklı değer kullanabilir.

 

Diğer tüm CAN kontrolörlerinin “yasadışı” tanımlayıcıları kabul ettiğini, bu nedenle modern bir CAN sisteminde 2032..2047 tanımlayıcılarının kısıtlama olmaksızın kullanılabileceğini unutmayın.