İçeriğe geç
[Mimari · 07]

SAE J1939: Kamyonların, otobüslerin ve iş makinelerinin CAN dili

Binek otomobiller üreticiye özgü bir CAN konuşur; ağır vasıtalar ise ortak bir dil. SAE J1939, bir tedarikçinin motorunun, bir başkasının şanzımanının ve üçüncü bir firmanın fren sisteminin aynı ağ üzerinde birlikte çalışmasını sağlar. Bu dil karayolu kamyonlarından otobüslere, traktörlere, iş makinelerine, jeneratör setlerine ve teknelere kadar yayıldı.

Okuma süresi
14 dk
Güncelleme
7 Ekim 2026
Diyagram
02
Bölüm
09

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.

Tablo 01SAE J1939 doküman ailesi (seçme)
DokümanKapsam
J1939Üst düzey önerilen uygulama ve genel bakış
J1939-11Fiziksel katman, 250 kbit/s, ekranlı bükümlü çift
J1939-13Araç dışı diyagnostik soketi (9 pinli)
J1939-14Fiziksel katman, 500 kbit/s
J1939-15Fiziksel katman, 250 kbit/s, ekransız bükümlü çift
J1939-17CAN FD fiziksel katmanı; 500 kbit/s arbitrasyon ve 2 Mbit/s veri fazı
J1939-21Klasik CAN için veri bağlantı katmanı; taşıma protokolü dahil
J1939-22CAN FD için veri bağlantı katmanı
J1939-31Ağ katmanı: köprüler, yönlendiriciler ve gateway'ler
J1939-71Araç uygulama katmanı; artık J1939 Dijital Ek'te sürdürülüyor
J1939-73Diyagnostik uygulama katmanı (DM mesajları)
J1939-81Ağ yönetimi ve adres talebi
J1939-DADijital Ek: parametre grupları ve parametrelerin ana tanımları

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.

Şekil 01Etkileşimli
Örnek
Öncelik
3
EDP
0
DP
0
PDU biçimi
0xF0
PDU özel · Grup uzantısı
0x04
Kaynak adresi
0x00
PGN
61.444 0x0F004

PDU2 (PF 240 veya üstü): PS parametre grubunu genişletir.

Şekil 0129 bitlik J1939 tanımlayıcısı: 3 öncelik biti, genişletilmiş veri sayfası, veri sayfası, PDU formatı, PDU'ya özgü alan ve 8 bitlik kaynak adresi.
Tablo 02J1939 tanımlayıcı alanları
BitlerAlanGenişlikAnlamı
28–26Öncelik30 en yüksek, 7 en düşük; yalnızca arbitrasyonda kullanılır
25Genişletilmiş veri sayfası (EDP)1J1939 mesajlarında 0
24Veri sayfası (DP)1Parametre gruplarının iki sayfasından birini seçer
23–16PDU formatı (PF)8240'ın altı: PDU1, adresli; 240 ve üzeri: PDU2, yayın
15–8PDU'ya özgü alan (PS)8PDU1'de hedef adres, PDU2'de grup uzantısı
7–0Kaynak adresi (SA)8Gönderen ECU'nun adresi

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.

Formül
PGN = EDP × 2¹⁷ + DP × 2¹⁶ + PF × 2⁸ + (PF ≥ 240 ? PS : 0)
Parametre grubu numarasının tanımlayıcı alanlarından nasıl oluşturulduğu.

Uygulamalı örnek: dört tanımlayıcının çözümlenmesi

  1. 01
    0x18EEFF00: 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.

  2. 02
    0x18EA00F9: İ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.

  3. 03
    0x18FECA00: 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.

  4. 04
    0x1CECFF00: 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.

Tablo 0364 bitlik J1939 NAME, en anlamlı alandan en az anlamlı alana
AlanBitAmaç
Keyfi adres yeteneği1Düğüm, talebi kaybettikten sonra başka bir adrese geçebilir
Sektör grubu30 genel, 1 karayolu, 2 tarım ve ormancılık, 3 inşaat, 4 denizcilik, 5 endüstriyel ve sabit tesis
Araç sistemi örneği4Aynı araç sistemlerini ayırt eder; örneğin iki römork
Araç sistemi7ECU'nun sektör grubu içinde ait olduğu sistem
Ayrılmış1Ayrılmış
Fonksiyon8Motor ya da şanzıman gibi standart fonksiyon
Fonksiyon örneği5Aynı fonksiyonları ayırt eder; örneğin 1 ve 2 numaralı motor
ECU örneği3Bir fonksiyonu birlikte gerçekleştiren birden fazla ECU'yu ayırt eder
Üretici kodu11ECU üreticisine atanmış kod
Kimlik numarası21Üreticinin belirlediği benzersiz numara; çoğunlukla seri numarası

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.

Tablo 04J1939 fiziksel katman varyantları
SpesifikasyonBit hızıOrtamTemel topoloji kuralları
J1939-11250 kbit/sEkranlı bükümlü çift40 m'ye kadar omurga, 30'a kadar ECU, 1 m'ye kadar saplama
J1939-15250 kbit/sEkransız bükümlü çiftSadeleştirilmiş fiziksel katman; 40 m'ye kadar omurga, 10'a kadar ECU
J1939-14500 kbit/sBükümlü çift30'a kadar ECU; saplama ve topoloji kuralları 250 kbit/s'ye göre daha sıkı
J1939-17500 kbit/s / 2 Mbit/sBükümlü çiftCAN FD fiziksel katmanı; J1939-22 veri bağlantı katmanıyla kullanılır
Şekil 02Etkileşimli
120 Ω120 ΩECU 1ECU 3ECU 5ECU 2OBDECU 6Dal← Ana hat →

Tek bir ana hat, her fiziksel uçta bir sonlandırma direnci ve her kontrol ünitesine kısa dallar.

Şekil 02Bir J1939 omurgası: iki ucunda 120 Ω sonlandırma bulunan tek bir doğrusal bükümlü çift ve her ECU'ya giden kısa saplamalar; yıldız kablolama ve uzun saplamalara izin verilmez.

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.

Tablo 05J1939 parametrelerinde ayrılmış aralıklar
BoyutGeçerli veriAyrılmış ve göstergelerHata göstergesiMevcut değil
1 bayt0x00–0xFA (0–250)0xFB–0xFD0xFE0xFF
2 bayt0x0000–0xFAFF (0–64.255)0xFB00–0xFDFF0xFE00–0xFEFF0xFF00–0xFFFF
2 bitlik durum00 kapalı, 01 açıkYok1011
Formül
fiziksel değer = ham değer × çözünürlük + ofset → 125 × 1 °C − 40 °C = 85 °C
Bit başına 1 °C ve −40 °C ofsetle tanımlanmış bir sıcaklık parametresi: 0x7D (125) ham değeri 85 °C demektir.

Aynı 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.

Tablo 06J1939 çok paketli mesaj mekanizmaları
MekanizmaAdreslemeAkış kontrolüAzami boyut
BAM (Broadcast Announce Message)Genel, tüm düğümlereYok: gönderici paketleri kendisi aralıklandırır; klasik olarak 50 ile 200 ms arası1.785 bayt
RTS/CTSTek bir hedefAlıcı paketlere Clear To Send ile izin verir ve End of Message Acknowledge ile onaylar1.785 bayt
Genişletilmiş taşıma protokolü (ETP)Tek bir hedefRTS/CTS gibi, ek olarak veri paketi ofsetiyle117.440.505 bayt
  1. 01
    Mesajı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.

  2. 02
    Aralı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.

  3. 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.

  4. 04
    Sonucu çı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ü

Formül
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)
250 kbit/s'de bir bit 4 µs sürer; dolayısıyla bir çerçeve 524 ile 640 µs arasında yer kaplar.

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.

Tablo 07Sık kullanılan diyagnostik mesajlar
MesajPGNİçerik
DM165226 (0xFECA)Aktif arıza kodları ve lamba durumu; her saniye yayınlanır
DM265227 (0xFECB)Daha önce aktif olmuş arıza kodları; istek üzerine
DM365228 (0xFECC)Daha önce aktif olmuş arıza kodlarını silme
DM1165235 (0xFED3)Aktif arıza kodlarını silme
Tablo 08Seçilmiş arıza modu tanımlayıcıları (FMI)
FMIAnlamıİlk bakılacak yer
2Veri düzensiz, kesintili ya da hatalıSensör tutarlılığı, konnektörler
3Gerilim normalin üstünde ya da yüksek kaynağa kısa devreBeslemeye kısa devre yapan kablo
4Gerilim normalin altında ya da düşük kaynağa kısa devreŞasiye kısa devre yapan kablo
5Akım normalin altında ya da açık devreKopuk kablo, oksitlenmiş pin
9Anormal güncelleme hızıAğ sorunları: sonlandırma, yük, eksik düğüm
19Ağdan alınan veri hatalıGönderen ECU ya da aradaki ağ
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.

Makalenin sonuGüncelleme: 7 Ekim 2026
[Santim SC-1]

Her CAN aracı. İlk günden hazır.

Santim SC-1, piyasadaki klasik CAN ve CAN FD bütün araçları destekler. Yeni bir araç çıktığında anında uyumlu hale gelir. Beklemeniz veya talep oluşturmanız gerekmez. Yeni nesil CAN cihazı.

Santim SC-1 CAN cihazı