Jeffrey Cross
Jeffrey Cross

Cara Reka Bentuk Litar Mikrokontroler

Reka bentuk litar yang diperlukan untuk mikropengawal tertanam boleh menjadi sedikit menggembirakan. Hanya helaian data dan rujukan teknikal sahaja boleh menjalankan beberapa ratus muka surat untuk mikrokontroler canggih.

Sebelum memulakan reka bentuk litar itulah idea yang baik untuk membuat gambarajah blok yang menunjukkan semua bahagian utama projek, termasuk semua peralatan yang akan bersambung dengan mikrokontroler.

Microcontroller ARM Cortex-M

Artikel ini akan memberi tumpuan utama kepada pertimbangan reka bentuk litar untuk memasukkan mikrokontroler ARM Cortex-M. Arsitektur mikropemplat ARM Cortex-M ditawarkan oleh beberapa pembuat cip dalam pelbagai versi.

ARM Cortex-M adalah seni bina 32-bit yang sangat sesuai untuk tugas-tugas komputasi secara intensif berbanding dengan apa yang tersedia dari mikrokontroler 8 bit tipikal. Mikrokontroler 32-bit juga bermanfaat jika anda mempunyai aplikasi yang memerlukan ruang alamat memori yang lebih besar atau yang memerlukan laluan penghijrahan yang mudah untuk pengembangan masa depan.

Kami akan membincangkan satu baris mikrokontroler ARM Cortex-M dari ST Microelectronics yang dikenali sebagai STM32, atau lebih khusus kita akan menumpukan pada siri STM32F4.

Walau bagaimanapun, siri STM32 sangat besar dan juga termasuk garisan STM32L ultra-rendah, serta versi prestasi yang lebih tinggi dan lebih rendah berbanding dengan STM32F4. Versi prestasi tertinggi adalah STM32F7 yang boleh melaksanakan lebih dari 1 bilion arahan sesaat. Di hujung spektrum prestasi, STM32L0 melaksanakan hanya 26 juta arahan sesaat.

Lihat gambarajah litar skema di bawah dalam Rajah 1 yang menunjukkan litar STM32F4 yang akan kita rujuk di seluruh artikel ini.

Rajah 1. Klik untuk melihat imej yang lebih besar.

Reka Bentuk Bekalan Kuasa

Memacu litar anda adalah salah satu aspek yang paling penting dalam reka bentuk perkakasan dan anda tidak boleh menunggu terlalu lewat dalam proses reka bentuk untuk menentukan skema kuasa dan asas.

Arus yang digunakan oleh mikrokontroler ditentukan oleh beberapa faktor seperti voltan operasi, frekuensi jam dan beban pin I / O.

Setiap pin kuasa VDD pada MCU perlu mempunyai kapasitor seramik 1uF dan 100nF (contohnya, lihat C7 dan C8 dalam Rajah 1) diletakkan sedekat mungkin untuk menyediakan decoupling bekalan kuasa. Kapasitor seramik 4.7uF tambahan (C1 dalam Rajah 1) hendaklah diletakkan berhampiran IC pada jejak litar utama yang membekalkan VDD.

Mikrokontroller dengan Pengubah Analog-ke-Digital (ADC) juga biasanya mempunyai kuasa berasingan (VDDA) dan pin tanah (VSSA) hanya untuk analog. PIN ini mesti sangat bersih dari sebarang bunyi bising.

Pin VDDA perlu mempunyai kapasitor seramik 1uF dan 10nF (C10 dan C11 dalam Rajah 1) yang diletakkan sebagai hampir dengan pin VDDA yang mungkin. Dalam kebanyakan kes, saya dapati idea yang baik untuk memasukkan induktor (L1 dalam Rajah 1) pada pin VDDA untuk membentuk penapis pas LC rendah yang memberikan voltan bekalan analog yang lebih bersih.

Sekiranya voltan bekalan anda melebihi voltan masukan maksimum untuk mikropengawal, maka pengatur voltan linear rendah yang rendah biasanya diperlukan. Contohnya, TPS795xx dari Texas Instruments adalah kebisingan yang sangat rendah dan boleh menghasilkan sehingga 500mA. Sekiranya voltan bekalan anda jauh lebih tinggi daripada voltan mikrokontroller yang diperlukan maka pengawal selia penukar buck adalah pilihan yang lebih baik. Pengawal selia linear membazirkan kuasa terlalu banyak apabila voltan masukannya jauh lebih tinggi daripada voltan output yang dikawal.

Walau bagaimanapun, ia biasanya terbaik untuk masih mengawal selia voltan keluaran pengawal selia penukaran dengan pengatur linear. Ini kerana pengawal selar linear menghasilkan voltan bekalan bunyi yang lebih bersih dan lebih rendah.

Jam

STM32F4 boleh dijalankan dari jam sistem dalaman atau luaran. Jam sistem pada powerup adalah jam dalaman (16 MHz) dan selepas sistem inisialisasi satu lagi sumber jam luaran boleh dipilih dalam perisian.

Pin masa pada STM32F4 boleh memacu kristal 4 hingga 26 MHz luaran (lihat X1 dalam Rajah 1) atau sumber jam bebas sehingga 50 MHz boleh digunakan.

Garis panduan susun atur dalam lembaran data hendaklah dipatuhi dengan tegas apabila ia membentangkan kristal. Secara umum, kesannya harus pendek dan kapasitansi beban pada kristal sepatutnya sama dengan apa yang dicadangkan oleh pembuatan kristal.

GPIO

Input / Output Tujuan Umum (GPIO) pin pada mikrokontroler boleh diprogramkan dan boleh dikonfigurasi oleh perisian sebagai input atau output.

Contohnya, S1 dalam Rajah 1 adalah butang tekan yang disambungkan ke GPIO yang diprogramkan sebagai input. STM32 menyediakan perintang pull-up dalaman supaya tidak ada keperluan untuk resistor pull-up luaran untuk butang ini. Contoh output GPIO ditunjukkan memandu LED.

Kebanyakan pin GPIO mempunyai fungsi ganti dan pelbagai pada peranti cip mengakses dunia luar melalui pin fungsi pelbagai ini.

Tidak semua fungsi dalaman tersedia untuk setiap pin GPIO dan ada pemetaan spesifik yang dibenarkan, jadi rujuk lembar data apabila memilih apa pin spesifik digunakan.

PIN GPIO boleh digunakan untuk memandu pelbagai beban dan kebanyakan pin boleh tenggelam atau sumber sehingga 25mA. Bagaimanapun, ia adalah idea yang baik untuk menyediakan beberapa jenis litar pemacu luaran untuk mematikan beban keperluan pemacu. Sebagai contoh, lihat MN1 memandu LED dalam Rajah 1.

STM32 mempunyai maksimum yang dibenarkan semasa yang ditentukan untuk setiap pin secara individu serta had pada jumlah semasa untuk semua PIN GPIO disatukan.

Menyambung Peranti

STM32 menyediakan sambungan bersiri melalui pelbagai antara muka termasuk UART, I2C, SPI, dan USB.

Contohnya, dalam Rajah 1 sensor suhu (U2 - LM75BDP) disambungkan kepada mikrokontroler melalui bas I2C. Dua perintang pullup (R2 dan R3) diperlukan pada bas I2C kerana peranti yang menghubungkan ke bas mempunyai pemandu longkang terbuka.

Untuk aplikasi berkelajuan rendah, seperti kebanyakan sensor, I2C biasanya protokol siri pilihan saya kerana ia hanya menggunakan dua baris untuk komunikasi. Selain itu, tidak seperti SPI yang memerlukan garis pilih cip berasingan untuk setiap persisian, I2C menggunakan alamat yang unik. Ini bermakna bahawa hanya dua baris yang boleh digunakan untuk menyambung ke pelbagai perkakasan.

Bas SPI dalam Rajah 1 disambungkan ke sensor gerakan 9-paksi MPU-9250 dari Invensense. MPU-9250 termasuk pecutan 3 paksi, gyroscope 3 paksi, dan magnetometer 3 paksi.

Penyambung Pengaturcaraan

STM32F4 menawarkan dua antara muka Pengaturcaraan Dalam Sistem (ISP): Serial-Wire-Debug (SWD) dan JTAG. Versi kos rendah STM32 hanya menawarkan antara muka SWD. SWD dan JTAG adalah dua antara muka pengaturcaraan yang paling biasa digunakan untuk mikrokontroler.

Kesimpulannya

Dalam artikel ini, kami telah membincangkan reka bentuk litar untuk mikropengawal. Khususnya kami telah melihat reka bentuk litar STM32F4 yang dapat membaca butang input, memacu LED dan berkomunikasi dengan sensor suhu I2C serta sensor gerakan SPI. Untuk butiran lanjut tentang membuat produk elektronik baru, lihat Panduan Ultimate saya mengenai Bagaimana Membangunkan Produk Elektronik Baru.

Kongsi

Meninggalkan Komen