Jawaban singkat
RS-485 dan CAN keduanya berjalan melalui pasangan diferensial yang diterminasi, tetapi keduanya memecahkan masalah yang berbeda.RS-485 adalah lapisan fisik: RS-485 memindahkan byte secara andal melalui kabel panjang, dan Anda menyediakan protokol, pengalamatan, dan penanganan kesalahan dalam perangkat lunak.CAN adalah lapisan data-link yang lengkap: CAN menambahkan framing, arbitrasi, deteksi kesalahan, dan transmisi ulang otomatis di perangkat keras. Pilih RS-485 ketika Anda membutuhkan jarak dan kesederhanaan, CAN ketika Anda membutuhkan determinisme multi-master dan penanganan kesalahan bawaan. Pada 250 kbps, RS-485 dengan nyaman mencakup 300 m sementara CAN sudah mendekati batas 250 m — dan keunggulan sebenarnya CAN bukanlah jarak, melainkan protokolnya.
Poin penting eksekutif
- Jarak adalah masalah kabel dan terminasi, bukan masalah protokol.Pada 250 kbps, batas praktis CAN sekitar 250 m; RS-485 dapat menjangkau lebih jauh dengan pasangan kabel yang sama dan bit rate yang lebih lambat.
- Nilai CAN adalah arbitrasi.Beberapa node dapat mulai mengirim secara bersamaan dan frame dengan prioritas lebih tinggi menang tanpa tabrakan; RS-485 memerlukan master atau protokol perangkat lunak untuk menghindari tabrakan.
- Rentang common-mode RS-485 lebih lebar(−7 V hingga +12 V) dibandingkan transceiver CAN tipikal, yang penting dalam instalasi industri dengan offset ground.
- Keduanya memerlukan terminasi di kedua ujung, stub pendek dan jaringan bias; sebagian besar kegagalan di lapangan adalah perkabelan dan terminasi, bukan transceiver.
1. Apa sebenarnya masing-masing bus
RS-485 (TIA/EIA-485-A) hanya mendefinisikan lapisan elektrik: driver dan receiver diferensial, rentang common-mode, batas unit-load, dan aturan terminasi. Standar ini tidak membahas pengalamatan, framing, penanganan tabrakan, atau pemulihan error. UART ditambah transceiver RS-485 memberi Anda pipa byte yang andal; protokol di atasnya adalah desain Anda.
CAN (ISO 11898-2) mendefinisikan lapisan fisikdanlapisan data-link. Frame membawa pengenal, bidang data, CRC, dan acknowledgment; arbitrase bersifat bit-wise dan non-destruktif; kesalahan terdeteksi dan frame dikirim ulang secara otomatis. Itu adalah banyak perilaku yang tertanam dalam controller dan transceiver, dan itulah sebabnya CAN mendominasi otomotif dan mesin mobile.
Standar terkait, RS-422, menggunakan pensinyalan diferensial yang sama dengan pasangan driver dan receiver khusus (empat kabel) dan mendukung kecepatan lebih tinggi pada jarak yang lebih pendek. RS-485 adalah versi multi-drop dua kabel; ketika artikel ini menyebut RS-485, yang dimaksud adalah kasus multi-point dua kabel kecuali dinyatakan lain.
2. Kecepatan versus jarak
| Laju bit | Jarak praktis RS-485 | Jarak praktis CAN |
|---|---|---|
| 10 Mbps | ~10–15 m | not supported (classic CAN) |
| 1 Mbps | ~100–120 m | ~40 m |
| 500 kbps | ~200–300 m | ~100 m |
| 250 kbps | ~300–600 m | ~250 m |
| 125 kbps | ~600–1200 m | ~500 m |
| 50 kbps | ~1200 m | ~1000 m |
Tabel ini adalah panduan perencanaan, bukan jaminan: kapasitansi kabel, panjang stub, toleransi terminasi, dan jumlah node semuanya menggeser batas. Perbandingan pentingnya adalah bentuknya: keduanya turun kira-kira dengan fisika yang sama, tetapi CAN mengorbankan jarak lebih awal karena pewaktuan bit dan arbitrasenya memerlukan integritas sinyal yang lebih ketat.
3. Topologi, terminasi, dan bias
Kedua bus adalah pasangan diferensial multi-drop yang diterminasi pada kedua ujung fisik. RS-485 menggunakan satu resistor 120 Ω di setiap ujung; CAN sering menggunakanterminasi terbagi— dua resistor 60 Ω secara seri dengan titik tengahnya di-bypass ke ground — yang meningkatkan stabilitas mode umum dan EMC.
Bias keadaan idle adalah separuh lainnya. Pasangan yang diterminasi tanpa driver aktif akan mengambang di sekitar 0 V, yang merupakan level logika tak terdefinisi. Jaringan RS-485 menggunakan jaringan bias fail-safe — biasanya pull-up pada satu jalur dan pull-down pada jalur lainnya — untuk mempertahankan keadaan idle yang diketahui. Dengan dua terminasi 120 Ω secara paralel (60 Ω), diferensial idle 200 mV membutuhkan sekitar 3.3 mA, yang dari rel 5 V berarti total sekitar 1.4 kΩ, atau 680 Ω di setiap sisi.
Transceiver CAN biasanya menyediakan bias secara internal dan menetapkan level resesif; itu salah satu alasan pengkabelan CAN lebih sederhana untuk dilakukan dengan benar.
4. Protokol: perbedaan sebenarnya
RS-485 bersifat half-duplex pada pasangan dua kabel (full duplex empat kabel tersedia). Hanya satu driver yang boleh diaktifkan pada satu waktu, sehingga jaringan memerlukan master, token, atau skema penghindaran tabrakan yang diimplementasikan dalam perangkat lunak. Itu tidak masalah untuk Modbus, DMX, protokol gaya Profibus, dan banyak tautan eksklusif, tetapi determinismenya hanya sebaik perangkat lunaknya.
CAN bersifat multi-master secara desain. Node mana pun dapat memulai frame saat bus idle; jika dua memulai bersamaan, node dengan identifier dominan memenangkan arbitrase dan yang lainnya mencoba ulang secara otomatis. Pesan dengan prioritas lebih tinggi karenanya memiliki latensi terbatas, yang merupakan alasan CAN digunakan untuk loop kontrol pada kendaraan dan mesin.
| Aspek | RS-485 | CAN / CAN FD |
|---|---|---|
| Layer defined | Physical only | Physical + data link |
| Multi-master | No (software) | Yes, by arbitration |
| Error handling | Application | CRC, ACK, retransmission |
| Max nodes | 32 unit loads (256 with 1/8 UL) | Typically 110–120 |
| Common-mode range | −7 V to +12 V | About −2 V to +7 V |
| Typical use | Modbus, DMX, long sensor runs | Automotive, machinery, battery packs |
5. Contoh perhitungan: 300 m, 250 kbps, 16 node
Jaringan industri memerlukan 16 node sepanjang 300 m pada 250 kbps, dengan catu daya transceiver 5 V. Bus mana?
- CAN pada 250 kbpsditentukan hingga sekitar 250 m, sehingga 300 m sudah melampaui batas perencanaan; diperlukan repeater atau laju bit yang lebih rendah.
- RS-485 pada 250 kbpsnyaman pada 300 m. Dengan kabel 50 pF/m, pasangan tersebut menghadirkan sekitar 15 nF; dengan 60 Ω terminasi efektif, konstanta waktu RC adalah 0.9 µs, dan waktu naik 10–90% sekitar 2 µs terhadap bit 4 µs — dapat diterima, dengan margin untuk stub dan konektor.
- Terminasi:120 Ω di setiap ujung.Bias:Pull-up dan pull-down 680 Ω menghasilkan diferensial idle sekitar 200 mV.
Jawaban praktisnya adalah RS-485 kecuali aplikasi memerlukan arbitrasi CAN atau stack diagnostiknya. Jarak saja tidak menentukan hal itu.
Hitung dengan angka yang sama untuk CAN dan gambarnya jelas: pada 250 kbps batas CAN adalah 250 m, sehingga 300 m akan memerlukan penurunan ke 125 kbps (500 m) atau penambahan repeater. Itu perubahan sistem, bukan pilihan komponen.
6. Isolasi, proteksi, dan kabel
Bus lapangan yang panjang mengalami lonjakan dan offset ground. Di konektor, TVS atau array ESD melindungi transceiver dari ESD dan lonjakan; choke common-mode mengurangi emisi frekuensi tinggi dan meningkatkan imunitas. Keduanya tidak menggantikan kebutuhan akan referensi ground yang terdefinisi atau isolasi ketika offset-nya besar.
Isolasi galvanik adalah jawaban yang kokoh untuk jalur panjang antar bangunan atau antar peralatan pada ground yang berbeda. Transceiver terisolasi menggabungkan driver, receiver, dan barrier isolasi dalam satu paket; isolator digital diskret ditambah transceiver non-terisolasi mencapai hasil yang sama dengan lebih banyak komponen. Pilihannya biasanya biaya dan ruang board, bukan performa.
Kabel sama pentingnya dengan silikon. Pasangan terpilin dengan impedansi karakteristik 100–120 Ω, 50–60 pF/m, dan pelindung foil atau braid adalah acuan dasar. Pembumian pelindung di satu ujung menghindari ground loop pada sebagian besar instalasi; pengecualiannya adalah instalasi dengan konduktor referensi khusus, di mana kedua ujung dapat dibonding.
7. Contoh protokol
Pada RS-485, Modbus RTU adalah protokol yang paling umum: master melakukan polling slave berdasarkan alamat, dengan CRC per frame. DMX512 menggunakan lapisan fisik yang sama untuk pencahayaan, dengan laju frame tetap. Keduanya bekerja karena master mengendalikan bus; tidak ada yang menyediakan penanganan tabrakan perangkat keras.
Pada CAN, CANopen dan J1939 menambahkan pengalamatan dan profil di atas lapisan frame. Karena arbitrase ada di perangkat keras, pesan dengan prioritas lebih tinggi mendapatkan bus lebih dahulu, dan error frame memaksa transmisi ulang yang cepat. Itu adalah model keandalan yang berbeda dari RS-485, di mana frame yang bertabrakan langsung hilang kecuali perangkat lunak mendeteksinya.
Perlu disebutkan apa yang bukan merupakan bus-bus ini. Keduanya bukan pengganti Ethernet industri ketika payload besar atau ketika diagnostik jarak jauh dan sinkronisasi waktu menjadi penting. Ethernet menambahkan magnetics, PHYs, dan switch, dan memecahkan masalah yang berbeda; field bus tetap menjadi pilihan yang tepat untuk lalu lintas kontrol deterministik yang kecil melalui satu pasangan kabel.
8. Memilih
Pilih RS-485 ketika:jalur panjang, protokol sudah ditentukan (Modbus, proprietary), node sedikit hingga sedang, dan struktur master-slave dapat diterima. Ini juga merupakan pilihan yang lebih sederhana ketika pasangan yang sama harus berdampingan dengan sinyal lain atau ketika offset common-mode diperkirakan.
Pilih CAN ketika:beberapa node harus melakukan arbitrasi tanpa master, pesan memiliki prioritas, dan aplikasi memperoleh manfaat dari CRC perangkat keras, acknowledgment, dan retransmisi. Otomotif, manajemen baterai, penggerak motor, dan mesin bergerak adalah kasus klasiknya.
Pilih CAN FD ketika:Anda memerlukan model CAN tetapi bandwidth lebih besar — hingga 5 Mbps pada fase data dengan fase arbitrasi yang sama.
9. Siapa yang seharusnya tidak menggunakan yang mana
- Jangan gunakan RS-485 untuk kontrol multi-master yang kritis terhadap keselamatankecuali Anda telah membuktikan protokol perangkat lunaknya; tidak ada arbitrasi perangkat keras atau penahanan kesalahan.
- Jangan gunakan CAN untuk jalur sensor berkecepatan rendah yang sangat panjangjika tautan Modbus sederhana sudah memadai; transceiver dan pengontrol menambah biaya tanpa manfaat.
- Jangan gunakan keduanya untuk tautan point-to-point tunggaldi bawah beberapa meter; UART atau SPI biasa lebih sederhana dan lebih murah.
- Jangan gunakan salah satu pun tanpa isolasijika perbedaan potensial tanah melebihi rentang mode umum; tambahkan isolator digital atau transceiver terisolasi.
Waktu naik dan kapasitansi kabel
Pasangan tersebut berperilaku sebagai saluran RC:tr≈ 2.2 × Ristilah× Ckabel, dengan Ristilahnilai paralel dari dua terminasi (60 Ω) dan Ckabelkapasitansi total. Pada 50 pF/m dan 300 m, C = 15 nF, jadi tr≈ 2 µs — setengah bit pada 250 kbps. Itulah sebabnya jarak turun dengan cepat saat laju bit meningkat, dan mengapa menambahkan node atau stub memperburuknya.
Periksa hasilnya terhadap waktu bit, bukan terhadap laju maksimum pada lembar data. Transceiver yang diberi rating 10 Mbps tetap akan gagal pada tautan 300 m di 10 Mbps karena kabel, bukan transceiver, yang menetapkan batasnya. Ini juga sebabnya uji bit-error-rate pada panjang kabel sebenarnya lebih bernilai daripada tabel mana pun.
10. Tata letak dan EMC
Kedua bus bersifat diferensial, jadi rutekan pasangan secara bersamaan, jaga impedansi tetap konsisten, dan hindari pemisahan pada bidang referensi. Tempatkan terminasi di konektor, bukan di suatu tempat di tengah stub. Jaga stub tetap pendek: sebagai aturan, stub harus merupakan fraksi kecil dari panjang bit, jauh di bawah 0,3 m pada 1 Mbps.
Tambahkan choke common-mode dan proteksi TVS di konektor untuk lonjakan dan ESD, serta konduktor referensi ground jika instalasi tidak dapat menjamin ground bersama. Rentang common-mode transceiver bukanlah lisensi untuk mengabaikan grounding; itu adalah margin, bukan metode desain.
11. Lima kesalahan
1. Satu resistor terminasi.Satu resistor 120 Ω di salah satu ujung menyisakan refleksi di ujung lainnya; kedua ujung memerlukannya.
2. Tidak ada bias fail-safe.Level idle mengambang, dan penerima menganggap noise sebagai data.
3. Stub panjang ke setiap node.Stub menambah refleksi dan membatasi laju bit yang dapat digunakan jauh lebih besar daripada panjang kabel.
4. Mencampur transceiver RS-485 dan CAN pada satu pasangan.Ekspektasi pensinyalan dan terminasi berbeda; jaringan akan menjadi tidak andal.
5. Mengasumsikan jarak CAN sama dengan jarak RS-485.Pada bit rate yang sama, CAN mencapai kurang dari setengah jarak dalam banyak kasus.
Satu perbedaan praktis lagi: transceiver RS-485 tersedia dengan pembatasan slew-rate, yang mengurangi EMI dengan mengorbankan bit rate maksimum. Transceiver CAN ditetapkan untuk rentang bit rate tetap dan simetrinya merupakan bagian dari standar. Jangan mengasumsikan keduanya dapat dipertukarkan bahkan ketika pinout terlihat serupa.
12. Daftar periksa
- Laju bit yang diperlukan dan panjang kabel maksimum.
- Jumlah node dan anggaran beban unit.
- Arsitektur multi-master atau master-slave.
- Persyaratan arbitrase dan latensi.
- Tegangan mode umum antar node.
- Terminasi di kedua ujung, dengan nilai dan penempatan yang benar.
- Bias fail-safe (RS-485) atau level resesif (CAN).
- Persyaratan isolasi.
- Perlindungan lonjakan/ESD pada konektor.
- Verifikasi: pola mata atau uji bit-error pada panjang kabel sebenarnya.
Sepuluh pemeriksaan sebelum tata letak, dan satu setelahnya: jalankan uji bit-error atau pengambilan diagram mata pada panjang kabel sebenarnya. Jaringan yang tampak benar pada kabel uji dua meter di meja masih dapat gagal pada panjang terpasang, dan mode kegagalannya — kesalahan bit sesekali, bukan bus mati — mudah salah didiagnosis sebagai masalah perangkat lunak.
FAQ
Bisakah RS-485 dan CAN berbagi kabel yang sama?
Tidak. Keduanya menggunakan pensinyalan, terminasi, dan format frame yang berbeda. Menjalankan keduanya pada satu pasangan kabel akan menghasilkan error pada kedua jaringan.
Mengapa CAN mencapai jarak lebih pendek daripada RS-485 pada laju bit yang sama?
Arbitrase dan timing bit CAN memerlukan integritas sinyal yang lebih ketat, dan transceiver-nya memiliki rentang common-mode yang lebih sempit. RS-485 lebih toleran karena lapisan protokol berada di luar transceiver.
Berapa banyak node yang dapat didukung RS-485?
32 unit load dengan transceiver standar, atau hingga 256 dengan komponen 1/8-unit-load. Kabel, terminasi, dan jaringan bias harus disesuaikan ukurannya untuk jumlah tersebut.
Apakah saya perlu kabel ground terpisah?
Jika node dapat memiliki offset ground yang signifikan, ya — konduktor referensi atau isolasi lebih aman daripada mengandalkan rentang common-mode transceiver.
Dapatkah saya menjembatani RS-485 dan CAN dengan gateway?
Ya, dan hal ini umum ketika perangkat RS-485 legacy harus bergabung ke jaringan CAN. Gateway menjalankan kedua protokol dan memetakan alamat ke identifier; kedua lapisan fisik tetap terpisah.
Apakah resistor terminasi membuang banyak daya?
Hanya saat driver aktif: dengan 60 Ω efektif dan drive diferensial 5 V, arus terminasi adalah puluhan miliampere. Gunakan resistor 1/4 W atau lebih besar dan tempatkan di lokasi yang panasnya dapat diterima.
Bisakah saya menggunakan transceiver CAN untuk RS-485?
Tidak. Level pensinyalan, ekspektasi terminasi, dan format frame berbeda. Gunakan transceiver RS-485 untuk RS-485 dan transceiver CAN untuk CAN.
Bagaimana jumlah node memengaruhi jarak?
Setiap node menambah kapasitansi dan kebocoran. Jaringan 32 node pada 250 kbps berperilaku berbeda dari jaringan 4 node pada laju yang sama; turunkan rating jarak untuk jumlah node yang tinggi dan stub yang panjang.
Apakah CAN FD layak untuk desain baru?
Jika aplikasi membutuhkan payload lebih dari 1 Mbps dan pengendali mendukungnya, ya. Perilaku arbitrase tidak berubah, sehingga model sistem tetap berlaku.
Glosarium
- Beban unit
- Impedansi input ternormalisasi untuk penerima RS-485; 32 beban unit adalah batas klasik.
- Bias fail-safe
- Resistor yang mempertahankan level idle terdefinisi pada pasangan RS-485 yang tidak digerakkan.
- Arbitrasi
- Metode CAN dalam menyelesaikan transmisi simultan berdasarkan prioritas pengenal.
- Terminasi terbelah
- Dua resistor 60 Ω dengan kapasitor titik tengah, digunakan pada CAN untuk stabilitas mode umum.
- Stub
- Cabang dari bus utama ke sebuah node; stub yang panjang menyebabkan refleksi.
Sumber
- Texas Instruments, Panduan Desain RS-485 (SLLA272)— terminasi, bias, dan panjang kabel.
- Texas Instruments, Ikhtisar Standar RS-422 dan RS-485 (SLLA070)— standar dan rentang common-mode.
- Texas Instruments, Ikhtisar Transceiver CAN 3.3 V (SLLA337)— lapisan fisik dan level CAN.
- ISO 11898-2 untuk lapisan fisik CAN kecepatan tinggi, dan TIA/EIA-485-A untuk RS-485.