Ada sejumlah modul BISA dibangun ke dalam mikrokontroler hari ini. The PIC18F2480 adalah contoh dari itu. Apakah mikrokontroler (dengan built-in CAN) mampu mengemudikan bus CAN sendiri atau apakah transceiver / controller eksternal CAN diperlukan?
Saya percaya CAN memiliki lapisan perangkat lunak dan perangkat keras dan sepertinya mikrokontroler yang diaktifkan-CAN ini tampaknya hanya memiliki perangkat lunak, tetapi tidak menyatakan bahwa CAN dapat atau tidak dapat menggerakkan bus CAN seperti apa adanya.
Saya mencari untuk menghubungkan lebih dari enam mikrokontroler melalui bus CAN dan ingin tahu apakah saya memerlukan transceiver di semua itu atau apakah barang bawaan dapat menangani komunikasi dari perspektif perangkat lunak dan perangkat keras.
Asumsikan bahwa saya akan memiliki resistor terminasi yang diperlukan dan komponen diskrit kecil lainnya (tutup, resistor, dll.)
The LPC11Cxx keluarga mikrokontroler (ARM Cortex-M0 berdasarkan) meliputi transceiver CAN on-chip.
sumber
Ya, Anda membutuhkan trans. Pin CAN pada mikro diterima dan dikirim. Bus CAN itu sendiri menggunakan twisted-pair dengan sinyal diferensial pada dua kabel yang disebut TINGGI dan RENDAH.
Salah satu tugas transceiver adalah mengambil level logika yang Anda tampilkan pada TX pin dan mengubahnya menjadi sinyal bus CAN:
Yang lain adalah mengambil apa yang ada di bus, dan mengubahnya kembali menjadi level logika untuk mengirim kembali dari pin RX ke mikro Anda.
sumber
Anda memerlukan chip transceiver CAN antara CPU dan bus CAN. Lihat MCP2551.
Pembaruan 17 Agu 2017:
Saya di konferensi Microchip Masters sekarang. Saya diberitahu oleh para insinyur Microchip bahwa salah satu suku cadang baru yang dihasilkan dari akuisisi Atmel lebih murah dan lebih baik daripada MCP2551.
sumber
Perangkat analog memiliki contoh rangkaian transceiver CAN yang menggunakan penguat diferensial.
Saya belum mencoba ini, saya hanya menyadarinya. Juga tertarik jika itu bisa diimplementasikan dengan op-amp
Keuntungan menggunakan transceiver IC CAN khusus adalah mereka akan menangani arbitrase untuk Anda dan Anda tidak perlu khawatir mengganggu bus. Jika Anda hanya mengamati bus dan itu bukan lingkungan yang kritis, sirkuit mungkin baik-baik saja. Sementara mcp2551 sangat populer, ada banyak opsi untuk chip antarmuka.
Evolusi baru adalah jenis chip Basis Sistem yang mencakup pengaturan tegangan, mode daya, dan perlindungan ESD dari bus.
Seperti yang dikatakan timorr di atas, LXC11C24 NXP adalah unik karena prosesor menyertakan CAN transceiver. Papan demo dengan ini hanya $ 19. Solusi berbiaya rendah lainnya adalah dengan menggunakan papan demo Cypress PSoC5 seharga $ 9,38, CY8CKIT-059. PSoC5 tidak memiliki kontroler CAN; ia melangkah lebih jauh: controller diimplementasikan dalam blok universal seperti-FPGA. Register pengendali dikonfigurasikan melalui GUI IDE, membuat penyaringan dan R&D cukup mudah.
Metode kunci yang saya temukan ketika meneliti lembar data adalah MCU TTL diberi label CAN-Tx dan CAN-Rx sedangkan jalur data transceiver ke bus selalu diberi label CAN-H dan CAN-L. Saya tidak suka diagram dalam jawaban lain di mana TxRx ditampilkan terhubung ke bus; ini bertentangan dengan konvensi dan berkontribusi pada kebingungan.
sumber