Saya telah ditugaskan untuk proyek untuk menemukan komunikasi terbaik antara beberapa papan PCB yang memiliki mikrokontroler untuk fungsi tertentu. Saya perlu semua mikrokontroler berkomunikasi dengan papan utama yang berisi CPU.
Saya perlu mengirim beberapa informasi dari mainboard ke pengontrol dan menerima tanggapan dari pengontrol. Setiap papan pengontrol dirancang untuk tujuan tertentu. Saya tidak perlu berkomunikasi antara mikrokontroler, tetapi meskipun satu mikrokontroler gagal berkomunikasi maka tidak akan berpengaruh pada yang lain. Saat ini, saya perlu memiliki enam mikrokontroler berkomunikasi, tetapi di masa depan lebih dari itu. Saya ingin menghindari lebih banyak koneksi kabel antara mainboard dan pengontrol lainnya (seharusnya lebih sedikit).
Komunikasi tidak boleh dipengaruhi oleh suhu (250 ° F (120 ° C)) dan tekanan (tinggi). Jarak antara mainboard ke pengontrol akhir mungkin lebih dari satu meter. Jenis pengontrol apa yang terbaik? Saya perlu melakukan beberapa perhitungan dan pembacaan sensor. Setiap papan memiliki lebih dari dua sensor. Saya perlu melakukan beberapa perhitungan pada pembacaan sensor atau mengirim nilai secara langsung.
Saya baru mengenal jenis proyek ini. Saya telah mencari komunikasi terbaik, tetapi saya bingung mana yang terbaik. Beberapa orang menyarankan saya untuk menggunakan komunikasi CAN. Jika saya memilih komunikasi CAN, jenis mikrokontroler apa yang terbaik? Saya telah melampirkan diagram sederhana bagaimana itu akan terlihat seperti yang ditunjukkan di bawah ini.
sumber
Jawaban:
Jika Anda memilih CAN maka mikro "terbaik" adalah mikro dengan CAN built in (banyak yang memilikinya, Coldfire MCF5225x adalah salah satu contoh).
I2C atau RS485 / RS422 juga merupakan pilihan yang baik, tergantung pada karakteristik listrik dari situasi (jarak, kebisingan, daya). Selebihnya turun ke protokol yang Anda gunakan untuk berkomunikasi - bagaimana cara mengatasi pesan, mengontrol aliran, menghindari tabrakan.
Semoga beruntung menemukan mikro yang akan bekerja pada 180c, spek otomotif unggul di 125c dan saya tidak berpikir bahkan spek militer meningkat secara drastis pada itu.
Anda harus mulai dengan layer 1 (listrik) untuk mengetahui apa yang harus dilakukan antarmuka fisik, setelah itu sebagian besar masalah perangkat lunak tentang cara Anda berbicara. Saat ini, ethernet bahkan mungkin menjadi opsi yang layak jika micros memiliki ruang untuk menjalankan OS sederhana.
sumber
Anda dapat melihat di http://www.keil.com/dd/chip/3648.htm LPC 2129 ARM7TDMI-S dengan dukungan CAN. Ini dapat membantu jika Anda memperbaiki antarmuka Anda sebagai CAN. Anda juga dapat memiliki konektor dan kabel kelas Industri atau MIL karena kendala suhu Anda. Lihat vendor seperti kabel Radiant, konektivitas TE, Amphenol, Allied Connectors yang memproduksi barang-barang yang dimaksudkan untuk lingkungan suhu tinggi. Selain itu, Anda dapat memeriksa beberapa bahan tahan panas seperti teflon yang membantu melindungi antarmuka komunikasi.
sumber
Untuk CAN (dan saya akan sangat menyarankan CAN untuk pengaturan Anda) Saya merekomendasikan LPC11C24 , sebuah ARM Cortex-M0. Saya pikir itu adalah satu-satunya yang memiliki transceiver sudah dimasukkan, jadi tidak perlu chip tambahan untuk mengimplementasikan lapisan fisik (seperti biasa di sisa mikrokontroler CAN). Ini juga memiliki beberapa library C yang bagus dan mudah digunakan built-in ROM untuk CAN dan CANOpen standar.
sumber
Keluarga Freescale S08D atau Kinetis murah memiliki CAN dan mendukung hingga 125ºC. Namun nilai suhu tertinggi yang Anda dapatkan hanya pada chip berharga di Freescale (sumber: pencarian parametrik). Coba Pencarian Parametrik dari semua situs!
sumber
CAN cukup rumit dalam implementasi perangkat lunak.
Mengapa tidak menggunakan RS-485 yang juga merupakan standar industri? Ada banyak transceiver RS-485 dengan dukungan suhu 125'C.
sumber