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

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

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

β€’ Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π±ΠΈΡ‚ IOS7 Π² рСгистрС TIOS ($0080), Ρ‚ΠΎΠ³Π΄Π° Π² ΠΊΠ°Π½Π°Π»Π΅ 7 Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сравнСния;

β€’ Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π±ΠΈΡ‚Ρ‹ OM7:OL7 рСгистра TCNTL1($0088),Ρ‚ΠΎΠ³Π΄Π° линия PT7 окаТСтся отсоСдинСнной ΠΎΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… срСдств ΠΊΠ°Π½Π°Π»Π° 7;

β€’ Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π±ΠΈΡ‚ OC7M7 Π² рСгистрС OC7M ($0082).

Рис. 4.45. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈ рСгистры управлСния счСтчика Π²Π΅ΡˆΠ½ΠΈΡ… событий


Если всС эти установки Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹, Ρ‚ΠΎ сигнал с Π»ΠΈΠ³ΠΈ PT7 Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π½Π° Π²Ρ…ΠΎΠ΄ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Π° событий подсистСмы счСтчика событий. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ счСтчика Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ выполняСт Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΠΎΠ±ΠΎΠΈΡ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ становится Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ установкС Π±ΠΈΡ‚Π° PAEN рСгистра управлСния счСтчиком PACTL (рис. 4.45) Π² 1.

Если подсистСма находится Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ счСтчика Π²Π½Π΅ΡˆΠ½ΠΈΡ… событий, Π±ΠΈΡ‚ PEDGE опрСдСляСт: ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ Ρ„Ρ€ΠΎΠ½Ρ‚Ρƒ сигнала, Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ (ΠΏΡ€ΠΈ PEDGE = 1) ΠΈΠ»ΠΈ ΡΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌΡƒ (ΠΏΡ€ΠΈ PEDGE = 0) Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ счСтчик. Если Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ фиксируСт Π½Π° Π²Ρ…ΠΎΠ΄Π΅ PAI Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π±ΠΈΡ‚ΠΎΠΌ PEDGE ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала, Ρ‚ΠΎ устанавливаСтся Ρ„Π»Π°Π³ события PAIF.

Если подсистСма Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ стробируСмого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, Ρ‚ΠΎ Π±ΠΈΡ‚ PEDGE опрСдСляСт ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅ PAI, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ счСт для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ счСтчика PACNT. Если Π±ΠΈΡ‚ PEDGE = 1, Ρ‚ΠΎ счСт Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΌ логичСском ΡƒΡ€ΠΎΠ²Π½Π΅ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ PAI. ΠŸΡ€ΠΈ этом ΠΏΠΎ Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌΡƒ Ρ„Ρ€ΠΎΠ½Ρ‚Ρƒ сигнала Π½Π° Π²Ρ…ΠΎΠ΄Π΅ PAI Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ„Π»Π°Π³ событий PAIF. Если ΠΆΠ΅ Π±ΠΈΡ‚ PEDGE = 0, счСт Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ высоком ΡƒΡ€ΠΎΠ²Π½Π΅ PAI, Ρ„Π»Π°Π³ PAIF устанавливаСтся ΠΏΠΎ ΡΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌΡƒ Ρ„Ρ€ΠΎΠ½Ρ‚Ρƒ PAI.

Если Ρ€Π°Π±ΠΎΡ‚Ρ‹ подсистСмы счСтчика событий Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π°, Ρ‚ΠΎ 16 разрядный счСтчик Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ с Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ значСния. Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ счСтчика ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ считан ΠΈΠ· 16-разрядного рСгистра Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния счСтчика PACNT, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² памяти размСщаСтся Π² Π΄Π²ΡƒΡ… ячСйках памяти: PACNTH β€” ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ счСтчика событий, PACNTL β€” младший Π±Π°ΠΉΡ‚ счСтчика событий (рис. 4.45). КаТдоС ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ 16-разрядного счСтчика событий фиксируСтся установкой Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° пСрСполнСния PAOVF. Π­Ρ‚ΠΎΡ‚ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ сбрасываСтся посрСдством записи Π² установлСнный разряд PAOVF Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½ΠΎΠ³ΠΎ значСния.

Оба рассмотрСнных Ρ„Π»Π°Π³Π°: Ρ„Π»Π°Π³ пСрСполнСния счСтчика PAOVF ΠΈ Ρ„Π»Π°Π³ события Π½Π° Π²Ρ…ΠΎΠ΄Π΅ счСтчика PAIF, β€” способны Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запросы прСрывания. ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡ ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ„Π»Π°Π³ΠΎΠ² Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Π±ΠΈΡ‚Π°ΠΌΠΈ PAOVI ΠΈ PAI соотвСтствСнно. Π‘ΠΈΡ‚Ρ‹ PAOVI ΠΈ PAI Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² рСгистрС Ρ„Π»Π°Π³ΠΎΠ² счСтчика событий PAFLG (рис. 4.45).

РСгистры управлСния счСтчиком событий

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрим рСгистры ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для управлСния Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ счСтчика событий.

РСгистр управлСния счСтчиком событий

РСгистр управлСния счСтчиком событий PACTL (Pulse Accumulator Control Register) располагаСтся Π² памяти МК ΠΏΠΎ адрСсу $00A0. Π€ΠΎΡ€ΠΌΠ°Ρ‚ рСгистра прСдставлСн Π½Π° рис. 4.45. РСгистр PACTL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для задания Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ счСтчика событий, для назначСния Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΅Π³ΠΎ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Π° событий, для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ ΠΎΡ‚ подсистСмы счСтчика событий, Π° Ρ‚Π°ΠΊΠΆΠ΅ для Π²Ρ‹Π±ΠΎΡ€Π° источника тактирования счСтчика Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ модуля Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.

Π‘ΠΈΡ‚ PTAE Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ подсистСмы счСтчика событий. ΠŸΡ€ΠΈ PTAE = 1 Ρ€Π°Π±ΠΎΡ‚Π° подсистСмы Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π°, ΠΏΡ€ΠΈ PTAE = 0 подсистСма счСтчика находится Π² Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ состоянии. Π‘ΠΈΡ‚ PAMOD слуТит для Π²Ρ‹Π±ΠΎΡ€Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΡ€ΠΈ PAMOD = 0 подсистСма Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ счСтчика Π²Π½Π΅ΡˆΠ½ΠΈΡ… событий, ΠΏΡ€ΠΈ PAMOD = 1 для подсистСмы назначаСтся Ρ€Π΅ΠΆΠΈΠΌ стробируСмого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.

Π‘ΠΈΡ‚ PEDGE управляСт Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Π° событий подсистСмы счСтчика. Если счСтчик Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ счСтчика Π²Π½Π΅ΡˆΠ½ΠΈΡ… событий (PAMOD = 0), Ρ‚ΠΎ ΠΏΡ€ΠΈ PEDGE = 1 Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€ события настраиваСтся Π½Π° распознаваниС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π° сигнала, ΠΏΡ€ΠΈ PEDGE = 0 β€” ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Ρ€ΠΎΠ½Ρ‚Π°. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ стробируСмого Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° (PAMOD = 1) Π±ΠΈΡ‚ PEDGE опрСдСляСт Π²ΠΈΠ΄ сигнала, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ счСтчика Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Если PEDGE = 1, Ρ‚ΠΎ счСт Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ 1 Π½Π° Π²Ρ…ΠΎΠ΄ PAI, ΠΏΡ€ΠΈ этом Ρ„Π»Π°Π³ PAI устанавливаСтся ΠΏΠΎ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ„Ρ€ΠΎΠ½Ρ‚Ρƒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала. Если ΠΆΠ΅ PEDGE = 0, Ρ‚ΠΎ счСт Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π°Ρ‡Π΅ 0 Π½Π° Π²Ρ…ΠΎΠ΄ PAI, ΠΏΡ€ΠΈ этом Ρ„Π»Π°Π³ PAI устанавливаСтся ΠΏΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ„Ρ€ΠΎΠ½Ρ‚Ρƒ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ сигнала.

Π‘ΠΈΡ‚Ρ‹ CLK1:CLK0 Π½Π°Π·Π½Π°Ρ‡Π°ΡŽΡ‚ источник тактирования для счСтчика Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ модуля Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° (см. рис. 4.27).

Π‘ΠΈΡ‚Ρ‹ PAOVI ΠΈ PAI (Π½Π΅ ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹ΠΌ Π²Ρ…ΠΎΠ΄ΠΎΠΌ) Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ прСрывания ΠΏΠΎ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ пСрСполнСния счСтчика (Ρ„Π»Π°Π³ PAOVF) ΠΈ ΠΏΠΎ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ Π½Π° Π²Ρ…ΠΎΠ΄Π΅ PAI (Ρ„Π»Π°Π³ PAIF), Ρ‚ΠΈΠΏ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ опрСдСляСтся Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π±ΠΈΡ‚Π° PEDGE.

РСгистр Ρ„Π»Π°Π³ΠΎΠ² счСтчика событий

РСгистр Ρ„Π»Π°Π³ΠΎΠ² счСтчика событий PAFLG (Pulse Accumulator Flag Register) располагаСтся Π² памяти МК ΠΏΠΎ адрСсу $00A1 ΠΈ содСрТит всСго Π΄Π²Π° Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… Π±ΠΈΡ‚Π° (рис. 4.45). Π€Π»Π°Π³ пСрСполнСния счСтчика устанавливаСтся, ΠΊΠΎΠ³Π΄Π° 16-разрядный счСтчик подсистСмы измСняСт своС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с $FFFF Π½Π° $0000. Π€Π»Π°Π³ события подсистСмы PAIF устанавливаСтся Π² 1 ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠ°Π΄Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π° Π½Π° Π²Ρ…ΠΎΠ΄Π΅ PAI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Π½ Π±ΠΈΡ‚ΠΎΠΌ PEDGE ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ счСтчика. Оба этих Π±ΠΈΡ‚Π° ΡΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ посрСдством записи Π² установлСнный Π±ΠΈΡ‚ 1.

РСгистр Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния счСтчика событий

РСгистр счСтчика PACNT (Pulse Accumulator Counter Register) содСрТит Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ 16-разрядного счСтчика подсистСмы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½ располагаСтся Π² Π΄Π²ΡƒΡ… ячСйках памяти: ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ PACNTH β€” ΠΏΠΎ адрСсу $00A2, младший Π±Π°ΠΉΡ‚ PACNTL β€” ΠΏΠΎ адрСсу $00A3. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° счСтчика ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, рСкомСндуСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π² Π΄Π²ΡƒΡ…Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° с использованиСм Ρ‚ΠΈΠΏΠ° LDD ΠΈΠ»ΠΈ LDX/LDY.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования счСтчика событий

ΠœΡ‹ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ опрСдСлСния скорости двиТСния вСлосипСда ΠΏΠΎ сигналам Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π₯ΠΎΠ»Π»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ установлСн Π½Π° колСсС вСлосипСда. Π”Π°Ρ‚Ρ‡ΠΈΠΊΠΈ Π₯ΠΎΠ»Π»Π° доступны Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… модификациях. ΠžΠ±ΠΎΠ±Ρ‰Π°Ρ свСдСния ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°Ρ… Π₯ΠΎΠ»Π»Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²:

β€’ Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, напряТСниС Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ напряТСнности ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠ³ΠΎ поля, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ;

β€’ Π‘иполярныС Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ сигнал, Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π²Π±Π»ΠΈΠ·ΠΈ юТного ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠ³ΠΎ полюса, ΡΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² 0, Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π²Π±Π»ΠΈΠ·ΠΈ сСвСрного ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠ³ΠΎ полюса;

β€’ ΠžΠ΄Π½ΠΎΠΏΠΎΠ»ΡΡ€Π½Ρ‹Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ сигнал, Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π²Π±Π»ΠΈΠ·ΠΈ юТного ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠ³ΠΎ полюса, ΡΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² 0 ΠΏΡ€ΠΈ отсутствии ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠ³ΠΎ поля.

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ помСстим ΠΌΠ°Π³Π½ΠΈΡ‚ Π½Π° спицу Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ колСса. ΠžΠ΄Π½ΠΎΠΏΠΎΠ»ΡΡ€Π½Ρ‹ΠΉ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π₯ΠΎΠ»Π»Π° установим Π½Π° Π²ΠΈΠ»ΠΊΠ΅ колСса, Π²Ρ‹Ρ…ΠΎΠ΄ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° соСдиним со Π²Ρ…ΠΎΠ΄ΠΎΠΌ (PT7) счСтчика Π²Π½Π΅ΡˆΠ½ΠΈΡ… событий МК сСмСйства 68HC12 (рис. 4.46). Π’ΠΎΠ³Π΄Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠΌΠΏΡƒΠ»ΡŒΡ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π΅ колСса. Если ΠΌΡ‹ подсчитаСм число ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² с Π²Ρ‹Ρ…ΠΎΠ΄Π° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Π½Π° извСстном Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅, ΠΌΡ‹ смоТСм ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ двиТСния ΠΈ расстояниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π½ΠΎ Π·Π° врСмя измСрСния.

Рис. 4.46. ΠšΠΎΠ»Π΅ΡΠΎ вСлосипСда с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠΌ Π₯ΠΎΠ»Π»Π°


Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ прСдлагаСтся ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ расчСта скорости ΠΈ ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π½Π½ΠΎΠ³ΠΎ расстояния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ подсказки:

β€’ Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ связь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠΌ колСса ΠΈ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½ΠΎΠΉ дистанциСй ΠΏΡƒΡ‚ΠΈ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π΄ΠΈΠ°ΠΌΠ΅Ρ‚Ρ€ колСса Ρ€Π°Π²Π΅Π½ 66,04 ΡΠΌ (26 дюймов).

β€’ ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ подсистСмы счСтчика Π²Π½Π΅ΡˆΠ½ΠΈΡ… событий:

 a. ΠŸΠΎΠ΄ΡΠΈΡΡ‚Π΅ΠΌΠ° счСтчика событий ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Ρ…ΠΎΠ΄ PT7 для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ внСшнСго ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ½ΠΎΠ³ΠΎ сигнала. Для конфигурирования Π»ΠΈΠ½ΠΈΠΈ PT7 Π½Π° Π²Π²ΠΎΠ΄ установитС Π±ΠΈΡ‚ 7 рСгистра TIOS Π² 0, Ρ‚Π°ΠΊΠΆΠ΅ Π² 0 Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ установлСны Π±ΠΈΡ‚Ρ‹ 6 ΠΈ 7 рСгистра PCTL1.

 b. Π—Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ рСгистр управлСния счСтчиком событий PACTL. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ состояниС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±ΠΈΡ‚Π° ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

β€’ Π‘Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС счСтчика Π²Π½Π΅ΡˆΠ½ΠΈΡ… событий, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ рСгистр PACNT.

β€’ Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π», Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ достаточна накоплСния Π² счСтчикС событий Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дСсятков отсчСтов. Π’ΠΎΠ³Π΄Π° Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ измСрСния скорости Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ (нСсколько Π΅Π΄ΠΈΠ½ΠΈΡ† %).

β€’ Π‘Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½ΠΎΠ²ΠΎΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС счСтчика событий.

β€’ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ² ΠΈ вычислитС ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ расстояниС. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π’Π°ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ подсистСмы счСтчика событий.

/*------------------------------------------------------------------------------*/

/* Ѐункция initialize_PA Π·Π°Π΄Π°Π΅Ρ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ установки подсистСмы счСтчика событий */

/*------------------------------------------------------------------------------*/

void initialize_PA(void) {

 TIOS = 0x00; /*ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ…ΠΎΠ΄ PT7 для Ρ€Π°Π±ΠΎΡ‚Ρ‹ */

 TCTL1 = 0Ρ…00; /*Π² качСствС источника сигналов для счСтчика*/

 OC7M = 0x00 /*Π²Π½Π΅ΡˆΠ½ΠΈΡ… событий – 3 ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹*/

 TSCR = 0Ρ…80; /*Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ всСго модуля Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°*/

 PACTL = 0Ρ…70; /*Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ счСтчика Π²Π½Π΅ΡˆΠ½ΠΈΡ…*/

               /*событий ΠΏΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ„Ρ€ΠΎΠ½Ρ‚Ρƒ сигнала*/

}

/*-------------------------------------------------------------------------------*/

4.15. ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠ΅Ρ‚ΠΎΠΊ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

МногиС примСнСния Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ выполнСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π²Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Для удобства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² МК сСмСйства 68HC12/HCS12 оснащСны ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠΊ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ RTI (Real Time Interrupt), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ равноотстоящиС Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ запросы Π½Π° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ (рис. 4.47). Π’ΠΎΠ³Π΄Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π²Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСрывания ΠΏΠΎ запросу RTI. И ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ функционирования устройства Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½.