CAN BUS Senkronizasyon Mekanizması/Adresleme Mekanizması/Tahkim Mekanizması Analizi

Jan 17, 2025 Mesaj bırakın

CAN (CONTRORERARAreAnetwork) Bus, IE Denetleyici Alan Ağ Bus, endüstriyel kontrol, tıbbi elektronik, ev aletleri ve sensör alanlarında yaygın olarak kullanılmaktadır. Şu anda, Makalenin CAN Otobüs Protokolü Analizi için Yurtiçi ve Yabancı Literatür Esas olarak CAN Protokol Çerçevesi Yapısı için Analizin Zamanlama Özellikleri veya Bit Zamanlama Özellikleri, Literatür Nadiren CAN VERİYORUM PROTOCOL ANALİZİ İLETİŞİMİNDE İLETİŞİM Perspektifindendir. , nadiren mühendislik uygulamaları perspektifinden, makalenin derinlemesine analizi için CAN veri yolu iletişim mekanizması.


1. Uygulama özellikleri ve yapısal kompozisyon olabilir


CAN BUS protokolü, IS011898, IS011898, 125kbps ila 1Mbps iletişim oranına sahip yüksek hızlı bir Can Standardı olan iki uluslararası standardı vardır, bu da maksimum 40m/1Mbps uzunluğuna sahip kapalı döngü veriyolu. ISO11519, 10 ila 125kbps'lik bir iletişim oranı ile düşük hızlı bir CAN iletişim standardı tanımlar, bu da maksimum 40m/1Mbps uzunluğuna sahip düşük hızlı bir CAN iletişim standardıdır. ISO11519, 10 ila 125kbps düşük hızlı CAN iletişim standardı, açık döngü veriyoluna ait, maksimum 1km / 40kbps uzunluğuna ait iletişim oranını tanımlar. Sınırlamaların elektriksel özellikleri, yani otobüs dalga formundaki kapasitansın ve direnç dağılımının veri yolu dağılımı nedeniyle, CAN veriyolundaki maksimum düğüm sayısı 110'dır. Uygulama mühendisi için sadece baud hızı ve bit parametreleri için alıcı -verici tarafının, alıcı -verici düğümlerinin veri senkronizasyonunu elde etmek için doğru yapılandırılması gerekir. Mesaj işaretleyici filtrelemesindeki CAN denetleyici donanımı aracılığıyla noktadan noktaya, noktadan çok noktaya ve küresel yayın ve veri iletmenin ve almanın diğer yollarını gerçekleştirebilir. Aynı zamanda, CAN telgraflarının kısa çerçeve yapısı nedeniyle ve her çerçeve, çok düşük bir veri hata oranı sağlayan bir CRC kontrol kısmı içerir.

 

CAN uygulama katmanı, işletim sistemi (bir işletim sistemi olmayan uygulamalarda bir arka plan programı olarak uygulanır) ve sistem uygulamasındaki sürücü birlikte ISO referans modelindeki uygulama katmanı işlevlerini gerçekleştirir. Bunlar arasında, CAN uygulama katmanı kimlik gruplandırma, veri yükleme gönderme, veri işleme ve uygulama katmanı veri yolu güvenliği izleme tanımlar; İşletim sistemi/arka plan programı, CAN sürücüsünü CAN kesintisi geldikten sonra verileri işlemek için planlamak için kullanılır; Sürücü başlatma (denetleyici çalışma durumu ayarı, baud hızı ayarı, kabul filtresi yapılandırması), alıcı -vericiye sürücü ve anormallik taşıma programını içerir.


Şanzıman ortamı katmanı için, çevresel parazit gürültüsüne, veri yolu uzunluğuna vb. Güçlü girişim durumunda gürültü korumalı tel kullanılmalıdır; Yolu dalga formu bozulmasının neden olduğu kapasitansın dağılımı ve veri yolu seviyesinin zayıflamasından kaynaklanan direnç dağılımının dağılımı nedeniyle, veriyolun uzunluğu, kullanılan iletim ortamının direnç ve kapasitans özelliklerinin dağılımını dikkate almalıdır; Aynı zamanda, yüksek hızlı otobüsün kullanımı, otobüsün eşleşen direncinin değerini belirlemek için de denemeniz gerekiyorsa.


CAN denetleyicisinin gerçekleştirilmesi için, NXP'nin LPC2000 serisi mikro denetleyicileri gibi sistem ana çipine entegre CAN denetleyicisini seçebilir veya Can Controller gibi CAN denetleyicisinin ayrık bileşenlerini de kullanabilirsiniz. , CTM1050, TJA1050 vb. dağılım kapasitans özellikleri; Aynı zamanda, yüksek hızlı bir otobüs kullanırsanız, deney yoluyla otobüsün eşleşen direncini belirlemeniz gerekir. Çevresel parazit gürültüsü büyükse, kontrolör ve alıcı -verici arasında bir izolasyon çipi eklemek veya CAN alıcı -vericisinin entegre izolasyon fonksiyonunun kullanılması gerekir. NXP'nin yeni LPC11C24 mikrodenetleyici çipinin sadece bir CAN denetleyicisini entegre etmekle kalmayıp, aynı zamanda CAN veri yolu sistemlerinin hızlı geliştirilmesi için iyi destek sağlayan bir CAN alıcı -verici işlevini entegre ettiğini belirtmek gerekir. Buna ek olarak, veri yolunun uzunluğunun gerçek uygulamasına ve veriyol üzerindeki düğüm sayısına göre, alıcı -vericinin şanzımanının ve alımının gecikme süresini de dikkate almak gerekir.


CAN sürücüsü katmanı ve uygulama katmanı için sürücü, CAN başlatmayı içerir (donanım etkinleştirme, baud hızı ayarı, denetleyici çalışma modu ayarı ve kabul filtresi kimlik tablosu yapılandırması), sürücüyü alır/iletir ve üst katmana arayüz işlevlerini sağlar, bu Kabul filtresi kimliği tablosu yapılandırmasının, uygulama katmanı tarafından sistem kimliğinin gruplandırılmasına dayanması gerektiğini açıklamak gerekir; CAN Uygulama Katmanı, veri yolu üzerindeki düğümler arasında veri gönderme/alma ilişkisine dayanarak veri paketleme gerçekleştirir. Can uygulama Katmanı Paket kimliği gruplaması için veri yolundaki düğümler arasında veri gönderme ve alma, veri paketleri gönderme, veri işleme ve uygulama katmanı veri yolu güvenliği izleme. Buna ek olarak, yaygın olarak kullanılan CAN BUS üst katman protokolleri Canopen, DeviceNet ve ICAN'ı içerir.


2. Bus senkronizasyon mekanizması analizi olabilir


İletişim sürecinde, çözülmesi gereken en önemli sorunlardan biri, gönderen ve alıcı bitişlerinde verilerin senkronizasyonunun nasıl sağlanacağıdır, yani alıcı sonu gönderen sonu tarafından gönderilen verileri doğru bir şekilde alabilir ve ayrıştırabilir. temel bant iletişimine ait bir tür eşzamansız seri iletişim protokolüdür ve senkronizasyonu üst düzey veri bağlantı kontrol protokolünden (HDLC) gerçekleştirilir. Spesifik olarak, CAN veri yolu protokolünün senkronizasyonu, aşağıda açıklandığı gibi 3 yönden elde edilir.


2.1 Parametre Ayarı


Yazılım yoluyla iletişimin her iki tarafı da aynı baud hızını, aynı faz ayarlama segmenti uzunluğunu, aynı senkronizasyon atlama genişliği, yukarıdaki üç element seti boyunca, CAN veriyolunun iletim sürecindeki bit uzunluğunu tanımlar. Şekil 2'de gösterildiği gibi Bit yapısı olan örnekleme noktasının konumu gibi, Şekilde, harici bir saatin frekans bölümü ile elde edilen TQ zamanının protokolünde tanımlanan Can saati. CPU'nun periferik saati. CAN denetleyicisinin temel saat sinyali, harici saatin frekansı veya CPU periferik saatinin bölünmesiyle elde edilir. SS segmenti başlangıç ​​segmentine karşılık gelir ve bu dönemde veriyol üzerindeki atlama kenarı gerçekleşmelidir, TESG1 şanzıman segmentine ve faz ayar segmenti 1'e karşılık gelir ve TESG2, faz ayarlama segmenti 2'ye ve yüksek- için karşılık gelir. Hız veri yolu, denetleyici TESG1 ve TESG2 arasındaki otobüsü örnekler ve ayırt eder.

 

o4YBAF_kARqAUmkJAAC0vUwBkGQ744.png

 

2.2 Sabit Çerçeve Yapısı


Can Protokol, CAN2'de BUS durumunu izlemek için CAN denetleyicisini ve alıcı -vericisini kolaylaştırmak için sabit bir çerçeve yapısını açıkça tanımlar. Tahkim alanı, 11- bit tanımlayıcısı kullanan standart çerçeve, genişletilmiş çerçevede 29- bit tanımlayıcısı, belirli standart vardır Çerçeve, genişletilmiş çerçeve yapısı.

 

2.3.3 Sert senkronizasyon ve yeniden senkronizasyon


2.3.1 Sert senkronizasyon


Sözde sert senkronizasyon, otobüs boşta kalma döneminde (yani, otobüs seviyesinin sürekli bir resesif bit olarak ifade edildiği), kontrolör resesif seviyeden baskın seviyeye sıçramayı algıladığında, şu anda orada olduğu anlamına gelir. veri göndermeye başlamak için veri yolunda bir istasyondur, daha sonra CAN denetleyicisinin bit durumu sayacını Şekil 2'de gösterilen SS segmentine senkronize etmeye zorlar ve aynı zamanda bit saati yeniden yazmaya başlar. Bu nokta ileri (Can bit süresi üst yazılım katmanı tarafından ayarlanır). Çerçeve tespitinin başlaması için sert senkronizasyon kullanılır.


2.3.2 Resenkronizasyon


CAN BUS protokolünde, resenkronizasyon bit doldurma mekanizmasına göre uygulanır. HDLC protokolüne benzer şekilde, CAN'ın çerçeve yapısında, aynı polaritenin beş ardışık biti, çerçevenin başlangıcından CRC sekansı bitine kadar tespit edildiğinde, CAN denetleyicisi otomatik olarak biraz zıt polariteyi sokar. Yeniden senkronizasyon, veri iletimi sırasında CAN denetleyicisinin, otobüsdeki atlama kenarı ile düğümün dahili bit süresi arasındaki farkı tespit ederek faz ayar segmenti 1 ve faz ayar segmenti 2'yi ayarlamasıdır ve ayar boyutu senkronizasyon tarafından programlanır Atlama genişliği ve ayar boyutu TQ olarak ayarlanır. Spesifik ayar kuralı, iletim işleminde, CAN denetleyicisi tarafından algılanan veri yolu üzerindeki atlama kenarının, düğümün dahili SS bit süresi içinde bulunduğunda CAN denetleyicisi tarafından ayarlanmasıdır, o zaman ayarlama gerekmez; Atlama kenarı TESG1 segmentinde bulunuyorsa, veri yolunda düğümün bit zamanına göre bit süresinde bir gecikme olduğu anlamına gelir, o zaman CAN denetleyicisi düğümün TESG1 bit süresini uzatır ve eğer Gecikme süresinin değeri (t 0}}}) senkronizasyon atlama genişliğinden daha büyüktür, uzatma süresi senkronizasyon atlama genişliği değeridir, aksi takdirde CAN denetleyicisi Düğümün, otobüsün bit süresi arasındaki farkı genişletir; Atlama kenarı TESG2 segmentinde bulunuyorsa, veri yolundaki bit süresinin düğümün bit süresine göre istila edildiğini gösterirse, CAN denetleyicisi düğümün TESG2 bit süresini azaltır, spesifik ayar kuralları benzerdir. TESG1 segmentininkiler.


3. Otobüs Adresi Mekanizması Analizi


Endüstriyel Ethernet, RS485 ve diğer otobüslerden farklı olarak, CAN BUS, düğüm adresi yerine paket kimliği aracılığıyla veri gönderir ve alır, yani Can veri yolundaki düğümlerin sabit bir adres yoktur, bunun yerine her düğümün yapılandırılması gerekir. Kimlik tablosuna sahip yazılım (düğümün kabul filtre biriminde) ve veri yolundaki veri paketinin kimlik numarası düğümün kimlik tablosunda varsa, paket başarıyla geçerse Bu düğümün kabul filtre biriminin kabulü ve üst yazılım işleme birimine gönderilecek ve buna göre işlenecek, aksi takdirde paket atılır. Örneğin, veri yolu üzerindeki A düğümü B düğümüne bir paket göndermek istiyorsa, paketin kimlik numarası B düğümünün kimlik tablosunda bulunmalıdır. Benzer şekilde, Düğüm A, bir paket otobata yayınlamak istiyorsa, Paketin kimlik numarası, veri yolundaki diğer tüm düğümlerin kimlik tablolarında bulunmalıdır. Daha önce de belirtildiği gibi, kimlik tablosu yazılım yoluyla yapılandırılır, ancak kabul filtreleme işlevi, CAN denetleyicisindeki bir donanım ünitesi olan kabul filtresi aracılığıyla gerçekleştirilir, bu nedenle kabulün neden olduğu gecikme hız açısından küçüktür. Buna ek olarak, bu adres mekanizmasını kullanmanın avantajı, bu veri yolu kullanan sistemin oldukça esnek olması, yani eklenen veya silinen yeni düğümlerin sistemin orijinal düğümleri arasındaki iletişimi etkilememesidir.

 

Aşağıdakiler, CAN veri yolu sisteminin adres yapılandırma yöntemini belirtmek için örnek olarak NXP'nin LPC2478 yongasıyla entegre edilmiş CAN denetleyicisini alacaktır. Şekil 3'te gösterildiği gibi, önce veri yoluna iletilecek veri paketlerine, yani paket kimliğine ve karşılık gelen düğüm planlamasına göre sınıflandırılır, örneğin sistemimizde esas olarak aşağıdaki paket türleri vardır: sorgu paketleri, Sorgu paketlerinin ve kontrol komut paketlerinin düğüm özelliklerine karşılık gelen kontrol komut paketleri (eylem ve parametre paketleri dahil), alarm paketleri ve geri bildirim parametre paketleri esas olarak her bir köle ünitesine gönderilen ana istasyondur Alarm veri paketleri ve geri bildirim parametresi veri paketleri esas olarak köleyin her düğüm ünitesinden ana birim düğümüne gönderilir. Ardından, her bir düğümün kabul filtresi birimi ID sınıflandırmasına göre yapılandırılır ve spesifik yapılandırma yöntemi aşağıdaki gibidir: İlk olarak, ilgili kabul filtresi çalışma modlarını düğüm özelliklerine göre yapılandırın: Kapalı Mod (veri yolu mesajları almıyor) , Bypass modu (veri yoludaki tüm mesajları alır) ve normal çalışma modu (donanım filtreleme). Normal çalışma modu için yapılandırma, o zaman karşılık gelen kabul filtresi tablosunu (kimlik tablosu) yapılandırmanız gerekir, yani düğüm, ilgili kimlik tablosu alanını doldurmak için düğüm denetleyicisinin paket kimlik numarasını alması gerekir. Ve bu, CAN veri yolu düğümü adresi tahsis çalışmasını tamamlar. Genel olarak konuşursak, kimlik tablosu aşağıdaki dört alana ayrılmıştır: Standart Çerçeve Tanımlayıcı Alanı, Standart Çerçeve Grubu Biçimi Tanımlayıcı Alanı, Açık Genişletilmiş Çerçeve Biçimi Tanımlayıcı Alanı ve Genişletilmiş Çerçeve Grubu Formatı Tanımlayıcı Alanı. Bunlar arasında, açık format tek bir bağımsız kimlik tanımlayıcısıdır, grup biçim alanı art arda numaralı kimlik tanımlayıcıları vardır.


4. Otobüs tahkim mekanizması analizi olabilir


BUS Tahkimi, veri yolu protokolü işleme yöntemlerini göndermek için veri yolunun aynı anda birden fazla düğümü olduğunda ifade eder. Can Bus, tahribatsız bir tahkim mekanizması kullanır, yani veri göndermek için aynı anda veri yolunda birden fazla düğüm, yüksek öncelikli paket düğümü tahkim kazançlarıyla, veri göndermeye devam edebilirsiniz ve diğer tahkim hatası Düğüm, gönderme durumundan çıkacak ve diğer veri yolu tahkim mekanizmalarıyla (LAN CSMA gibi) bir alıcı düğüme dönüşecektir. (Diğer otobüs tahkim mekanizmaları (örneğin LAN'ın CSMA/CD'si) ile karşılaştırıldığında, sadece gönderilen verileri yok etmekle kalmaz, aynı zamanda diğer otobüslerle karşılaştırıldığında CAN veriyolunun avantajlarından biri olan verilerin gecikmesine neden olmaz. ve esas olarak Can Bus'un aşağıdaki iki özelliği tarafından gerçekleştirilir: 1) CAN veriyolunun çizgisi ve özellikleri, yani, otobüsteki birden fazla düğüm aynı anda baskın ve görünmez seviyeler gönderdiğinde, bus. Seviye baskın seviyedir. 2) CAN veriyolunun çizgisi ve karakteristiği, yani veri yolu üzerindeki birden fazla düğüm aynı anda baskın ve görünmez seviyeler gönderdiğinde, veri yolu seviyesi baskın seviyeyi gösterir. 2) Can Controller, tahkimde, denetleyici görünmez seviye gönderdiğinde, ancak veri yolu görünür düzey olarak algıladığında, düğüm tahkimi başarısız olur ve alıcı düğüme dönüştüğünde veri gönderirken bile veri yolu durumunu izler.


5. Otobüs sağlamlık analizi olabilir


CAN BUS'un sağlamlığı, gerçek zamanlı tespiti ve düğüm ve veri yolu güvenliğinin izlenmesi yoluyla gerçekleştirilir, ayrıca CAN BUS, farklı sinyaller kullanılarak harici girişim sinyallerinin güçlü bir inhibisyonuna sahiptir. Özellikle aşağıda tartışılmıştır.


5.1 Otobüs dalga formunun gerçek zamanlı izlenmesi


CAN CHEALTER, güçlendirildikten sonra her zaman veri yolunda diğer düğümler tarafından gönderilen veri paketlerini izlemekle kalmaz, aynı zamanda hataların tespit edilmesi durumunda, veri paketlerini gerçek zamanlı olarak gönderme işleminde kendi başına gönderilen verileri de izleyecektir. Dolgu hataları, CRC hataları, biçimlendirme hataları veya yanıt hataları, düğüm, ilgili hata bayrağını göndermek için olduğu hatanın (hata etkinleştirilmiş veya hata tanınan durum) durumuna dayanacaktır. Aslında, sadece hata etkinleştirme sitesinin aktivasyon hata logosunu gönderdiğine (yani, arka arkaya 6 baskın bit, ardından 8 resesif Bit Logo tanımlayıcı karakterin) otobüs ve otobüsteki düğümler üzerinde bir etkiye sahip olacağına inanıyorum. Hata tanıma durumundaki düğüm, hata tanıma logosunun otobüs üzerinde aslında herhangi bir etkisi yoktur (otobüsün rölanti durumu ile gönderilen 6 resesif seviyesi aynıdır).


5.2 Düğüm ayrıcalıklarını belirlemek için düğüm durumunun gerçek zamanlı izlenmesi


Düğümler, otobüste gönderilen paketlere göre durumlarını gerçek zamanlı olarak gerçek zamanlı olarak değiştirir (hata ile etkinleştirilen, hatanın tanınan veya otobüs durumunu) değiştirir. Hata ile etkinleştirilen durumdaki düğümler normal olarak otobüs iletişimine katılır ve hata tarafından tanınan birimler otobüs iletişimine katılır, ancak bir sonraki gönderiyi başlatmadan önce 8 ek örtük bit göndermeniz gerekir. Tablo 1'de gösterildiği gibi, veri yoluna gönderilen paketler için 15- bit CRC dizisi, başlangıç ​​bitinin, tahkim alanının, kontrol alanının ve veri alanının (varsa) izlenmesini uygular, alıcı site Paketin CRC dizisini, verileri aldığında gönderen düğümle aynı algoritmaya göre oluşturur ve alınan CRC dizisi ile karşılaştırır, eğer farklıysa, o zaman orada olduğu anlamına gelir. bir hatadır ve alıcı düğüm, alıcı düğümün pakete yanıt vermeyeceği ve gönderen düğüm yanıt hatasını algılayacak ve paketi yeniden gönderecektir. Sonuç olarak, CAN BUS veri bağlantısı katmanı ve fiziksel katman aracılığıyla yüksek veri güvenliği ve veri yolu istikrarı elde etmiştir.


6. Sonuç


ISO11898 protokolü spesifikasyonuna dayanarak, makale, CAN veri yolu düğümü senkronizasyon mekanizmanın, düğüm adresi mekanizmasının, veri yolu tahkim mekanizmasının (yani veri yolu çatışması çözünürlük mekanizması) ve aynı zamanda aktarma açısından ve aynı otobüs sağlamlığı ayrıntılı olarak analiz eder. Time, gerçek sisteme uygulandığında, CAN veri yolu ve sistem katmanlı yapısının uygulama özelliklerini kısaca tanıtar, bu da çok önemlidir. CAN BUS protokolünün derinlemesine anlaşılması ve CAN BUS'un gerçek sisteme uygulanması. CAN otobüs protokolünü anlamak ve CAN otobüsünü belirli mühendislik projelerine uygulamak ve belirli gereksinimler için otobüs sistemlerini araştırmak veya geliştirmek için bir rehberdir.

Soruşturma göndermek

whatsapp

Telefon

E-posta

Sorgulama