Bas (Controllereaneanetwork) Bas, IE Bas Rangkaian Kawasan Pengawal, telah digunakan secara meluas dalam kawalan perindustrian, elektronik perubatan, peralatan rumah tangga dan bidang sensor. Pada masa ini, kesusasteraan domestik dan asing untuk analisis protokol bas CAN artikel ini adalah untuk struktur bingkai protokol CAN kepada atau sedikit ciri masa analisis, seperti kesusasteraan jarang dari perspektif komunikasi pada analisis protokol bas CAN , jarang dari perspektif aplikasi kejuruteraan, mekanisme komunikasi bas CAN untuk analisis mendalam artikel.
1. Bolehkah ciri -ciri aplikasi dan komposisi struktur
Protokol Bas CAN mempunyai dua piawaian antarabangsa, ISO11898 dan ISO11519, di mana, IS011898 adalah standard komunikasi yang berkelajuan tinggi dengan kadar komunikasi 125kbps hingga 1Mbps, yang merupakan bas tertutup gelung dengan panjang maksimum 40m/1Mbps. ISO11519 mentakrifkan standard komunikasi boleh berkelajuan rendah dengan kadar komunikasi 10 hingga 125kbps, yang merupakan standard komunikasi berkelajuan rendah dengan panjang maksimum 40m/1Mbps. ISO11519 mentakrifkan kadar komunikasi 10 hingga 125kbps kelajuan rendah boleh berkomunikasi standard, tergolong dalam bas terbuka, panjang maksimum 1km / 40kbps. Oleh kerana ciri -ciri elektrik batasan, iaitu, pengedaran bas kapasitans dan pengedaran rintangan pada bentuk gelombang bas, bilangan maksimum nod pada bas CAN adalah 110. Bagi jurutera permohonan, hanya kadar baud dan parameter bit sisi transceiver perlu dikonfigurasi dengan betul untuk mencapai penyegerakan data nod transceiver. Melalui perkakasan CAN COLLER pada penapisan penanda mesej dapat direalisasikan point-to-point, point-to-multipoint dan siaran global dan cara lain untuk menghantar dan menerima data. Pada masa yang sama, disebabkan oleh struktur bingkai pendek Telegram CAN, dan setiap bingkai mengandungi bahagian semak CRC, yang memastikan kadar ralat data yang sangat rendah.
Lapisan aplikasi CAN, sistem operasi (dilaksanakan sebagai program latar belakang dalam aplikasi tanpa sistem operasi) dan pemacu dalam pelaksanaan sistem bersama -sama merealisasikan fungsi lapisan aplikasi dalam model rujukan ISO. Antaranya, lapisan aplikasi CAN mentakrifkan pengumpulan ID, menghantar pemuatan data, menerima pemprosesan data, dan pemantauan keselamatan bas aplikasi; Program sistem operasi/latar belakang digunakan untuk menjadualkan pemandu CAN untuk memproses data selepas dapat mengganggu tiba; Pemandu termasuk inisialisasi (tetapan keadaan kerja pengawal, tetapan kadar baud, konfigurasi penapis penerimaan), pemacu transceiver, dan program pengendalian kelainan.
Untuk lapisan medium penghantaran, ia perlu ditentukan mengikut bunyi gangguan alam sekitar, panjang bas dan sebagainya. Dalam kes bunyi gangguan yang kuat mesti digunakan dawai dilindungi; Oleh kerana pengedaran kapasitans yang disebabkan oleh gangguan gelombang bas dan pengedaran rintangan yang disebabkan oleh pelemahan paras bas, panjang bas perlu mengambil kira pengagihan ciri -ciri rintangan dan kapasitansi medium penghantaran yang digunakan; Pada masa yang sama, jika penggunaan bas berkelajuan tinggi juga perlu bereksperimen untuk menentukan nilai rintangan yang sepadan dengan bas.
Untuk merealisasikan pengawal CAN, anda boleh memilih pengawal CAN yang disatukan dalam cip induk sistem, seperti siri mikrokontroler LPC2000 NXP, atau anda juga boleh menggunakan komponen diskret pengawal CAN, seperti SJA1000 untuk merealisasikan CAN Transceivers , anda boleh memilih CTM1050, TJA1050, dan lain -lain. Jika bunyi gangguan ambien besar, anda perlu mempertimbangkan pengedaran sederhana penghantaran ciri -ciri rintangan dan pengedaran kapasitansi; Pada masa yang sama, jika anda menggunakan bas berkelajuan tinggi juga perlu menentukan rintangan sepadan bas melalui percubaan. Sekiranya bunyi gangguan alam sekitar adalah besar, perlu menambah cip pengasingan antara pengawal dan transceiver atau penggunaan fungsi pengasingan bersepadu dari transceiver CAN. Perlu dinyatakan bahawa cip mikrokontroler LPC11C24 baru NXP bukan sahaja mengintegrasikan pengawal CAN, tetapi juga mengintegrasikan fungsi transceiver CAN, yang memberikan sokongan yang baik untuk pembangunan pesat sistem bas CAN. Di samping itu, menurut penggunaan sebenar panjang bas dan bilangan nod di dalam bas, ia juga perlu untuk mempertimbangkan masa kelewatan penghantaran dan penerimaan cip transceiver.
Bagi lapisan pemacu dan lapisan aplikasi CAN, pemandu termasuk inisialisasi boleh (termasuk perkakasan membolehkan, tetapan kadar baud, tetapan mod operasi pengawal dan konfigurasi jadual penapis ID penapis), menerima/menghantar pemacu dan menyediakan fungsi antara muka ke lapisan atas, di mana Adalah perlu untuk menjelaskan bahawa konfigurasi jadual ID Penapis Penerimaan perlu berdasarkan pengumpulan ID sistem oleh lapisan aplikasi; Lapisan aplikasi CAN melakukan pembungkusan data berdasarkan data menghantar/menerima hubungan antara nod pada bas. Boleh lapisan aplikasi mengikut data menghantar dan menerima hubungan antara nod pada bas untuk kumpulan id paket, menghantar paket data, menerima pemprosesan data dan pemantauan keselamatan bas aplikasi. Di samping itu, protokol lapisan atas bas yang biasa digunakan termasuk Canopen, Devicenet dan ICAN.
2. Bolehkah Analisis Mekanisme Penyegerakan Bas
Dalam proses komunikasi, salah satu isu yang paling penting untuk diselesaikan adalah bagaimana untuk mencapai penyegerakan data pada penghantar dan penerima berakhir, iaitu, akhir penerima dapat menerima dan menghuraikan data yang dihantar oleh penghantar end.Can Protocol Bus adalah sejenis protokol komunikasi bersiri asynchronous, yang dimiliki oleh komunikasi baseband, dan penyegerakannya direalisasikan dari protokol kawalan pautan data peringkat tinggi (HDLC). Khususnya, penyegerakan protokol bas CAN dicapai melalui 3 aspek seperti yang diterangkan di bawah.
2.1 Tetapan Parameter
Kedua -dua belah komunikasi melalui perisian menetapkan kadar baud yang sama, panjang segmen pelarasan fasa yang sama, lebar lompat penyegerakan yang sama, melalui tiga elemen di atas, mentakrifkan panjang masa bit dalam proses penghantaran bas CAN sebagai bas Sebagaimana lokasi titik pensampelan, struktur bit seperti yang ditunjukkan dalam Rajah 2, jam boleh dalam angka yang ditakrifkan dalam protokol masa TQ, yang diperolehi melalui pembahagian kekerapan jam luaran atau a Jam periferal CPU. Isyarat jam asas pengawal boleh diperolehi dengan membahagikan kekerapan jam luaran atau jam periferal CPU. Segmen SS sepadan dengan segmen permulaan, dan kelebihan melompat di atas bas harus berlaku dalam tempoh ini, TESG1 sepadan dengan segmen penghantaran dan segmen pelarasan fasa 1, dan TESG2 sepadan dengan segmen pelarasan fasa 2, dan untuk tinggi- Bas kelajuan, sampel pengawal dan mendiskriminasi bas antara TESG1 dan TESG2.

2.2 Struktur bingkai tetap
Boleh protokol dengan jelas mentakrifkan struktur bingkai tetap untuk memudahkan pengawal dan transceiver CAN untuk memantau keadaan bas, dalam spesifikasi protokol CAN2. domain timbang tara, bingkai standard menggunakan 11- pengenal bit, manakala bingkai lanjutan mempunyai 29- bit pengenal, Bingkai standard tertentu, struktur bingkai bingkai yang dilanjutkan.
2.3.3 Penyegerakan dan Penyesuaian semula Keras
2.3.1 Penyegerakan keras
Penyegerakan keras yang dipanggil bermaksud bahawa semasa tempoh terbiar bas (iaitu, tahap bas dinyatakan sebagai sedikit resesif berterusan), apabila pengawal mengesan lompatan dari tahap resesif ke tahap dominan, ini bermakna pada masa ini di sana adalah stesen di bas untuk mula menghantar data, kemudian memaksa kaunter bit negara pengawal CAN untuk menyegerakkan ke segmen SS yang ditunjukkan dalam Rajah 2, dan pada masa yang sama, jam bit mula ke Recount dari titik ini dan seterusnya (masa boleh sedikit ditetapkan oleh lapisan perisian atas). Penyegerakan keras digunakan untuk permulaan penentuan bingkai.
2.3.2 Resynchronization
Dalam protokol bas CAN, penyegerakan semula dilaksanakan berdasarkan mekanisme pengisian bit. Sama seperti protokol HDLC, dalam struktur bingkai CAN, sekali lima bit berturut -turut polariti yang sama dikesan dari permulaan bingkai sehingga bit urutan CRC, CAN CAN secara automatik memasukkan sedikit polaritas yang bertentangan. Penyegerakan semula ialah semasa penghantaran data, pengawal boleh menyesuaikan segmen pelarasan fasa 1 dan segmen pelarasan fasa 2 dengan mengesan perbezaan antara kelebihan hopping pada bas dan bit dalaman nod, dan saiz pelarasan diprogramkan oleh penyegerakan lebar melompat, dan saiz pelarasan ditetapkan dalam TQ. Peraturan pelarasan khusus ialah, dalam proses penghantaran, kelebihan hopping pada bas yang dikesan oleh pengawal CAN diselaraskan oleh pengawal CAN jika ia terletak di dalam tempoh bit SS dalaman nod, maka tiada pelarasan diperlukan; Sekiranya kelebihan skip terletak di segmen TESG1, ini bermakna terdapat kelewatan dalam sedikit masa di atas bas berbanding dengan masa bit nod, maka pengawal boleh memanjangkan tempoh bit TESG1 nod, dan jika Nilai masa kelewatan (nilai t 0) lebih besar daripada lebar skip penyeger Pengawal nod memanjangkan perbezaan di antaranya dan sedikit masa bas; Jika tepi lompat terletak di segmen TESG2, menunjukkan bahawa masa bit di dalam bas ditaklukkan berbanding dengan masa bit nod, maka pengawal CAN mengurangkan tempoh bit TESG2 nod, peraturan pelarasan tertentu adalah serupa dengan Mereka dari segmen TESG1.
3. Bolehkah analisis mekanisme alamat bas
Tidak seperti Ethernet Perindustrian, Rs485 dan bas lain, Bas Can menghantar dan menerima data melalui ID paket dan bukannya alamat nod, iaitu, nod di bas CAN tidak mempunyai alamat tetap, sebaliknya, setiap nod perlu dikonfigurasikan melalui melalui perisian dengan jadual ID (dalam unit penapis penerimaan nod), dan jika nombor ID paket data di dalam bas wujud dalam jadual ID nod, maka paket Berjaya melepasi penerimaan unit penapis penerimaan nod tersebut dan akan dihantar ke unit pemprosesan perisian atas dan diproses dengan sewajarnya, jika tidak, paket dibuang. Sebagai contoh, jika nod A di bas ingin menghantar satu paket ke node B, nombor ID paket mesti terletak di dalam jadual ID nod B. Begitu juga, jika nod A ingin menyiarkan satu paket ke bas, Nombor ID paket mesti terletak di meja ID semua nod lain di dalam bas. Seperti yang dinyatakan sebelum ini, jadual ID dikonfigurasikan melalui perisian, tetapi fungsi penapisan penerimaan dilakukan melalui penapis penerimaan, unit perkakasan di CAN CONTROLLER, jadi kelewatan yang disebabkan oleh penerimaan adalah kecil dari segi kelajuan. Di samping itu, kelebihan menggunakan mekanisme alamat ini ialah sistem yang menggunakan bas ini sangat fleksibel, iaitu, nod baru ditambah atau dipadam tidak menjejaskan komunikasi antara nod asal sistem.
Berikut ini akan mengambil pengawal CAN yang disepadukan dengan cip LPC2478 NXP sebagai contoh untuk menentukan kaedah konfigurasi alamat sistem bas CAN. Seperti yang ditunjukkan dalam Rajah 3, diklasifikasikan pertama mengikut paket data yang akan dihantar ke dalam bas, iaitu, ID paket dan perancangan nod yang sepadan, sebagai contoh, dalam sistem kami terdapat terutamanya jenis paket berikut: paket pertanyaan, Pakej Perintah Kawalan (termasuk paket tindakan dan parameter), paket penggera dan paket parameter maklum balas, sepadan dengan ciri nod paket pertanyaan dan paket arahan kawalan terutamanya stesen induk yang dihantar ke setiap unit hamba, Walaupun paket data penggera dan paket data parameter maklum balas terutamanya dihantar dari setiap unit nod hamba ke nod unit induk. Kemudian, unit penapis penerimaan setiap nod dikonfigurasikan mengikut klasifikasi ID, dan kaedah konfigurasi khusus adalah seperti berikut: Pertama, konfigurasikan mod kerja penapis penerimaan yang sesuai mengikut ciri nod: mod off (tidak menerima mesej bas) , mod pintasan (menerima semua mesej di dalam bas) dan mod kerja biasa (penapisan perkakasan). Jika konfigurasi untuk mod operasi biasa, maka anda perlu mengkonfigurasi jadual penapis penerimaan yang sepadan (jadual ID), iaitu, nod perlu menerima nombor ID paket pengawal nod untuk mengisi kawasan jadual ID yang sepadan, Dan ini melengkapkan kerja peruntukan alamat nod CAN CAN. Secara umumnya, jadual ID dibahagikan kepada empat bidang berikut: Kawasan pengenal bingkai standard yang jelas, kawasan pengenal format kumpulan bingkai standard, kawasan pengenal format bingkai yang dilanjutkan dan kawasan pengenal format kumpulan bingkai yang dilanjutkan. Antaranya, format eksplisit adalah pengenal ID bebas tunggal, sementara kawasan format kumpulan mempunyai pengenal ID berturut -turut berturut -turut.
4. Bolehkah Analisis Mekanisme Timbang Tara Bas
Timbang Tara Bas, merujuk kepada apabila bas mempunyai lebih daripada satu nod pada masa yang sama untuk menghantar kaedah pemprosesan protokol bas data. Bus boleh menggunakan mekanisme timbang tara yang tidak merosakkan, ia Node akan keluar dari keadaan penghantaran dan menjadi nod penerima, dengan mekanisme timbang tara bas lain (seperti CSMA LAN). (Berbanding dengan mekanisme timbang tara bas lain (contohnya CSMA/CD LAN), ia bukan sahaja tidak akan memusnahkan data yang dihantar, tetapi juga tidak akan menyebabkan kelewatan menghantar data, yang merupakan salah satu kelebihan bas CAN berbanding dengan bas lain , dan ia terutamanya direalisasikan oleh dua ciri berikut CAN BUS: 1) garis dan ciri -ciri bas CAN, iaitu, apabila lebih daripada satu nod di bas menghantar tahap yang dominan dan tidak kelihatan pada masa yang sama, tahap bas adalah tahap dominan. 2) Barisan dan ciri -ciri bas CAN, iaitu, apabila lebih daripada satu nod di bas menghantar paras yang dominan dan tidak kelihatan pada masa yang sama, tahap bas menunjukkan tahap dominan. 2) Bolehkah pengawal memantau status tahap bas walaupun menghantar data, iaitu, ketika dalam arbitrase, apabila pengawal menghantar tahap yang tidak kelihatan tetapi mengesan bas sebagai tahap yang dapat dilihat, arbitrase nod gagal dan bertukar kepada nod penerima.
5. Bolehkah Analisis Kekukuhan Bas
Kekukuhan bas CAN direalisasikan melalui pengesanan masa nyata dan pemantauan nod dan keselamatan paket bas, di samping itu, CAN BUS mempunyai perencatan yang kuat terhadap isyarat gangguan luaran melalui penggunaan isyarat pembezaan. Secara khusus dibincangkan di bawah.
5.1 Pemantauan masa nyata mengenai bentuk gelombang bas
Bolehkah pengawal bukan sahaja akan memantau paket data yang dihantar oleh nod lain di dalam bas sepanjang masa selepas menggerakkan, tetapi juga memantau data yang dihantar dengan sendirinya dalam proses menghantar paket data secara real time, setelah pengesanan kesilapan di tempat, Kesalahan padding, kesilapan CRC, kesilapan pemformatan, atau kesilapan tindak balas, nod akan berdasarkan keadaan ralat di mana ia (ralat diaktifkan atau ralat diiktiraf keadaan) untuk menghantar bendera ralat yang sepadan. Sebenarnya, saya percaya bahawa hanya tapak pengaktifan ralat menghantar logo ralat pengaktifan (iaitu, 6 bit dominan berturut -turut diikuti oleh 8 bit resesif logo ralat yang menentukan watak) akan memberi kesan ke atas bas dan nod di atas bas, sementara Nod dalam keadaan pengiktirafan ralat menghantar logo pengiktirafan ralat sebenarnya tidak mempunyai kesan pada bas (6 tahap resesif yang dihantar dengan keadaan terbiar bas adalah sama).
5.2 Pemantauan masa nyata status nod untuk menentukan keistimewaan nod
Node mengubah keadaan mereka (keadaan yang diaktifkan, diaktifkan oleh kesilapan, atau bas) dalam masa nyata mengikut paket yang dihantar ke dalam bas. Nod dalam keadaan yang diaktifkan oleh kesilapan mengambil bahagian dalam komunikasi bas biasanya, dan unit yang diiktiraf kesilapan mengambil bahagian dalam komunikasi bas, tetapi perlu menghantar 8 bit tersirat tambahan sebelum mereka memulakan penghantaran seterusnya. Untuk paket yang dihantar ke dalam bas, seperti yang ditunjukkan dalam Jadual 1, 15- bit CRC urutan melaksanakan pemantauan bit permulaan, medan timbangtara, medan kawalan, dan medan data (jika ada), tapak penerima menjana urutan CRC paket mengikut algoritma yang sama seperti nod penghantaran apabila ia menerima data dan membandingkannya dengan urutan CRC yang diterima, jika ia berbeza maka ia bermakna ada Ralat dan nod penerima tidak akan bertindak balas terhadap nod penerima tidak akan bertindak balas terhadap paket, dan nod penghantaran akan mengesan ralat tindak balas dan menghantar semula paket. Kesimpulannya, CAN BUS telah mencapai keselamatan data dan kestabilan bas yang tinggi melalui lapisan pautan data dan lapisan fizikal.
6. Kesimpulan
Berdasarkan spesifikasi protokol ISO11898, kertas menganalisis secara terperinci prinsip dan asas mekanisme penyegerakan nod boleh, mekanisme alamat nod, mekanisme timbang tara bas (iaitu mekanisme penyelesaian konflik bas) dan keteguhan bas dari perspektif komunikasi, dan pada masa yang sama Masa secara ringkas memperkenalkan ciri-ciri aplikasi CAN BUS dan struktur berlapis sistem bas apabila ia digunakan untuk sistem sebenar, yang sangat penting untuk pemahaman yang mendalam tentang CAN BUS Protokol dan penggunaan bas CAN ke sistem sebenar. Ini adalah panduan untuk memahami protokol bas CAN dan memohon bas CAN ke projek kejuruteraan tertentu, serta menyelidik atau membangunkan sistem bas untuk keperluan tertentu.




