Berbagi teknologi

Latihan STM32 dari awal 08: Diagram skema kontrol utama STM32

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Karena guru menggunakan setiap pinKlasifikasiSaya tidak menemukan diagram skema mikrokontroler saya menggunakan pindalam urutanTata letaknya tidak nyaman untuk menampilkan tangkapan layar setiap modul satu per satu, jadi bagian ini menggunakan diagram skematik guru.

1. Catu daya

1.1 Pengantar catu daya

1.1.1 Daya dan ground digital (VDD dan VSS)

kekuatan digital Pin memberikan tegangan ke semua bagian rangkaian digital. Rangkaian digital tersebut antara lain:

  • Inti prosesor: Jalankan instruksi dan proses data.
  • Penyimpanan: Termasuk Flash dan SRAM, digunakan untuk menyimpan program dan data.
  • Periferal digital: Termasuk GPIO, UART, SPI, I2C, TIMER, dll., digunakan untuk berbagai komunikasi dan kontrol digital.
  • Osilator internal: Menghasilkan sinyal jam untuk menggerakkan prosesor dan periferal lainnya.

secara digitalPin menyediakan titik referensi ground untuk semua bagian rangkaian digital, termasuk:

  • Semua arus yang disuplai melalui VDD pada akhirnya akan kembali ke VSS untuk membentuk loop arus lengkap.
  • Dalam desain PCB, semua pin VSS biasanya dihubungkan ke bidang ground bersama untuk mengurangi kebisingan dan interferensi listrik.

1.1.2 Daya analog dan ground (VDDA dan VSSA)

Catu daya analog Pin memberikan tegangan ke semua bagian rangkaian analog. terutama meliputi:

  • ADC (konverter analog-ke-digital): Mengubah sinyal analog menjadi sinyal digital.
  • DAC (Konverter Digital ke Analog): Mengubah sinyal digital menjadi sinyal analog.
  • Sumber tegangan referensi internal: Memberikan tegangan referensi yang stabil ke ADC dan DAC untuk memastikan akurasi konversi.

Secara analogiPin menyediakan titik referensi ground untuk semua bagian rangkaian analog, termasuk:

  • Seperti VSS, semua arus yang disuplai melalui VDDA pada akhirnya akan kembali ke VSSA untuk membentuk loop arus lengkap.

1.1.3 Perbedaan dan hubungan antara kedua catu daya

Rangkaian digital biasanya menghasilkan derau peralihan frekuensi tinggi. Jika derau tersebut secara langsung mengganggu rangkaian analog, maka akan menyebabkan ketidakstabilan dan berkurangnya keakuratan sinyal analog. Oleh karena itu, penggunaan catu daya analog dan ground terpisah dapat mengurangi interferensi ini.

Sirkuit analog memerlukan catu daya yang sangat bersih dan stabil untuk memastikan pemrosesan sinyal yang akurat, sehingga VDDA sering kali dipisahkan dengan sirkuit penyaringan tambahan.

Untuk mengurangi interferensi noise frekuensi tinggi yang dihasilkan oleh rangkaian digital pada rangkaian analog, VSSA dan VSS biasanya diproses secara terpisah dalam desain PCB, dan hanya dihubungkan pada satu titik, biasanya di dekat saluran masuk daya.

1.2 Pengenalan pemfilteran

Perkenalkan catu daya 3.3V untuk digunakan oleh mikrokontroler.

(1) manik magnet 120R

  • memengaruhi: Manik-manik magnetik adalah komponen impedansi frekuensi tinggi yang dihubungkan secara seri pada saluran listrik.Mencegah kebisingan frekuensi tinggi menyebar di sepanjang saluran listrik.
  • prinsip: Manik-manik magnetik menunjukkan impedansi rendah pada sinyal DC dan AC frekuensi rendah, tetapi menunjukkan impedansi tinggi pada frekuensi tinggi, sehingga menyaring kebisingan frekuensi tinggi.
  • memilih: Manik-manik ferit 120Ω biasanya digunakan untuk menekan kebisingan di rentang frekuensi menengah. Ini memberikan impedansi yang cukup dalam rentang frekuensi tinggi untuk melemahkan kebisingan.

(2) kapasitor 10µF

  • memengaruhi: Kapasitor 10µF untuk penyaringan frekuensi rendah,Tegangan DC halus, menghilangkan fluktuasi catu daya frekuensi rendah.
  • prinsip: Nilai kapasitansi yang lebih besar memiliki impedansi yang lebih kecil pada frekuensi rendah, yang secara efektif dapat memuluskan tegangan DC dan menyaring kebisingan frekuensi rendah.
  • Lokasi: Kapasitor 10µF biasanya ditempatkan di saluran masuk daya untuk memuluskan tegangan di jaringan listrik.

(3) kapasitor 0,1µF

  • memengaruhi: Kapasitor 0,1µF untuk penyaringan frekuensi tinggi,Menekan kebisingan frekuensi tinggi dan gangguan lonjakan.
  • prinsip: Nilai kapasitansi yang lebih kecil memiliki impedansi yang lebih kecil pada frekuensi tinggi dan dapat secara efektif menyaring kebisingan frekuensi tinggi dan gangguan lonjakan.
  • Lokasi: Kapasitor 0,1µF biasanya ditempatkan di dekat setiap pin VDD/VDDA sedekat mungkin dengan IC untuk memberikan penyaringan kebisingan frekuensi tinggi yang paling efektif.

(4) kapasitor 10nF

  • Pita penyaringan tambahan: Digunakan dalam kombinasi dengan kapasitor filter lainnya (10µF, 0,1µF), kapasitor ini dapat mencakup rentang frekuensi yang lebih luas dan memberikan peredam kebisingan catu daya pita penuh untuk catu daya analog (seperti disebutkan di atas, catu daya analog harus sangat murni) .

1.3 Diagram sirkuit

1.4 Chen mengerti (mungkin hanya saya yang bisa memahaminya)

Sinyal digital (catu daya digital) seperti sinyal diferensial pada jalur sinyal, 1 adalah 1, 0 adalah 0, perbedaannya cukup besar, tidak mudah membingungkan, tetapi berubah dengan cepat, terdapat interferensi pada bentuk sinyal lain (di sini mengacu pada sinyal analog), sehingga sinyal digital dan sinyal analog dibedakan.

Kedua, sinyal analog tidak seperti sinyal digital dimana 1 adalah 1 dan 0 adalah 0. Nilainya akan diubah menjadi bilangan biner yang sesuai, sehingga harus lebih akurat dan penyaringannya harus lebih ketat.

2. Setel ulang

2.1 Proses kerja

  1. Status kerja normal: Ketika tombol reset tidak ditekan, resistor pull-up mempertahankan pin RST tetap tinggi. Pada saat ini mikrokontroler dalam kondisi kerja normal.
  2. Tekan tombol reset: Saat tombol reset ditekan, pin RST ditarik langsung ke ground. Ini memicu proses reset mikrokontroler.
  3. Lepaskan tombol reset: Ketika tombol reset dilepaskan, pin RST kembali ke level tinggi melalui resistor pull-up. Kapasitor decoupling diperlukan untuk membantu menyaring kebisingan transien selama proses pemulihan (ada juga decoupling selama proses pengepresan) dan memastikan pin RST kembali ke level tinggi secara stabil sehingga mikrokontroler dapat memulai dengan baik dari keadaan reset.

2.2 Keadaan khusus

  • Gangguan eksternal: Di lingkungan dengan interferensi elektromagnetik yang kuat, pin reset mungkin terganggu, sehingga menghasilkan reset yang salah. Sirkuit penyaringan yang sesuai (seperti kapasitor yang lebih besar atau resistor pull-up yang lebih rendah) dapat lebih meningkatkan kekebalan interferensi.
  • Atur ulang waktu: Nilai kapasitor decoupling menentukan konstanta waktu sinyal reset. Kapasitansi yang lebih besar menghasilkan waktu reset yang lebih lama tetapi memberikan penyaringan kebisingan frekuensi rendah yang lebih baik. Itu perlu dipilih sesuai dengan aplikasi sebenarnya.

2.3 Saya punya pertanyaan bodoh

Pertanyaan: Mengapa catu daya ditarik ke VDD catu daya digital, bukan VDDA catu daya analog?

menjawab:

1. Stabilitas pasokan listrik

Stabilitas VDD: VDD merupakan catu daya digital yang biasanya ditenagai langsung oleh pengatur tegangan. Tegangannya relatif stabil dan dapat dengan cepat mencapai nilai stabil ketika dihidupkan. Rangkaian reset memerlukan sumber tegangan yang stabil untuk menjamin keandalan sinyal reset.

VDDA bergantung pada VDD: VDDA adalah catu daya analog. Meskipun juga sangat stabil, biasanya bergantung pada VDD untuk catu daya. Dalam beberapa desain, VDDA dapat disaring dan disesuaikan untuk memenuhi kebutuhan sirkuit analog, dan kecepatan serta stabilitas startup mungkin sedikit. lebih lambat dari VDD.

2. Pengaruh rangkaian reset pada rangkaian digital

Sirkuit reset terutama ditujukan pada sirkuit digital: Sinyal reset terutama digunakan untuk mereset sirkuit digital di dalam STM32 (termasuk CPU dan periferal). Tegangan operasi rangkaian digital adalah VDD, sehingga lebih tepat menarik pin reset hingga VDD.

3. Pertimbangan beban arus catu daya

Kemampuan VDD saat ini: Kapasitas pasokan catu daya VDD saat ini biasanya lebih besar daripada VDDA karena memasok daya ke seluruh bagian digital, termasuk prosesor, memori, dan periferal. Beban resistor pull-up saat ini memiliki efek minimal pada VDD.

Persyaratan beban VDDA tinggi: Catu daya VDDA terutama memasok komponen analog (seperti ADC, DAC, dll.). Sirkuit ini memiliki persyaratan yang lebih tinggi pada riak dan kebisingan catu daya. Menghubungkan resistor pull-up ke VDDA dapat menimbulkan pembebanan dan kebisingan yang tidak perlu, sehingga mempengaruhi kinerja sirkuit analog.

2.4 Diagram sirkuit

3. Memulai booting

3.1 Pendahuluan

Pin BOOT (BOOT0 dan BOOT1) digunakan untuk memilih mode startup mikrokontroler. Mode startup yang berbeda dapat dipilih melalui kombinasi level pin yang berbeda, seperti yang ditunjukkan pada gambar di bawah ini:

3.2 Sirkuit

Keluarkan pin BOOT0 dan BOOT1 mikrokontroler melalui header pin jantan 2x3.topi pelompat Pilih VDD_MCU (1) ke atas dan GND (0) ke bawah untuk mengkonfigurasi mode startup mikrokontroler. Metode startup yang dipilih oleh guru adalah: boot dari SRAM bawaan, seperti gambar di bawah ini.

4. Sirkuit kristal

4.1 Mengapa STM32 membutuhkan dua rangkaian osilator kristal?

Mikrokontroler STM32 biasanya menggunakan dua rangkaian osilator kristal untuk memenuhi kebutuhan jam yang berbeda:

  • Rangkaian osilator kristal utama (8MHz): Digunakan untuk menyediakan jam sistem utama (HSE, Jam Eksternal Berkecepatan Tinggi). Sumber jam ini biasanya digunakan untuk unit pemrosesan inti mikrokontroler, periferal berkecepatan tinggi (seperti USB, CAN, dll.), dan fungsi yang memerlukan jam berkecepatan tinggi dan presisi tinggi.
  • Rangkaian osilator kristal sekunder (32.768kHz): Digunakan untuk menyediakan jam berdaya rendah (LSE, Jam Eksternal Kecepatan Rendah). Sumber jam ini biasanya digunakan untuk jam waktu nyata (RTC, Jam Waktu Nyata) dan fungsi pengaturan waktu dalam mode daya rendah. Frekuensi 32,768kHz tepat untuk pengaturan waktu, karena dapat dengan mudah digunakan untuk menghasilkan periode jam 1 detik (32,768 adalah 2 pangkat 15, cocok untuk penghitungan biner).

4.2 Mengapa frekuensi kedua rangkaian osilator kristal ini seperti itu?

Pilihan osilator kristal dengan frekuensi dan spesifikasi berbeda terutama didasarkan pada alasan berikut:

  • Osilator kristal 8MHz (osilator kristal utama):

    • Pemilihan frekuensi: 8MHz adalah frekuensi tinggi yang umum digunakan yang dapat memenuhi persyaratan jam inti STM32 dan periferal berkecepatan tinggi.
    • Kapasitansi beban (22pF): Pastikan stabilitas dan keandalan osilator kristal pada frekuensi ini. 22pF adalah nilai kapasitansi beban umum yang digunakan untuk menyesuaikan dengan kebutuhan beban osilator kristal.
  • Osilator kristal 32.768kHz (osilator kristal sekunder):

    • Pemilihan frekuensi: 32.768kHz adalah frekuensi osilator kristal RTC standar dan cocok untuk aplikasi jam berdaya rendah.
    • Kapasitansi beban (10pF): Kapasitor bernilai rendah ini cocok untuk osilator kristal frekuensi rendah untuk memastikan osilasi stabil pada frekuensi rendah.

4.3 Bagaimana cara kerja rangkaian osilator kristal? (Lebih mudah memahami soal 4.4 dan 4.5)

(1) Osilator kristal mulai berosilasi

  • Ketika daya dihidupkan, osilator kristal mulai menghasilkan sinyal osilasi yang lemah.
  • Sinyal ini memasuki rangkaian osilator internal STM32 melalui pin OSC_IN.

(2) Penyesuaian kapasitansi beban

  • Kapasitor C1 dan C2 bekerja dengan kristal untuk memastikan bahwa kristal berosilasi pada frekuensi nominalnya.
  • Nilai kapasitansi beban biasanya dipilih dalam kisaran 10pF hingga 22pF, tetapi nilai sebenarnya harus disesuaikan dengan spesifikasi osilator kristal dan kapasitansi parasit papan sirkuit.

(3) Penguatan sinyal

  • Rangkaian osilator di dalam STM32 memperkuat sinyal input osilasi lemah dan menghasilkan sinyal clock yang stabil.
  • Sinyal jam stabil ini dikeluarkan melalui pin OSC_OUT dan digunakan sebagai jam sistem untuk STM32.

(4) Umpan balik sinyal

  • Rangkaian osilator mengumpankan sinyal osilasi yang diperkuat kembali ke rangkaian osilator kristal melalui pin OSC_OUT untuk terus mempertahankan osilasi osilator kristal.
  • Putaran umpan balik ini memastikan bahwa osilator kristal dapat terus menghasilkan sinyal osilasi yang stabil.

(Sekarang Anda memahami bahwa ada loop di rangkaian osilator kristal.)

4.4 Mengapa rangkaian osilator kristal utama OSC mempunyai hambatan yang besar? Apakah ada pengaruhnya?

Rangkaian osilator kristal utama berisi resistor besar 1MΩ (biasanya dihubungkan antara OSC_IN dan OSC_OUT).

  • Untuk mencegah kesulitan startup: Resistor besar menyediakan jalur umpan balik awal, yang membantu osilator kristal memulai dengan cepat saat dihidupkan, menghindari kesulitan penyalaan yang disebabkan oleh kondisi awal yang tidak stabil.
  • Osilasi stabil: Sebuah resistor besar dapat menstabilkan proses awal osilator dan memastikan bahwa osilator dapat dengan cepat memasuki keadaan stabil setelah memulai.

(Sederhananya, ini berarti dengan cepat membentuk loop saat ini yang disebutkan di 4.3.)

4.5 Mengapa rangkaian osilator kristal sekunder OSC32 tidak mempunyai hambatan yang besar?

Alasan mengapa rangkaian osilator kristal sekunder biasanya tidak memerlukan resistor yang besar antara lain:

  • Frekuensi dan daya rendah: Osilator kristal 32,768kHz beroperasi pada frekuensi dan daya yang sangat rendah, dan relatif mudah untuk dinyalakan tanpa memerlukan resistor tambahan untuk membantu memulai.
  • Desain konsumsi daya rendah: Rangkaian osilator kristal sekunder biasanya digunakan dalam aplikasi RTC dan daya rendah. Menambahkan resistor besar akan meningkatkan konsumsi daya dan tidak memenuhi persyaratan desain daya rendah.

4.6 Diagram sirkuit

5. Jam waktu nyata RTC

5.1 Fungsi pin VBAT

Pin VBAT digunakan untuk memberi daya pada RTC dan register cadangan sehingga RTC dapat terus beroperasi ketika catu daya utama dicabut.

5.2 Prinsip desain

  1. Catu daya utama (VDD_MCU): Ketika catu daya utama (VDD_MCU) diberi daya, dioda BAT54-C dibias maju, pin VBAT memperoleh tegangan VDD_MCU melalui dioda, dan RTC serta register cadangan berfungsi normal.
  2. Catu daya cadangan: Ketika catu daya utama terputus, dioda BAT54-C mencegah aliran balik arus. RTC dan register cadangan dapat terus diberi daya dari catu daya cadangan (seperti baterai tombol) melalui konektor ZH1.25-2A. , memastikan waktu RTC dan data cadangan tidak akan hilang.

5.3 Diagram skematik

5.3.1Fungsi dioda BAT54-C

  1. Catu daya terjamin: Ketika catu daya utama ada, dioda diberi bias maju untuk memastikan bahwa pin VBAT menerima pasokan tegangan yang stabil; ketika catu daya utama terputus, dioda diberi bias mundur dan catu daya cadangan segera mengambil alih catu daya untuk memastikan bahwa RTC terus beroperasi.
  2. Mencegah arus balik: Pastikan ketika daya utama diputus, arus daya cadangan tidak mengalir kembali ke rangkaian daya utama untuk menghindari konsumsi daya yang tidak perlu dan kemungkinan kerusakan sirkuit. Pada saat yang sama, juga dipastikan bahwa ketika catu daya utama disuplai secara normal, arus chip tidak akan mengalir kembali ke baterai cadangan sehingga menyebabkan kerusakan.

5.3.2 Fungsi konektor ZH1.25-2A

  1. Antarmuka daya cadangan: Menyediakan antarmuka untuk menghubungkan ke daya cadangan, sehingga memudahkan untuk menghubungkan dan mengganti baterai atau daya cadangan lainnya.
  2. Pastikan jalur catu daya: Melalui konektor ZH1.25-2A, catu daya cadangan dapat memberikan tegangan secara andal ke pin VBAT untuk memastikan catu daya RTC tidak terganggu.

6. chip flash

6.1 Fungsi chip

Pada mikrokontroler STM32, memori Flash eksternal (seperti W25Q64JVSSIQ yang digunakan dalam proyek ini) biasanya digunakan untuk menyimpan firmware, log data, atau aplikasi lain yang memerlukan penyimpanan non-volatil.

6.1 Pengenalan pin dan konsep desain sirkuit

1. CS# (Pemilihan Chip):
  • desain: Pin CS# dikontrol melalui pin PA15. Level rendah mengaktifkan chip, level tinggi mematikan chip.
  • prinsip: Ketika CS# levelnya rendah, chip Flash dipilih dan STM32 dapat berkomunikasi dengannya; ketika CS# levelnya tinggi, chip Flash tidak aktif Karena beberapa perangkat SPI dapat berbagi bus SPI yang sama, perangkat lain dapat berkomunikasi.
2. SO (Keluaran Serial):
  • desain: Pin SO dihubungkan ke STM32 melalui pin PB4 (MISO, Master In Slave Out).
  • prinsip: Digunakan untuk mengirim data dari chip Flash ke STM32 dalam komunikasi SPI.
3. WP# (Perlindungan Tulis):
  • desain: Pin WP# terhubung langsung ke catu daya 3.3V.
  • prinsip: Hubungkan WP# ke level tinggi (3.3V) untuk menonaktifkan fungsi perlindungan penulisan dan mengaktifkan operasi penulisan.
4. GND (Tanah):
  • desain: Pin GND terhubung ke ground.
  • prinsip: Menyediakan sirkuit daya untuk chip.
5. SI (Masukan Serial):
  • desain: Pin SI dihubungkan ke STM32 melalui pin PB5 (MOSI, Master Out Slave In).
  • prinsip: Digunakan untuk mengirim data dari STM32 ke chip Flash dalam komunikasi SPI.
6. CLK (Jam):
  • desain: Pin CLK dihubungkan ke STM32 melalui pin PB3.
  • prinsip: Menyediakan sinyal jam untuk komunikasi SPI, dihasilkan dan dikontrol oleh STM32.
7. TAHAN3#:
  • desain: Pin HOLD3# terhubung ke catu daya 3.3V.
  • prinsip: Hubungkan HOLD3# ke level tinggi (3.3V) untuk menonaktifkan fungsi jeda dan memungkinkan chip Flash bekerja secara normal.
8. VCC (Catu Daya):
  • desain: Pin VCC terhubung ke catu daya 3.3V.
  • prinsip: Memberikan tegangan kerja untuk chip Flash.
9. Rangkaian filter daya
  • desain: Catu daya 3,3V dihubungkan ke ground melalui kapasitor 0,1uF.
  • prinsip: Kapasitor decoupling digunakan untuk menyaring kebisingan frekuensi tinggi pada saluran listrik, menstabilkan catu daya, dan memastikan pengoperasian normal chip Flash.

6.2 Operasi sirkuit

  1. Nyalakan: Catu daya 3,3V menyediakan daya ke chip Flash, dan kapasitor menyaring kebisingan catu daya.
  2. Komunikasi SPI: STM32 berkomunikasi dengan chip Flash melalui antarmuka SPI (pin PA15, PB3, PB4, PB5):
    • PA15 mengontrol CS# dan memilih chip.
    • PB3 menyediakan sinyal jam (CLK).
    • PB5 mengirimkan data ke chip Flash (MOSI).
    • PB4 menerima data chip Flash (MISO).
  3. Perlindungan tulis: WP# (yaitu IO2 pada gambar di bawah) terhubung ke level tinggi untuk memastikan operasi penulisan tidak dinonaktifkan dan memfasilitasi penulisan data.
  4. Fungsi jeda: HOLD3# (yaitu IO3 pada gambar di bawah) terhubung ke level tinggi untuk menonaktifkan fungsi jeda dan memastikan pengoperasian normal.

6.3 Metode desain lainnya

  1. Perlindungan penulisan perangkat keras: Jika Anda memerlukan fungsi perlindungan penulisan perangkat keras, Anda dapat menghubungkan pin WP# ke pin GPIO STM32 dan mengontrol status perlindungan penulisan melalui perangkat lunak.
  2. Gunakan kapasitor yang lebih besar: Pada rangkaian filter catu daya, kapasitor berkapasitas lebih besar (seperti 1uF atau 10uF) dapat digunakan untuk lebih memperlancar tegangan catu daya sesuai dengan keadaan sebenarnya.
  3. Tambahkan sirkuit buffer: Dalam lingkungan yang bising, rangkaian buffer dapat ditambahkan ke jalur sinyal SPI untuk meningkatkan keandalan komunikasi. (Metode khusus: gunakan chip penyangga, resistor seri, penyaringan kapasitor, dan gunakan kabel berpelindung.)

7. Antarmuka debugging SWD

SWD (Serial Wire Debug) adalah antarmuka debugging dan pemrograman yang banyak digunakan pada mikrokontroler seri ARM Cortex-M. Ini mencapai debugging dan pemrograman yang efisien melalui dua jalur data (SWDIO dan SWCLK), dan fungsinya adalah sebagai berikut:

  • Debugging dan pemrograman: Antarmuka SWD adalah antarmuka standar untuk debugging dan pemrograman mikrokontroler. Melalui itu, Anda dapat melakukan operasi seperti pengunduhan firmware, debugging, pengaturan breakpoint, tampilan variabel, dll.
  • Koneksi yang disederhanakan: Pin dan antarmuka standar memungkinkan koneksi mudah ke debugger, menyederhanakan proses debugging dan pemrograman.
  • Komunikasi yang andal: Melalui resistor pull-up dan pull-down, pastikan saluran sinyal berada pada level stabil dalam keadaan idle untuk menghindari gangguan kebisingan.

Bagian rangkaian dalam proyek ini terdiri dari tiga bagian:

  1. HDR-M-2.54 1x5
  2. XYXH2.54-5A11
  3. Jianniu 2.54mm 2x10 lurus

Ketiga bagian ini semuanya menyediakan antarmuka SWD, namun bentuk dan metode koneksinya sedikit berbeda.

7.1 HDR-M-2.54 1x5

7.1.1 Diagram sirkuit

7.1.2 Fungsi dan prinsip

  • VCC dan GND: Sediakan kabel daya dan ground untuk memastikan bahwa debugger dan STM32 memiliki referensi daya yang sama.
  • Bahasa Indonesia: NRST : Digunakan untuk mereset STM32 secara eksternal.Debugger dapat mengontrol pin NRSTSetel ulang STM32
  • SWDIO (Input/Output Debug Kabel Serial): Jalur data dua arah untuk transmisi data debugging dan pemrograman.
  • SWCLK(Jam Kawat Serial): Sinyal jam, yang dihasilkan oleh debugger, memberikan referensi waktu untuk komunikasi SWD.

7.2 XYXH2.54-5A11

7.2.1 Diagram sirkuit

7.2.2 Fungsi dan prinsip

Bagian ini memiliki fungsi yang sama dengan HDR-M-2.54 1x5, namun pin dan bentuk sambungannya berbeda.

7.3 Resistor penarik dan penarik

Adapun mengapa yang pertama memiliki resistor pull-up dan pull-down tetapi yang kedua tidak, penjelasannya sebagai berikut:

(1) Pertimbangan dalam memilih resistor pull-up dan pull-down

  1. Kebisingan sekitar: Jika sistem beroperasi di lingkungan dengan kebisingan tinggi, disarankan untuk menambahkan resistor pull-up dan pull-down.
  2. Stabilitas Pin: Perlu memastikan bahwa pin tetap stabil ketika debugger tidak terhubung atau diaktifkan.
  3. Fitur debugger: Beberapa debugger telah mengintegrasikan resistor pull-up dan pull-down secara internal, dan resistor eksternal dapat dihilangkan.

(2) Mengapa HDR-M-2.54 1x5 memiliki resistor pull-up dan pull-down?

  • penerapan: Desain HDR-M-2.54 1x5 menggabungkan resistor pull-up dan pull-down untuk memastikan pin stabil saat debugger tidak terhubung atau diaktifkan.
  • Meningkatkan keandalan: Resistor pull-up dan pull-down digunakan untuk menghindari malfungsi yang disebabkan oleh kebisingan ketika debugger tidak terhubung atau debugger tidak digerakkan, sehingga meningkatkan keandalan sistem.

      koneksi tertentu

  • SWDIO (menarik): Resistor 10kΩ menarik hingga 3.3V untuk memastikan bahwa pin SWDIO tetap tinggi ketika debugger tidak terhubung untuk menghindari mengambang.
  • SWCLK (tarik ke bawah): Resistor 10kΩ ditarik ke bawah ke ground untuk memastikan bahwa pin SWCLK tetap rendah ketika debugger tidak terhubung untuk menghindari mengambang.

(3) Mengapa XYXH2.54-5A11 tidak memiliki resistor pull-up dan pull-down?

  • Penyederhanaan desain: XYXH2.54-5A11 menghilangkan resistor pull-up dan pull-down untuk kesederhanaan desain, memungkinkan lebih banyak fleksibilitas dalam menggunakan debugger yang berbeda.
  • Tergantung pada sirkuit eksternal: Dalam beberapa desain, mungkin demikianMengandalkan resistor pull-up dan pull-down pada debugger atau papan pengembangan,Daripada mengkonfigurasinya langsung di sirkuit antarmuka.
  • Lingkungan yang berbeda: Dalam beberapa lingkungan aplikasi, mungkin dianggap bahwa interferensi eksternal kecil dan permintaan untuk resistor pull-up dan pull-down tidak kuat, sehingga dihilangkan.

7.4 Jane Niu 2.54mm 2x10 lurus

Saya harus menyebutkan di sini bahwa ada dua mode debugging untuk debugging. Mode JTAG dan mode SWD, mode JTAG memiliki banyak antarmuka dan lebih cocok untuk desain perangkat keras yang kompleks, sedangkan mode SWD memiliki jalur sinyal yang lebih sedikit dan cocok untuk sistem tertanam terbatas.dipesan di sini Antarmuka JTAG (nyaman untuk perbaikan selanjutnya) hanya menggunakan mode SWD.

7.4.1 Diagram sirkuit

7.4.2 Fungsi dan prinsip

Sama seperti di atas.

7.4.3 Perluasan

Bagian ini menyediakan bentuk antarmuka JTAG standar, tetapi hanya menggunakan pin yang dibutuhkan oleh SWD.Pin yang tersisa yang tidak terpakai ditandai sebagai tidak terhubung atau dicoret.

(1) Pin yang dicoret
  1. TRST (pin 3):

    • Fungsi: Sinyal reset JTAG, digunakan untuk mereset logika debugging JTAG.
    • Mengapa bercabang: Pada mode SWD, pin TRST tidak digunakan karena mode SWD tidak memerlukan sinyal reset JTAG terpisah.
  2. TDI (Pin 5):

    • Fungsi: Input data uji JTAG, digunakan untuk memasukkan data uji.
    • Mengapa bercabang: Pada mode SWD, pin TDI tidak digunakan karena mode SWD tidak memerlukan pin input data terpisah.
  3. TDO/SWO (pin 13):

    • Fungsi:
      • TDO (Data Uji Keluar): Keluaran data uji JTAG, digunakan untuk mengeluarkan data uji.
      • SWO (Keluaran Kabel Serial): Dalam mode SWD, ini digunakan sebagai keluaran serial untuk keluaran informasi debugging.
    • Mengapa bercabang: Dalam beberapa desain yang disederhanakan, pin SWO tidak digunakan atau tidak terhubung.
  4. NC (pin 9, 11, 15, 17):

    • Fungsi: Tidak Terhubung, tidak ada fungsi khusus yang ditetapkan.
    • Mengapa bercabang: Pin ini tidak digunakan pada desain tertentu.
(2) Penjelasan tentang pin multipleks

Pin multipleks (TMS/SWDIO, TCK/SWCLK) memiliki fungsi ganda dan mendukung protokol debugging JTAG dan SWD. Fungsi spesifiknya adalah sebagai berikut:

  1. TMS/SWDIO (pin 7):

    • TMS (Pemilihan Mode Uji): Dalam mode JTAG, digunakan untuk memilih mode uji.
    • SWDIO (Input/Output Debug Kabel Serial) Dalam mode SWD, ini berfungsi sebagai jalur data dua arah untuk mengirimkan data debugging dan pemrograman.
  2. TCK/SWCLK (Pin 9):

    • TCK(Jam Ujian): Dalam mode JTAG, digunakan untuk memberikan sinyal jam uji.
    • SWCLK(Jam Kawat Serial): Dalam mode SWD, digunakan untuk memberikan sinyal jam serial.
(3) Penggunaan fungsi penggunaan kembali

Dalam penggunaan sebenarnya, debugger dan mikrokontroler akan memilih protokol debug dan fungsi pin yang sesuai berdasarkan konfigurasi. Misalnya:

  • Ketika mode SWD dipilih, pin TMS/SWDIO dikonfigurasi sebagai SWDIO dan pin TCK/SWCLK dikonfigurasi sebagai SWCLK.
  • Ketika mode JTAG dipilih, pin TMS/SWDIO dikonfigurasi sebagai TMS, pin TCK/SWCLK dikonfigurasi sebagai TCK, dan pin TDI dan TDO dapat digunakan.
(4) Solusi desain perangkat keras lainnya

Selain pilihan desain di atas, ada desain lain yang bisa dipertimbangkan:

  1. Hanya antarmuka SWD: Jika Anda hanya memerlukan fungsi debugging SWD, Anda hanya dapat menyimpan pin SWDIO dan SWCLK dan menyimpan pin JTAG yang tidak diperlukan.
  2. Antarmuka multifungsi: Rancang antarmuka debugging multifungsi yang dapat mendukung JTAG dan SWD secara bersamaan, dan dapat dialihkan sesuai kebutuhan.
  3. Debugger bawaan: Rancang debugger bawaan, seperti ST-LINK, untuk diintegrasikan langsung ke papan pengembangan untuk menyediakan antarmuka debugging dan pemrograman yang lebih nyaman.
(5) Mode debugging lainnya

Selain mode SWD dan JTAG, ada beberapa mode debugging dan pemrograman lainnya:Penyedia Layanan Internet, UART, I2C, SPITunggu.

8.STM32

Acara utamanya ada di sini, saya sedikit gugup.