Π’ ΠΌΠΈΡ€Π΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ элСктроники ΠΈ микропроцСссорной Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ постоянно Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ‚ΡƒΠΏΠΈΠΊ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°, Ссли ΠΎΠ½ сталкиваСтся с Π½ΠΈΠΌΠΈ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅. Одним ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ являСтся swclk, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ часто встрСчаСтся Π² тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, логичСских Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°Ρ… ΠΈ схСмах ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Если Π²Ρ‹ задались вопросом "swclk Ρ‡Ρ‚ΠΎ это", Ρ‚ΠΎ, скорСС всСго, ΡƒΠΆΠ΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ настройки ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈΠ»ΠΈ диагностики интСрфСйса SWD.

Π­Ρ‚ΠΎΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ прСдставляСт собой сокращСниС ΠΎΡ‚ английского словосочСтания Serial Wire Clock, Ρ‡Ρ‚ΠΎ дословно пСрСводится ΠΊΠ°ΠΊ "ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ сигнал". Он являСтся Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ SWD (Serial Wire Debug), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ ARM. ПониманиС Π΅Π³ΠΎ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹ критичСски Π²Π°ΠΆΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² встраиваСмых систСм, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ этот сигнал синхронизируСт ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ ΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ устройством.

Π‘Π΅Π· ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ восприятия этого сигнала Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½ΠΈ ΠΏΡ€ΠΎΡˆΠΈΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Π½ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΊΠΎΠ΄Π° Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±ΠΎΠ»Π΅Π΅ старых интСрфСйсов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ JTAG, Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ минимального количСства ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для соврСмСнных ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… устройств. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ эта систСма ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½Π° Ρ‚Π°ΠΊ Π²Π°ΠΆΠ½Π°.

ВСхничСская ΡΡƒΡ‚ΡŒ ΠΈ происхоТдСниС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°

АббрСвиатура swclk происходит нСпосрСдствСнно ΠΈΠ· спСцификации ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ интСрфСйса ARM CoreSight. Π’ классичСском интСрфСйсС JTAG использовалось ΠΏΡΡ‚ΡŒ ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π»ΠΎ Π΄Ρ€Π°Π³ΠΎΡ†Π΅Π½Π½ΠΎΠ΅ мСсто Π½Π° ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Π°Ρ… ΠΈ Π² корпусах микросхСм. Π˜Π½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ARM Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρƒ, ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΠ²ΡˆΡƒΡŽ количСство Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΈΠ½ΠΎΠ² Π΄ΠΎ Π΄Π²ΡƒΡ…: SWDIO (Π΄Π°Π½Π½Ρ‹Π΅) ΠΈ SWCLK (Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅).

Π‘ΠΈΠ³Π½Π°Π» swclk гСнСрируСтся мастСром, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΌ Π·ΠΎΠ½Π΄ΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ST-Link, J-Link ΠΈΠ»ΠΈ DAPLink). Π­Ρ‚ΠΎΡ‚ сигнал прСдставляСт собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ частоты, которая Π·Π°Π΄Π°Π΅Ρ‚ Ρ€ΠΈΡ‚ΠΌ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π±ΠΈΡ‚ΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Ρ€ΠΎΠ½Ρ‚ ΠΈΠ»ΠΈ спад напряТСния Π½Π° Π»ΠΈΠ½ΠΈΠΈ SWCLK ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° Π»ΠΈΠ½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… SWDIO появился Π½ΠΎΠ²Ρ‹ΠΉ Π±ΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Частота сигнала swclk Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ максимально Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΡƒΡŽ частоту Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ интСрфСйса ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΈΠ½Π°Ρ‡Π΅ связь Π±ΡƒΠ΄Π΅Ρ‚ потСряна ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ искаТСны.

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ swclk Π½Π΅ являСтся нСзависимым источником тактирования для самого ядра процСссора. Он слуТит ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для синхронизации ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π°. Π”Π°ΠΆΠ΅ Ссли основной ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° остановлСн ΠΈΠ»ΠΈ Π΅Π³ΠΎ частота ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ настроСнный внСшний swclk ΠΎΡ‚ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° способСн "Ρ€Π°Π·Π±ΡƒΠ΄ΠΈΡ‚ΡŒ" Ρ‡ΠΈΠΏ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ соСдинСниС для ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ синхронизация Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс SWD строго Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ зависит ΠΎΡ‚ тактирования. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ мастСр-слСйв, Π³Π΄Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ всСгда выступаСт Π² Ρ€ΠΎΠ»ΠΈ мастСра, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ swclk. ΠœΠΈΠΊΡ€ΠΎΡΡ…Π΅ΠΌΠ°-Ρ†Π΅Π»ΡŒ (слСйв) Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° эти ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… происходит ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π±ΠΈΡ‚ Π·Π° Π±ΠΈΡ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½ΠΎ Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ Serial.

БущСствуСт Π΄Π²Π° основных Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависят ΠΎΡ‚ Ρ„Ρ€ΠΎΠ½Ρ‚ΠΎΠ² Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сигнала:

  • πŸ“‘ Π”Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ слСйвом ΠΏΠΎ восходящСму Ρ„Ρ€ΠΎΠ½Ρ‚Ρƒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ° swclk.
  • ⬇️ Π—Π°ΠΏΠΈΡΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° линию ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎ ΡΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌΡƒ Ρ„Ρ€ΠΎΠ½Ρ‚Ρƒ, обСспСчивая Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅.
  • πŸ”„ Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… рСализациях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ двунаправлСнная ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π°, Π³Π΄Π΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ мСняСтся динамичСски, Π½ΠΎ синхронизация всСгда ΠΈΠ΄Π΅Ρ‚ ΠΎΡ‚ swclk.

Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ° ΠΈ ΠΏΠ°ΡƒΠ·Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ значСния частоты swclk Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΡ‚ 100 ΠΊΠ“Ρ† Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠ΅Π³Π°Π³Π΅Ρ€Ρ†. ΠŸΡ€ΠΈ высокой частотС трСбования ΠΊ качСству ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈ Π΄Π»ΠΈΠ½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‚. Если Π΄Π»ΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΈ слишком Π²Π΅Π»ΠΈΠΊΠ°, сигналы ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ, создавая ΠΏΠΎΠΌΠ΅Ρ…ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкам Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ½Π° Π΄Π»ΠΈΠ½Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°?

ΠŸΡ€ΠΈ использовании Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² (Π±ΠΎΠ»Π΅Π΅ 10-15 см) для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ SWCLK ΠΈ SWDIO Π±Π΅Π· экранирования, высокочастотныС Ρ„Ρ€ΠΎΠ½Ρ‚Ρ‹ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сигнала ΠΌΠΎΠ³ΡƒΡ‚ "Π·Π°Π²Π°Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ" ΠΈΠ»ΠΈ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ выбросы. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ считываСт Π»ΠΎΠΆΠ½Ρ‹Π΅ Π½ΡƒΠ»ΠΈ ΠΈΠ»ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹. Для высоких частот рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ‚ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ ΠΈΠ»ΠΈ экранированный кабСль.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ частот. Частота swclk ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выбираСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΠΈΠΆΠ΅ частоты Ρ€Π°Π±ΠΎΡ‚Ρ‹ самого процСссора, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΡ‚Π°Π±Π½ΠΎΡΡ‚ΡŒ. Однако, Ссли процСссор Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΎΡ‡Π΅Π½ΡŒ Π½ΠΈΠ·ΠΊΠΎΠΉ частотС ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Π² Ρ€Π΅ΠΆΠΈΠΌ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ сна, внСшний swclk становится СдинствСнным способом взаимодСйствия с устройством, позволяя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ тактирования.

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ ΠΎΡ‚ интСрфСйса JTAG

МногиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡƒΡ‚Π°ΡŽΡ‚ swclk с сигналом TCK (Test Clock) ΠΈΠ· интСрфСйса JTAG. Π₯отя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΡΡ…ΠΎΠΆΡƒΡŽ Ρ€ΠΎΠ»ΡŒ β€” Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π°, физичСская рСализация ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρƒ Π½ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. JTAG Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ наличия Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… основных сигналов: TCK, TMS, TDI ΠΈ TDO, Π° Ρ‚Π°ΠΊΠΆΠ΅ часто nTRST ΠΈ nSRST.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ SWD, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ swclk, Π±ΠΎΠ»Π΅Π΅ экономичСн. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ всСго Π΄Π²Π° ΠΏΠΈΠ½Π° для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ρ‡Ρ‚ΠΎ позволяСт производитСлям ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ корпуса с мСньшим количСством Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ освобоТдСнныС ΠΏΠΈΠ½Ρ‹ ΠΏΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π½ΡƒΠΆΠ΄Ρ‹. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ с JTAG Π½Π° SWD стал массовым с появлСниСм сСрии ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² STM32 ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ARM Cortex-M.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° сравнСния ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… характСристик:

Π₯арактСристика Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ JTAG Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ SWD (SWCLK)
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ сигналов 5 ΠΈ Π±ΠΎΠ»Π΅Π΅ 2 (SWCLK, SWDIO)
Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Высокая, Π½ΠΎ зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Высокая, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ трассировки Высокая (ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ) Низкая (ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π΄ΠΎΡ€ΠΎΠΆΠ΅ΠΊ)
Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ стандарт Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π΅Π½ для ARM CoreSight

НСсмотря Π½Π° прСимущСства swclk, интСрфСйс JTAG Π½Π΅ исчСз ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Он Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² слоТных систСмах, Π³Π΄Π΅ трСбуСтся трассировка мноТСства ядСр ΠΈΠ»ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° устройств, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ARM. Однако для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ встраивания swclk являСтся ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ.

πŸ“Š Какой интСрфСйс ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
  • JTAG
  • SWD (SWCLK)
  • BDM
  • Π”Ρ€ΡƒΠ³ΠΎΠΉ

ЀизичСскоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ распиновка

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ ΠΈΠ»ΠΈ создании ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ кабСля Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ строго ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ спСцификациям ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π‘ΠΈΠ³Π½Π°Π» swclk ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ располагаСтся рядом с сигналом Π΄Π°Π½Π½Ρ‹Ρ… SWDIO. Π’ стандартном 10-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½ΠΎΠΌ ΠΈΠ»ΠΈ 20-ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½ΠΎΠΌ Ρ€Π°Π·ΡŠΠ΅ΠΌΠ΅ JTAG/SWD эти ΠΏΠΈΠ½Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ фиксированныС Π½ΠΎΠΌΠ΅Ρ€Π°, Π½ΠΎ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Π°Ρ… ΠΈΡ… часто выводят Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹Π΅ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΈ.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ трСбования ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ:

  • πŸ”Œ Π›ΠΈΠ½ΠΈΠΈ swclk ΠΈ SWDIO Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ согласованы ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ рассинхронизации.
  • πŸ›‘οΈ РСкомСндуСтся ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ½ΠΈΠΈ ΠΊ Π·Π΅ΠΌΠ»Π΅ ΠΈΠ»ΠΈ ΠΏΠΈΡ‚Π°Π½ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· рСзисторы (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 10-100 кОм), Ссли это прСдусмотрСно схСмой, для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΏΠΎΠΌΠ΅Ρ….
  • ⚑ НСобходимо ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ зСмлю (GND) ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ ΠΈ Ρ†Π΅Π»Π΅Π²Ρ‹ΠΌ устройством, ΠΈΠ½Π°Ρ‡Π΅ сигнал swclk Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΠΎΡ€Π½ΠΎΠ³ΠΎ уровня.

Частой ошибкой являСтся ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΈΠ½ΠΎΠ² swclk ΠΈ SWDIO. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» симмСтричСн ΠΏΠΎ уровням напряТСния (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ 3.3Π’), ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π° сигнала Π½Π΅ Ρ‚ΡƒΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΠΆΠ΅Ρ‡ΡŒ устройство ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, Π½ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΏΠΎΡ€Ρ‚Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, Ссли Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ линию swclk ΠΎΡ‚ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° с напряТСниСм 5Π’ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ, рассчитанному Π½Π° 3.3Π’. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΠΎΠΌΡƒ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ ΠΏΠΎΡ€Ρ‚Π° Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°.

Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ€Π°Π·ΡŠΠ΅ΠΌΡ‹ Ρ‚ΠΈΠΏΠ° Pin Header с шагом 2.54 ΠΌΠΌ ΠΈΠ»ΠΈ 1.27 ΠΌΠΌ. На ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Segger J-Link, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 20-ΠΏΠΈΠ½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·ΡŠΠ΅ΠΌ, Π³Π΄Π΅ swclk Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΈΠ½ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΈΠ½ 4 ΠΈΠ»ΠΈ 9 Π² зависимости ΠΎΡ‚ стандарта распиновки).

Диагностика ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с сигналом SWCLK

Если ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка "No target connected" ΠΈΠ»ΠΈ "SWD Read Error", ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ слСдуСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΈ качСство сигнала swclk. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ осциллограф ΠΈΠ»ΠΈ логичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ‰ΡƒΠΏ ΠΊ ΠΏΠΈΠ½Ρƒ swclk Π½Π° ΠΏΠ»Π°Ρ‚Π΅ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

На Ρ‡Ρ‚ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈ диагностикС:

  • πŸ“‰ НаличиС ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ²: Ссли линия Π»Π΅ΠΆΠΈΡ‚ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π·Π΅ΠΌΠ»ΠΈ ΠΈΠ»ΠΈ питания, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π½Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ сигнал ΠΈΠ»ΠΈ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ€Ρ‹Π².
  • πŸ“ Амплитуда: ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ логичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΆΠ΅Π½ΠΈΡŽ питания ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 3.3Π’).
  • 🌊 Π€ΠΎΡ€ΠΌΠ° сигнала: Ρ„Ρ€ΠΎΠ½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΡ€ΡƒΡ‚Ρ‹ΠΌ, Π±Π΅Π· ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π·Π°Π²Π°Π»ΠΎΠ² ΠΈΠ»ΠΈ Π·Π²ΠΎΠ½Π°, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с импСдансом.

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ SWCLK

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

Частой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ являСтся влияниС Смкости Π»ΠΈΠ½ΠΈΠΈ. Если ΠΊ ΠΏΠΈΠ½Ρƒ swclk ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ слишком ΠΌΠ½ΠΎΠ³ΠΎ устройств ΠΈΠ»ΠΈ Π΄Π»ΠΈΠ½Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° Π²Π΅Π»ΠΈΠΊΠ°, Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹, прСвращая ΠΈΡ… Π² синусоиды. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π½Π΅ успСваСт Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ логичСских ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ. РСшСниС β€” ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ частоты swclk Π² настройках ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ².

Настройка частоты Π² популярных IDE

Π’ соврСмСнных срСдах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Keil MDK, IAR Embedded Workbench ΠΈΠ»ΠΈ STM32CubeIDE, частоту swclk ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ дСлаСтся Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ настроСк ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° (Debug Adapter Settings). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ часто устанавливаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 1-2 ΠœΠ“Ρ†, Π½ΠΎ для Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… соСдинСний Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π΄ΠΎ 100 ΠΊΠ“Ρ†.

Π’ OpenOCD (Open On-Chip Debugger), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ΄ Linux ΠΈΠ»ΠΈ Π² связкС с VS Code, частота задаСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· CLI. НапримСр, ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

adapter_khz 1000

Π“Π΄Π΅ 1000 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ 1000 ΠΊΠ“Ρ† (1 ΠœΠ“Ρ†). Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ pyOCD ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты Π½Π° Π±Π°Π·Π΅ Python, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ frequency ΠΈΠ»ΠΈ swd_clock. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ баланс: слишком низкая частота сдСлаСт ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ, слишком высокая β€” нСстаб (mark)Π½ΠΎΠΉ. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ считаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 1/6 ΠΎΡ‚ частоты тактирования систСмы ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Ссли ΠΎΠ½Π° извСстна.

πŸ’‘

Π‘ΠΎΠ²Π΅Ρ‚: Если Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅ частоту, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ½ "Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½" ΠΈΠ»ΠΈ сбиты настройки ΠΊΠ»ΠΎΠΊΠ°), Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ с минимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ частоты SWCLK (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 10-50 ΠΊΠ“Ρ†). Π­Ρ‚ΠΎ часто позволяСт ΠΏΡ€ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΈΠ»ΠΈ ошибки ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

НСкоторыС ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, автоматичСски подбирая ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ swclk Π² зависимости ΠΎΡ‚ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ устройства. Π­Ρ‚ΠΎ удобная функция, Π½ΠΎ Π² случаях слоТных нСисправностСй Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ€ΡƒΡ‡Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ частотой для Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ контроля процСсса.

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΈΠ½Ρ‹ SWCLK ΠΈ SWDIO для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ послС ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ?

Π”Π°, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ARM эти ΠΏΠΈΠ½Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (GPIO) послС сброса ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Однако, Ссли Π² процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚Π΅ ΠΈΡ…εŠŸθƒ½, доступ Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ потСрян Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ сброса.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚ устройство, хотя SWCLK присутствуСт?

НаличиС сигнала swclk Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ связь. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹: Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ напряТСниС (ΡƒΡ€ΠΎΠ²Π½ΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚), отсутствиС ΠΎΠ±Ρ‰Π΅ΠΉ Π·Π΅ΠΌΠ»ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Π°Ρ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ чтСния (Readout Protection) ΠΈΠ»ΠΈ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ самого ΠΏΠΎΡ€Ρ‚Π° ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ микросхСмы.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ SWCLK ΠΈ SYSCLK?

SWCLK β€” это внСшний Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ сигнал Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для интСрфСйса ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. SYSCLK (System Clock) β€” это внутрСнняя частота, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ядро процСссора ΠΈ пСрифСрия. Они нСзависимы, хотя для ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ часто трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ swclk Π±Ρ‹Π» синхронизирован ΠΈΠ»ΠΈ ΠΊΡ€Π°Ρ‚Π΅Π½ частотС систСмы, Π»ΠΈΠ±ΠΎ систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡ‚ внСшнСго источника.

МоТно Π»ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΡŒ SWCLK ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ?

ВСорСтичСски Π΄Π°, Ссли ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мастСр-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» SWD. Однако Π² стандартных сцСнариях swclk всСгда гСнСрируСтся внСшним ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹ΠΌ Π·ΠΎΠ½Π΄ΠΎΠΌ. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π΅ выводят сигнал swclk Π½Π° ΠΏΠΈΠ½Ρ‹ автоматичСски.

πŸ’‘

SWCLK β€” это "сСрдцСбиСниС" процСсса ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π‘Π΅Π· ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ сигнала Π½ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Π½ΠΈ запись Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹, нСзависимо ΠΎΡ‚ исправности ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ элСктроники.