Categories: Elektronik

VAN (Vehicle Area Network)

Araçlarda temel olarak 3 temel BUS (veri yolu) bulunmakta. Comfort BUS (VAN), Safety BUS (VAN), Engine BUS (ECU – CAN – OBD2). İlgili terminolojiler hakkında wikipedia’da bir çok kaynağa ulaşılabilir.

Engine BUS, diğer adıyla ECU, CAN fiziksel alt yapısı ve OBD2 üst protokolüyle haberleşiyor. Bu BUS’a bağlanıp aracın motoruyla ilintili hız, devir, motor sıcaklığı, vb. verilere ulaşabiliyoruz. ECU ve OBD2 ile ilgili ayrı bir makale yazacağım.

Safety BUS, güvenlik aksamlarının haberleştiği veri yolu, ABS, Airbag, aktif gergili emniyet kemerleri vb. bu fiziksel haberleşme yolu üzerinden haberleşiyor.

Comfort BUS, araçta medya cihazlarının, cam kontrol anahtarlarının ve motorlarının, farlar, ve bir çok diğer komponentlerin birbiriyle haberleştiği haberleşme hattı. BMW’de I-BUS olan standart, fransız araçlarında VAN olarak adlandırılmış ve yazımın alt kısmında daha ayrıntılı anlatılıyor. Proje daha ilerlemiş sayılmaz, blogu tutmamın diğer bir amacı da çalışmalarımı kontrollü bir şekilde izleyebilmek.

Temel fiziksel yapı CAN gibi çalışıyor. Enhanced Manchester Coding kullanılıyor (4B5B).

Citroen C4 araçta ilgili test ön ekran sökülerek yapıldı.

Fiziksel temel bağlantı resmi yukarıdaki gibi. Differential pair data bağlantısını osiloskop aracılığıyla gözlemledim.

Sinyal periyodu 10uS. NRZ sinyalleşmeden yola çıkarak sinyalin 100kbit/s olduğunu anlıyoruz.
Verinin 4B5B kodlama tablosu;
Name 4b 5b Description
0 0000 11110 hex data 0
1 0001 01001 hex data 1
2 0010 10100 hex data 2
3 0011 10101 hex data 3
4 0100 01010 hex data 4
5 0101 01011 hex data 5
6 0110 01110 hex data 6
7 0111 01111 hex data 7
8 1000 10010 hex data 8
9 1001 10011 hex data 9
A 1010 10110 hex data A
B 1011 10111 hex data B
C 1100 11010 hex data C
D 1101 11011 hex data D
E 1110 11100 hex data E
F 1111 11101 hex data F
Q -NONE- 00000 Quiet (signal lost)
I -NONE- 11111 Idle
J -NONE- 11000 Start #1
K -NONE- 10001 Start #2
T -NONE- 01101 End
R -NONE- 00111 Reset
S -NONE- 11001 Set
H -NONE- 00100 Halt

Her 5 bitlik dizi fiziksel hattan aktarılır ama veri işlemesi 4 bitlik karşılığı üzerinden yapılır.

4B5B çevirim tablosuna Wikipedia’dan ulaştım. (http://en.wikipedia.org/wiki/4B5B)
VAN arayüzüyle mikrodenetleyiciyi haberleştirebilmek için CAN trans-recev entegre kullandım (MCP2551 – Microchip).
CAN çıkışında 1 adet PIC18f4620 kullandım. Data akışını test etmek için basit bir kod yazdım. Bu kod sadece “1” gördüğünde ledi yakıp “0” gördüğünde ledi söndürmeye yarıyor.
DEFINE OSC 10

TRISD=0
TRISB=000011

DONGU:

IF PORTB.0=1 THEN
HIGH PORTD.4
ELSE
LOW PORTD.4
ENDIF

IF PORTB.1=1 THEN
HIGH PORTD.6
ELSE
LOW PORTD.6
ENDIF

GOTO DONGU
Devrenin çok basit bir bağlantı şeması var. Zaten bu bir test devresi. Amacım basit komponentlerle dataya ulaşıp ulaşamadığımı görmek. Elimde bir protocol analyzer cihazım olsaydı kesinlikle bu test devresiyle zaman kaybetmek durumunda kalmayacaktım. (iki tane uzun kablodan kırmızı olanı CAN H, diğeri CAN L portu, direk osiloskopa bağladığımız pinlere bağlı). Ayrıca ilk seferinde portları ters bağladığımda otomobilimde tüm ekran verileri 888 durumuna geldi. Kalıcı bir hasara sebep olmadı ama tahminimce ters bağlantı sırasında devrem dominant duruma gelip tüm Confort Bus client’lara mesaj gönderdi, araç hız ekranı, radyo vs.


VAN’dan gelen bilgiyi bilgisayara aktarmak için yukarıdaki bağlantı şemasını kullanıyorum.Bundan sonraki aşamada gelen bilgileri bir byte array’e alıp, alınan veriyi direk bilgisayara aktarmak olacak. Burada sıkıntı gelen bilgi 100kbit/s görünse de senkronizasyonda sıkıntı yaşayabilirim. Birkaç denemeden sonra durum ortaya çıkacak.
burakalakus

View Comments

  • Merhaba
    Elimde can-bus protokolü için interface devresi var.
    Ben aynısını yapmak istiyorum.
    Elemanlar: pic18f2580, ft245bl,atmel440,mcp2551.
    Bu devreyi yapmam mümkün mü?
    Mesela ft232 değilde ft245 kullanılmasının bir sebebi var mıdır?
    Tşk.

  • Merhaba,
    Zamanında bu araç içi can protokolü ile bilgi çeken bir donanımla ben de uğraşmıştım. Bildiğim kadarıyla can-hi, can-low ve gnd pinleri sayesinde araç içi kominikasyona girmek mümkün oluyor.
    Bende de citroen c4 var. Bu VAN haberleşmesi için bilgisayardan arabaya komut gönderebilen bir yazılım var mıdır? Örneğin teybi kontrol etmek ya da motor verilerini okumak gibi. Eğer varsa bilgisayarın com portu aracılığıyla bu iletişime müdahale etmem mükün olabilir mi?

    • Benimde su an tam olarak ugrastigim bu zaten. Can-h ve can-l pinleriyle differential dedigimiz hat kodlama metodu kullaniliyor. +4.5 -4.5 volt arasi sinyal farki var bu da hat uzerinde ortalama 9 voltluk bir potansiyel fark veriyor. Comfort line dedigimiz hat, c4 un ekranini soktugunde arkadaki port, bu hat uzerinden tum verileri dinlemeyi sagliyor. Piyasada buldugum mcp2551 ile basit bir can trans-receiver devremde var hazirladigim.. Gel gor ki is yogunlugundan cok vakit bulamiyorum. Sorunun cevabina gelirsek kesinlikle tum medya, cam, far kontrolleri bu hat uzerinden mumkun, ayni sekilde monitor etmek de mumkun.

Recent Posts

Geeklink Homekit Entegrasyonu

Geeklink Homekit Entegrasyonu Read More

5 sene ago

Linux Timezone Değiştirme (RHEL / CentOS)

Linux Timezone değiştirme işlemini komut satırından kolaylıkla yapabilirsiniz. Tüm bölgeler için timezone bilgileri /usr/share/zoneinfo/ altında saklanır. /etc/localtime ise zoneinfo altındaki… Read More

5 sene ago

Avaya SAL Gateway

Avaya SAL Gateway (Secure Access Link), Avaya tarafından ürünlerine uzaktan destek vermek için kullanılan bir uzak bağlantı çözümü. Read More

5 sene ago

Fping Komutu ve Kullanımı

Ping, işletim sisteminden bağımsız en çok kullandığımız komutlardan biri. Ağ erişim problemlerinde sorunu izole etmeden tutun da bir cihazın çalışıp… Read More

5 sene ago

Manchester Kodlaması Nedir?

Haberleşme birden fazla paydaş gerektirir ve tıpkı bir orkestra gibi uyumlu olması şarttır. Nasıl müzikte bas gitar davul "kick"iyle uyumlu… Read More

5 sene ago

SSH Key ile Şifresiz ve Güvenli Sunucu Erişimi

Bilgi işlem sektöründeyseniz özellikle gün içinde bir çok farklı Linux/Unix sunucuya erişiminiz varsa şifre hatırlamak, bunları saklamak, hem zulüm hem… Read More

8 sene ago