CAN FD Hakkında

Başlatan Tagli, 21 Şubat 2021, 16:21:14

Tagli

CAN FD oldukça yeni sayılır. Merak ediyorum, sahada CAN FD kullanan cihazlar ortaya çıkmaya başladı mı? Siz hiç denk geldiniz mi?

İşlemcilerdeki desteği de henüz sınırlı STM32'lerin çoğunda eski tip CAN modülü var. G0 serilerinde var gibi gözüküyor mesela, ama sanki henüz üretime geçmemiş gibi. Microchip'in bazı işlemcilerinde de var.

Belki de mevcut projelere CAN FD desteği eklemenin en pratik yolu (işlemci değiştirmenin daha zahmetli olduğunu varsayarsak) Microchip'in MCP2518FD entegresini kullanmak. Eski CAN entegresi olan MCP2515'i hepiniz duymuşsunuzdur, ortalıkta hem çip olarak hem de hazır modül olarak (daha çok Arduino camiası için sanırım) epeyce bulunuyor. Ama işin ilginç yanı, Çin kaynaklı olmayan sitelerde MCP2518FD diğerinden daha ucuz gözüküyor. Ama Türkiye'de ve AliExpress'te bulmak mümkün değil.

Eski MCP2515'in en büyük sorunu - bu çipi kendim kullanmadım ama okuduklarımdan anladığım kadarıyla - kendi mesaj buffer'ının olmaması. 2 mailbox var, her biri sadece 1 mesaj tutabiliyor ki bence bu çok aptalca ve sınırlayıcı. Yeni MCP2518FD'nin anladığım kadarıyla 2 kB civarında bir RAM'i var ve bunu değişik şekillerde organize edebiliyorsunuz. MCP2518FD klasik CAN modunda da çalışabiliyor. Yani fiyatının eski çipten daha düşük olduğunu da düşünürsek, yeni tasarımlarda kullanmamak için bir sebep yok gibi. Tabi eğer ortalıkta bulabilirsek.

CAN FD cihazlar ile eski tip klasik CAN cihazlarının aynı hatta bulunması biraz sorunlu anladığım kadarıyla. Bununla ilgili farklı yaklaşımlar olduğunu okudum. CAN FD cihazlar sanırım eski CAN frame'leri ile sorun yaşamıyorlar ama eski cihazlar CAN FD frame'leri görünce kıyameti koparıp hatta error'u basıyorlar. Önerilen  çözümlerden biri, CAN FD frame'lerini süzen özel transceiver'lar kullanmak. Ama yaygınlanmış bir yöntem midir bilmiyorum.
Gökçe Tağlıoğlu

algorist

Tamda şuna iç geçirirken,
e-e-e

e-zeki

@Tagli  hocam ben kullandım. STMG4 Serilerinde var aktif olarak çalışıyor da. 30-40 birimli bir sistem kurmuştum. 3 modu var birisi standard can, diğeri ekstra data byte'lı, diğeri de hem ekstra byte'lı hem daha hızlı mod.
standart can bus hatları sadece 1. yi tolere ediyor 2 ve 3. modda dediğiniz gibi bus faultlar yağıyor her yerden. Ama gerçekten güzel sistem hem can güvenliği hem data length esnekliği yeni kolaylıklar sağlıyor. fakat DLC 0-64 arası istediğiniz değeri almıyor maalesef. DLC'ye ekstra 2 bit eklemişler sadece 0-8 arası yine normal sonrasında 12, 16, 20, 24, 32, 48, 64 şeklinde bir kaç kademe var. ara değerler mümkün değil.