Video Transkripti:
Bryan Hennessy: [00:00:01] İletişim katmanlarından ve Protokol Yığınından bahsetmiştim, burada açıklığa kavuşturacağımız göz korkutucu terimler ve şu anda atlayacağım şey de bu. Buna sık sık geri döneceğim. Şimdi bunun üzerine bazı notlar alın. Oluşturduğum ana slaytlardan biri burada açıklayacağımız katmanlarla birlikte ve umarım burada bunların sağına bazı notlar çizerim ve bunları nasıl yorumlayacağınızı ve ilerledikçe bu katmanlarda neler olup bittiğini gösteririm. Bence bu, bunun için oldukça iyi bir format. Ama şuradaki slaytı sık sık göreceksiniz. Aslında, bir sonraki slayt bu.
Bu slaytı birkaç ay önce sadece bu mesajı vermek için oluşturmuştum. Üzerinde çalıştığım kişiler tarafından nasıl kabul edildiğini öğrendikçe zaman geçtikçe değiştirdim. Temel bir CAN veri yolu, temel bir CAN veri yolundaki kablolama, biraz daha ayrıntıya gireceğiz ama temel CAN veri yolu, gövde ve damla kabloları dediğimiz şeye sahiptir. [00:01:01] Yani, kelimenin tam anlamıyla, bir ana kablo iki sonlandırıcı arasındadır. Her iki uçta da bir sonlandırıcı vardır. Bırakma kabloları bundan çıkar ve akıllı sensörlere veya kontrollere veya ekranlara veya ECU’lara veya orada ne varsa ona gider. CAN veri yolunun temeli budur. Dünyadaki her CAN veriyolunda ana kablo ve damla kablolardan oluşan iki sonlandırıcı vardır. Her endüstride, her uygulamada bu böyledir. Bu şekilde görünürler. CAN bu şekilde çalışır.
Bu benim fiziksel katman dediğim şeyin bir parçasıdır. Fiziksel katmanı anlamanın en iyi yolu, fiziksel katmanın işinin bu ağ üzerindeki bir cihazdan diğerine 1’leri ve 0’ları almaktan, 1’leri ve 0’ları güvenilir bir şekilde göndermekten başka bir şey olmadığıdır. Bütün işi budur. Çerçeve ile hiçbir ilgisi yoktur, protokol ile hiçbir ilgisi yoktur, J1939 veya CANopen ile hiçbir ilgisi yoktur; sadece 1’leri ve 0’ları iletmek için oradadır [00:02:01].
Dolayısıyla, 1’leri ve 0’ları ağ boyunca tutarlı bir şekilde güvenilir olarak alabildiğinizde, fiziksel katmanınız iyidir. Fiziksel katmanları ayırmanın en iyi yolu budur. Bunu, Protokol Yığını’nda bunun üstüne ya da altına nasıl baktığınıza bağlı olarak çalışan diğer tüm daha karmaşık şeylerden anlıyorum. Bu yüzden Protokol Yığını terimini duyduğunuzda gözünüz korkmasın. Sadece iletişim yığınının farklı katmanlarına atıfta bulunuyorlar. Bazı insanlar katman terimini pek sevmezler ve ben de katman terimini kullanmaktan vazgeçmeye başladım ancak sektörde her yerde duyduğunuz tek şey insanların veri bağlantı katmanından bahsettiğidir. İnsanlar uygulama katmanı hakkında konuşuyor. Bu yüzden bu terime geri döndüm çünkü insanların bu terime daha rahat ve daha aşina olmalarını istiyorum. Doğru olsun ya da olmasın, iyi bir kavram olduğuna inansanız da inanmasanız da sektörde kullanılıyor. Ortadan kalkmayacak. [Buna takılıp kaldık. Bu yüzden burada katman terimini sıkça kullanacağız.
Bir sonraki, fiziksel katmandan ağ boyunca 1’leri ve 0’ları aldıktan sonra, bu 1’lerin ve 0’ların neyi temsil ettiğini nasıl parçalayacağımızı ve anlayacağımızı anlamalıyız ve bu veri bağlantı katmanı dediğimiz şey aracılığıyla yapılır. Veri bağlantı katmanı, fiziksel katmanın ağ üzerinden güvenilir bir şekilde gönderebildiği tüm 1’leri ve 0’ları alır ve isterseniz bunları paketler. Bunları CAN çerçevesi adı verilen anlaşılabilir bir formatta paketler. Bir CAN çerçevesine çok kapsamlı bir şekilde gireceğiz ve bir çerçeveyi parçalara ayıracağız, böylece CAN çerçevesinin farklı bölümlerini anlayacaksınız.
Bundan bir sonraki, bazen kullanılan ancak her zaman kullanılmayan ve nedenini açıklayacağım, taşıma katmanı olarak adlandırılır. Bir CAN çerçevesi sekiz veri baytından oluşur, sadece sekiz veri baytı. Göndermek istediğimiz pek çok veri [00:04:01] sekiz veri baytından çok daha fazladır. Bu yüzden bir taşıma katmanı, sekiz veri baytından daha fazla olan mesajların paketlenmesine izin verir. Vericinin bunları bir dizi farklı çerçevede paketlemesine ve bir alıcının veya alıcıların bunları ayırmasına ve ne olduklarını anlamasına ve mesajı, temel olarak daha uzun mesajı yeniden birleştirmesine izin verir. Taşıma katmanı, bir sonraki slaytta göstereceğim gibi, farklı protokoller için, farklı iletişim sistemleri için farklıdır, ister NMEA 2000, ister J1939, ister CANopen veya diğerleri olsun, hepsinin kendi taşıma katmanı veya taşıma protokolü vardır.
Dolayısıyla veri bağlantı katmanını geçtiğinizde, artık CAN standardından bahsetmiyorsunuz demektir. J1939’dan ya da CANopen’dan bahsediyorsunuz. Başka standartlardan bahsediyorlar. Yani CAN gerçekten burada tanımlanmıştır. [00:05:01] CAN’ın olduğu yer burası. J1939 gönderebilir veya Ethernet üzerinden CANopen veya NMEA 2000 gönderebilirsiniz. Yani yeniden paketlenebilir ve farklı bir ortam üzerinden gönderilebilir, ancak CAN’ın tanımlandığı yer burasıdır. CAN bu iki katmanda olduğu gibi burada kullanılır. Bunun hakkında daha fazla konuşacağız, ancak bunlar farklı standartlarda iletilen standartlar veya tanımlardır.
Ben de bu slaytı aldım ve ona daha fazla karmaşıklık eklemek istedim. Dolu ve karmaşık olmaya başlamıştı. Ben de bunu bir sonraki slayta böldüm. Bir sonraki slaytta da aynı renkleri kullandım ve burada doğru şeylerden bahsetmemi sağlayacak küçük bir metin ekledim. Yani, bunlar aynı dört katman. Taşıma katmanının [00:06:01] her zaman kullanılmadığını noktalı çizgi ile gösteriyorum. Birçok mesaj, iletişim sistemlerinde taşıma katmanından etkilenmez. Dolayısıyla, dediğim gibi, mesajları yalnızca sekiz veri baytıysa, doğrudan veri bağlantısından uygulamalara aktarılırlar.
Yani, sol tarafta fiziksel katmanımız var. Kabloları, baud hızını, bit zamanlamasını tanımlar ve temel olarak yine 1’leri ve 0’ları gönderir, bu fiziksel katman hakkında hatırlanması gereken çok önemli bir şeydir, ana işi, tek işi.
Veri bağlantı katmanı, yine çerçeveleri, yapıyı tanımlar ve CAN çerçevelerini gönderir ve alır, böylece etrafına bir kutu koyabilir ve verilerin ne olduğunu anlayabiliriz. Aktarım katmanı, yine, farklı yüksek seviye protokolleri içerir. Buna farklı şeyler denir. Farklı şekillerde çalışabilir. Uyumlu değillerdir. Ancak dediğim gibi, Fast Packet NMEA 2000’in geliştirdiği şeydir ve Fast Packet [00:07:01] özeldir ve o zamanlar deniz elektroniğinin ihtiyaç duyduğu şey için iyidir. Aktarım protokolü J1939’da böyle adlandırılır. Bu konuda farklıdır. Orada oldukça fazla sınırlama var. Bu konuya girmeyeceğim çünkü çok fazla ayrıntı var. Ancak burada ilginç bir yorumda bulunmak istiyorum: Birkaç yıl önce PACCAR Teknik Merkezi’nde işe alınırken gerçekten kapsamlı bir sunum, gerçek bir teknik konuda yarım saatlik bir sunum istiyorlar ve bu sunumda sizi gerçekten eleştiriyorlar. Bu da orada işe girmenin bir parçası. En zor kısmının bu olduğunu söylüyorlar. Benim sunumum taşıma protokolü ile Hızlı Paket protokolünü karşılaştırıyordu. Bu yüzden gittim ve o sunum için hazırladığım slaytlardan bazılarını hala kullanıyorum. Sanırım burada o materyallerden bazıları var. Yani gerçekten bit seviyesinde baktığınızda güzel şeyler.
Son zamanlarda CANopen üzerinde çalışıyorum ve CANopen’da sekiz veri baytından fazla mesajları aktaran SDO blok aktarımı [00:08:01] diye bir şey var.
Şu ana kadar sorusu olan var mı? Umarım katman kavramı şimdi daha anlamlı hale gelmeye başlamıştır.