Послідовні інтерфейси СОМ-порт

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати


Послідовні інтерфейси: СОМ-порт

Послідовний інтерфейс для передачі даних в одну сторону використовує одну сигнальну лінію, по якій інформаційні біти передаються один за одним послідовно. Такий спосіб передачі визначає назву інтерфейсу і порту, його реалізує (Serial Interface і Serial Port). Послідовна передача даних може здійснюватися в синхронному і асинхронному режимах.

При асинхронної передачі кожному байту передує старт-біт, що сигналізує приймачу про початок чергової посилки, за якою слідують біти даних або біт паритету (конроля парності). Завершує посилку стоп-біт. Старт-біт (що має значення лог. "0") наступного посланого байта може посилатися у будь-який момент після закінчення стоп-бита. Старт-біт забезпечує механізм синхронізації приймача по сигналу від передавача. Внутрішній генератор синхронізації приймача використовує лічильник-дільник опорної частоти, що обнуляються у момент прийому початку старт-біта. Цей лічильник генерує внутрішні строб, за якими приймач фіксує наступні прийняті біти.

Формат асинхронної посилки дозволяють виявити можливі помилки передачі.

Для асинхронного режиму прийнятий ряд стандартних швидкостей обміну: 50,75,110,150,300,600,1200,2400,4800, 19200,38400,57600,115200 біт / сек. Кількість біт даних може складати 5,6,7,8 біт. Кількість стоп бітів може бути 1,1.5,2 біта. Асинхронний в РС реалізується за допомогою СОМ-порту з використанням протоколу RS-232C.

Синхронний режим передачі передбачає постійну активність каналу зв'язку. Здійснення починається з сінхробайта, за яким щільно слід потік інформаційних бітів. Якщо у передавача немає даних для передачі, він заповнює паузу безперервної посилкою байтів синхронізації. При передачі великих масивів даних накладні витрати на синхронізацію в даному режимі необхідна буде нижче, ніж в асинхронному. Однак у синхронному режимі необхідна зовнішня синхронізація приймача з передавачем, оскільки навіть невелике відхилення частот призведе до швидко накопичується помилку і спотворення отриманих даних. Зовнішня синхронізація можлива або за допомогою окремої лінії передачі для передачі сигналу синхронізації, або з використанням самосинхронизирующийся кодування даних, при якому на приймальній стороні з прийнятого сигналу можуть бути і імпульси синхронізації. У будь-якому випадку синхронний режим вимагає або дорогих ліній зв'язку, або дорогого оконеченного обладнання. Для РС існують спеціальні плати - адаптери SDLC, підтримують синхронний режим обміну. Вони використовуються в основному для зв'язку з великими машинами IBM і в даний час мало поширені. З синхронних адаптерів в даний час найчастіше застосовуються адаптери інтерфейсу V.35.

Послідовний інтерфейс на фізичному рівні може мати різні реалізації, що розрізняються способом передачі електричних сигналів. Існує ряд родинних міжнародних стандартів: RS-232C, RS-432A, RS-422A, RS485.

Несиметричні лінії інтерфейсів RS-232C, RS-432A мають саму низьку захищеність від синфазної перешкоди. Кращі параметри має двоточковим інтерфейс

RS-422A і його магістральний (шинний) родич RS-485, що працюють на симетричних лініях зв'язку. У них для кожного сигналу використовуються диференціальні сигнали з окремою (мудреців) парою приводів.

Найбільшого поширення в РС отримав найпростіший з цих - стандарт RS-232C. У промисловій автоматиці широко застосовується RS - 422А, а також RS-485, що зустрічається і в деяких принтерах. Існують відносно нескладні перетворювачі сигналів для узгодження всіх цих інтерфейсів.

Інтерфейс RS-232C

Інтерфейс RS-232C призначений для підключення апаратури,

передавальною або дані (АПД-апаратура передачі даних), до кінцевої апаратурі каналів даних (АКД). У ролі АПД може виступати комп'ютер, принтер, плоттер і інші ПУ. Цією апаратурі відповідає абревіатура DTE-Data Terminal Equipment. У ролі АКД зазвичай виступає модем - DCE (Data Communication Equipment). Кінцевою метою підключення є з'єднання двох пристроїв DTE, повна схема з'єднання наведена на рис.2. Інтерфейс дозволяє виключати канал віддаленого зв'язку разом з парою пристроїв DTE, з'єднавши пристрої безпосередньо за допомогою нуль-модемного кабелю (рис.3).

Стандарт описує управляючі сигнали інтерфейсу, пересилання даних, електричний інтерфейс і типи роз'ємів. Стандарт описує синхронний і асинхронний режими обміну, але СОМ-порти підтримують тільки асинхронний режим. Функціонально RS-232C еквівалентний стандарту МККТТ V.24/V.28 і стику С2, але вони мають різні назви одних і тих же використовуваних сигналів.

Рис.1-Стандарт послідовного інтерфейсу.

Рис.2-Повна схема з'єднання по RS-232C.

Рис.3-З'єднання по RS-232C нуль-модемним кабелем.

Електричний інтерфейс

Стандарт RS-232C використовує несиметричні передавачі і приймачі - сигнал передається відносно загального проводу - схемної землі cімметрічние диференціальні сигнали використовуються в інших інтерфейсах - наприклад, RS-422). Інтерфейс НЕ забезпечують гальванічну розв'язку пристроїв. Логічною одиниці відповідає рівень напруги на вході приймача в діапазоні - 12 ... - 3 В. Для ліній керуючих сигналів цей стан називається ON ("включено"), для ліній послідовних даних називається MARK. Логічному нулю відповідає напруга в діапазоні +3 ... +12 В. Для ліній керуючих сигналів цей стан називається OFF ("вимкнено"), для ліній послідовних даних називається SPACE. Між рівнями - 3 ... +3 В є зона нечутливості, яка обумовлює гістерезис приймача: стан лінії буде вважатися зміненим тільки після перетину відповідного порога. Рівні сигналів на виходах передавачів повинні бути в діапазонах - 12 ... - 5 В і +5 ... +12 В для представлення одиниці і нуля відповідно. Різниця потенціалів між схемними землями (SG) з'єднуються пристроїв повинна бути менше 2 В, при більш високій різниці потенціалів можливо невірне сприйняття сигналів.

Інтерфейс передбачає наявність захисного заземлення для з'єднуються пристроїв, якщо вони обидва живляться від мережі змінного струму і мають мережеві фільтри.

Підключення та відключення інтерфейсних кабелів пристроїв з автономним живленням (не живляться від інтерфейсу, таких як, наприклад, миша) повинно проводитися при відключенні харчування. В іншому випадку різниця не вирівняних потенціалів пристроїв в момент комутації (приєднання або від'єднання роз'єму) може виявитися прикладеної до вихідних або вхідним (що небезпечніше) ланцюгах інтерфейсу і вивести з ладу мікросхеми.

Для інтерфейсу RS-232C спеціально випускаються буферні мікросхеми приймачів (з гістерезисом) і передавачів двополярного сигналу. При недотриманні правил заземлення та комутації включених пристроїв вони зазвичай є першими (добре, якщо єдиними) жертвами "піротехнічних" ефектів. Іноді їх встановлюють в "ліжечках", що сильно полегшує заміну. Часто буферні схеми входять прямо до складу інтерфейсних ВІС. Це здешевлює виріб, економить місце на платі, але в разі аварії зазвичай обертається великими фінансовими втратами. Вивести з ладу інтерфейсні мікросхеми замиканням сигнальних ланцюгів малоймовірно, оскільки струм короткого замикання передавачів звичайно обмежений на рівні 20 мА.

Стандарт RS-232C регламентує типи вживаних рознімів, що забезпечує високий рівень сумісності апаратури різних виробників.

На апаратурі DTE (в тому числі, і на СОМ-портах PC) прийнято встановлювати вилки, (male - "тато") DB25-P або більш компактний варіант --DB9-P.

Девятіштирьковие роз'єми не мають контактів для додаткових сигналів, необхідних для синхронного режиму (у більшості 25тирькових роз'ємів ці контакти не використовуються).

На апаратурі DCE (модеми) встановлюють розетки (female - "мама") DB25-S або DB-9S.

Це правило припускає, що роз'єми DCE можуть підключатися до роз'ємів DTE безпосередньо (якщо дозволяє геометрія конструктиву) або через перехідні "прямі" кабелі з розеткою і виделкою, у яких контакти cоедінени "один в один". Перехідні кабелі можуть бути і перехідниками з 9 на 25-Штиркові роз'єми.

Якщо апаратура DTE з'єднується без модемів, то роз'єми пристроїв (вилки) з'єднуються між собою нуль-модемним кабелем (Zero-modem або Z-modem), які мають на обох кінцях розетки, контакти яких з'єднуються перехресно.

Якщо на якомусь устрої DTE (принтер, плоттер, дигитайзер) встановлена ​​розетка - це майже стовідсотковий ознака того, що до іншого пристрою (комп'ютера) вона повинна підключатися прямим кабелем, аналогічним кабелю підключення модему. Розетка встановлюється зазвичай на тих пристроях, у яких віддалене підключення через модем не передбачено (або безглуздо, як, наприклад, у дигитайзера).

У табл.1 наведено призначення контактів роз'ємів СОМ-портів (і будь-який інший апаратури DTE). Призначення контактів роз'єму DB25S визначено стандартом EIA/TIA-232-Е, роз'єм DB9S визначений стандартом EIA / TIA-574.

У модемів (DCE) назву ланцюгів і призначення контактів, природно, збігається, але ролі сигналів (вхід-вихід) змінюються на протилежні.

Таблиця 1 - Роз'єми і сигнали інтерфейсу RS-232C

1 * - шлейф 8-бітних Мультикарта.

2 * - шлейф 16-бітових Мультикарта і портів на системних платах.

3 * - варіант шлейфу портів на системних платах.

4 * - широкий шлейф до 25-контактного роз'єму.

Підмножина сигналів RS-232C, що відносяться до асинхронному режиму, розглянемо з точки зору СОМ-порту PC, що є по термінології RS-232C терміналом даних (DTE). Слід пам'ятати, що активному станом сигналу ("включено") і логічної одиниці переданих даних відповідає негативний потенціал (нижче - 3 В) сигналу інтерфейсу, а стану "вимкнено" і логічному нулю - позитивний (вище +3 В). Призначення сигналів інтерфейсу наведено в табл.2.

Таблиця 2-Призначення сигналів інтерфейсу

Ресурси СОМ-портів

Починаючи з перших моделей в PC був послідовний інтерфейс - СОМ-порт (Communications Port - комунікаційний порт). Цей порт забезпечує асинхронний обмін по стандарту RS-232C. Комп'ютер може мати до чотирьох послідовних портів СОМ 1-COM4 (для машин класу AT типово наявність двох портів). СОМ-порти мають зовнішні роз'єми-вилки (Male "тато") DB25P або DB9P, виведені на задню панель комп'ютера (призначення висновків наведено у табл.1)

СОМ-порти реалізуються на мікросхемах UART, сумісних з сімейством 18250. Вони займають в просторі введення / виведення по 8 суміжних 8-бітних регістрів і можуть розташовуватися за стандартними базовими адресами 3F8h (COM1), 2F8h (COM2), 3E8h (COM3), 2E8h (COM4). Для портів COM3 і COM4 можливі альтернативні адреси 3EOh, 338h і 2EOh, 238h відповідно. Для PS / 2 стандартними для портів СОМЗ-СОМ8 є адреси 3220h, 3228h, 4220h, 4228h, 5220h і 5228h відповідно.

Порти можуть виробляти апаратні переривання IRQ4 (зазвичай використовуються для COM1 і COM3) і IRQ3 (для COM2 і COM4). Крім того, можливе використання ліній переривань IRQ11 (замість IRQ4) і IRQ10 (замість IRQ3). Можливість розділяється використання однієї лінії запиту кількома портами (або її розділення з іншими пристроями) залежить від реалізації апаратного підключення і програмного забезпечення. При використанні портів, встановлених на шину ISA, колективні переривання зазвичай не працюють.

Конфігурування СОМ-портів

Управління послідовним портом розділяється на два етапи - попереднє конфігурування (Setup) апаратних засобів порту і поточне (оперативне) перемикання режимів роботи прикладним або системним ПО. Спосіб і можливості конфігурації СОМ-портів залежать від його виконання і місцеположення. Порт, розташований на платі розширення (звичайно на Мультикарта), яка встановлюється в слот ISA або ISA + VLB, звичайно конфігурується джамперами на самій платі. Порт, розташований на системній платі, звичайно конфігурується через BIOS Setup.

Конфігуруванню підлягають наступні параметри:

* Базовий адресу, яка може мати значення 3F8h, 2F8h, 3E8h (3EOh, 338h), 2E8h (2EOh, 238h). При ініціалізації BIOS перевіряє наявність портів за адресами саме в цьому порядку і, відповідно, привласнює виявленим портам логічні імена СОМ1, COM2, COM3 і COM4.

* Використовувана лінія запиту переривання: для СОМ1 і COM3 зазвичай використовується IRQ4 або IRQ11, для COM2 і COM4 - IRQ3 або IRQ10. У принципі номер переривання можна призначати в довільних поєднаннях з базовою адресою (номером порту), але деякі програми та драйвери (наприклад, драйвери послідовної миші) налаштовані тільки на стандартні сполучення. Кожному порту, який потребує апаратній перериванні, зазвичай призначають окрему лінію, не збігається з лініями запиту переривань інших портів або пристроїв. Поділюване використання ліній переривання адаптерів шин ISA проблематично. Переривання необхідні для портів, до яких підключаються пристрої введення (миша, дигитайзер), UPS і модеми. При підключенні принтера або плоттера перериваннями користуються тільки багатозадачні ОС (і то не завжди), і цей дефіцитний ресурс PC можна заощадити. Також перериваннями зазвичай не користуються і при зв'язку двох комп'ютерів нуль-модемним кабелем.

* Використання каналу DMA (для UART 16450 або 16550, розташованих на системній платі) - дозвіл використання і номер каналу DMA. Режим DMA при роботі з СОМ-портами використовують рідко, тому в більшості випадків канали DMA порту не призначають.

Режим роботи порту за замовчуванням (2400 біт / с, 7 біт даних, 1 стоп-біт і контроль парності), заданий при ініціалізації порту під час BIOS POST, може змінюватися в будь-який момент при налаштуванні комунікаційних програм або командою DOS MODE COMx: з зазначенням параметрів.

Використання СОМ-портів

Всупереч назві, СОМ-порти найчастіше використовують для підключення маніпуляторів (миша, трекбол). У цьому випадку порт використовується в режимі послідовного введення, забезпечуючи живлення пристрою від інтерфейсу. Миша може підключатися до будь-якого справного порту, для узгодження роз'ємів порту і миші можливе застосування перехідника DB9S-DB25P або, навпаки, DB25S-DB9P. Для роботи з мишею обов'язково потрібне використання лінії переривання, причому для порту СОМ1 - IRQ4, а для COM2 - IRQ3.

Наступним за популярністю йде підключення зовнішніх модемів для зв'язку з віддаленими комп'ютерами або виходу в глобальні мережі. Модеми повинні підключатися повним (9-проводовим) кабелем DTE-DCE. Цей же кабель може використовуватися і для узгодження роз'ємів (по кількості контактів), можливо і застосування перехідників 9-25, призначених для мишей. Для роботи комунікаційного ПО зазвичай потрібне використання переривань, але тут, як правило, більше свободи вибору сполучень номера (адреси) порту і номери лінії переривання. Якщо передбачається робота на швидкостях 9600 біт / с і вище, то СОМ-порт повинен бути реалізований на мікросхемі UART 16550A або сумісної з нею. Можливості роботи з використанням FIFO-буферів і обміну по каналах DMA залежать від комунікаційного ПЗ.

Для зв'язку двох комп'ютерів, віддалених один від одного на невелику відстань, використовують і безпосереднє з'єднання їх СОМ-портів нуль-модемним кабелем. Використання програм типу Norton Commander або Interink MS-DOS дозволяє обмінюватися файлами зі швидкістю передачі до 115,2 Кбіт / с без використання апаратних переривань. Це ж з'єднання може використовуватися і мережевим пакетом Lantastic, що надають більш розвинений сервіс.

Підключення принтерів і плотерів до СОМ-порту вимагає застосування кабелю, відповідного обраному протоколу управління потоком: програмного XON / XOFF чи апаратному RTS / CTS. Апаратний протокол краще, оскільки він не вимагає програмної підтримки з боку PC. Переривання при виведенні засобами DOS (командами COPY або PRINT) не використовуються.

СОМ-порт іноді використовується і для підключення електронних ключів (Security Devices), призначених для захисту від неліцензійного використання програмних продуктів. Ці пристрої можуть бути як "прозорими", дозволяючи скористатися тим же портом і для підключення периферії, так і повністю займають порт.

СОМ-порт при наявності відповідної програмної підтримки дозволяє перетворити PC в термінал, емулюючи систему команд поширених спеціалізованих терміналів (VT-52, VT-100 та інших). У принципі найпростіший термінал виходить, якщо замкнути один на одного функції BIOS обслуговування СОМ-порту (Int 14h), функцію текстового виводу відеосервісу (Int 10h) і клавіатурний ввід (Int 16h). Однак такий термінал буде працювати лише на малих швидкостях обміну (якщо, звичайно, його робити не на Pentium), оскільки функції BIOS хоч і універсальні, але працюють не найшвидшим чином.

Цим списком, звичайно ж, можливості використання СОМ-порту не вичерпуються. Інтерфейс RS-232C широко поширений в різних периферійних пристроях і терміналах. Всі вони, за наявності належної програмної підтримки, можуть підключатися до PC. Крім використання за прямим призначенням, СОМ-порт може використовуватися і як двонаправлений інтерфейс, у якого є 3 програмно-керованих вихідних лінії 4 програмно-читаних вхідних лінії з двополярний сигналами. Можливість їх використання обмежується тільки фантазією розробника. Існує, наприклад, схема однобітного широтно-імпульсного перетворювача, що дозволяє записувати звуковий сигнал на диск PC, використовуючи вхідну лінію СОМ-порту. Відтворення цього запису через звичайний динамік забезпечує розбірливість мовлення. Звичайно, в даний час, коли звукова карта стала майже обов'язковим пристроєм PC, це вже не вражає, але свого часу таке рішення було досить цікавим

Програмування COM-портів

Порт 3F8h.

Цей порт відповідає регістру переданих даних. Для передачі в порт 3F8h необхідно записати байт переданих даних.

Після прийому даних від зовнішнього пристрою вони можуть бути прочитані з цього порту. Залежно від стану біта керуючого слова, виведеного в керуючий регістр з адресою 3F8h, призначення порту 3F8h змінюватися. Якщо цей біт дорівнює 0, порт використовується для запису даних для передачі. Якщо ж цей біт дорівнює 1, порт використовується для виведення значення молодшого байта дільника частоти тактового генератора. Змінюючи вміст ділите - ля, можна змінювати швидкість передачі даних.

Старший байт дільника записується в порт 3F9h. Залежність швидкості передачі даних від значення дільника частоти наведені в таблиці 1:

Таблиця 1.

Дільник

Швидкість передачі в бодах.

Дільник

Швидкість передчі в бодах.

1040

110

24

4800

768

150

12

9600

384

300

6

19200

192

600

3

38400

96

1200

2

57600

48

2400

1

115200

Порт 3F9h.

Порт використовується як регістр управління перериваннями від асинхронного адаптера або (після виводу в порт 3F9h байти з встановленим в 1 старшим бітом) для виведення значення старшого байта дільника частоти тактового генератора. У режимі регістру управління переривань порт має наступний формат.

Таблиця 2.

Біт

Значення

0

1 - дозвіл переривання при готовності прийнятих даних.

1

1 - дозвіл переривання після передачі байта (коли вихідний буфер передачі порожній)

2

1 - дозвіл переривання по виявленні стану "BREAK" або помилки.

3

1 - дозвіл переривання по зміні на роз'ємі RS-232-C.

4-7

Не використовуються, повинні бути рівні 0.

Порт 3FAh.

Регістр ідентифікації переривання. За його вмісту програма може визначити причину переривання. Формат регістра наведено в таблиці 3.

Таблиця 3.

Біт

Значення

0

1 - немає переривань, які очікують обслуговування.

1-2

00 - переривання по лінії стану приймача, виникає при переповненні приймача, помилка парності або формату даних, або при стані "BREAK". Скидається після читання стану лінії і порту 3FDh.

01 - дані прийняті і доступні для читання. Скидається після після читання даних з порту 3F8h.

11 - Стан модему. Встановлюється при зміні стану вхідних ліній CTS, RI, DCD, DSR.

3-7

Повинні бути рівні 0.

Порт 3FBh.

Керуючий регістр, доступний по запису та читання. Його формат показано в таблиці 4.

Таблиця 4.

Біт

Значення

0-1

Довжина слова в байтах.00 - 5 біт.

01 - 6 біт.

10 - 7 біт.

11 - 8 біт.

2

Кількість степових бітів: 0 - 1 біт, 1 - 2 біти.

3-4

Парність:

10 - контроль на парність Невикор;

01 - контроль на непарність.

11 - контроль на парність.

5

Фіксація парності. При установки цього біта біт парності завжди приймає значення 0 (якщо біти 3-4 рівні 11) або 1 (якщо біти 3-4 рівні 01)

6

Установка перерви. Викликає висновок рядка нулів в якості сигналу "BREAK" для підключення пристрою.

7

1 - порти 3F8h і 3F9h використовується для завантаження дільника частоти тактового генератора; 0 - порти використовуються як зазвичай.

Порт 3FCh.

Регістр управління модемом.

Управляє станом вихідних ліній DTR, RTS, ліній, специфічних для модемів OUT1 і OUT2, для запуску діагностики при вході асинхронного адаптера, замкнутим на його вихід. Формат порту наведено в таблиці 5.

Таблиця 5.

Біт

Значення

0

Лінія DTR

1

Лінія RTS.

2

Лінія OUT1 (запасна)

3

Лінія OUT2 (запасна)

4

Запуск діагностики при вході асинхронного адаптера, замкнутому на його вихід.

5-7

Повинно бути дорівнює 0

Порт 3FDh.

Регістр стан лінії. Значення зарядів регістру наведені в таблиці 6.

Таблиця 6.

Біт

Значення

0

Дані отримані і готові для читання, скидається при читанні даних.

1

Помилка переповнення. Був прийнятий новий байт даних, а попередній ще не був лічений програмою. Попередній байт втрачено.

2

Помилка парності, скидається після читання стану лінії.

3

Помилка синхронізації.

4

Виявлено запит на переривання передачі "BREAK" - довга рядок нулів.

5

Регістр зберігання передавача порожній, у нього можна записати новий байт для передачі.

6

Регістр зсуву передавача порожній. Цей регістр отримує дані з регістра зберігання і перетворює їх в послідовний вид для передачі.

7

Тайм-аут (пристрій не пов'язане з комп'ютером)

Порт 3FEh.

Регістр стану модему. Значення бітів вказані в таблиці 7.

Таблиця 7.

Біт

Значення

0

Лінія CTS змінила стан.

1

Лінія DSR змінила стан.

2

Лінія IR змінила стан.

3

Лінія DCD змінила стан.

4

Стан лінії CTS

5

Стан лінії DSR

6

Стан лінії IR.

7

Стан лінії DCD.

Прийом і передача даних.

Перед записом байта даних у регістр передавача потрібно переконатися, що регістр зберігання передавача вільний, тобто пересвідчитися в тому, що передача попереднього символу завершена. Ознакою свободи регістру передавача є встановлений в 1 біт 5 регістра стану лінії з адресою 3FDh.

Аналогічно передачі даних перед введенням символу з порту приймача 3F8h слід переконатися, що біт 0 порту 3FDh встановлено у 1, тобто що символ прийнятий з лінії і перебувати в буферному регістрі приймача.


Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Реферат
61.5кб. | скачати


Схожі роботи:
Послідовні інтерфейси
Паралельні інтерфейси Centronics і LPT-порт
Навігаційний проект переходу судна типу Сормовський за маршрутом порт Анапа порт Порт-Саїд
Навігаційний проект переходу судна типу Сормовський за маршрутом порт Ялта порт Неаполь
Навігаційний проект переходу судна типу Буг за маршрутом порт Феодосія порт Палермо
Навігаційний проект переходу судна типу ДЕСНА за маршрутом порт Скадовськ порт Марсель
Навігаційний проект переходу судна типу Орель за маршрутом порт Новоросійськ порт Трапані
Навігаційний проект переходу судна типу Волго - Балт за маршрутом порт Одеса порт Трієст
Навігаційний проект переходу судна типу Волго-Балт за маршрутом порт Анапа порт Тріполі Лівія
© Усі права захищені
написати до нас