CAN Transmisi dan terminasi resistor

8

Saya telah mencoba mengatur jaringan CAN menggunakan mikrokontroler PIC18F25K80 dan MCP2551 untuk berkomunikasi di antara mereka. Bisakah saya menggunakan dua kabel sederhana sebagai bus CAN dengan hanya menghubungkan CANL, CANH dari transceiver? Saya bahkan tidak bisa mengirim data dengan set up yang saya buat dengan dua kabel! Haruskah saya menghentikan mereka dengan perlawanan?

Arun Shekhar R
sumber
Coba gunakan twisted pair dan sebaiknya diputar twisted pair
Andy alias
Jika panjang bus kecil maka itu mungkin berhasil tetapi selalu lebih baik untuk memiliki penghentian.
Swanand
2
@ Swanand: Tidak. Mengakhiri garis hanya sebagian dari tujuan resistor. Bagian lainnya adalah memastikan kondisi pasif bus. Dalam hal ini, mereka seperti resistor pullup dari bus kolektor terbuka. Tanpa resistor, keadaan pasif tidak ditentukan.
Olin Lathrop

Jawaban:

5

Ada asumsi 0V umum antara dua sirkuit, atau setidaknya perbedaan antara 0Vs dari sirkuit dalam tegangan perbedaan mode umum.

Untuk transmisi CAN yang benar, Anda perlu

  • kabel kontinu antara dua node, CANH ke CANH dan CANL ke CANL. Tidak menyeberang, tidak korsleting, bukan sirkuit terbuka. Twisted pair tidak mutlak diperlukan pada kecepatan data yang lebih rendah / kabel yang sangat pendek misalnya beberapa cm pada 50kbaud di lab.
  • setidaknya satu penghentian resistor, tidak akan berfungsi sama sekali tanpa satu resistor. Saat laju data / panjang kabel naik, Anda benar-benar harus memiliki satu di setiap ujung, dengan nilai yang tepat, 120R.
  • setidaknya satu penerima berjalan pada kecepatan data yang sama (dan timing bit lainnya) untuk mengirim pulsa ACK, jika tidak, Anda mendapatkan pengulangan tak terbatas dari pemancar pesan pertama.
  • referensi 0V umum antara semua node
Martin
sumber
Saya telah menemukan bahwa 0v umum sangat penting untuk kecepatan yang lebih tinggi. Dalam sistem yang kami miliki, perbedaan GND hanya 0,3v antara yang dicatat sudah cukup untuk menyebabkan sejumlah besar kesalahan pesan. Mengurangi perbedaan itu dengan menambahkan kabel yang lebih tebal mengurangi jumlah kesalahan.
Rocketmagnet
5

Bus CAN mengharuskan pemberhentian dengan 120 ohm.

Masukkan deskripsi gambar di sini

Saya menggunakan metode terminasi split, dengan kapasitor keramik rendah (10 nF) ke pin Vref pada perangkat terakhir di bus. Ini pin 5 pada MCP2551 .

raaymaan
sumber
1
Split terminasi dengan kapasitor ke ground baik-baik saja, tetapi menghubungkan kapasitor itu ke Vref dari MCP2551 tidak masuk akal. Anda mencari tanah AC. Paling-paling itu adalah sumber tegangan dan itu akan bekerja seperti halnya tanah nyata, tetapi pin itu memiliki kemampuan arus yang terbatas dan tidak dimaksudkan untuk menyerap transien.
Olin Lathrop
2
Anda memasang tengah split ke Vref, dan kapasitor dari tengah ke GND.
Rocketmagnet
Saya telah meninggalkan pin Vref tidak terhubung, dan menggunakan terminasi standar menggunakan 120ohm res, tetapi masih tidak bisa berkomunikasi antara papan.
Arun Shekhar R