Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ВстраиваСмыС систСмы. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… сСмСйства 68HC12/HCS12 с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ языка Π‘Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 145

Автор Π‘Ρ‚ΠΈΠ²Π΅Π½ Π‘Π°Ρ€Ρ€Π΅Ρ‚Ρ‚

β€’ IDHIT2 = 0, IDHIT1 = 0 ΠΈ IDHIT0 = 0: совпадСниС с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ 0

β€’ IDHIT2 = 0, IDHIT1 = 0 ΠΈ IDHIT0 = 1: совпадСниС с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ 1

β€’ IDHIT2 = 0, IDHIT1 = 1 ΠΈ IDHIT0 = 0: совпадСниС с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ 2

β€’ IDHIT2 = 0, IDHIT1 = 1 ΠΈ IDHIT0 = 1: совпадСниС с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ 3

β€’ IDHIT2 = 1, IDHIT1 = 0 ΠΈ IDHIT0 = 0: совпадСниС с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ 4

β€’ IDHIT2 = 1, IDHIT1 = 0 ΠΈ IDHIT0 = 1: совпадСниС с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ 5

β€’ IDHIT2 = 1, IDHIT1 = 1 ΠΈ IDHIT0 = 0: совпадСниС с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ 6

β€’ IDHIT2 = 1, IDHIT1 = 1 ΠΈ IDHIT0 = 1: совпадСниС с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ 7

Π­Ρ‚ΠΈ Ρ„Π»Π°Π³ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ прСрывания сообщСний, Ссли ΠΎΠ½ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹. Если ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ большС Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎ условиС совпадСния, Ρ‚ΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ с Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ.

ΠŸΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ ΠΈΠ»ΠΈ Π½Π΅ пропустит Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ сообщСниС, опрСдСляСтся состояниСм рСгистров ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΈΠ΅ΠΌΠ° CIDAR0…CIDAR7 ΠΈ рСгистров ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² маскирования CIDMR0…CIDMR7. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ этих рСгистров ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ состояния Π±ΠΈΡ‚ΠΎΠ² IDAM1 ΠΈ IDAM0 рСгистра CIDAC. Когда эти Π±ΠΈΡ‚Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π΅ΠΆΠΈΠΌ Π΄Π²ΡƒΡ… 32-разрядных Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² сравниваСт поразрядно Ρ‡Π°ΡΡ‚ΡŒ рСгистра ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° с Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ Π±Π°ΠΉΡ‚Π°ΠΌΠΈ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сообщСния. РСгистры маскирования ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, принимаСтся ΠΈΠ»ΠΈ Π½Π΅ принимаСтся сообщСниС. На рис. 9.16 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ восСмь рСгистров ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠ², Π½Π° рис. 9.17 восСмь рСгистров маскирования ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ².

Рис. 9.16. Π€ΠΎΡ€ΠΌΠ°Ρ‚ рСгистров ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠ² CIDAR0…CIDAR7


Рис. 9.17. Π€ΠΎΡ€ΠΌΠ°Ρ‚ рСгистров маскирования ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² CIDMR0…CIDMR7


Π”Π°Π½Π½Ρ‹Π΅ Π² рСгистры CIDAR0–CIDAR7 ΠΈ CIDMR0–CIDMR7 заносятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² CMCR0 установлСн Π±ΠΈΡ‚ SFTRES. Для рСгистров CIDMR, логичСская 1 сообщаСт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ Π±ΠΈΡ‚ ΠΊΠΎΠ΄Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ логичСский 0 ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ установлСно соотвСтствиС для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π°. На рис. 9.18 ΠΏΠΎΠΊΠ°Π·Π°Π½ случай, ΠΊΠΎΠ³Π΄Π° программируСтся Ρ€Π΅ΠΆΠΈΠΌ Π΄Π²ΡƒΡ… 32-разрядных Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΈΠ΅ΠΌΠ°. На рисункС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠ°ΠΊ случай соотвСтствия Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρƒ 0, Ρ‚Π°ΠΊ ΠΈ случай соотвСтствия Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρƒ 1 ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ процСссы ΠΏΡ€ΠΈ использовании стандартного Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² (Bosch CAN, 2.0A) ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° (Bosch CAN 2.0B). Напомним Π΅Ρ‰Π΅ Ρ€Π°Π·, Ρ‡Ρ‚ΠΎ стандартный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 11-разрядныС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ β€” 29-разрядныС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹.

Π°)

Π±)

Рис. 9.18. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠ²: Ρ€Π΅ΠΆΠΈΠΌ с двумя 32-разрядными Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ


Когда состояниС Π±ΠΈΡ‚ΠΎΠ² IDAM1 ΠΈ IDAM0 рСгистра CIDAC соотвСтствуСт Ρ€Π΅ΠΆΠΈΠΌΡƒ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… 16-разрядных ΠΏΡ€ΠΈΠ΅ΠΌΠ½Ρ‹Ρ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ², ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 11-разрядныС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΈ Π±ΠΈΡ‚Ρ‹ RTR (Π² рСгистрах IDR0 ΠΈ IDR1) ΡΠΎΠ³Π»Π°ΡΡƒΡŽΡ‚ΡΡ с сообщСниями Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° CAN 2.0A. БообщСниям Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ CAN 2.0B ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ 14 Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… разрядов ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. На рис. 9.19 ΠΏΠΎΠΊΠ°Π·Π°Π½ процСсс ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠ² для Ρ€Π΅ΠΆΠΈΠΌΠ° с Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ 16-разрядными Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ.

Рис. 9.19. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠ²: Ρ€Π΅ΠΆΠΈΠΌ с Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ 16-разрядными Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ


И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΊΠΎΠ³Π΄Π° Π±ΠΈΡ‚Ρ‹ IDAM1 ΠΈ IDAM0 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ восьми 8-разрядных Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ², Ρ‚ΠΎΠ»ΡŒΠΊΠΎ восСмь ΡΡ‚Π°Ρ€ΡˆΠΈΡ… Π±ΠΈΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ входящиС сообщСния ΠΊΠ°ΠΊ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ CAN 2.0A, Ρ‚Π°ΠΊ ΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ CAN 2.0B. На рис. 9.20 ΠΏΠΎΠΊΠ°Π·Π°Π½ процСсс ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ для Ρ€Π΅ΠΆΠΈΠΌΠ° с восСмью 8-разрядными Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ.

Рис. 9.20. ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠ²: Ρ€Π΅ΠΆΠΈΠΌ с восСмью 8-разрядными Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ


ΠžΠ±ΡΡƒΠ΄ΠΈΠΌ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΅Ρ‰Π΅ Π΄Π²Π° рСгистра, связанныС с ΠΏΡ€ΠΈΠ΅ΠΌΠ½Ρ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… β€” рСгистр Ρ„Π»Π°Π³ΠΎΠ² ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° CRFLG (рис. 9.21). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π±ΠΈΡ‚ этого рСгистра, ΠΊΡ€ΠΎΠΌΠ΅ RXF, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡ΠΈΡ‰Π΅Π½ посрСдством записи Π² Π½Π΅Π³ΠΎ логичСской 1. Π—Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„Π»Π°Π³Π° ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° RXF, всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ряд ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ. Π€Π»Π°Π³ прСрывания ΠΏΠΎ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ пробуТдСния WUPIF (Π±ΠΈΡ‚ 7) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ воздСйствиС сСти CAN, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ msCAN12 находится Π² спящСм Ρ€Π΅ΠΆΠΈΠΌΠ΅: логичСский 0 Π² этом Π±ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π΅ имССтся Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ воздСйствия ΡˆΠΈΠ½Ρ‹, логичСская 1 ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° msCAN12 ΠΏΡ€ΠΈΡˆΠ΅Π» запрос Π½Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ спящСго состояния. Π€Π»Π°Π³ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ прСрывания ΠΏΡ€ΠΈΠ΅ΠΌΠ° RWRNIF устанавливаСтся, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ происходят ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ события: число ошибок ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 96; Ρ„Π»Π°Π³ пассивного прСрывания ΠΏΠΎ ошибкС ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° RERRIF ΡΠ±Ρ€ΠΎΡˆΠ΅Π½; Ρ„Π»Π°Π³ пассивного прСрывания ΠΏΠΎ ошибкС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° TERRIF ΡΠ±Ρ€ΠΎΡˆΠ΅Π½; Ρ„Π»Π°Π³ прСрывания «шина ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°Β» BOFFIF Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½. НизкоС логичСскоС состояниС ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΉ ситуации Π½Π° всСх ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°Ρ…. ВысокоС логичСскоС состояниС ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ msCAN12 находится Π² Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌ состоянии.

Рис. 9.21. Π€ΠΎΡ€ΠΌΠ°Ρ‚ рСгистра Ρ„Π»Π°Π³ΠΎΠ² ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠΎΠ² CRFLG


Π€Π»Π°Π³ TWRNIF (Π±ΠΈΡ‚ 5) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ состояниС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°. ЛогичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌΡƒ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ, появляСтся, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ происходят ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ события:

β€’ Ρ‡ΠΈΡΠ»ΠΎ ошибок ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 96;

β€’ Π±ΠΈΡ‚ RERRIF находится Π² состоянии нуля;

β€’ Π±ΠΈΡ‚ TERRIF находится Π² состоянии нуля;

β€’ Π±ΠΈΡ‚ BOFFIF находится Π² состоянии нуля.

ЛогичСский Π½ΡƒΠ»ΡŒ TWRNIF ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° отсутствиС ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°, находящСгося Π² Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌ состоянии.

Π€Π»Π°Π³ RERRIF (Π±ΠΈΡ‚ 4) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, находится ΠΈΠ»ΠΈ Π½Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ msCAN12 Π² состоянии пассивной ошибки. Π­Ρ‚ΠΎΡ‚ Ρ„Π»Π°Π³ устанавливаСтся, ΠΊΠΎΠ³Π΄Π° число ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ошибок находится Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 128 Π΄ΠΎ 255, ΠΈ Π±ΠΈΡ‚ BOFFIF Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ. Установка Π±ΠΈΡ‚Π° RERRIF Π² 1 ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ msCAN12 вошСл Π² состояниС пассивной ошибки ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ°, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ очистка Π±ΠΈΡ‚Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ msCAN12 Π½Π΅ находится Π² этом состоянии. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ установка Ρ„Π»Π°Π³Π° TERRIF (Π±ΠΈΡ‚ 3) ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ msCAN12 вошСл Π² состояниС пассивной ошибки ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² это состояниС, ΠΊΠΎΠ³Π΄Π° число ошибок ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ находится Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 128 Π΄ΠΎ 255 ΠΈ Ρ„Π»Π°Π³ BOFFIF ΡΠ±Ρ€ΠΎΡˆΠ΅Π½.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Ρ„Π»Π°Π³ заполнСния ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° RXF (Π±ΠΈΡ‚ 0) устанавливаСтся, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄ΡƒΠ»ΡŒ msCAN12 ΠΆΠ΅Π»Π°Π΅Ρ‚ Β«ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒΒ» процСссорному ядру МК, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ Π½ΠΎΠ²ΠΎΠ΅ Π½Π΅ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½Π½ΠΎΠ΅ сообщСниС. ЦПУ сбрасываСт этот Ρ„Π»Π°Π³, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ сообщСниС с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° Π² основной. ЛогичСская 1 ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ имССтся Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ сообщСниС, Π° логичСский 0, Ρ‡Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹Ρ… сообщСний Π½Π΅Ρ‚.

ПослСдним рСгистром, связанным с ΠΏΡ€ΠΈΠ΅ΠΌΠ½Ρ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ, являСтся рСгистр счСтчика ошибок ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° CRXERR (рис. 9.22). Π­Ρ‚ΠΎΡ‚ рСгистр подсчитываСт число ошибок ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния.

Рис. 9.22. Π€ΠΎΡ€ΠΌΠ°Ρ‚ рСгистра счСтчика ошибок ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° CRXERR


ΠœΡ‹ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅ΠΌ этот Ρ€Π°Π·Π΄Π΅Π» Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ΅ΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° сообщСний. ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС ΠΈΠΌΠ΅Π½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… рСгистров Π±Ρ‹Π»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² Ρ„Π°ΠΉΠ»Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° А ΠΌΡ‹ лишь устанавливаСм ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° Π² Ρ€Π΅ΠΆΠΈΠΌ 16-разрядного Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° $28E ΠΏΡ€ΠΈ использовании стандартного Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌ это, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ°Ρ‚ΡŒ соотвСтствиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρƒ 0.

     :

     :

     :   /*Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ msCAN, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ */

     :   /*ввСсти Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ сброса: ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ SFTRES =1*/

     :   /*ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ 16-разрядный Ρ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΎΠ³ΠΎ */

         /* Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°: ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ IDAM1 = 1, IDAM0 = 0*/

line i   CIDAC = $10;

line i+1 CIDMR0 = $00;

         /*Π·Π°Π΄Π°Ρ‚ΡŒ значСния ΠΏΠ΅Ρ€Π²Ρ‹Ρ… 11 Π±ΠΈΡ‚, RTR ΠΈ IDE Π±ΠΈΡ‚*/

line i+2 CIDMR1 = $07;

     :   /*ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ CIDMRx рСгистры to have*/

         /*$00: ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹*/

line j   CIDAR0 = $51;

         /*%01010001 bits 10 - 3 of ID*/

line j+1 CIDAR1 = $C0;

         /*%11000000 bits 2 - 0 of ID, RTR = 0, ΠΈ */

         /*IDE =0*/

     :

     :   /*ввСсти Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ : ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ SFTRES = 0 */

     :

     :   /*Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ установки Ρ„Π»Π°Π³Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ° ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ */

         /*соотвСтствиС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρƒ 0, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅*/

ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° прСрывания ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° msCAN12.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ msCAN12 ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ‚ΠΈΠΏΠ° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ: ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ пробуТдСния (1), прСрывания ΠΏΠΎ ошибкам (6), ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ° (1) ΠΈ прСрывания ΠΏΡ€ΠΈ пустом Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° (3). Π’ скобках ΡƒΠΊΠ°Π·Π°Π½ΠΎ число Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, связанных с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ· классифицированных Ρ‚ΠΈΠΏΠΎΠ².

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ пробуТдСния допускаСтся, ΠΊΠΎΠ³Π΄Π° установлСн Ρ„Π»Π°Π³ WUPIE (Π±ΠΈΡ‚ 7) Π² рСгистрС CRIER Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° msCAN12 (рис. 9.23). Если ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΡˆΠΈΠ½Ρ‹, ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, связанноС с ΠΏΡ€ΠΎΠ±ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ, инициализируСтся сразу послС установки Ρ„Π»Π°Π³Π° WUPIE.

Рис. 9.23. Π€ΠΎΡ€ΠΌΠ°Ρ‚ рСгистр Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ прСрывания ΠΏΡ€ΠΈΠ΅ΠΌΠ° CRIER


ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ msCAN12 ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠ΅ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΠΎ ошибкам. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ· эти ΡˆΠ΅ΡΡ‚ΠΈ β€” Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ допускаСтся, ΠΊΠΎΠ³Π΄Π° Π² рСгистрС CRIER установлСн Π±ΠΈΡ‚ RWRNIE (Π±ΠΈΡ‚ 6). Если ΠΏΡ€ΠΈ этом ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ событиС, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ состояниС Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ прСрывания ΠΏΡ€ΠΈΠ΅ΠΌΠ°, Ρ‚ΠΎ устанавливаСтся связанный с этим Ρ„Π»Π°Π³ RWRNIF Π² рСгистрС CRFLG ΠΈ выполняСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСрывания. Когда установлСн Π±ΠΈΡ‚ TRWNIE (Π±ΠΈΡ‚ 5) рСгистра CRIER, состояниС Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ прСрывания ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ устанавливаСт Ρ„Π»Π°Π³ TWRNIF Π² рСгистрС CRFLG, ΠΈ выполняСтся другая ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прСрывания.