Karşılaşacağınız bit hızları
ISO 11898, klasik CAN için 1 Mbit/s'ye kadar her bit hızına izin verir; ancak uygulama kısa bir listede buluşmuştur. Her değerin bir geçmişi ve tipik bir kullanım alanı vardır:
Bunların üzerinde, tipik olarak 2, 5 veya 8 Mbit/s olan CAN FD veri fazı hızları yer alır; bu hızlar yalnızca bir FD çerçevesinin bit hızı değişimi ile CRC ayırıcısı arasında geçerlidir. Ayrıntılar: Klasik CAN ve CAN FD. Her FD çerçevesinin arbitrasyon bölümü hâlâ tablodaki nominal hızlardan birinde, çoğunlukla 500 kbit/s'de yürür.
Bir bitin içi: zaman kuantumları ve segmentler
CAN denetleyicisi bir biti rastgele bir anda örneklemez. Nominal bit süresini, her biri tam sayıda CAN saat periyodundan oluşan zaman kuantumlarına (tq) böler ve bunları dört segmentte toplar:
Bitin tamamı 8 ila 25 zaman kuantumu içermelidir. Örnekleme noktası, Phase_Seg1 ile Phase_Seg2'nin sınırında yer alır ve genellikle bit süresinin yüzdesi olarak ifade edilir:
Örnekleme noktası = (1 + Prop_Seg + Phase_Seg1) / (1 + Prop_Seg + Phase_Seg1 + Phase_Seg2) × %100t_q = BRP / f_CAN · bit hızı = 1 / (N × t_q)Örnekleme noktasını seçmek
Geç bir örnekleme noktası sinyale hattı geçip oturması için en fazla zamanı tanır ve uzun ağların işine gelir. Daha erken bir nokta ise Phase_Seg2'de saat toleransı ve yeniden senkronizasyon için daha fazla yer bırakır; bu da sağlamlığın işine gelir. CANopen %87,5'i önerir ve düğümler arasında kabaca %85 ile %90 arasını tolere eder. CAN in Automation'ın CiA 601-3 belgesi, otomotiv CAN FD ağlarında %80'den geç nominal örnekleme noktalarına karşı uyarır. Araç üreticileri her ağ için kesin değerleri kendi şartnamelerinde sabitler.
En önemlisi tutarlılıktır. Bir segmentteki her düğüm neredeyse aynı noktada örnekleme yapmalıdır. Diğerlerinden çok daha erken ya da geç örnekleyen bir düğüm sessiz bir tezgâhta çalışmaya devam eder; uzun bir kablo demetinde ya da yalnızca gönderen taraf kendisi olduğunda arıza verir.
Senkronizasyon: saat teli olmadan hizada kalmak
CAN'de saat hattı yoktur ve her düğüm kendi osilatöründen çalışır. Onları hizada tutan iki mekanizma vardır:
- Çerçeve başında sert senkronizasyon: her alıcı bit zamanlamasını SOF'un resesiften dominanta kenarında yeniden başlatır; böylece tüm düğümler her çerçeveye vericiyle hizalı başlar.
- Çerçeve boyunca yeniden senkronizasyon: resesiften dominanta bir kenar Sync_Seg dışında geldiğinde denetleyici, Phase_Seg1'i uzatır ya da Phase_Seg2'yi kısaltır; bunu en fazla senkronizasyon atlama genişliği (SJW) kadar yapar. Klasik CAN'de SJW 1 ile 4 tq arasındadır ve hiçbir zaman Phase_Seg1'den büyük olamaz.
Yeniden senkronizasyon kenar ister; kenarları da bit doldurma sağlar: geçerli bir çerçevede resesiften dominanta iki kenar arasında 10 bitten fazlası geçemez. Bu sınır, iki klasik koşulla ifade edilen bir osilatör doğruluğu gereksinimine dönüşür:
Δf ≤ min(Phase_Seg1, Phase_Seg2) / (2 × (13 × N − Phase_Seg2)) ve Δf ≤ SJW / (20 × N)Toleransı milyonda onlarca parça (ppm) mertebesinde olan kuvars kristaller, klasik CAN'de bu sınırlara nadiren yaklaşır. Sınırlar, çok daha az hassas olan seramik rezonatörlerde ve her zamanlama hatasının çok daha kısa bir bite oranla ölçüldüğü CAN FD veri fazlarında belirleyici olmaya başlar.
Çözümlü örnek: 40 MHz saatten 500 kbit/s
CAN in Automation'ın yeni tasarımlar için önerdiği frekanslardan biri olan 40 MHz CAN saatine sahip bir denetleyici, 2 µs bit süreli 500 kbit/s'lik bir hatta çalışacak. Geçerli iki yapılandırma:
- 01Zaman kuantumunu belirleyin
2 µs'lik bit süresini seçtiğiniz N'ye bölün ve sonucun 25 ns'lik saat periyodunun tam katı olduğunu kontrol edin. N = 16, 125 ns verir (BRP 5); N = 20, 100 ns verir (BRP 4).
- 02Örnekleme noktasını yerleştirin
Phase_Seg2'yi örnekleme noktasını ağ şartnamesinin istediği yere koyacak şekilde seçin: %87,5 için 16'da 2 tq, %80 için 20'de 4 tq.
- 03Kalanı paylaştırın
Kalan kuantumları, her biri 1–8 tq sınırında kalacak biçimde Prop_Seg ile Phase_Seg1 arasında bölün.
- 04SJW'yi ayarlayın
Toleransı en üst düzeye çıkarmak için izin verilen en büyük değeri, yani 4 ile iki faz segmentinden küçük olanı kullanın.
- 05Toleransı kontrol edin
Seçenek A yaklaşık %0,49, seçenek B yaklaşık %0,78 osilatör hatasını tolere eder; ikisi de bir kristalin hatasının çok ötesindedir. Seçenek A daha geç bir örnekleme noktası kazandırır, seçenek B ise pay.
Seçeneklerin hiçbiri tek başına doğru değildir. Doğru olan, ağdaki diğer tüm düğümlerin örnekleme noktasıyla eşleşendir; bit zamanlama parametrelerinin tek tek ECU tasarımlarına değil, ağ şartnamesine ait olmasının nedeni budur.
Hat uzunluğu ve bit hızı
Arbitrasyon sırasında bir verici, kendi bitini örneklemeden önce diğer tüm düğümlerin bitlerinden oluşan hat seviyesini görmelidir. Sinyal, iki transceiver ve kablo üzerinden en uzaktaki düğüme ulaşıp geri dönmeyi, bitin örnekleme noktasından önceki bölümü içinde tamamlamak zorundadır. Metre başına yaklaşık 5 ns'lik gecikmeyle, 1 Mbit/s'de 40 m'lik bir hat, transceiver ve denetleyici gecikmeleri daha hesaba katılmadan yalnızca kablo gidiş-dönüşüne 400 ns, yani bit süresinin %40'ını harcar. Bit hızı arttıkça azami uzunluğun düşmesinin nedeni bu hesaptır:
Karayolu araçları bu değerlere nadiren yaklaşır. Bir binek aracın ağları birkaç metreden birkaç on metreye uzanır; SAE J1939 ise ağır vasıta omurgasını 40 m ile sınırlar. Araçlarda belirleyici kısıtlar çoğunlukla ham uzunluk değil, CAN fiziksel katmanı yazısında anlatılan dal hattı uzunluğu, topoloji ve EMC'dir.
Tek bir ana hat, her fiziksel uçta bir sonlandırma direnci ve her kontrol ünitesine kısa dallar.
Üç fiziksel katman, tek protokol
Aynı CAN protokolü karayolu araçlarında üç standart fiziksel katman üzerinde çalışır; bunlara çekici–römork bağlantıları için ayrı bir türev eklenir. Gerilimleri, kablolamaları ve sonlandırmaları farklıdır; en önemlisi de bir tel arızalandığında olanlar farklıdır.
Yüksek hızlı CAN (ISO 11898-2)
Bugün her araç sınıfında baskın olan fiziksel katman. Güçlü yanları hız ve sadeliktir: iki tel, iki sonlandırma ve ucuz bir transceiver. Zayıf yanı arıza toleransıdır. Hatlar arası bir kısa devre ve şaseye ya da aküye kısa devrelerin çoğu segmentteki haberleşmeyi durdurur; bu yüzden üreticiler fonksiyonları ağ geçitleriyle birleşen birkaç ağa dağıtır ve tek bir arıza asla aracın tamamını devre dışı bırakmaz. Her CAN FD ağı bu fiziksel katmanı kullanır.
Düşük hızlı arızaya dayanıklı CAN (ISO 11898-3)
Kablolaması kapılardan, koltuklardan ve aynalardan geçen, sürtünme ve ezilmeye açık konfor elektroniği için tasarlanmıştır. Resesif durumda her düğümdeki sonlandırma dirençleri CAN-H'yi şaseye, CAN-L'yi 5 V beslemeye doğru çeker; dominant bit ise onları yaklaşık 3,6 V ve 1,4 V'a sürer. Transceiver iki hattı da sürekli izler. Bir tel koparsa, şaseye ya da aküye kısa devre olursa veya iki hat birbirine değerse, sağlam hat üzerinden tek telli gönderim ve alıma geçer; arıza giderildiğinde diferansiyel moda döner. Tüm düğümler, azalmış gürültü bağışıklığıyla haberleşmeye devam eder.
Bunun bedeli 125 kbit/s'lik bir tavan ve farklı bir sonlandırma düzenidir: her düğüm, tipik olarak 500 Ω'dan birkaç kiloohma uzanan kendi dirençlerini taşır ve bunlar ağın toplamı hat başına yaklaşık 100 Ω olacak şekilde boyutlandırılır. CAN-H ile CAN-L arasında alışıldık 60 Ω ölçümünün bu hatta hiçbir anlamı yoktur. Düşük hızlı arızaya dayanıklı CAN konfor ağlarında yaygındı; yeni platformlarda yerini büyük ölçüde yüksek hızlı CAN'e ve LIN'e bıraktı.
Tek telli CAN (SAE J2411)
En düşük maliyetli seçenek: şaseye referanslı tek bir sinyal teli. Normal haberleşme 33,3 kbit/s'de, yaklaşık 4–5 V'luk dominant seviyelerle yürür. Yaklaşık 10–12 V'a yükseltilmiş bir dominant seviye, uyuyan düğümler için uyandırma yayını işlevi görür; 83,3 kbit/s'lik yüksek hız modu ise teşhis ve yeniden programlamaya hizmet eder. Diferansiyel bir çift olmadığından yayınım ve bağışıklık yavaş, biçimlendirilmiş kenarlara dayanır; bit hızının düşük kalmasının nedeni budur. Tek telli CAN en çok General Motors'un GMLAN gövde ağlarıyla anılır; bu ağlarda hattı 32 düğüme kadar paylaşabilir.
Çekici–römork CAN (ISO 11992-1)
Ticari araç kombinasyonları bir türev daha ekler. ISO 11992-1, çekici ile römork arasında 12 V ve 24 V sistemler için 125 kbit/s'lik noktadan noktaya bir CAN bağlantısı tanımlar; bu bağlantı, tellerden biri koptuğunda diğeri üzerinden haberleşmeyi sürdürür. Fren ve yürüyen aksam verileri bu bağlantı üzerinden ISO 7638 konnektörüyle taşınır; mesajlar ISO 11992-2'de, diğer donanımlara ait olanlar ISO 11992-3'te tanımlanır. Bağlantı yalnızca noktadan noktaya olduğu için bir kombinasyondaki her römorkun önündeki araçla kendi bağlantısı vardır.
Bit hızı uyuşmazlığı neden asla zararsız değildir
Yanlış bit hızına ayarlanmış bir düğüm trafiği anlamamakla kalmaz. Denetleyicisi neredeyse her çerçevede doldurma, biçim ve CRC hataları görür ve gönderim yapmasına izin verilmişse her birine aktif bir hata bayrağıyla karşılık verir. Bu bayraklar, hattaki diğer tüm düğümler için geçerli çerçeveleri bozar. Vericiler yeniden dener, hata sayaçları tırmanır ve aracın ECU'ları haberleşme arızaları kaydetmeye başlar; yoğun bir hatta uyarı lambaları saniyeler içinde yanabilir.
Doğru bit hızına sahip ama örnekleme noktası ya da senkronizasyon ayarı uyumsuz bir düğüm için de durum, daha sinsi biçimde aynıdır: düğüm çoğu zaman çalışır, çerçeveleri yalnızca belirli bit desenlerinde ya da belirli sıcaklıklarda bozar. Yalnızca manşetteki hızın değil, bit zamanlamasının tamamının ağ şartnamesiyle eşleşmesi gerekmesinin nedeni budur.
Bit hızını ve zamanlamayı osiloskopla doğrulamak
Osiloskop, bir hattın belgelenmiş hızında çalıştığını ve bitlerinin temiz olduğunu doğrular. Bit doldurma çerçeve içinde aynı bit dizilerini beşle sınırladığı için, herhangi bir çerçevedeki en dar darbe tam olarak bir bit süresidir:
- 01Prob bağlantısı
CAN-H ve CAN-L'yi şaseye referanslı iki kanala bağlayın ya da bir diferansiyel prob kullanın. Zaman tabanını bir çerçevenin tamamını gösterecek şekilde ayarlayın; 500 kbit/s'de ekran boyunca yaklaşık 500 µs.
- 02En dar darbeyi ölçün
İmleçleri en kısa dominant veya resesif darbeye yerleştirin. Genişliği bit süresidir; belgelenmiş hızla karşılaştırın.
- 03Kenarları kontrol edin
Yükselen ve düşen kenarlar temiz ve birbirinin ayna görüntüsü olmalı; varsa salınımlar bitin sonlarına doğru yer alan örnekleme noktasından çok önce sönmelidir.
- 04Hata bayraklarına bakın
Art arda altı veya daha fazla dominant bit, bir düğümün hata bildirdiği anlamına gelir. Yeni bir cihaz bağlanır bağlanmaz başlayan bir bayrak sağanağı, doğrudan o cihazın yapılandırmasını işaret eder.
- 05FD veri fazını kontrol edin
CAN FD'de veri fazına yakınlaşın: bitler BRS bitinden sonra daralır, CRC ayırıcısında yeniden genişler. Veri fazı kenarları, dal hattı ve topoloji sorunlarının en hassas göstergesidir.
CAN-H yükselir, CAN-L 2,5 V çevresinde aynı miktarda düşer. Kenarlar keskin, çekinik seviye düzdür.
5 Mbit/s'lik bir CAN FD veri fazı, ölçü aletinden gerçek bir bant genişliği ister: en az 100 MHz ve saniyede birkaç yüz megaörnek; ancak böylece yuvarlatılmış bir yaklaşık görüntü yerine gerçek kenarları ve salınımları görürsünüz. Diğer desenler Sahada CAN arıza teşhisi yazısında bir araya getirilmiştir.
Sık sorulan sorular
500 kbit/s binek araçlarda neden bu kadar yaygın?
Bant genişliği ile maliyet arasında denge kurar: binek araç ağ uzunluklarına ve EMC sınırlarına ucuz transceiver'lar ve ekransız kabloyla uyar. ISO 15765-4 kapsamındaki CAN üzerinden yasal OBD, 250 kbit/s ile birlikte bu hıza da izin verir; CAN FD de onu olağan nominal hız olarak korudu.
CAN'de bit hızı ile baud hızı arasında fark var mı?
CAN'de iki sayı aynıdır, çünkü her sembol bir bit taşır; ISO 11898 bit hızı terimini kullanır. Doldurma bitlerinin ve protokol yükünün de bu hızda taşındığını unutmayın; kullanılabilir veri hızı her zaman daha düşüktür.
Bir araç ağı 1 Mbit/s'de çalışabilir mi?
Kısa bir ağda teknik olarak evet, ancak seri üretim araçlar bunu neredeyse hiç yapmaz. Daha fazla bant genişliği gerektiğinde üreticiler, 500 kbit/s'lik arbitrasyon fazını koruyup yalnızca veri fazını hızlandıran CAN FD'ye geçer.
83,3 kbit/s bir CAN FD hızı mı?
Hayır. Tek telli CAN'in yüksek hız modunda ve bazı gövde ağlarında kullanılan klasik bir CAN hızıdır. CAN FD ile hiçbir ilgisi yoktur.
Yüksek hızlı ve düşük hızlı CAN aynı tel çiftini paylaşabilir mi?
Hayır. Gerilim seviyeleri ve sonlandırma düzenleri birbiriyle uyumsuzdur. Bunlar ayrı ağlardır; verinin aralarında geçmesi gereken yerlerde bir ağ geçidiyle birleşirler.
