Watchdog timer Ρ‡Ρ‚ΠΎ это

AVR Π£Ρ€ΠΎΠΊ 53. Watchdog Timer (WDT). Π§Π°ΡΡ‚ΡŒ 1

Π£ΠΆΠ΅ Π±ΠΎΠ»Π΅Π΅ Π³ΠΎΠ΄Π° мною Π½Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΎΡΡŒ ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ AVR. На это Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, я считал, Ρ‡Ρ‚ΠΎ основныС Π²ΠΈΠ΄Ρ‹ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Π½Π°ΠΌΠΈ ΡƒΠΆΠ΅ ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρƒ мСня Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΈ Π½Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹ видСлся Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΠΏΡ€Π°Π²Π½ΠΎ. Π£Ρ€ΠΎΠΊΠΈ Π±Π΅Π· этого ΡΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ для Π½ΠΈΡ…, ΠΏΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, ΠΎΡ‡Π΅Π½ΡŒ тяТСло.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ соврСмСнных ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² интСрСс ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ ΡƒΠΏΠ°Π», Ρ…ΠΎΡ‚ΡŒ ΠΈ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ всё ΠΆΠ΅ это Π΅ΡΡ‚ΡŒ.

НСсмотря Π½Π° это, я всё ΠΆΠ΅, взвСсив всС «Π·Π°» ΠΈ «ΠΏΡ€ΠΎΡ‚ΠΈΠ²», всё ΠΆΠ΅ Ρ€Π΅ΡˆΠΈΠ» Π΅Ρ‰Ρ‘ Ρ€Π°Π· ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒ ΡΡ‡Π°ΡΡ‚ΡŒΡ ΠΈ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ ΡƒΡ€ΠΎΠΊΠΎΠ² (ΠΏΠΎΠΊΠ° ΠΏΠ°Ρ€Ρƒ, Π° Ρ‚Π°ΠΌ посмотрим, ΠΊΠ°ΠΊ Π΄Π΅Π»ΠΎ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚) ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ.

Π§Ρ‚ΠΎ ΠΆΠ΅ всё-Ρ‚Π°ΠΊΠΈ сподвигло мСня Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ шаг?

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, многочислСнныС ΠΏΡ€ΠΎΡΡŒΠ±Ρ‹ посСтитСлСй ΠΌΠΎΠ΅Π³ΠΎ рСсурса, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡΡŒΠ±Ρ‹ Π² Π»ΠΈΡ‡Π½Ρ‹Ρ… сообщСниях.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π½ΠΎΠ²Ρ‹ΠΉ хозяин Π΄Π°Π½Π½ΠΎΠ³ΠΎ сСмСйства ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Microchip, Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ» эти ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π² свою срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ MPLAB X, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ сразу Π½Π° Π΄Π²Π° сСмСйства ΠΎΠ΄Π½ΠΎΠΉ срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π’-Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ…, Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹ΡΠ²ΠΈΠ»ΠΈΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Ρ‹Π»ΠΈ освСщСны Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ, ΠΊΠ°ΠΊ я считал Π΄ΠΎ этого, Π²ΠΏΠΎΠ»Π½Π΅ ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰Π΅ΠΌ курсС занятий ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌ AVR.

И Π²ΠΎΡ‚ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π΅ΠΈΠ·Π²Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π΅Ρ‰Ρ‘ Π½Π°ΠΌΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ оказался ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Watchdog Timer (WDT), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ оказалось, ΠΌΠ½ΠΎΠ³ΠΎ Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈ выполняСт ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ€ΠΎΠ»ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, мСня Ρ€Π°Π½Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ просили ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎ Π½Π΅ΠΌΡƒ ΡƒΡ€ΠΎΠΊ, Π½ΠΎ я Π»ΠΈΠ±ΠΎ Π½Π΅Π΄ΠΎΠΏΠΎΠ½ΠΈΠΌΠ°Π» Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ, Π»ΠΈΠ±ΠΎ Π±Ρ‹Π» ΡƒΠ²Π»Π΅Ρ‡Ρ‘Π½ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

Π’ΠΎΡ‚ ΠΈ настало врСмя Π½Π°ΠΊΠΎΠ½Π΅Ρ†-Ρ‚ΠΎ Π²ΠΎΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ±Π΅Π».

Watchdog Timer (WDT) – это стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€ (Π° Ссли пСрСвСсти дословно, «ΡΡ‚ΠΎΡ€ΠΎΠΆΠ΅Π²ΠΎΠΉ пёс»), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ-Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ схСму контроля Π½Π°Π΄ зависаниСм систСмы. Π­Ρ‚ΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСриодичСски сбрасываСтся ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмой. Если Π²Π΄Ρ€ΡƒΠ³ сброса Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ сброса Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, Ρ‚ΠΎ происходит ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° систСмы (Π² нашСм случаС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°).

Π’ ΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… случаях ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€?

НапримСр, ΠΌΡ‹ ΠΆΠ΄Ρ‘ΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡˆΠΈΠ½Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ I2C ΠΈΠ»ΠΈ Π΅Ρ‰Ρ‘ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ) Π² Π²ΠΈΠ΄Π΅ отслСТивания состояния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° рСгистра. И Π²Π΄Ρ€ΡƒΠ³ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ отсоСдинСниС ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° этой ΡˆΠΈΠ½Ρ‹. ПослС этого скорСй всСго ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ зависаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² шинС Π±ΡƒΠ΄Π΅Ρ‚ сбой, ΠΈ Π΄Π°ΠΆΠ΅ Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ послС ΠΈ ΠΏΡ€ΠΈΠ΄Ρ‘Ρ‚ ΠΎΡ‚ присоСдинённого ΡƒΠ·Π»Π°, Ρ‚ΠΎ ΠΌΡ‹ вряд Π»ΠΈ ΡƒΠΆΠ΅ это отслСдим ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ состояния Π±ΠΈΡ‚Π°. Π–Π΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ послС ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π° систСма ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»Π°ΡΡŒ. Π’ΡƒΡ‚-Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π°ΠΌ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ WDT, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ установлСн Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π». ΠšΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΌΡ‹ располоТим Π² нашСм ΠΊΠΎΠ΄Π΅ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΡ‹ доТдёмся ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΎΡ‚ ΡˆΠΈΠ½Ρ‹. А Ссли ΠΌΡ‹ Ρ‚Π°ΠΊ Π΅Π³ΠΎ ΠΈ Π½Π΅ доТдёмся, Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ Π΄ΠΎΠΉΠ΄Ρ‘ΠΌ Π΄ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ WDT ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π·Π°Π²Π΅Ρ‚Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ систСма Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π°. ПослС этого ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚ Π·Π°Π½ΠΎΠ²ΠΎ инициализация ΡˆΠΈΠ½Ρ‹ ΠΈ всё Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ.

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ данная ситуация ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для случая, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ приходится Π½Π΅ слишком Π΄ΠΎΠ»Π³ΠΎ ΠΆΠ΄Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΎΡ‚ устройств, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρƒ нас сущСствуСт ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ процСсс, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ситуации сбоя. Π’Π°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, поэтому Watchdog Timer ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π³Π΄Π΅ примСняСтся.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠΌ Π² нашСм ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΅Π³ΠΎ рСгистрами, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π°ΠΌ Π΅Ρ‰Ρ‘ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мСроприятий. Для этого сущСствуСт отличная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° wdt.h, которая находится Π² стандартном ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ для AVR ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ. Но Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ устроСн стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ ATMega328, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΡ‹ ΠΈ Π±ΡƒΠ΄Π΅ΠΌ сСгодня ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΌΡ‹ всё ΠΆΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ.

Π’Π°ΠΉΠΌΠ΅Ρ€ питаСтся ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вмСстС с Π½ΠΈΠΌ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

А Π²ΠΎΡ‚ это Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° сброса ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΏΠΎ истСчСнии ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π³Π΄Π΅-Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°Π΄ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

WDT, ΠΊΠ°ΠΊ ΠΈ Π±Ρ‹Π»ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

Π’Π°ΠΊΠΆΠ΅ слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π½Π΅ бСсконСчСн.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π±Π»ΠΎΠΊ-схСму WDT

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

На рисункС ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ послС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π½Π° 128 ΠΊΠΈΠ»ΠΎΠ³Π΅Ρ€Ρ†, сигнал ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΡ€Π΅Π΄Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит 10 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ коэффициСнтом дСлСния. ΠŸΡ€Π΅Π΄Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ настраиваСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΡ‚ΠΎΠ² WDP3:WDP0 рСгистра WDTCSR. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ WDT Π»Π΅ΠΆΠΈΡ‚ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 15 милисСкунд Π΄ΠΎ 8 сСкунд.

Π’Π°ΠΊΠΆΠ΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΡ‚Π° WDIE ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ прСрывания ΠΎΡ‚ стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, отслСТивая состояниС Π±ΠΈΡ‚Π° WDIF. Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΡ‚Π° WDE.

Π’ΠΎΡ‚ ΠΎΠ½ – ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ рСгистр стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

Π₯ΠΎΡ‚ΡŒ ΠΌΡ‹ ΡƒΠΆΠ΅ ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Π±ΠΈΡ‚Π°Ρ… Π΄Π°Π½Π½ΠΎΠ³ΠΎ рСгистра Π²Ρ‹ΡˆΠ΅, Π½ΠΎ всё ΠΆΠ΅ Π΄Π°Π²Π°ΠΉΡ‚Π΅ всС ΠΈΡ… рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, ΠΈΡ… Π½Π΅ Ρ‚Π°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° всСго ΠΎΠ΄ΠΈΠ½ рСгистр

WDIF (Watchdog Interrupt Flag): Ρ„Π»Π°Π³ прСрывания. УстанавливаСтся Π² 1 Π² случаС истСчСния ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. БбрасываСтся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ.

WDIE (Watchdog Interrupt Enable): Π±ΠΈΡ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Ссли установлСн Π² 1, Ρ‚ΠΎ прСрывания Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹, Ссли Π² 0 – Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹.

БущСствуСт Ρ‚Π°Π±Π»ΠΈΡ†Π° зависимости ΠΎΡ‚ состояния Π±Π΅Ρ‚ΠΎΠ² WDE, WDIE, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΡŒΡŽΠ·Π° WDTON

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

Из Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΎΡ‡Π΅Π½ΡŒ интСрСсно Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с прСрываниями ΠΎΡ‚ стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, Π΅Π³ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ. Достаточно лишь Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΎΡ‚ Π½Π΅Π³ΠΎ прСрывания. Волько Ссли Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ, Ρ‚ΠΎ прСрывания Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±ΡƒΠ΄ΡƒΡ‚, Π½ΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΏΡ€ΠΈ этом Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ систСму.

WDP2:WDP0 (Watchdog Timer Prescaler): Π±ΠΈΡ‚Ρ‹, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ коэффициСнт дСлСния прСддСлитСля стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.

Π’ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Π±ΠΈΡ‚ΠΎΠ²

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Π½Ρ‹ сами ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π² Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

WDCE (Watchdog Change Enable): Π±ΠΈΡ‚ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΡ‹ собСрёмся внСсти измСнСния Π² ΠΏΡ€Π΅Π΄Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ с Ρ†Π΅Π»ΡŒΡŽ измСнСния коэффициСнта дСлСния Π»ΠΈΠ±ΠΎ для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΏΡƒΡ‚Ρ‘ΠΌ занСсСния Π² Π±ΠΈΡ‚ WDE значСния 0. БбрасываСтся Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ послС Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ‚Π°ΠΊΡ‚ΠΎΠ².

WDE (Watchdog System Reset Enable): Π±ΠΈΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, Π° Π²Π΅Ρ€Π½Π΅Π΅ Π±ΠΈΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ систСмы ΠΏΠΎ ΠΈΡΡ‚Π΅Ρ‡Π΅Π½ΠΈΡŽ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° WDT.

Ну Π²ΠΎΡ‚, я Π΄ΡƒΠΌΠ°ΡŽ ΠΈ всё насчёт Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΏΠΎ стороТСвому Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ. Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пропустил, Ρ‚ΠΎ исправим это Π² процСссС сочинСния ΠΊΠΎΠ΄Π°.

Код наш Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π£ нас, ΠΏΠΎΠΌΠΈΠΌΠΎ WDT, Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ TIM1, Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ совпадСнию, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΎΡ‚ Π½Π΅Π³ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ΅ врСмя ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ. Π’ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ 10 Π½ΠΎΠΆΠ΅ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ², Π° состояниС ΠΈΡ… Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎ свСтодиодам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΊ Π½ΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ. Π’Π΅Ρ€Π½Π΅Π΅, ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΡΠ²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄Π½ΡƒΡŽ ΠΏΠ»Π°Π½ΠΊΡƒ с 10-ю свСтодиодами, Π½Π΅ забывая ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΎ Ρ‚ΠΎΠΊΠΎΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… рСзисторах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я Π½Π° всякий случай ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ» Π½Π° 680 Ом, ΠΏΡ€ΠΈ этом свСтодиоды свСтятся Π²ΠΏΠΎΠ»Π½Π΅ ярко. Π’ Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΡ‹ запустим наш стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€ WDT ΠΈ Π·Π°Π΄Π°Π΄ΠΈΠΌ Π΅ΠΌΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ срабатывания. Π’ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° 1 ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ своСврСмСнно ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€, поэтому, Ссли всё Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ с Ρ…ΠΎΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ систСма Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π½Π΅ пСрСзагрузится.

А для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, пСрСзагрузится Π»ΠΈ наш WDT ΠΏΠΎ ΠΈΡΡ‚Π΅Ρ‡Π΅Π½ΠΈΡŽ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°, ΠΌΡ‹ сэмулируСм ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎ наш Ρ‚Π°ΠΉΠΌΠ΅Ρ€ пСрСстанСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Для этого ΠΌΡ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΊ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρƒ INT0 ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ ΠΎΡ‚ Π½Π΅Ρ‘ внСшнСС ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΠΌ прСрывания ΠΎΡ‚ нашСго Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Π‘Π²Π΅Ρ‚ΠΎΠ΄ΠΈΠΎΠ΄Ρ‹, соотвСтствСнно пСрСстанут Π±Π΅ΠΆΠ°Ρ‚ΡŒ, Ρ‚Π΅ΠΌ самым сигнализируя Π½Π°ΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ наш Ρ‚Π°ΠΉΠΌΠ΅Ρ€ 1 «ΡΠ»ΠΎΠΌΠ°Π»ΡΡ». ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π΅ пСрСзагрузится, Ρ‚Π΅ΠΌ самым ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ Π½Π°ΡˆΡƒ систСму ΠΈ вСсь процСсс Ρƒ нас начнётся Π·Π°Π½ΠΎΠ²ΠΎ.

Π’ качСствС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° для ΡƒΡ€ΠΎΠΊΠ° ΠΌΡ‹ Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ ATMega328P, располоТСнный Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Arduino Nano, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ USB-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·ΡŠΡ‘ΠΌ ISP. Вставим Π½Π°ΡˆΡƒ ΠΏΠ»Π°Ρ‚Ρƒ Π² ΠΌΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ, ΠΏΠΎΠ΄Π²Π΅Π΄Ρ‘ΠΌ ΠΊ Π½ΠΎΠΆΠΊΠ΅ PD2 (INT0) ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ Π½ΠΎΠΆΠ΅ΠΊ D3-D12 (Π½ΠΎΠΆΠΊΠΈ ΠΏΠΎΡ€Ρ‚ΠΎΠ² PD3:PD7, PB0:PB4) ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π°Π½ΠΎΠ΄Ρ‹ свСтодиодов ΠΏΠ»Π°Π½ΠΊΠΈ, Π° ΠΊΠ°Ρ‚ΠΎΠ΄Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΠΊΠΎΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ рСзисторы ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Ρƒ

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΡ‹ создадим Π² срСдС программирования MPLAB X, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ постоянно Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ PIC, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π²Π»Π°Π΄Π΅Π»Π΅Ρ† ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅, Ρ‚ΠΎ Π½Π΅Ρ‚ смысла ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько срСд для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ здСсь.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ ссылкС ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΌΡ‹ Π΅Π³ΠΎ всС Ρ€Π°Π²Π½ΠΎ сСйчас Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π°Π½ΠΎΠ²ΠΎ.

Запустим срСду программирования MPLAB X ΠΈ запустим созданиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ «Standalone Project» ΠΈ ΠΈΠ΄Ρ‘ΠΌ Π΄Π°Π»Π΅Π΅

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ наш ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΏΠ΅Ρ€Π΅Π΄ этим ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΏΠΎ сСмСйству для удобства Π²Ρ‹Π±ΠΎΡ€Π°, ΠΈ двиТСмся Π΄Π°Π»Π΅Π΅

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС Π² качСствС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€Π° Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Simulator ΠΈ ΠΈΠ΄Ρ‘ΠΌ Π΄Π°Π»Π΅Π΅

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ компилятор ΠΈ ΠΈΠ΄Ρ‘ΠΌ дальшС

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

Π”Π°Π΄ΠΈΠΌ имя Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΠΈ ΠΆΠΌΡ‘ΠΌ «Finish»

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

Π’ Π΄Π΅Ρ€Π΅Π²Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Π²Π΅Ρ‚ΠΊΠ΅ Source Files Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» main.c с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ контСкстного мСню Π½Π° Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

Π˜ΡΠΏΡ€Π°Π²ΠΈΠΌ имя Ρ„Π°ΠΉΠ»Π° ΠΈ Π½Π°ΠΆΠΌΡ‘ΠΌ «Finish»

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

Π€Π°ΠΉΠ» main.c создан, Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ ΠΌΡ‹ Π΅Π³ΠΎ исправим Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ.

А ΠΏΠΎΠΊΠ° создадим Π΅Ρ‰Ρ‘ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» main.h Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π±Ρ€Π°Π² Π² контСкстном мСню Π½Π° Π²Π΅Ρ‚ΠΊΠ΅ «Header Files» ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π±Ρ€Π°Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΠ½ΠΊΡ‚

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

Для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ функционирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π·Π°ΠΉΠ΄Ρ‘ΠΌ Π² свойства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Ρ‚Π°ΠΌ настройки компилятора, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ настройку ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

ΠžΡΡ‚Π°Π²ΠΈΠΌ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ 0 ΠΈ установим чСкбокс Π½Π° ΠΏΡƒΠ½ΠΊΡ‚Π΅ Debug

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Watchdog Timer

Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Watchdog timer Ρ‡Ρ‚ΠΎ это. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это. Π€ΠΎΡ‚ΠΎ Watchdog timer Ρ‡Ρ‚ΠΎ это

ДоступныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Enabled
Disabled(ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΠ»ΠΈ сСрвСр ΠΈΠΌΠ΅ΡŽΡ‚ встроСнный Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ – ΠΎΠ½ называСтся WatchDog Timer ΠΈΠ»ΠΈ WDT (Π² русской ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ – ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ матСринской ΠΏΠ»Π°Ρ‚Ρ‹). НСобходим ΠΎΠ½ ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ такая слоТная Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°, ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ свойство ΡΠ±ΠΎΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ· строя. ИмСнно поэтому Π² Π½Π΅Ρ‘ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ нСзависимыС ΠΎΠΏΡ†ΠΈΠΈ контроля ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ, Π² частности Ρ‚Π°ΠΉΠΌΠ΅Ρ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ врСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ систСмой Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΠΎΠ΄Π½ΠΎ дСйствиС(шаг).

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ доступСн прямо Π² BIOS-Π΅. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ матСринских ΠΏΠ»Π°Ρ‚ ΡΡ‚Ρ€Π°Π΄Π°ΡŽΡ‚ Π½Π΅Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ΠΌ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΈ ΠΎΡΠ½Π°Ρ‰Π°ΡŽΡ‚ свои ΠΏΠ»Π°Ρ‚Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыми бСзопасными ΠΈ Β«ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈΒ» функциями. Если Π²Π°ΠΌ Ρ‚Π°ΠΊ Π½Π΅ ΠΏΠΎΠ²Π΅Π·Π»ΠΎ – ΡƒΠ²Ρ‹, доступ ΠΊ настройкам WDT Π²Π°ΠΌ Π·Π°ΠΊΡ€Ρ‹Ρ‚. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ.

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€

WDT запускаСтся вмСстС со стартом систСмы ΠΈ Ρ‚ΡƒΡ‚ ΠΆΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ отслСТиваниС Π΅Ρ‘ дСйствий. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ»Π°Ρ‚ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг WDT Π² Π½ΠΈΡ… являСтся холостым, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΠΎ-настоящСму Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π°Ρ‡Π½Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ 0,6 сСкунды. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ WDT– 4h, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ 4 шага. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ успСваСт Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π·Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ шага (1,8 – 2,4 сСкунды) систСма ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ останавливаСт Π΅Ρ‘ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Ну ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Ссли эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° систСмная. ΠŸΡ€ΠΈ этом Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ BSoD (Blue Screenof Death) с описаниСм ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΉ ошибки, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ DPC_WATCHDOG_VIOLATION.

МаксимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ WDT– 3Fh, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 62 шага ΠΈΠ»ΠΈ 37,5 сСкунд, Π½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π΅ стоит: Π² случаС ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ сбоя Π²Ρ‹ потСряСтС доступ ΠΊ ПК Π½Π΅ Π½Π° ΠΆΠ°Π»ΠΊΠΈΠ΅ Π΄Π²Π΅ сСкунды, Π° ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° ΠΏΠΎΠ»ΠΌΠΈΠ½ΡƒΡ‚Ρ‹. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ любой соврСмСнный ПК способСн Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ мСньшС Ρ‡Π΅ΠΌ Π·Π° сСкунду, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, Π΄Π°ΠΆΠ΅ двухсСкундная Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΡƒΠΆΠ΅ сбой.

Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ эту ΠΎΠΏΡ†ΠΈΡŽ?

Π”Π°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ. WDT ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ Π·Π°Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ систСмами, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ошибки, ΠΌΠ΅ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ вашСго ПК. Но Π²ΠΎΡ‚ Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с ΠΎΡ‡Π΅Π½ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (ΠΈΠ»ΠΈ ΠΆΠ΅ нСвСроятно слоТными ΠΈ/ΠΈΠ»ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ написанными ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ), Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ WDT Π² BIOS стоит ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ побольшС ΠΈΠ»ΠΈ ΠΆΠ΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, Ссли Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. Волько ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π² этом случаС ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‡Π°Ρ‰Π΅ Π·Π°Π²ΠΈΡΠ°Ρ‚ΡŒ ΠΈ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ процСссорноС врСмя Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Ρ… запросов.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

5.4 Π‘Ρ‚ΠΎΡ€ΠΎΠΆΠ΅Π²ΠΎΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€

Данная ΡΡ‚Π°Ρ‚ΡŒΡ являСтся наброском ΠΊ Π³Π»Π°Π²Π΅ «5.4 Π‘Ρ‚ΠΎΡ€ΠΎΠΆΠ΅Π²ΠΎΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€» ΠΊΠ½ΠΈΠ³ΠΈ «ΠžΡ‚казоустойчивоС ПО для МК».

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅

Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° пСрСстаСт ΠΏΠΎΡΡ‹Π»Π°Ρ‚ΡŒ сигналы стороТСвому Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ, Ρ‚.Π΅. сигналы обнулСния WDT ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, достаточного для пСрСполнСния счСтчика, Ρ‚ΠΎ это ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° зависла, ΠΈ ситуация воспринимаСтся ΠΊΠ°ΠΊ аварийная. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ отсутствия сигналов ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ схСма WDT Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ сигнал сброса ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² WDT Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Ρ‰Π΅ нСмаскируСмоС ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅).

Π’Π°ΠΊΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ WDT ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΎΠΊΠΎΠ½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, ΠΊΠΎΠ³Π΄Π° сигнал ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ WDT Π½Π΅ допускаСтся Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’.Π΅. ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ слишком Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ слишком ΠΏΠΎΠ·Π΄Π½ΠΎ. Вакая функция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для Π±ΠΎΠ»Π΅Π΅ быстрого рСагирования Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ сбоя. НапримСр, Ссли функция обнулСния WDT вызываСтся Ρ€Π°Π½ΡŒΡˆΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎ это Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ быстрСС, Ρ‡Π΅ΠΌ оТидалось, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ сбоя. Из Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС, Π½Π΅ доТидаясь пСрСполнСния WDT (Ρ‚.Π΅. Π½Π΅ давая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΅Ρ‰Π΅ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π²ΠΎ Π²Π½Π΅ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅). ΠžΠΊΠΎΠ½Π½Ρ‹Π΅ WDT ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ‚ возмоТности ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя выполнСния участков ΠΊΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.

Π’ΠΈΠΏΡ‹ WDT

Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ WDT

ВстроСнный Π² МК стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€ являСтся самым Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ ΠΈΠ· пСрСчислСнных ΠΈ Π½Π° Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² малоотвСтствСнных систСмах. Π•ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹:

Π‘Ρ‚ΠΎΠΈΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ WDT ΠΎΡ‚ систСмного Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ нСэффСктивным ΠΏΡ€ΠΈ срывС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ случайном Π²Ρ…ΠΎΠ΄Π΅ Π² Sleep-Ρ€Π΅ΠΆΠΈΠΌ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ WDT ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² малоотвСтствСнных систСмах ΠΈΠ»ΠΈ, Π½Π° Ρ…ΡƒΠ΄ΠΎΠΉ ΠΊΠΎΠ½Π΅Ρ†, Ρ‚Π°ΠΌ, Π³Π΄Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Π° ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΈ лишний элСмСнт Π² Π²ΠΈΠ΄Π΅ внСшнСго WDT Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€ΠΎΡΠΊΠΎΡˆΡŒΡŽ, ΠΈΠ»ΠΈ Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ ограничСния ΠΏΠΎ Π³Π°Π±Π°Ρ€ΠΈΡ‚Π°ΠΌ ΠΈΠ»ΠΈ массС ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ устройства. Однако Π½Π΅ слСдуСт Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎ достоинствах Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°:

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ WDT Π² Π²ΠΈΠ΄Π΅ спСциализированной микросхСмы

Π’ зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π²ΠΎΠ·Π»ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° WDT, ΠΏΠΎΠΌΠΈΠΌΠΎ Π΅Π³ΠΎ основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Ρ‚Ρƒ ΠΈΠ»ΠΈ ΠΈΠ½ΡƒΡŽ микросхСму. Для управлСния WDT Π² составС Ρ‚Π°ΠΊΠΎΠΉ микросхСмы Π½Π°ΠΌ понадобится ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, настроСнный Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄, для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ сигналов обнулСния WDT (Π² случаС контроля Π²Ρ‹Ρ…ΠΎΠ΄Π° WDO потрСбуСтся Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Ρ‹Π²ΠΎΠ΄ МК, настроСнный Π½Π° Π²Ρ…ΠΎΠ΄).

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ микросхСмы супСрвизора слСдуСт ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ микросхСм-супСрвизоров, Π² составС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… имССтся WDT (это ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ список, Π½Π° самом Π΄Π΅Π»Π΅ Ρ‚Π°ΠΊΠΈΡ… микросхСм Π²Π΅Π»ΠΈΠΊΠΎΠ΅ мноТСство):

TODO: Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈ Ρ€Π°Π·ΡŠΡΡΠ½ΠΈΡ‚ΡŒ

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ WDT Π² Π²ΠΈΠ΄Π΅ устройства

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ устройство разрабатываСтся ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ особСнностСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ устройства, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π² Π½Π΅ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘Π΅Ρ€Π΄Ρ†Π΅ΠΌ Ρ‚Π°ΠΊΠΎΠ³ΠΎ устройства ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ малСнький, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 8-разрядный ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (Ρ‡Π°Ρ‰Π΅ OTP, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, PIC12CE518), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΏΠΎΠΌΠΈΠΌΠΎ стандартного Π½Π°Π±ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ WDT, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ряд Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй. Π’.Π΅. прСимущСства Ρ‚Π°ΠΊΠΈΡ… WDT Π² Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅ ΠΈ гибкости настройки.

НСдостатками Ρ‚Π°ΠΊΠΈΡ… WDT ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³Π°Π±Π°Ρ€ΠΈΡ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π² малСньком МК Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ всСм трСбованиям бСзопасности (начиная с самодиагностики ΠΈ заканчивая ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ собствСнного Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ WDT), Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΉ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сам ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² качСствС WDT, Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½ всСм Π²ΠΈΠ΄Π°ΠΌ сбоСв, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠΌΠ΅Ρ…Π°ΠΌΠΈ. Но это компСнсируСтся, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΏΠΎ Π±ΠΎΠ»Π΅Π΅ Π³Ρ€ΡƒΠ±ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Ρ‡Π΅ΠΌ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠ΅Ρ…Π°ΠΌ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС; Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ «ΠΊΡ€ΡƒΠ³ΠΎΠ²ΡƒΡŽ ΠΏΠΎΡ€ΡƒΠΊΡƒ», ΠΊΠΎΠ³Π΄Π° малСнький МК слСдит Π·Π° большим, Π° большой слСдит Π·Π° малСньким, Ρ‡Ρ‚ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ самовосстановлСния работоспособности систСмы послС сбоя.

Но построСниС схСм-ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠ² (Π½Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽ ΠΈΡ… WDT, Ρ‚.ΠΊ. Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡˆΠΈΡ€Π΅ простого счСтчика) Π΄Π°Π΅Ρ‚ массу Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ:

К WDT этого Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ отнСсти ΠΎΠ΄Π½ΠΎΠ²ΠΈΠ±Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, собранныС Π½Π° дискрСтных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… (ΠΈΠ½ΠΎΠ³Π΄Π° с использованиСм ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²). Π’Π°ΠΊΠΈΠ΅ WDT Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ всСго ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ ΠΏΠΎΠΌΠ΅Ρ…Π°ΠΌ, Π½ΠΎ ΠΎΠ½ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ мСста Π½Π° ΠΏΠ»Π°Ρ‚Π΅, Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ экономичны Π² энСргопотрСблСнии ΠΈ Π±ΠΎΠ»Π΅Π΅ слоТны Π² настройкС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅.

ΠŸΡ€Π΅Π΄ΠΏΠΎΡΡ‹Π»ΠΊΠΈ ΠΊ использованию

Как описано Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π΅, всС ошибки ΠΈ сбои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ Π²ΠΎ врСмя Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎ возмоТности ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ…ΠΎΠ΄Π΅ Π΅Π΅ выполнСния срСдствами самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Π΅Π΅ повСдСния слСдуСт Π΄Π΅Π»Π°Ρ‚ΡŒ Π°Π½Π°Π»ΠΈΠ· состояния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с Ρ†Π΅Π»ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ сбоя ΠΈ, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ работоспособности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. WDT являСтся послСдним Ρ€ΡƒΠ±Π΅ΠΆΠΎΠΌ ΠΏΡ€ΠΈ обСспСчСнии отказоустойчивости ПО, ΠΎΠ½ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ сигнал сброса Π² Ρ‚ΠΎΠΌ случаС, Ссли срСдствами ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ сбой Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ, ΠΈΠ»ΠΈ Ссли ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΏΠ°Π»Π° Π² нСпрСдусмотрСнноС Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ повСдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ²:

(Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ… ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ² ПО см. «2. ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΈ послСдствия сбоСв»)

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ Π½Π΅ зависят Π½ΠΈ ΠΎΡ‚ программистов, Π½ΠΈ ΠΎΡ‚ схСмотСхников, Π½ΠΈ ΠΎΡ‚ ОВК.

Π’Π°ΠΆΠ½ΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: сбой всСгда ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ срСдствами самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (это достигаСтся Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сигнатур, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ рассчСтов ΠΈ ΠΏΡ€.), Ρ‚.ΠΊ. Π² этом случаС Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ бСзопасного восстановлСния работоспособности, Π΄Π°ΠΆΠ΅ Ссли придСтся для этого произвСсти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ сброс ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСвСсти всС внСшнСС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π² бСзопасный ΠΈΠ»ΠΈ Π½Π΅ΠΉΡ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ.

Но, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, срСдствами ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ всСго ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ нСльзя. И ограничСния здСсь Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² памяти, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ для тСстов, ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ тСсты ΠΎΡ‚Π½ΠΈΠΌΡƒΡ‚, Π½ΠΎ ΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сами тСсты, являясь Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ. А ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΈ эти ΠΏΡ€ΠΎΠ²Π΅Ρ€Ρ‰ΠΈΠΊΠΈ ΠΈ Ρ‚.Π΄. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ run-time тСсты всСгда Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Π΅. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½Ρ‹Π΅ сбои, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ счСтчик ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Ρ‹Π³Π½ΡƒΡ‚ΡŒ Π² Ρ‚Π°ΠΊΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ состоянии ячССк RAM-памяти ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… настройках ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°Π΄ΠΎΠ»Π³ΠΎ. НапримСр, сбоСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ счСтчика, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠΏΠ°Π»Π° Π² ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π±Π°ΠΉΡ‚Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса SPI:

На ΠΌΠΎΠΌΠ΅Π½Ρ‚ сбоя Π² ячСйкС памяти, Π³Π΄Π΅ располагаСтся пСрСмСнная i, ΠΌΠΎΠ³Π»ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Π½Π° 8 ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π² Ρ†ΠΈΠΊΠ» Π½Π° 50000 ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ². Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΎΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… сбоСв ΠΌΠΎΠΆΠ΅Ρ‚ спасти Ρ‚ΠΎΠ»ΡŒΠΊΠΎ WDT. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π΅ (5.3 run-time ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ) Π±Ρ‹Π»ΠΎ сказано ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ стСка ΠΈ сигнатурах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ тСсты, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, нСцСлСсообразно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π²ΠΎ всСх функциях Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΏΡ€ΠΈ большом Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ числа Π² ячСйках памяти, занятых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ i, WDT ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΏΠ΅Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠΉΠ΄Π΅Ρ‚ Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

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

Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° качСствСнноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ этапа Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°: Π½Π°Π΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ трудятся нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎ-своСму ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, описанныС Π² Π’Π—, ΠΈΠ»ΠΈ ΠΏΠΎ-своСму Π΄ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Π’Π— Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ явно; ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠ»ΠΈ Π΅Π΅ Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ€ΡƒΡ‡Π΅Π½Π° программисту, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΌΡƒ достаточной ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ достаточного ΠΎΠΏΡ‹Ρ‚Π° для качСствСнной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. НС слСдуСт Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΎ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ большоС количСство состояний, Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… процСссов, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ протСстированы Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Ρ‚.ΠΊ. врСмя тСстирования ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π²Ρ‹ΡΠΈΡ‚ΡŒ экономичСски цСлСсообразныС сроки выпуска устройства; поэтому ΠΊ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌΡƒ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ, Π³Ρ€ΡƒΠ±ΠΎ говоря, Π½Π΅Π΄ΠΎΠΎΡ‚Π»Π°ΠΆΠ΅Π½Π½ΠΎΠΉ. Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ±ΠΎΠΈΡ‚ΡŒ ΠΈ Π²ΠΈΡΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡˆΠ°Π³Ρƒ, просто ΠΏΡ€ΠΈ совокупности Π²Π½Π΅ΡˆΡ‚Π°Ρ‚Π½Ρ‹Ρ… ситуаций ΠΈ стСчСнии ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π², ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ½ΡƒΡ‚ΡŒ.

Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, нСльзя ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ошибки, Ρ‚.Π΅. ошибки компиляторов, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ‚ΠΎΡ€ΠΎΠ², Π½Π°ΠΊΠΎΠ½Π΅Ρ†, самих ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ². Они ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ лишь ΠΌΠ°Π»ΡƒΡŽ Ρ‚ΠΎΠ»ΠΈΠΊΡƒ ΠΎΡ‚ ошибок, допускаСмых самими Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Π½ΠΎ, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΈΠΌΠ΅ΡŽΡ‚ мСсто Π±Ρ‹Ρ‚ΡŒ.

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

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ обнулСния WDT

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡΡ Π²Ρ‹Π·ΠΎΠ²Ρ‹ псСвдо-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ wdt_clear() ΠΈ soft_reset().

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ порядок обнулСния WDT

Π£ΠΌΠ΅Π½ΠΈΠ΅ программиста ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ, способных Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ наибольшСС число ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, акцСнтируя Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° отвСтствСнных участках, Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ опрСдСляСт насколько WDT окаТСтся ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π² ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ сбоя для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ часто ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ счСтчик WDT бСзусловно обнуляСтся Π² Π³Π»Π°Π²Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π°Π· Π² миллисСкунду, ΠΈΠ»ΠΈ нСсколько Ρ€Π°Π· Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ с ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ Π² 5-10 инструкций (ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²). Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, программист Π΄Π΅Π»Π°Π΅Ρ‚ всС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ стороТСвой Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π΅ успСл ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ Π½ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΈΡ… условиях. Π”ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄Π°ΠΆΠ΅ Π΄ΠΎ ΠΊΠΎΠΌΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:

Π”ΡƒΠΌΠ°ΡŽ, Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΠΎΡΡΠ½ΡΡ‚ΡŒ, Ρ‡Π΅ΠΌ этот ΠΊΠΎΠ΄ ΠΏΠ»ΠΎΡ…. Достаточно ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ USART, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ повиснСм Π½Π° всС врСмя ΠΆΠΈΠ·Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ„Π»Π°Π³ΠΎΠ²

Часто ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΡŽ (Π² Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅, Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΡΡ‚Π°Ρ‚ΡŒΡΡ…, Π½Π° тСхничСских Ρ„ΠΎΡ€ΡƒΠΌΠ°Ρ…): основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ послС своСго выполнСния ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π»Π°ΠΆΠΎΠΊ, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ функция Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π°; Π² Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» Π² main() ΠΈΠ»ΠΈ Π² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ добавляСтся ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСт, Ρ‡Ρ‚ΠΎ всС Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС этого обнуляСт WDT.

Для этого Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ заводится пСрСмСнная, содСрТащая ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π±ΠΈΡ‚Ρƒ Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

Π’ Π³Π»Π°Π²Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ main() (ΠΈΠ»ΠΈ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ пСриодичСского пСррывания) вставляСтся ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ„Π»Π°Π³ΠΎΠ²:

КаТдая критичСская функция сбрасываСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΅ΠΉ Π±ΠΈΡ‚, Ссли ΠΎΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ρ„Π»Π°Π³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚Π΅Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠ· основного Ρ†ΠΈΠΊΠ»Π° main(), Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈ для Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π΄Π°ΠΆΠ΅ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. ΠšΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ отвСтствСнныС участки ΠΊΠΎΠ΄Π° Π±Ρ‹Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹.

Для простых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ, Ρ‚.ΠΊ. ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ прСимущСства:

Однако ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈ свои нСдостатки:

ΠžΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Π’Π°ΠΊΠΆΠ΅ часто встрСчаСтся рСкомСндация Π² Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° послС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΈ, Ссли ΠΎΠ½ΠΎ соотвСтствуСт ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ WDT:

ΠœΠ΅Ρ‚ΠΎΠ΄ являСтся ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π²ΠΈΠ΄ΠΎΠ² run-time ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ. Если ΠΌΡ‹ случайно пропускаСм Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ·-Π·Π° сбоя PC), Ρ‚ΠΎ run-time ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сигнатуры Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ soft_reset(). Π’Π½Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ с run-time ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌΠΈ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ малоэффСктивСн, Π½ΠΎ Π΄Π°ΠΆΠ΅ опасСн, Ρ‚.ΠΊ. Ссли ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π²ΠΎ всСх условиях Π²Π΅Ρ‚ΠΊΡƒ else, Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ послС обнаруТСния сбоя (Ρ‚.Π΅. сбой Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π», Π½ΠΎ ΡƒΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½) ΠΌΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ нСсколько Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΡƒΠΆΠ΅ Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π²ΠΎ Π²Π½Π΅ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.

Π’.Π΅. Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊ run-time ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°ΠΌ. На ΠΌΠΎΠΉ взгляд, ΠΎΠ½ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ эффСктивСн, Ρ‚.ΠΊ.:

Однако ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° прСимущСства:

ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ состояния

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

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ…ΠΎΡ€ΠΎΡˆ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‚.Π΅. позволяСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ†Π΅Π»ΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π΄ΠΈΠΊΡ‚ΠΎΡ„ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ Ρ€Π΅ΠΆΠΈΠΌΡ‹ записи ΠΈ воспроизвСдСния; автосигнализация Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ сСрийныС Π½ΠΎΠΌΠ΅Ρ€Π° Π±Ρ€Π΅Π»ΠΎΠΊΠΎΠ², Ссли ΠΎΠ½Π° Π½Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ программирования ΠΈ Ρ‚.ΠΏ.). Π’ зависимости ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ выпоняСмых Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ дСйствий, порядок ΠΈ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, элСктричСская ΠΏΠ»ΠΈΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² 3Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…: Ρ€Π΅ΠΆΠΈΠΌ сна, Ρ€Π΅ΠΆΠΈΠΌ Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΈ Ρ€Π΅ΠΆΠΈΠΌ настройки. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скопом, поэтому для контроля ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° создаСтся своя Π²Π΅Ρ‚Π²ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π² зависимости ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ°.

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ лишСн основных нСдостатков Π΄Π²ΡƒΡ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² обнулСния (с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ Ρ„Π»Π°Π³ΠΎΠ² ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ), Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

Но Π³Π»Π°Π²Π½ΠΎΠ΅ прСимущСство этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ внСшниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, учитывая, Ρ‡Ρ‚ΠΎ Π² Π½ΠΈΡ… Π½Π΅Ρ‚ Ρ‡Π΅Ρ‚ΠΊΠΎΠ³ΠΎ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ RTOS, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… процСссов ΠΆΠΈΠ²Π΅Ρ‚ своСй Тизнью (см. Π½ΠΈΠΆΠ΅).

Однако, ΠΏΡ€ΠΈ своСй ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ лишСн нСдостатков:

ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄

Иногда Π±Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π²Ρ‹Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚ понадобится Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (скаТСм, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ состояний), для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ сам Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ состояний прСвратится Π² слоТный вСтвящийся комплСкс ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠΉ ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ². Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ цСлСсообразным Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ прСрывания, Π° Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π½Π΅Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ обнулСния с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅, Ρ‚.Π΅. Π² критичСских ΡƒΠ·Π»Π°Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°ΡΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Ρ‹ wdt_clear() (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния). Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠ»ΠΎΠΆΠ½ΠΈΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½ сброса, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° контроля выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° обнулСния WDT ΠΏΠ΅Ρ€Π΅Π΄ прораммистом встаСт вопрос Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ½Ρ‚Ρ€Π΅Π²Π°Π»Π° WDT. Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ², проСдоставляСмый стороТСвыми Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ WDT, довольно ΡˆΠΈΡ€ΠΎΠΊ: ΠΎΡ‚ Π΅Π΄ΠΈΠ½ΠΈΡ† миллисСкунд Π΄ΠΎ Π΅Π΄ΠΈΠ½ΠΈΡ† сСкунд (для Π²Π½Π΅ΡˆΠ½ΠΈΡ…) ΠΈΠ»ΠΈ Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… суток (для Π²Ρ‚ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ…). Π˜Π½Ρ‚Ρ€Π΅Π²Π°Π» слСдуСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ исходя ΠΈΠ· Π²ΠΎΠ·Π»Π°Π³Π°Π΅ΠΌΡ‹Ρ… Π½Π° WDT Π·Π°Π΄Π°Ρ‡. НапримСр, Ссли ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ WDT Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Ρ‹Π²ΠΎΠ΄Π° МК ΠΈΠ· зависания, Ρ‚ΠΎ Ρ€Π΅Π΄ΠΊΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π΄Π»ΠΈΠ½Π½Π΅Π΅ сСкунды-Π΄Π²ΡƒΡ…. Если ΠΆΠ΅ WDT Π±ΡƒΠ΄Π΅Ρ‚ использован для пСриодичСской Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ энСргопотрСблСния, Ρ‚ΠΎ Ρ‚ΡƒΡ‚, Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ умСстны ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π² нСсколько часов ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ суток. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях цСлСсообразно ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ отвСтствСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½Π΅Π΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ энСргопотрСблСния.

Максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ

Π§Π΅ΠΌ быстрСС ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ сброс ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° послС возникновСния сбоя, Ρ‚Π΅ΠΌ Π»ΡƒΡ‡ΡˆΠ΅. Π­Ρ‚ΠΎ ΠΈ понятно, Ρ€Π°Π· ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» сбой ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ Π²Π½Π΅ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΌΡƒ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ, Ρ‚.Π΅. пСрСстала ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ спСцификации, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ это ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС. НапримСр, для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ настила ступСнСй двиТущСгося эскалатора, Π½Π΅ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² зависшСм состоянии Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, соизмСримого со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π° ΠΎΠ΄Π½ΠΎΠΉ ступСни Π½Π°Π΄ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ.

ВрСмя выполнСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ

Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° являСтся ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ процСссы Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΆΠΈΠ²ΡƒΡ‚ большСй Ρ‡Π°ΡΡ‚ΡŒΡŽ собствСнной Тизнью, Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ состояния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТным ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ довольно Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя (Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ дСсятков ΠΈ сотСн микросСкунд). Бтановится ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π΄Π΅Π»Π°Ρ‚ΡŒ эти ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ часто, Ρ‚ΠΎ снизится ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. И Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ 1% ΠΈΠ»ΠΈ 10% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Π° Π΅Ρ‰Π΅ ΠΈ ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° состояния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ врСмя Π΅Π΅ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ событиС (особСнно, Ссли ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° находится Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ прСрывания высокого уровня).

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ участки ΠΊΠΎΠ΄Π°

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ участки ΠΊΠΎΠ΄Π°, ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ Ρ‚Π°ΠΊΡ‚Π°, Π³Π΄Π΅ инструкции для обнулСния счСтчика стороТСваого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ просто Π½Π΅ΠΊΡƒΠ΄Π° Π²Ρ‚ΠΈΡΠ½ΡƒΡ‚ΡŒ. Π‘Π°ΠΌΠΈ инструкции обнулСния Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, удастся, Π½ΠΎ Π½Π° ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ состояния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΆΠ΅ Π½Π΅ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ мСста, Π° Π±Π΅Π· этого ΠΊΠΎΠ΄Π° WDT ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΠ»ΠΎΡ…ΡƒΡŽ слуТбу (ΠΌΡ‹ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ зависании Π² Ρ†ΠΈΠΊΠ»Π΅ с бСзусловным ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ΠΌ WDT). Π’Π°ΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ внСшнСго синала, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ Ρ‚ΠΎΡ‡Π½ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ частично Ρ€Π΅ΡˆΠ΅Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ DMA-модуля, Ссли ΠΎΠ½ Π΅ΡΡ‚ΡŒ. Но Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π½Π°Π΄ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° обнулСния WDT.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΈ срывС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ основного. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠ΅Π΅Ρ‚ частоту Π½Π° Π΄Π²Π°-Ρ‚Ρ€ΠΈ порядка Π½ΠΈΠΆΠ΅ частоты основного Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° (часто 32768 Π“Ρ†). ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ гСнСрируСтся нСмаскируСмоС ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π½Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρƒ устройства Π² Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ сброса. Но слСдуСт ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² сотни ΠΈΠ»ΠΈ тысячи Ρ€Π°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‚ основного Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, Π° Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΈ этом останСтся Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. И ΠΏΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π½Π΅ΡƒΡ‡Π΅Ρ‚Π΅ особСнностСй выполнСния ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‚ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ситуация, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ счСтчик WDT успССт ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ всС дСйствия ΠΏΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ ΠΊ сбросу. Π’.Π΅. Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ нСмаскируСмого прСрывания, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈ срывС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ основного Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°, слСдуСт ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ WDT ΠΏΠΎ особым ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. РазумССтся, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡƒΠΆΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла, Π½ΠΎ ΠΊΠΎΠ΅-ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ΠΌ WDT Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ, скорСС всСго, придСтся. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ обнулСния с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Π Π°Π±ΠΎΡ‚Π° с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹ΠΌΠΈ функциями

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ стоит вопрос порядка обнулСния стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ сторонних ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Π‘Π°ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ производят ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ WDT, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС нСизвСстно, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΡ€ΠΎΡΡ‚Π°Ρ строка:

ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ тысячи Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ±Ρ€Π°ΠΌΠ»Π΅Π½ΠΈΠ΅ Π΅Π΅ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ wdt_clear():

Π½Π΅ всСгда ΠΌΠΎΠΆΠ΅Ρ‚ спасти ΠΎΡ‚ пСрСполнСния WDT. Π’Ρ‹Ρ…ΠΎΠ΄Π° здСсь Π΄Π²Π°:

ΠžΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ состояния Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт Π½Π°ΠΌ ΡƒΡ‡Π΅ΡΡ‚ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя выполнСния Π±Ρ‹Π±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ увСличивая ΠΏΡ€ΠΈ этом ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» самого стороТСвого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Для этого Π½ΡƒΠΆΠ½ΠΎ всСго лишь завСсти Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠ΅ врСмя Π΅Π΅ выполнСния с ΠΊΠ°ΠΊΠΈΠΌ ΡƒΠ³ΠΎΠ΄Π½ΠΎ запасом. А Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ прСрывания ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ состояния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, врСмя выполнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹Π²Π°Π΅Ρ‚ сомнСния, пСрСмСнная g_WDT_Library.nCounter устанавливаСтся Π² соотвСтствии с ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ выполнСния (это ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚.ΠΊ. ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ дСйствия для обСспСчСния Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΠ³ΠΎ доступа ΠΊ счСтчику):

Π Π°Π±ΠΎΡ‚Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ RTOS

Π’Π²ΠΈΠ΄Ρƒ этих слоТностСй ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ построСниСм простых ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… тСстов с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ состояний для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΈΡ… всСх. Π’.Π΅. своСго Ρ€ΠΎΠ΄Π° надстройка Π½Π°Π΄ этими тСстами Π² Π²ΠΈΠ΄Π΅ обнулСния с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Ρ„Π»Π°Π³ΠΎΠ². ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Π² случаС с RTOS эти ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ высокого ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° (Π²Ρ‹ΡˆΠ΅ систСмного). ВсС Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ run-time тСстов. Π­Ρ‚ΠΎ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π·Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ условий обнулСния WDT, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано, Ρ‡Ρ‚ΠΎ сбой всСгда ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ, Π² ΠΊΡ€Π°ΠΉΠ½Π΅ΠΌ случаС, произвСсти сброс бСзопасно, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ пСрСвСдя всС внСшнСС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π² бСзопасный Ρ€Π΅ΠΆΠΈΠΌ. А стороТСвому Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ сброса Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² самых критичСских ситуациях.

Но, Π΄Π°ΠΆΠ΅ рСализуя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎΠΉ схСмС, Π½Π΅ стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… особСнностях, прСвносимых RTOS:

ВСстированиС WDT ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ питания

Π’ особо отвСтствСнных систСмах WDT ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΠ·Π΅Π» ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ протСстирован (ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Π½Π΅Π³ΠΎ нСльзя). Π’Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ СвропСйский стандарт IEC 60730 (Annex H 11.12.7 ΠΏ. 8) ΠΈΠ»ΠΈ амСриканский стандарт UL1998 (A2.1 ΠΏ.8). Π’ зависимости ΠΎΡ‚ условий Ρ€Π°Π±ΠΎΡ‚Ρ‹ тСстированиС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ‹ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ питания ΠΈΠ»ΠΈ с ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ, Π½ΠΎ Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ ΠΏΡ€ΠΈ этом Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Ρ‚.Π΅. Π² случаС пСриодичСского тСстирования ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ тСста всС внСшнСС ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½ΠΎ Π² бСзопасный Ρ€Π΅ΠΆΠΈΠΌ, сохранСны Π² ΡΠ½Π΅Ρ€Π³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ послС ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π‘ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ тСстированиС WDT описано Π² «5.2 Бамодиагностика», здСсь ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ:

ПовСдСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ сбросС ΠΎΡ‚ WDT

Основной ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ сбросС, это «5.5 Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ сбоя». Π—Π΄Π΅ΡΡŒ ΠΎΠΏΠΈΡˆΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ основныС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠ΅ΡΡ сброса ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ WDT.

ВсС дСйствия дСлятся Π½Π° Π΄Π²Π° этапа:

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ сброса, Π²Ρ‹Π·Π²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ WDT, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ срСдствами довольно Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π”Π°ΠΆΠ΅ Ссли ΠΌΡ‹ ΠΏΡ€ΠΎΠ°Π½Π°ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² памяти (Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² сСгмСнтах RAM, Π½Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΡŽ; для этого Π² Ρ€Π°Π·Π½Ρ‹Ρ… компиляторах Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹), Ρ‚ΠΎ Π² Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдствия сбоя, Ρ‚.Π΅. нСсоотвСтствиС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ этих ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹ΠΌ, Π° саму ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ Ρ‚Π°ΠΊΠΈΠΌ способом Π½Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, всС эти ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ достовСрныС значСния, Ρ‚.ΠΊ. сбой ΠΌΠΎΠ³ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΈΠ·-Π·Π° срыва Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΠ»ΠΈ ΠΈΠ·-Π·Π° измСнСния значСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ счСтчика, ΠΈΠ»ΠΈ ΠΈΠ·-Π·Π° измСнСния Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² самого WDT (ΠΎΠ± этом Π½ΠΈΠΆΠ΅).

Но ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ сбоя ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Для этого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ стартС ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π² ΡΠ½Π΅Ρ€Π³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎ внСшним ΠΊΠ°Π½Π°Π»Π°ΠΌ связи Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, рСгистров, Π° Ρ‚Π°ΠΊΠΆΠ΅ участка стСка. ВсС эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π² дальнСйшСм ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½Π°ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² ΠΊΠ°ΠΊΠΎΠΌ мСстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ Π΅Π΅ состоянии ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π» сбой. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΠΎ возмоТности ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ сбоС Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ всС эти Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Π½Ρ‹Π΅ участки энСргонСзависимой памяти. Π­Ρ‚ΠΎ Π½Π°Π±Π΅Ρ€Π΅Ρ‚ статистикку сбоСв ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ наши ΡˆΠ°Π½ΡΡ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ, Ρ‡Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π±Ρ‹Π»Π° Π² нСдостаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚.Π΅. Ссли сбой Π±Ρ‹Π» Π²Ρ‹Π·Π²Π°Π½ самой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π° Π½Π΅ внСшними ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ. Но Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ нСвозмоТности ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π°Π·Π½Ρ‹Π΅ участки энСргонСзависимой памяти (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли Π½Π΅ позволяСт Π΅Π΅ свободный объСм), Ρ‚ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ счСтчик сбоСв. ΠŸΡ€ΠΈ обслуТивании устройства ΠΏΠΎ этому счСтчику ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΎ Ρ‚ΠΎΠΌ, Π±Ρ‹Π» Π»ΠΈ это случайный сбой, ΠΈΠ»ΠΈ ΠΆΠ΅ систСматичСский, Ρ‡Ρ‚ΠΎ являСтся сигналом ΠΊ срочной ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ устройства.

КакиС Π΄Π°Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ:

Π§Π΅ΠΌ большС Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΡ‹ сохраним, Ρ‚Π΅ΠΌ большС возмоТностСй ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ сбоя ΠΈ, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *