Menu English Ukrainian Russia Laman Utama

Perpustakaan teknikal percuma untuk penggemar dan profesional Perpustakaan teknikal percuma


ENSIKLOPEDIA ELEKTRONIK RADIO DAN KEJURUTERAAN ELEKTRIK
Perpustakaan percuma / Skim peranti radio-elektronik dan elektrik

Pengiraan penyegerakan bit rangkaian CAN. Ensiklopedia elektronik radio dan kejuruteraan elektrik

Perpustakaan teknikal percuma

Ensiklopedia elektronik radio dan kejuruteraan elektrik / kereta. Peranti elektronik

Komen artikel Komen artikel

Apabila menggunakan antara muka CAN, masalah besar ialah menetapkan kelajuan penghantaran dan penerimaan maklumat dalam modul CAN mikropengawal. Artikel ini menerangkan asas umum pemasangan ini mengikut spesifikasi Bosch. Sebagai contoh, formula asas untuk mengira nilai parameter yang ditulis pada daftar kawalan modul CAN dari mikropengawal ARM LPC23xx dan STM32F103 diberikan, dan program yang dibangunkan oleh pengarang juga dianggap membantu memilih pilihan terbaik.

Antara muka CAN (rangkaian kawasan pengawal) bermula pada pertengahan 80-an abad yang lalu daripada syarikat Jerman Robert Bosch Gmbh, yang menciptanya sebagai cara yang menjimatkan untuk menyepadukan pengawal yang mengawal sistem kenderaan ke dalam rangkaian maklumat. Hakikatnya ialah apabila teknologi automotif bertambah baik, elektronik yang mengawal enjin, kotak gear dan mekanisme lain turut berkembang. Ini membawa kepada fakta bahawa berpuluh-puluh wayar dari sensor dan penggerak, serta wayar yang menyambungkan unit yang berbeza, mula meregangkan ke setiap unit elektronik di dalam kereta. Semua ini bukan sahaja menjadikan kereta itu lebih berat, tetapi juga menjejaskan kebolehpercayaan, keselamatan, dan kebolehselenggaraannya.

Apabila antara muka ini tersebar, rangkaian serupa mula digunakan di kawasan lain, khususnya, untuk mengautomasikan proses teknologi. Kebolehpercayaan perlindungan maklumat yang tinggi daripada herotan apabila bekerja dalam keadaan yang teruk dan kelajuan penghantaran yang cukup tinggi (sehingga 1 Mbit/s) memungkinkan untuk menggunakan cAn di tempat selain daripada tujuan asalnya. Kebolehpercayaan rangkaian dipastikan dengan kehadiran mekanisme pengesanan dan pembetulan ralat yang dibangunkan, pengasingan diri nod yang rosak, dan ketidakpekaan terhadap gangguan elektromagnet yang tinggi.

Ideologi CAN adalah berdasarkan model OSI/ISO tujuh peringkat (secara ringkasnya, ini adalah pembahagian maya proses penghantaran dan penerimaan maklumat kepada tujuh peringkat). Tidak ada gunanya menyelidiki kawasan ini, kerana ia diliputi secara meluas dalam banyak sumber, contohnya dalam [1]. Pada masa ini, dua tahap diseragamkan: fizikal (sebahagian) dan saluran.

Medium penghantaran fizikal tidak ditakrifkan dalam spesifikasi Bosch CAN, tetapi biasanya diandaikan sebagai rangkaian bas dengan lapisan fizikal dalam bentuk sepasang wayar mengikut piawaian ISO 11898. Jenis sambungan dan kadar penghantaran tidak diseragamkan pada masa ini , tetapi ia biasanya dinyatakan dalam spesifikasi lapisan atasnya.

Semua nod rangkaian disambungkan kepada dua wayar talian yang menyambungkannya (CAN_H dan CAN_L) secara selari. Terminator - perintang dengan rintangan 120 Ohm - mesti dipasang di hujung talian komunikasi. Sekiranya tiada penghantaran, voltan pada kedua-dua wayar berbanding badan kereta atau wayar biasa pemasangan teknologi ialah 2,5 V. Unit logik (mengikut terminologi CAN, sedikit dengan nilai ini dipanggil resesif) sepadan dengan bas nyatakan tahap voltan pada wayar CaN_H lebih tinggi daripada CAN_L. Sifar logik (sedikit dengan nilai sedemikian dipanggil dominan) adalah sebaliknya. Apabila beberapa pemancar beroperasi secara serentak, bit resesif dalam talian ditindas oleh yang dominan.

Adalah diterima bahawa keadaan pasif bas sepadan dengan tahap satu logik. Ia ada apabila tiada mesej dihantar. Penghantaran mesej sentiasa bermula dengan bit dominan. Wayar bas dalam modul CAN bagi setiap nod disambungkan kepada cip khas - pemandu bas, yang melaksanakan fungsi transceiver. Di samping itu, pemandu mungkin menyediakan beberapa fungsi tambahan:

- melaraskan kadar kenaikan isyarat dengan menukar arus input;
- perlindungan output pemancar daripada kerosakan sekiranya berlaku kemungkinan litar pintas bagi wayar CAN_H dan CAN_L dengan litar kuasa menggunakan unit pengehad arus terbina dalam, serta daripada peningkatan voltan jangka pendek pada wayar ini;
- perlindungan haba dalaman;
- mod kuasa rendah, di mana penerima terus melaporkan kepada pengawal tentang status bas, supaya apabila ia mengesan aktivitinya, ia boleh menukar pemandu kepada operasi biasa.

Pengekodan maklumat untuk penghantaran melalui bas berlaku menggunakan kaedah NRZ (Non Return to Zero). Ia mempunyai kelemahan yang ketara: apabila menghantar urutan unit yang panjang, ternyata tidak ada jeda di antara mereka. Ini mengakibatkan penerima tidak dapat membezakan urutan sedemikian daripada jeda antara mesej. Untuk menyelesaikan masalah ini, apa yang dipanggil bitstuffing digunakan. Ia terdiri daripada fakta bahawa selepas lima bit yang sama dihantar berturut-turut, bit tambahan dengan nilai yang bertentangan dimasukkan ke dalam aliran mereka. Penerima, apabila mengesan lima bit yang sama berturut-turut, mengeluarkan bit yang mengikutinya, dimasukkan semasa penghantaran.

Pada peringkat pautan data, dua jenis pengecam ditakrifkan: Standard CAN (11 bit panjang) dan Extended CAN (29 bit). Mereka menetapkan format mesej.

Antara tahap tertinggi ialah spesifikasi CAL/CANopen, CAN Kingdom, DeviceNet dan SDS (Smart Distributed System); butiran lanjut boleh didapati di Internet [2].

Mengikut definisi, rangkaian CAN menyepadukan bilangan pengawal terhad yang terletak secara setempat dalam satu pemasangan, bilik atau beberapa bilik berdekatan. Ia tidak melampaui sempadan objek teknologi. Ideologi rangkaian dibina di atas beberapa perkara. Pertama, pengawal yang menjalankan penghantaran secara berterusan mendengar isyaratnya sendiri yang dihantar melalui rangkaian. Ini memungkinkan untuk melakukan pengesahan bit demi bit tentang ketepatan maklumat yang dihantar (semak pemantauan bit) oleh beberapa nod, tidak seperti, sebagai contoh, rangkaian Ethernet. Jika bit yang diterima oleh pengawal berbeza daripada yang dihantar olehnya, maka penghantaran berhenti dan Ralat Bit dihasilkan.

Apabila menghantar pengecam mesej, mekanisme ini digunakan untuk menyelesaikan perlanggaran, dan apabila menghantar maklumat, ketepatannya diperiksa. Jika ralat dikesan di dalamnya, pemancar mengganggu mesejnya dan mengeluarkan Rangka Ralat pada bas untuk memberitahu nod rangkaian lain tentang acara ini. Untuk mengesahkan penerimaan mesej, bingkai maklumat mengandungi medan ACK. Dalam medan ini, setiap nod yang menerima mesej yang dihantar mengesahkan kepada sumbernya bahawa ia telah diterima. Pemancar menghantar semula mesej yang belum disahkan sehingga pengesahan diterima.

Semua nod rangkaian menerima maklumat yang dihantar, jadi adalah mustahil untuk menghantar mesej ke mana-mana nod tertentu. Tetapi dengan pengawal moden yang dilengkapi dengan alat penapisan lalu lintas, ini bukan masalah besar.

Rangkaian CAN adalah terdesentralisasi. Ini boleh dianggap sebagai tambah besar jika kita menyimpang sedikit daripada ideologi biasa, mengikut mana rangkaian mesti mempunyai nod induk yang mengawalnya dan nod hamba yang menjalankan perintahnya. Dalam rangkaian terdesentralisasi, nod lebih pintar. Ia terus berfungsi jika mana-mana daripada mereka gagal.

Maklumat dihantar dalam mesej format standard - Bingkai Data (pemindahan maklumat), Bingkai Permintaan Penghantaran Jauh atau hanya Bingkai Jauh (permintaan maklumat), Bingkai Ralat (mesej ralat), Bingkai Beban Terlebih (mesej tentang beban pengawal).

Bingkai yang paling biasa digunakan ialah bingkai pemindahan maklumat. Format dan kandungannya ditunjukkan dalam jadual. 1 untuk standard, dan dalam jadual. 2 untuk bingkai lanjutan. Bingkai permintaan maklumat berbeza daripada bingkai maklumat (format standard atau lanjutan) hanya kerana bit RTR sentiasa resesif dan tiada medan maklumat.

Jadual 1

Bidang Panjang, bit (bait) Nilai
Permulaan bingkai 1 Mesti dominan (0)
Pengenal 11
Permintaan Pemindahan (RTR) 1 Mesti dominan (0)
Atribut sambungan pengecam (IDE). 1 Mesti dominan (0)
Terpelihara (rO) 1
Panjang medan maklumat (DLC) 4 Ditetapkan dalam bait
Medan maklumat (0 - 8) Maklumat yang dihantar
Checksum (CRC) 15 Dikira pada keseluruhan bingkai
Pembatas semak 1 Mesti resesif (1)
Selang Pengakuan (ACK) 1 Pemancar menghantar resesif (1), penerima memasukkan dominan (0)
Pembatas pengakuan 1 Mesti resesif (1)
Hujung bingkai (EOF) 7 Mesti resesif (1)

Jadual 2

Bidang Panjang, bit (bait) Nilai
Permulaan bingkai 1 Mesti dominan (0)
Pengecam A 11 Bahagian pertama pengecam
Penipuan permintaan pindahan (SRR) 1 Mesti resesif (1)
Atribut sambungan pengecam (IDE). 1 Mesti resesif (1)
Pengecam B 18 Bahagian kedua pengecam
Permintaan Pemindahan (RTR) 1 Mesti dominan (0)
Terpelihara (r1 dan r0) 2
Panjang medan maklumat (DLC) 4 Ditetapkan dalam bait
Medan maklumat (0 - 8) Maklumat yang dihantar
Jumlah semak (CPS) bagi keseluruhan bingkai 15 Dikira pada keseluruhan bingkai
Pembatas semak 1 Mesti resesif (1)
Pengesahan (ACK) 1 Pemancar menghantar resesif, penerima memasukkan dominan
Pembatas pengakuan 1 Mesti resesif (1)
Hujung bingkai (EOF) 7 Mesti resesif (1)

Bingkai Ralat terdiri daripada medan Bendera Ralat, yang mengandungi enam bit nilai yang sama (dan dengan itu melanggar peraturan bitstaffing), dan medan Pembatas Ralat, yang mengandungi lapan bit resesif. Penghantarannya menyebabkan semua nod rangkaian mendaftarkan ralat format dan secara automatik menghantar Bingkai Ralat mereka ke rangkaian. Hasil daripada proses ini ialah penghantaran semula automatik maklumat ke rangkaian oleh nod yang menghantar mesej asal.

Frame Overload mengulangi struktur dan logik Rangka Ralat, tetapi dihantar oleh nod yang pada masa ini tidak dapat memproses mesej masuk dan oleh itu meminta penghantaran semula. Pada masa ini praktikal tidak digunakan.

Setiap nod rangkaian mengandungi pemandu bas, pengawal CAN (yang tanggungjawabnya termasuk interaksi dengan rangkaian dan pelaksanaan protokol pertukaran) dan mikropengawal. Selalunya, pengawal CAN digabungkan dengan mikropengawal. Dalam kes ini, untuk mencipta nod rangkaian CAN, dua litar mikro sudah cukup - mikropengawal dan pemandu bas.

Penyegerakan dalam CAN berkait rapat dengan kaedah penghantaran maklumat melalui rangkaian. Pengguna diberi peluang untuk memprogramkan kadar penghantaran maklumat (dari 1 Kbit/s hingga 1 Mbit/s), kedudukan titik persampelan bit (momen) dalam selang penghantaran dan bilangan sampel setiap bit. Terima kasih kepada ini, rangkaian boleh dioptimumkan untuk aplikasi tertentu. Tetapi ini juga menimbulkan beberapa masalah.

Sebarang maklumat yang dihantar melalui bas bersiri boleh dibahagikan kepada bit asas; tempoh penghantaran bit asas ini NBT (Masa Bit Nominal) menentukan kadar penghantaran maklumat NBR (Kadar Bit Nominal) - bilangan bit yang dihantar sesaat oleh ideal. pemancar tanpa memulihkan selang jam:

NBR = 1/NBT (1)

Seperti yang ditunjukkan dalam Rajah. 1, selang NBT dibahagikan kepada beberapa segmen tidak bertindih, setiap satunya terdiri daripada bilangan integer selang masa yang dipanggil Time Quanta (TQ).


Rajah. Xnumx

Memandangkan kelajuan penghantaran NBR semua nod rangkaian mestilah sama, menggunakan formula (1) mereka biasanya mencari nilai NBT yang diperlukan dan kemudian memilih tempoh setiap segmen yang membentuknya:

NBT = TSyncSeg +TPropSeg +TPS1 +TPS2(2)

di mana TSyncSeg - tempoh segmen penyegerakan; TPropSeg - tempoh segmen penyebaran; TPS1 - tempoh segmen fasa 1; TPS2 - tempoh segmen fasa 2.

Segmen penyegerakan (SyncSeg) - urutan pertama, digunakan untuk menyegerakkan nod pada bas. Ketibaan perbezaan tahap awal akan dijangkakan dengan tepat dalam segmen ini. Tempohnya adalah tetap dan sentiasa bersamaan dengan 1TQ.

Segmen pengedaran (PropSeg) berfungsi untuk mengimbangi kelewatan isyarat fizikal antara nod. Tempohnya bergantung pada masa perambatan isyarat dari nod penghantaran ke nod penerima dan belakang, termasuk kelewatan yang berkaitan dengan pemandu bas. Ia boleh mengambil nilai dari 1TQ hingga 8TQ.

Fasa 1 dan 2 segmen (PS1 dan PS2) digunakan untuk mengimbangi herotan fasa perbezaan pada bas. Semasa penyegerakan pemulihan jam, penerima boleh sama ada memanjangkan PS1 atau memendekkan PS2. Menurut spesifikasi Bosch asal, tempoh PS1 dan PS2 boleh berkisar antara 1TQ hingga 8TQ, tetapi untuk sesetengah modul CAN nilai ini mungkin berbeza.

Di antara segmen PS1 dan PS2 terletak satu detik yang dipanggil titik pensampelan bit. Ia membaca dan mentafsir tahap isyarat logik. Sesetengah pengawal CAN menyediakan mod bacaan tiga kali ganda untuk tahap isyarat setiap bit. Tetapi dalam kes ini, perkara utama dianggap sebagai titik antara PS1 dan PS2, dan dua yang lain menyumbang kepada membuat keputusan yang betul tentang nilai bit mengikut kriteria majoriti (dua atau tiga sampel tahap yang sama ).

Seperti yang dinyatakan di atas, masa penghantaran bit nominal terdiri daripada bilangan integer hirisan masa TQ. Tempoh kuantum bergantung pada kekerapan penjana jam modul Fosc dan pekali pembahagiannya oleh predivisor BRP. Hubungan antara TQ, Fosc dan BRP adalah berbeza untuk pelbagai jenis mikropengawal. Sebagai contoh, untuk MCP2510 formula adalah sah

TQ = 2 (BRP + 1)/Fosc . (3)

Untuk mikropengawal STM32F dan LPC23xx, formulanya kelihatan seperti ini:

TQ = (BRP + 1)/Fosc . (4)

Apabila memilih tempoh segmen, adalah lebih mudah untuk menggunakan kepingan masa TQ berbanding unit masa standard. Di sini dan di bawah kami akan menandakan nama segmen (contohnya, PropSeg) dan tempohnya dalam quanta. Terdapat beberapa keperluan yang mesti dipenuhi:

PropSeg +PS1 ≥ PS2; (5)

PropSeg +PS1 ≥ Tprop; (6)

PS2 > SJW. (7)

Tprop dalam ketaksamaan (6) ialah kelewatan perambatan isyarat dalam rangkaian. Jika kita mengandaikan bahawa semua nod dalam rangkaian mempunyai kelewatan dalaman yang sama, maka kelewatan penyebaran boleh dikira menggunakan formula

Tprop = 2 (Tbas +Tcmp +Tdrv), (satu)

di mana Tbas - masa yang diambil untuk isyarat untuk pergi dan balik dalam persekitaran fizikal bas; Tcmp - kelewatan dalam pembanding input; Tdrv - kelewatan dalam pemacu output.

SJW (Lebar Lompat Penyegerakan) dalam ketaksamaan (7) ialah tempoh segmen peralihan penyegerakan, tambahan yang diperkenalkan untuk melaraskan tempoh penerimaan bit seperti yang diperlukan. Digunakan untuk menyegerakkan penerimaan dengan mesej yang dihantar. Di samping itu, gangguan luaran mewujudkan situasi di mana kelajuan penghantaran nominal yang dirancang untuk rangkaian tidak sepadan dengan kelajuan sebenar. Untuk mengimbangi perbezaan ini, segmen tambahan ini juga digunakan. Tempoh SJW berjulat dari 1TQ-4TQ.

Segmen PS1 dan PS2, bersama-sama dengan SJW, digunakan untuk mengimbangi hanyut jam nod. PS1 dan PS2 boleh dipanjangkan atau dipendekkan bergantung kepada keperluan. Penyegerakan berlaku pada peralihan daripada keadaan resesif (1) kepada keadaan dominan (0) bas dan mengawal selang masa antara peralihan ini dan titik pensampelan bit. Peralihan disegerakkan jika ia berlaku dalam SyncSeg, jika tidak terdapat ralat fasa - selang masa antara peralihan dan penghujung SyncSeg, diukur dalam kepingan masa TQ.

Terdapat dua jenis penyegerakan: perkakasan dan ulangan. Perkakasan dilakukan sekali sahaja semasa peralihan pertama daripada keadaan resesif kepada keadaan dominan, menamatkan tempoh rehat bas. Penurunan ini menunjukkan permulaan bingkai (SOF - Mula Bingkai). Penyegerakan perkakasan menetapkan semula kaunter penyegerakan, menyebabkan tepi terletak dalam SyncSeg. Pada masa ini, semua penerima disegerakkan dengan pemancar.

Penandaan semula dan penandaan semula dilakukan untuk mengekalkan jam awal yang ditetapkan dalam perkakasan. Tanpa memulihkan selang jam, penerima mungkin terkeluar daripada penyegerakan disebabkan oleh hanyutan frekuensi penjana jam dalam nod rangkaian. Penyegerakan ini beroperasi menggunakan Gelung Berkunci Fasa Digital (DPLL), yang membandingkan kedudukan peralihan resesif-ke-dominan sebenar pada bas dengan kedudukan peralihan yang dijangkakan dalam SyncSeg dan melaraskan pemasaan bit mengikut keperluan.

Ralat fasa e ditentukan oleh kedudukan tepi berbanding dengan segmen SyncSeg, diukur dalam TQ:

e = 0 - peralihan berada di dalam segmen SyncSeg;

e > 0 - peralihan adalah sebelum titik pensampelan, kepingan masa TQ ditambah pada PS1;

e < 0 - peralihan terletak selepas titik pensampelan bit sebelumnya, kepingan masa TQ ditolak daripada PS2.

Penjaman semula tidak boleh berlaku pada permulaan bingkai kerana penyegerakan perkakasan telah dilakukan di sana.

Jika nilai mutlak ralat fasa adalah kurang daripada atau sama dengan SJW, hasil perkakasan dan penyegerakan semula adalah sama. Jika ralat fasa lebih besar daripada SJW, penyegerakan semula tidak dapat mengimbangi ralat fasa sepenuhnya.

Hanya satu penyegerakan dibenarkan antara dua titik sampel. Ia mengekalkan selang waktu tertentu antara perbezaan tahap dan titik sampel, membolehkan tahap isyarat menstabilkan dan menapis perubahan yang lebih pendek daripada PropSeg + PS1.

Penyegerakan juga dikaitkan dengan timbang tara. Semua nod disegerakkan rapat dengan nod yang mula menghantar dahulu. Tetapi isyarat daripada nod lain yang mula menghantar sedikit kemudian mungkin tidak disegerakkan dengan sempurna. Walau bagaimanapun, pemancar pertama tidak semestinya memenangi timbang tara, jadi penerima mesti menyegerakkan diri mereka bukan dengannya, tetapi dengan yang memenanginya. Perkara yang sama berlaku dalam medan ACK, di mana ia perlu untuk menyegerakkan dengan nod yang mula-mula mula menghantar bit pengakuan. Semua ini membawa kepada penurunan dalam hanyutan frekuensi bersama yang dibenarkan bagi penjana jam yang dipasang di nod bas.

Terdapat beberapa peraturan penyegerakan:

- hanya peralihan dari resesif kepada keadaan dominan digunakan (dari satu kepada sifar);

- hanya satu penyegerakan dibenarkan dalam penghantaran sedikit;

- peralihan digunakan untuk penyegerakan dengan syarat tahap isyarat logik yang dibaca pada titik sampel sebelumnya adalah berbeza daripada tahap yang ditetapkan pada bas sejurus selepas peralihan;

- nod pemancar tidak memulihkan selang jam sekiranya berlaku ralat fasa positif (e > 0), iaitu, ia tidak menyesuaikan diri dengan mesejnya sendiri. Tetapi penerima melakukan penyegerakan seperti biasa;

- jika nilai mutlak ralat fasa lebih besar daripada lompatan fasa SJW, maka tempoh segmen fasa yang sepadan (PS1 atau PS2) berubah kepada nilai yang sama dengan SJW.

Perkara di atas membawa kepada fakta bahawa panjang fizikal bas dihadkan oleh kelajuan pemindahan maklumat di sepanjangnya. Semua nod pada bas perlu membaca keadaannya dalam selang penghantaran bit yang sama. Akibatnya, ternyata kelajuan penghantaran maksimum 1 Mbit/s hanya boleh dicapai dengan panjang bas tidak lebih daripada 30 m.

Mari lihat bagaimana pengawal CAN dikonfigurasikan dalam mikropengawal tertentu.

Dalam mikropengawal keluarga LPC (contohnya, siri LPC23xx), daftar CANxBTR digunakan untuk menetapkan kelajuan penghantaran pada bas CAN, di mana x ialah nombor pengawal CAN (boleh ada 1 atau 2 daripadanya, dalam beberapa kes - 4). Parameter berikut ditetapkan di sini (dalam kurungan segi empat sama selang bilangan bit daftar yang diduduki olehnya ditunjukkan):

BRP (CANxBTR[9:0]) - nilai pekali pembahagian awal frekuensi bas APB untuk kegunaan selanjutnya oleh pengawal CAN. Tempoh hirisan masa TQ bergantung pada parameter ini, ditentukan oleh formula (4) dengan menggantikan F ke dalamnyaosc=1/TAPB, di mana TAPB - tempoh pengulangan nadi pada bas sistem APB mikropengawal.

SJW (CANxBTR[15:14]) - lebar lompatan penyegerakan dalam TQ quanta adalah satu lebih besar daripada nilai yang dinyatakan di sini.

TSEG1 (CANxBTR[19:16]) dan TSEG2 (CANxBTR[20:22]) - tempoh segmen (PS1 dan PS2, masing-masing) dalam TQ quanta adalah satu lebih daripada nilai yang dinyatakan di sini.

SAM (CANxBTR[23]) - menetapkan bilangan bacaan nilai setiap bit: 0 - sekali, 1 - tiga kali. Pilihan terakhir digunakan, sebagai peraturan, dalam rangkaian berkelajuan rendah.

Apabila memilih parameter ini, anda mesti dipandu oleh peraturan berikut:

TPS2 ≥ 2 TQ (9)

TPS2 ≥ TSJW (10)

TPS1 ≥ TPS2 (11)

Pengawal mikro siri STM32F mempunyai daftar yang serupa dan ia dipanggil CAN_BTR. Ia mengandungi medan berikut:

BRP (CAN_BTR[9:0]), TS1 (CAN_ BTR[19:16]) dan TS2 (CAN_BTR[22:20]) - bertepatan dengan tujuan dan lokasi dalam daftar dengan medan BPR, TSEG1 dan TSEG2 daftar CANxBTR yang dibincangkan di atas. Apabila mengira nilai TQ, F hendaklah digantikan ke dalam formula (4)osc=1/TPCLK, di mana TPCLK - tempoh pengulangan nadi pada bas VPB mikropengawal.

SJW (CAN_BTR[25:24]) - berbeza daripada medan dengan nama yang sama dalam daftar CANxBTR hanya dalam bit yang diduduki dalam daftar.

LBKM (CAN_BTR[30]) - unit dalam daftar ini menetapkan mod gelung, di mana mesej yang dihantar diterima oleh penerimanya sendiri, tetapi tidak dihantar ke rangkaian.

SILM (CAN_BTR[31]) - satu dalam daftar ini menetapkan mod senyap, di mana pengawal menerima mesej yang datang daripada rangkaian, tetapi tidak menghantar apa-apa.

Kedua-dua mod yang disebutkan digunakan untuk nyahpepijat.

Bagi pengawal mikro yang sedang dipertimbangkan, formula (2) dipermudahkan kerana ketiadaan segmen SyncSeg dan PropSeg. Mereka digantikan oleh satu segmen tempoh 1TQ. Formula untuk mereka kelihatan seperti ini:

NBT = TQ + TPS1 +TPS2 (12)

Kelajuan penghantaran bas CAN dalam bit sesaat dikira dalam program menggunakan formula

NBR = (F/(BRP + 1)) (1/(PS1 +PS2 +3)) (13)

dengan F ialah kekerapan bas sistem APB atau VPB, masing-masing, untuk STM32F atau LPC23xx. Jika parameter SJW bukan sifar, maksimum

BRmaks = (F/(BRP + 1)) (1/(PS1 +PS2 - SJW + 2)) (14)

dan minimum

BRminit = (F/(BRP + 1)) (1/(PS1 +PS2 + SJW + 4)) (15)

nilai kelajuan penghantaran pada bas CAN, dalam selang antara penyegerakan dipastikan.

Tetingkap program CANTools ditunjukkan dalam Rajah. 2. Data awal untuknya ialah jenis mikropengawal, kelajuan pemindahan maklumat yang diperlukan dan kekerapan bas sistem dari mana pengawal CAN mencatat masa. Apabila memulakan pengiraan, anda harus terlebih dahulu memilih jenis pengawal mikro. Terdapat hanya dua pilihan dalam program yang sedang dipertimbangkan - LPC23xx atau STM32F103. Seterusnya, tetapkan kelajuan penghantaran yang diperlukan melalui bas CAN dalam kilobit sesaat. Selepas ini, anda boleh menetapkan kekerapan bas sistem dalam megahertz. Apa yang tinggal ialah klik pada butang "Kira" pada skrin dan dapatkan hasilnya.


Rajah. Xnumx

Program ini berfungsi seperti berikut: nilai BRP berubah dalam kitaran dari 0 hingga 512. Kekerapan pengulangan kepingan masa dan bilangannya yang terkandung dalam selang NBT dikira untuk frekuensi bas sistem tertentu, nilai BRP dan kelajuan penghantaran. Bilangan kuanta mestilah integer dan kurang daripada 23 - nilai maksimum yang boleh ditulis pada daftar mikropengawal. Kemudian nilai TSEG2 diisih dari 2 hingga 7 dengan penurunan yang sepadan dalam nilai TSEG1. Jumlah mereka kekal malar.

Kadar pengulangan kuantum F dipaparkan pada skrinsc=1/TQ, dipisahkan oleh garis pecahan - tempoh kuantum TQ, kemudian nilai medan BRP daftar yang sepadan. Selepas ini, setiap pasangan baris menerangkan hasil salah satu pilihan pengiraan.

Parameter TSEG1 dan TSEG2 dalam baris pertama pasangan sepadan dengan medan dengan nama yang sama dalam daftar CANxBTR mikropengawal siri LPC23xx atau medan TS1, TS2 daftar CAN_BTR mikropengawal STM32F103. Jumlah mereka, nilai setiap medan, serta nilai medan SJW jika ia bukan sifar diberikan. Nilai heksadesimal terakhir dalam baris ialah CANBTR, yang harus ditulis pada daftar CANxBTR atau CAN_BTR (mengikut jenis mikropengawal) untuk melaksanakan pilihan yang dikira.

Baris kedua pasangan memaparkan nilai kelajuan penghantaran maklumat maksimum dan minimum pada bas CAN (jika SJW > 0) dan kedudukan titik sampel bit berbanding dengan permulaan penghantarannya sebagai peratusan tempoh selang penghantaran.

Untuk beberapa nilai BRP, hasil pengiraan tidak dipaparkan. Ini bermakna kekerapan pengulangan kepingan masa atau kelajuan penghantaran pada bas CAN, dikira menggunakan formula (13), ternyata dinyatakan sebagai nombor pecahan. Tiada pengiraan dibuat dalam kes sedemikian.

Program CANTools, semasa mengautomasikan proses pengiraan, tidak memberikan cadangan tentang kombinasi parameter tertentu yang terbaik untuk digunakan dalam aplikasi sebenar. Pembangun rangkaian sendiri mesti memilih pilihan terbaik daripada yang dicadangkan, bergantung kepada pengetahuan dan pengalaman sedia ada. Bagi mereka yang baru mula menguasai CAN, penulis boleh mengesyorkan mengikut peraturan berikut: selang antara permulaan bit dan titik pensampelannya hendaklah dalam julat 70 hingga 85% daripada tempoh bit. Pada hakikatnya, anda mungkin perlu mencuba secara praktikal beberapa pilihan yang ditawarkan oleh program ini.

Program CANTools boleh dimuat turun dari ftp://ftp.radio.ru/pub/2014/01/can.zip.

Kesusasteraan

  1. model rangkaian OSI.
  2. Rangkaian Kawasan Pengawal.

Pengarang: A. Abramovich

Lihat artikel lain bahagian kereta. Peranti elektronik.

Baca dan tulis berguna komen pada artikel ini.

<< Belakang

Berita terkini sains dan teknologi, elektronik baharu:

Mesin untuk menipis bunga di taman 02.05.2024

Dalam pertanian moden, kemajuan teknologi sedang dibangunkan bertujuan untuk meningkatkan kecekapan proses penjagaan tumbuhan. Mesin penipisan bunga Florix yang inovatif telah dipersembahkan di Itali, direka untuk mengoptimumkan peringkat penuaian. Alat ini dilengkapi dengan lengan mudah alih, membolehkan ia mudah disesuaikan dengan keperluan taman. Operator boleh melaraskan kelajuan wayar nipis dengan mengawalnya dari teksi traktor menggunakan kayu bedik. Pendekatan ini dengan ketara meningkatkan kecekapan proses penipisan bunga, memberikan kemungkinan penyesuaian individu kepada keadaan khusus taman, serta jenis dan jenis buah yang ditanam di dalamnya. Selepas menguji mesin Florix selama dua tahun pada pelbagai jenis buah, hasilnya amat memberangsangkan. Petani seperti Filiberto Montanari, yang telah menggunakan mesin Florix selama beberapa tahun, telah melaporkan pengurangan ketara dalam masa dan tenaga kerja yang diperlukan untuk menipis bunga. ...>>

Mikroskop Inframerah Lanjutan 02.05.2024

Mikroskop memainkan peranan penting dalam penyelidikan saintifik, membolehkan saintis menyelidiki struktur dan proses yang tidak dapat dilihat oleh mata. Walau bagaimanapun, pelbagai kaedah mikroskop mempunyai hadnya, dan antaranya adalah had resolusi apabila menggunakan julat inframerah. Tetapi pencapaian terkini penyelidik Jepun dari Universiti Tokyo membuka prospek baharu untuk mengkaji dunia mikro. Para saintis dari Universiti Tokyo telah melancarkan mikroskop baharu yang akan merevolusikan keupayaan mikroskop inframerah. Alat canggih ini membolehkan anda melihat struktur dalaman bakteria hidup dengan kejelasan yang menakjubkan pada skala nanometer. Biasanya, mikroskop inframerah pertengahan dihadkan oleh resolusi rendah, tetapi perkembangan terkini daripada penyelidik Jepun mengatasi batasan ini. Menurut saintis, mikroskop yang dibangunkan membolehkan mencipta imej dengan resolusi sehingga 120 nanometer, iaitu 30 kali lebih tinggi daripada resolusi mikroskop tradisional. ...>>

Perangkap udara untuk serangga 01.05.2024

Pertanian adalah salah satu sektor utama ekonomi, dan kawalan perosak adalah sebahagian daripada proses ini. Satu pasukan saintis dari Majlis Penyelidikan Pertanian India-Institut Penyelidikan Kentang Pusat (ICAR-CPRI), Shimla, telah menghasilkan penyelesaian inovatif untuk masalah ini - perangkap udara serangga berkuasa angin. Peranti ini menangani kelemahan kaedah kawalan perosak tradisional dengan menyediakan data populasi serangga masa nyata. Perangkap dikuasakan sepenuhnya oleh tenaga angin, menjadikannya penyelesaian mesra alam yang tidak memerlukan kuasa. Reka bentuknya yang unik membolehkan pemantauan kedua-dua serangga berbahaya dan bermanfaat, memberikan gambaran keseluruhan populasi di mana-mana kawasan pertanian. "Dengan menilai perosak sasaran pada masa yang tepat, kami boleh mengambil langkah yang perlu untuk mengawal kedua-dua perosak dan penyakit," kata Kapil ...>>

Berita rawak daripada Arkib

Pemproses AI Alibaba 30.09.2019

Syarikat China Alibaba Group Holdings memperkenalkan pemproses Hanguang 800 sendiri. Ini adalah penyelesaian khusus untuk tugas pembelajaran mesin. Ia sudah digunakan oleh Alibaba untuk mencari, menterjemah secara automatik dan membuat syor diperibadikan di tapak web gergasi e-dagang itu.

Cip itu dibangunkan oleh DAMO Academy, sebuah institut penyelidikan yang ditubuhkan oleh Alibaba pada akhir 2017, dan T-Head, bahagian semikonduktor syarikat.

Alibaba tidak bercadang untuk menjual cip itu sebagai produk komersial kendiri dalam masa terdekat, kata jurucakap syarikat.

Gergasi teknologi Amerika seperti Alphabet dan Facebook juga sedang membangunkan pemproses mereka sendiri untuk meningkatkan prestasi AI pusat data mereka.

Alibaba ialah peneraju yang tidak dapat dipertikaikan dalam kalangan penyedia perkhidmatan awan di China, menduduki 47% daripada pasaran ini.

Berita menarik lain:

▪ Paparan LED biru super terang CVD-5572CB00

▪ Anda dengar - virus

▪ Bakteria tertua di bumi

▪ Kamera SLR Nikon D7200

▪ Bateri luaran HyperJuice untuk peralatan mudah alih

Suapan berita sains dan teknologi, elektronik baharu

 

Bahan-bahan menarik Perpustakaan Teknikal Percuma:

▪ bahagian tapak Interkom. Pemilihan artikel

▪ Artikel Linotype. Sejarah ciptaan dan pengeluaran

▪ artikel Dari manakah nama pakaian renang bikini wanita itu? Jawapan terperinci

▪ Perkara Lapan pada satu hujung. Petua Perjalanan

▪ artikel Geganti optoelektronik keadaan pepejal. Ensiklopedia elektronik radio dan kejuruteraan elektrik

▪ artikel Talian kuasa atas dengan voltan melebihi 1 kV. Wayar dan kabel pelindung kilat. Ensiklopedia elektronik radio dan kejuruteraan elektrik

Tinggalkan komen anda pada artikel ini:

Имя:


E-mel (pilihan):


Komen:




Komen pada artikel:

Petrovich2015
Litar ini baik, tetapi diameter wayar penggulungan sekunder pengubah dengan transistor berkuasa sedemikian menimbulkan keraguan


Semua bahasa halaman ini

Laman utama | Perpustakaan | artikel | Peta Laman | Ulasan laman web

www.diagram.com.ua

www.diagram.com.ua
2000-2024