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

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

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

// стСк - 0x4000

//********************************************************************

#include <stdio.h>

#include "hcs12dp256.h"


#pragma abs_address 0x3000

unsigned int count1; //счСтчики ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

unsigned int count2;

unsigned int sensor;

char sensoravg; //ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² Π² Π²ΠΈΠ΄Π΅ 8-разрядных чисСл

volatile unsigned p; // Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ счСтчик

#pragma end_abs_address


//********************************************************************

void main(void) {

 //Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Ρ€ΠΎΠ±ΠΎΡ‚Π°

 PWME = 0x00; //Π·Π°ΠΏΡ€Π΅Ρ‚ ШИМ

 DDRA = 0xFF; //ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² A ΠΈ Π’ ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ…

 DDRB = 0xFF;

 PORTA = 0xAA; //ΠΏΠΎΠ΄Π°Ρ‡Π° питания Π½Π° Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ

 PORTB = 0xFF; //индикация Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π»ΠΈΠ½Π΅ΠΉΠΊΠ΅ свСтодиодов

               //Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ модуля ATD

 PORTAD1 = 0x00; //ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ…

 ATD1CTL2 = 0xC2; //инициализация ATD с установкой Ρ„Π»Π°Π³ΠΎΠ²

                  //прСобразования Π² ΠΊΠ°Π½Π°Π»Π°Ρ…

 ATD1CTL3 = 0x00; // функция установки ATD

 ATD1CTL4 = 0x80; //ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ 8-разрядный Ρ€Π΅ΠΆΠΈΠΌ

 PORTB = 0xFE; //ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ состояниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π»ΠΈΠ½Π΅ΠΉΠΊΠ΅

               // свСтодиодов

 // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π΅ΠΆΠΈΠΌΠ° Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°Ρ…Π²Π°Ρ‚Π°

 TSCR1 = 0x80; //Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° (Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ)

 TSCR2 = 0x80; //ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ пСрСполнСния счСтчика Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

               // Π±Π°Π·Ρ‹ 8.192 мс, коэффициСнт дСлСния = 1

 TIOS = 0x00; //ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ°Π½Π°Π»Ρ‹ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π² Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°Ρ…Π²Π°Ρ‚Π°

 TMSK1 = 0xE0;//Π±ΠΈΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ прСрывания ΠΏΠΎ событиям Π½Π° линиях [7:5]

 TFLG1 = 0xE0; //ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π»Π°Π³ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ TFLG1

 PORTB = 0xFC; // ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ состояниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π»ΠΈΠ½Π΅ΠΉΠΊΠ΅ свСтодиодов

 // инициализация ШИМ

 PWMCTL = 0x00; //ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ 8-разрядный Ρ€Π΅ΠΆΠΈΠΌ

 PWMCAE = 0x10; //ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Ρ€ΠΎΠ½Ρ‚ΠΎΠ²ΡƒΡŽ ШИМ

 PWMPOL = 0x5F; //Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ высокий логичСский ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ

                //Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ ШИМ для ΠΊΠ°Π½Π°Π»ΠΎΠ² 0,1,2,3,4 ΠΈ 6

 PWMCLK = 0x50; //ΠΊΠ°Π½Π°Π»Ρ‹ 0,1,4 Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ CLOCK_A ΠΈ ΠΊΠ°Π½Π°Π»Ρ‹

                //2,3,6 - CLOCK_Π’

 PWMSCLA = 0x20; //ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ A 0x20 = 4.1 мс

 PWMSCLB = 0x04; //ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ B 0x02 = 255 мкс, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ

                 // наибольший коэффициСнт заполнСния для всСх ΠΊΠ°Π½Π°Π»ΠΎΠ²

 PWMPER0 = 255;

 PWMPER1 = 255;

 PWMPER2 = 255;

 PWMPER3 = 255;

 //Запуск Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ

 PWME = PWME | 0x5F; // Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π΅ΠΆΠΈΠΌΠ° ШИМ для ΠΊΠ°Π½Π°Π»ΠΎΠ² 0,1,2,3,4 ΠΈ 5

 PWMDTY0 = 80; // ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ коэффициСнты заполнСния

               // для ΠΊΠ°Π½Π°Π»ΠΎΠ² 0,1,2 ΠΈ 3

 PWMDTY1 = 80;

 PWMDTY2 = 80;

 PWMDTY3 = 80;

 // Π’Π·Π»Π΅Ρ‚

 while (PWMTY0 < 200) {

  PWMDTY0 = PWMDTY0 + 1;

  PWMDTY1 =PWMDTY1 + 1;

  PWMDTY2 = PWMDTY2 + 1;

  PWMDTY3 = PWMDTY3 + 1;

 }

 P = 20;

 // ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ коэффициСнты заполнСния для Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠΎΠ»Π΅Ρ‚Π°

 while (battery == 1) //ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ

 {

  // Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ 1

  ATD0CLT5 = 0x04; //Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ†ΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ

  while ((ATD0STAT0 & 0x80) == 0);

  sensoravg = ATD0DR4H; //ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ PAD00 для Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° 1

  if ((int)sensoravg > 80) {

   PWMDTY0 = PWMDTY0 + 20;

   delay2();

   for (i=0; i<p; i++) PWMDTY0--;

  }

  // Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ 2

  ATD0CLT5 = 0x04;

  while ((ATD0STAT0 & 0x80) == 0);

  sensoravg = ATD0DR5H; //ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ PAD00 для Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° 2

  if ((int)sensoravg > 80) {

   PWMDTY1 = PWMDTY1 + 20;

   delay2();

   for (i=0; i<p; i++) PWMDTY1--;

  }

  // Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ 3

  ATD0CLT5 = 0x04;

  while ((ATD0STAT0 & 0x80) == 0);

  sensoravg = ATD0DR6H; //ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ PAD00 для Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° 3

  if ((int)sensoravg > 80) {

   PWMDTY2 = PWMDTY2 + 0;

   delay2();

   for (i=0; i<p; i++) PWMDTY2--;

  }

  // Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ 4

  ATD0CLT5 = 0x04;

  while ((ATD0STAT0 & 0x80) == 0);

  sensoravg = ATD0DR7H; //ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ PAD00 для Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° 4

  if ((int)sensoravg > 80) {

   PWMDTY7 = PWMDTY7 + 20;

   delay2();

   for (i=0; i<p; i++) PWMDTY7--;

  }

 } //ΠΊΠΎΠ½Π΅Ρ† while

 // ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ для посадки

 while (PWMDTY0 > 80) {

  PWMDTY0--;

  PWMDTY1--;

  PWMDTY2--;

  PWMDTY3--;

  delay1();

 }

 // ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ

 PWME = 0x00;

}

//********************************************************************

7.5.6. НСкоторыС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Π’Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° β€” нСполная вСрсия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ парящСго Ρ€ΠΎΠ±ΠΎΡ‚Π°. Π§ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ обратят Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простой Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ управлСния. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΈΠ·-Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΄Ρ€Π΅ΠΉΡ„Π°, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π² экспСримСнтах с Π³ΠΈΡ€ΠΎΠ΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, для прСдотвращСния столкновСний с прСпятствиями Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ инфракрасныС Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ.

7.6. БистСма Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, основанная Π½Π° Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ 

7.6.1. ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ описана основанная Π½Π° Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ систСма Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ вторТСния, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ваш ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΎΡ‚ нСсанкционированного внСшнСго доступа. Π’ частности, рассматриваСмая систСма ΠΌΠΎΠΆΠ΅Ρ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнных Π² МК 68HC12/HCS12 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ постороннСго гипСртСкста (HTTP) ΠΏΡ€ΠΈ Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ сСтСвой шинС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π’ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ примСняСтся для лСгальной установки сСансов связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ сСти ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ, внСшним ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ этой сСти. Β«Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΒ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ внСшний ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠ½Ρ‹ΠΉ сСанс связи, формируя нСсанкционированныС сообщСния Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, общСство Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Π² ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΌ дСсятилСтии ряд ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. ЦСль описываСмой ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π½ΠΎΠΉ систСмы Π·Π°Ρ‰ΠΈΡ‚Ρ‹ состоит Π½Π΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ коммСрчСскиС систСмы, Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ систСмам, оцСнивая присутствиС Π² Π΄Π°Π½Π½Ρ‹Ρ… сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π²Π½Π΅Π΄Ρ€Π΅Π½Π½Ρ‹Ρ… посторонних HTTP сообщСний.

ЦСль Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° состоит Π² создании пСрСносной ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π½ΠΎΠΉ систСмы для Π°Π½Π°Π»ΠΈΠ·Π° туннСлирования HTTP. Π­Ρ‚Π° систСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π»ΠΎΠ½Π°ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΈ нСсанкционированныС дСйствия ΠΏΡ€ΠΈ туннСлирования HTTP:

β€’ Π°Ρ‚Π°ΠΊΠΈ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ сСансы туннСлирования;

β€’ Π°Ρ‚Π°ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ внСдрСния скриптов Π² сСансах туннСлирования; 

β€’ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ нСсанкционированных Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… сигналов Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

БистСма Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ систСмным трСбованиям:

1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ МК сСмСйства;

2. Π˜ΠΌΠ΅Ρ‚ΡŒ свСтодиодноС Ρ‚Π°Π±Π»ΠΎ для отобраТСния состояния Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°;

3. ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ сСансы туннСлирования;

4. ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ поиск Π²Π½Π΅Π΄Ρ€Π΅Π½Π½Ρ‹Ρ… скриптов ΠΏΡ€ΠΈ Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ;

5. ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ нСсанкционированноС Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Π΅ сСансы ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ;

6. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ для опрСдСлСния состояния сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.

7.6.2. ИспользованиС систСмы HCS12

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π² спискС ΠΊΠΎΠΌΠ°Π½Π΄ процСссорного ядра HCS12.

7.6.3. ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ

На рис. 7.27 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ процСсс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ микроконтроллСрная систСма Π·Π°Ρ‰ΠΈΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ сСтСвой Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. БистСма ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигналов, создаваСмых ПК, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ. (ΠžΠ±Π·ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ 68HC12 для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°ΠΊΠΎΠ½ΠΎΠ² управлСния с Π½Π΅Ρ‡Π΅Ρ‚ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ см. Π² [11]). Π’Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ сигналами для систСмы ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ†Π΅Π½ΠΊΠΈ уровня члСнства; нулСвая ΠΎΡ†Π΅Π½ΠΊΠ° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС члСнства, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ максимальная ΠΎΡ†Π΅Π½ΠΊΠ° прСдставляСт ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠ΅ члСнство. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Ρ‚Ρ€ΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… сигнала ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΎΡ†Π΅Π½ΠΊΠΈ члСнства для ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΉ повСдСния. ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ повСдСния составлСн ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² сСанса, ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, число ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² сСанса, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сСанса, ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ большими ΠΈ ΠΌΠ°Π»Ρ‹ΠΌΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, направлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, срСдний Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ стандартного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ ΠΎΠ±Ρ‰ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Рис. 7.27. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ†Π΅Π½ΠΎΠΊ члСнства для Ρ‚Ρ€Π΅Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΈ Π΄Π²ΡƒΡ… мноТСств (ΡˆΠ΅ΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄ΠΎΠ²)

ΠžΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ΡΡ соотвСтствиС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ повСдСния ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… Π°Ρ‚Π°ΠΊΠΈ ΠΈ соотвСтствиС Π½Π°Π±ΠΎΡ€Ρƒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… для Ρ‚Π°ΠΊΠΈΡ… Π°Ρ‚Π°ΠΊ. Π˜ΡΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° Π°Ρ‚Π°ΠΊ: Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Π½Π΅Π΄Ρ€Π΅Π½Π½Ρ‹Ρ… скриптов ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ нСсанкционированных Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π·Π²ΡƒΠΊΠΎΠ²Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ² Π°Ρ‚Π°ΠΊΠΈ сопоставляСтся Π΄Π²Π΅ ΠΎΡ†Π΅Π½ΠΊΠΈ. Π­Ρ‚ΠΎ мноТСство ΠΈΠ· ΡˆΠ΅ΡΡ‚ΠΈ прСобразуСтся Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ сСанса Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°