Koca bir sektör için tek protokol
Ağır bir kamyon, farklı tedarikçilerin ürettiği ve çoğu zaman filo müşterisinin seçtiği ana bileşenlerden oluşur: motor, şanzıman, retarder, aks, frenler, üst yapı ekipmanı. Bu ancak her ECU ağı aynı şekilde yorumladığında işler. SAE J1939 tam olarak bunu sağlar: CAN 2.0B genişletilmiş çerçeveleri üzerine kurulu, kablolama kurallarından tek tek parametrelerin anlamına ve ölçeklendirmesine kadar uzanan, eksiksiz ve açıkça belgelenmiş bir yığın. Tek bir doküman değil, bir ailedir; her bölüm eğik çizgiden sonraki numarayla anılır.
29 bitlik tanımlayıcının anatomisi
Klasik CAN, tanımlayıcıyı arbitrasyonda önceliği belirleyen tek bir sayı olarak görür. J1939 ise genişletilmiş tanımlayıcının 29 bitine bir iç yapı kazandırır: bir alan her alıcıya mesajın ne içerdiğini, bir başka alan da onu kimin gönderdiğini söyler.
PDU2 (PF 240 veya üstü): PS parametre grubunu genişletir.
Parametre grubu numarası (PGN), içeriğin 18 bitlik adıdır: EDP, DP, PF ve yalnızca PDU2 mesajlarında PS. PDU1 mesajlarında PS alanı bir hedef adres taşır ve PGN'ye dahil değildir. Öncelik bilinçli olarak dışarıda bırakılmıştır; böylece aynı PGN, anlamı değişmeden farklı bir öncelikle gönderilebilir. Standart, zaman açısından kritik kontrol mesajları için öncelik 3'ü, diğer trafiğin çoğu için öncelik 6'yı önerir.
PGN = EDP × 2¹⁷ + DP × 2¹⁶ + PF × 2⁸ + (PF ≥ 240 ? PS : 0)Uygulamalı örnek: dört tanımlayıcının çözümlenmesi
- 010x18EEFF00: Adres talep edildi (Address Claimed)
Öncelik 6, EDP 0, DP 0, PF 0xEE (238, yani PDU1), hedef olarak PS 0xFF (genel), SA 0x00. PGN 0xEE00 = 60928: geleneksel olarak 1 numaralı motora ait olan 0 adresindeki ECU, adresini tüm düğümlere duyuruyor.
- 020x18EA00F9: İstek (Request)
Öncelik 6, PF 0xEA (234, PDU1), hedef 0x00, SA 0xF9. PGN 0xEA00 = 59904: tercih edilen 249 adresindeki araç dışı bir diyagnostik cihazı, 1 numaralı motordan belirli bir parametre grubunu göndermesini istiyor.
- 030x18FECA00: DM1
Öncelik 6, PF 0xFE (254, PDU2), grup uzantısı 0xCA, SA 0x00. PGN 0xFECA = 65226: 1 numaralı motorun aktif diyagnostik arıza kodları, tüm ağa yayınlanıyor.
- 040x1CECFF00: Taşıma protokolü
Öncelik 7, PF 0xEC (236, PDU1), hedef 0xFF, SA 0x00. PGN 0xEC00 = 60416, TP.CM: 1 numaralı motor çok paketli bir yayını (BAM) duyuruyor.
Kaynak adresleri ve adres talebi
8 bitlik kaynak adresi 254 kullanılabilir adres sunar (0–253); 254, adres alamamış bir düğümün kullandığı boş (null) adres, 255 ise genel hedef adresidir. J1939, yaygın fonksiyonlara tercih edilen adresler atar: 1 numaralı motor için 0, 1 numaralı şanzıman için 3, fren sistemi kontrolcüsü için 11, 1 numaralı gösterge paneli için 23, araç dışı diyagnostik cihazları için 249 ve 250. Sabit adresler basit araçları basit tutar; ancak bir vinç kontrolcüsü ya da soğutma ünitesi ekleyen bir üst yapıcının çakışmalardan kaçınmak için bir yönteme ihtiyacı vardır.
J1939-81 bu sorunu adres talebiyle çözer. Her düğüm açılışta 64 bitlik NAME değerini içeren bir Address Claimed mesajı (PGN 60928) gönderir. Aynı adresi iki düğüm birden talep ederse NAME değeri sayısal olarak daha küçük olan adresi korur. Diğeri, keyfi adres alabilen bir düğümse başka bir adres talep eder; değilse 254 numaralı boş adresten mesaj göndererek adres alamadığını duyurur.
Fiziksel katmanlar: 250 kbit/s, 500 kbit/s ve CAN FD
Yirmi yıl boyunca 250 kbit/s, J1939 ile eş anlamlıydı. Egzoz son işlem sistemlerinden, sürüş destek sistemlerinden ve telematikten gelen artan trafik, sektörü J1939-14 ile 500 kbit/s'ye taşıdı; SAE o zamandan bu yana CAN FD varyantlarını da yayımladı. Tüm varyantlar ISO 11898-2'ye göre yüksek hızlı CAN'dir: doğrusal bir omurga, kısa saplamalar ve omurganın her iki ucunda 120 Ω'luk bir sonlandırma direnci. J1939 uygulamasında bu dirençler ECU'ların içine değil, kablo demetinde omurganın uçlarına yerleştirilir; böylece bir ECU'yu sökmek sonlandırmayı hiçbir zaman ortadan kaldırmaz.
Tek bir ana hat, her fiziksel uçta bir sonlandırma direnci ve her kontrol ünitesine kısa dallar.
Bir segmentteki her düğüm aynı bit hızında çalışmak zorundadır. 500 kbit/s'lik bir omurgaya bağlanan 250 kbit/s'lik bir ECU yalnızca haberleşememekle kalmaz; diğer herkesi rahatsız eden hata çerçeveleri üretir. Bu nedenle karma filolar ve sonradan yapılan eklemeler, farklı hızlardaki segmentler arasında gateway'lere dayanır; ayrıntılar Bit hızları ve hat türleri yazısında.
9 pinli diyagnostik soketi
J1939-13, araç dışı diyagnostik soketini tanımlar; 9 pinli, Deutsch tipi bir dişi soket: A şasi, B akü artı, C CAN-H, D CAN-L, E CAN ekranı, F ve G eski J1708 çifti, H ve J üreticiye özgü ve çoğunlukla ikinci bir CAN. İlk siyah Tip I soket 250 kbit/s ağlara aittir. Kuzey Amerika kamyonlarında yaklaşık 2016 model yılından itibaren görülen yeşil Tip II soket ise diyagnostik ağı 500 kbit/s'de çalışabilen araçları işaret eder. Orta pini daha incedir; böylece yeşil bir cihaz kablosu hem yeşil hem siyah sokete takılabilirken eski siyah bir kablo yeşil sokete girmez. Yalnızca 250 kbit/s destekleyen bir cihaz, mekanik olarak 500 kbit/s'lik bir ağdan uzak tutulur.
Parametre grupları, SPN'ler ve veri gösterimi
Bir parametre grubu, belirli bir tekrar hızında birlikte gönderilen ilişkili parametreleri bir araya getirir. Her parametre; uzunluğu, çözünürlüğü, ofseti, veri aralığı ve grup içindeki konumu tanımlı bir şüpheli parametre numarası (SPN) ile tanımlanır. Çok baytlı değerler little-endian'dır. Standardın tamamına yayılan güçlü bir kural vardır: her değer aralığının üst ucu durum bilgisine ayrılmıştır; böylece alıcı gerçek bir ölçümü bir hatadan ya da göndericinin desteklemediği bir parametreden her zaman ayırt edebilir.
fiziksel değer = ham değer × çözünürlük + ofset → 125 × 1 °C − 40 °C = 85 °CAynı kural klasik bir entegrasyon hatasına karşı da korur. Bu tanımla 0xFE ham değeri 214 °C anlamına gelmez; sensörün ya da ECU'sunun bir hata bildirdiği anlamına gelir. 0xFF ise parametrenin bu göndericiden alınamadığını gösterir. Ayrılmış aralıkları kontrol etmeden her baytı mühendislik birimine çeviren bir alıcı, bir sensör arızalandığı anda imkânsız değerler gösterir.
Taşıma protokolü: sekiz bayttan uzun mesajlar
Arıza kodu listeleri, araç kimlik bilgileri ve yapılandırma verileri sekiz bayta sığmaz. J1939-21, bu tür mesajları yedi veri baytı artı bir sıra numarasından oluşan paketlere bölen bir taşıma protokolü tanımlar. Bağlantı yönetimi TP.CM (PGN 60416, 0xEC00) ile yapılır; veriler TP.DT paketleriyle (PGN 60160, 0xEB00) taşınır. En fazla 255 paketle sınır 255 × 7 = 1.785 bayttır.
- 01Mesajın boyutunu belirleyin
Lamba durumunu (2 bayt) ve beş aktif arıza kodunu (her biri 4 bayt) içeren bir DM1 mesajı 22 bayt taşır; dolayısıyla ⌈22 ÷ 7⌉ = 4 adet TP.DT paketine ihtiyaç duyar.
- 02Aralıklandırmayı ekleyin
Klasik en kısa aralık olan 50 ms ile BAM üzerinden yayınlandığında dört paket, duyurudan sonra en az 200 ms sürer; sekiz bayt ya da daha kısa bir mesaj ise tek bir çerçevede gider.
- 03Ölçeği büyütün
Azami boyuttaki 1.785 baytlık bir BAM için 255 paket gerekir: 50 ms aralıkla yaklaşık 12,8 s, 200 ms aralıkla 51 s.
- 04Sonucu çıkarın
Taşıma protokolü, arıza listeleri ve kimlik bilgileri gibi ara sıra gönderilen büyük mesajlar için tasarlanmıştır. Hızlı kontrol verileri her zaman tekli çerçevelere sığar.
CAN FD bu ek yükün büyük bölümünü ortadan kaldırır. J1939-22 birden fazla parametre grubunu 64 bayta kadar olan tek bir CAN FD çerçevesine paketler ve daha büyük mesajlar için kendi taşıma mekanizmasını tanımlar. Arkasındaki çerçeve formatını Klasik CAN ve CAN FD yazısında anlatıyoruz.
250 ve 500 kbit/s'de hat yükü
Genişletilmiş çerçeve, 8 veri baytı: doldurmasız 131 bit … en kötü durum doldurmayla 160 bit (3 bitlik çerçeveler arası boşluk dahil)Saniyede 600 çerçeve taşıyan bir güç aktarma segmenti düşünün. 250 kbit/s'de bu 600 × 131 = 78.600 bit/s, yani %31,4 yük demektir; en kötü durum bit doldurmayla 600 × 160 = 96.000 bit/s'ye, yani %38,4'e çıkar. Aynı trafik 500 kbit/s'de %15,7 ile %19,2 arasında yer kaplar. Gelişmiş acil frenlemeden egzoz son işlem diyagnostiğine kadar her yeni fonksiyon yeni mesajlar ekler; taşıma protokolü de üstüne ani yük patlamaları bindirir. Yeni ağır vasıta platformlarının 500 kbit/s'ye ve CAN FD'ye geçmesinin nedeni bu hesaptır.
Kamyonun ötesi: ISOBUS, römorklar, otobüsler ve tekneler
ISOBUS (ISO 11783)
Farklı üreticilerin traktörleri ve ekipmanları, ISO 11783 olarak standartlaşan ve 250 kbit/s'de J1939 ilkeleri üzerine kurulan ISOBUS ile birbirine bağlanır. Fiziksel katmanı (ISO 11783-2) dört ekransız bükümlü tel kullanır: CAN-H ve CAN-L'nin yanında, segmentin her iki ucundaki aktif sonlandırma devrelerini (TBC) besleyen TBC_PWR ve TBC_RTN. Sonlandırma ECU'lardan bağımsız olarak beslendiği için, tarlada bir ekipman bağlanıp ayrıldığında da ağ doğru biçimde sonlandırılmış kalır. Üst katmanlar sanal terminali (ISO 11783-6) ve görev kontrolcüsünü (ISO 11783-10) tanımlar; traktör-ekipman yönetimi gibi daha yeni fonksiyonlar da bunların üzerine kurulur. Üreticiler arası uygunluk testlerini Tarım Endüstrisi Elektronik Vakfı (AEF) yürütür.
Çekici ve römork: ISO 11992
Çekici araç ile römorku arasındaki bağlantı J1939 omurgasını değil, ISO 11992'yi kullanır. Bu, bağlantı noktasının elektriksel ortamı için tasarlanmış bir fiziksel katmana (ISO 11992-1) sahip, 125 kbit/s hızında noktadan noktaya bir CAN bağlantısıdır. ISO 11992-2, fren ve yürüyen aksam mesajlarını ISO 7638 ABS/EBS soketinin 6 ve 7 numaralı pinleri üzerinden taşır; ISO 11992-3 ise aydınlatma ve üst yapı fonksiyonları gibi diğer ekipmanları kapsar. Çekicinin gateway'i bu bağlantı ile iç J1939 ağı arasında çeviri yapar.
Otobüsler, denizcilik ve sabit motorlar
Şehir otobüsleri ve şehirlerarası otobüsler güç aktarma organlarında tıpkı kamyonlar gibi J1939 kullanır; çoğu zaman filo sistemleri için araç verilerinin tanımlı, salt okunur bir alt kümesini yayımlayan özel bir gateway ile birlikte. Bu yaklaşım FMS-Standard ile resmîleşmiştir. Deniz elektroniği, J1939 veri bağlantı katmanı ve adres talebi üzerine kurulu NMEA 2000'i (IEC 61162-3) kullanır. Endüstriyel dizel motorlu jeneratör setleri, kompresörler ve iş makineleri de motor kontrolcülerini J1939 üzerinden sunar. Ağır hizmet tipi bir motor nereye giderse J1939 da genellikle onunla gider. Ticari araçlar ayrıca takografı da barındırır; konuyu Takograflar ve hafif ticari araçlar için 2026 kuralları yazısında ele alıyoruz.
Diyagnostik: DM mesajları
J1939-73, DM olarak kısaltılan diyagnostik mesajları tanımlar. En önemlisi, destekleyen her ECU tarafından saniyede bir yayınlanan DM1'dir; aktif arıza kodlarını dört lambanın durumuyla birlikte listeler: arıza göstergesi, kırmızı stop, sarı uyarı ve koruma lambası. Her diyagnostik arıza kodu (DTC) dört bayttır: etkilenen parametreyi belirten 19 bitlik SPN, 5 bitlik arıza modu tanımlayıcısı (FMI), 7 bitlik tekrar sayacı ve bir dönüşüm yöntemi biti.
J1939, 29 bitlik tanımlayıcılı CAN'den mi ibaret?
Hayır. CAN çerçevelerin nasıl iletileceğini tanımlar. J1939 bunun üzerine kablolama kuralları, yapılandırılmış bir tanımlayıcı, adresleme ve adres talebi, bir taşıma protokolü, diyagnostik ve standart parametrelerden oluşan bir sözlük ekler; böylece farklı tedarikçilerin ECU'ları birlikte çalışabilir.
500 kbit/s'lik bir J1939 ağına eski 250 kbit/s'lik ECU'lar bağlanabilir mi?
Aynı segmente bağlanamaz. Bir segmentteki her düğüm aynı bit hızını kullanmak zorundadır. Karma kurulumlarda 250 kbit/s ile 500 kbit/s segmentler arasında bir gateway kullanılır.
ISOBUS ile J1939 aynı şey mi?
ISOBUS (ISO 11783), J1939 tabanlıdır ve onun tanımlayıcı yapısını, adreslemesini ve taşıma ilkelerini paylaşır; ancak beslemeli sonlandırmaya sahip kendi fiziksel katmanını ve sanal terminal ile görev kontrolcüsü gibi ekipmanlara özel uygulama katmanlarını ekler.
J1939 CAN FD kullanıyor mu?
Evet. SAE, J1939-17 CAN FD fiziksel katmanını 2020 sonunda, J1939-22 veri bağlantı katmanını ise 2021'de yayımladı. Yeni ağır vasıta platformlarında benimsenmesi kademeli ilerliyor; klasik J1939 uzun yıllar boyunca kullanımda kalacak.
Yeşil 9 pinli diyagnostik soketi ne anlama geliyor?
Bu, J1939-13 Tip II sokettir. Diyagnostik ağı 500 kbit/s'de çalışabilen araçları işaret eder ve yalnızca 250 kbit/s destekleyen eski cihaz kablolarının takılamayacağı şekilde kodlanmıştır.
