Intel-LOGO

Пристрої intel MAX 10 FPGA через UART із процесором Nios II

intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-PRODUCT

Інформація про продукт

Еталонний дизайн забезпечує просту програму, яка реалізує базові функції віддаленої конфігурації в системах на базі Nios II для пристроїв MAX 10 FPGA. Інтерфейс UART, що входить до комплекту розробки MAX 10 FPGA, використовується разом із ядром Altera UART IP для забезпечення функції віддаленого налаштування. Пристрої MAX10 FPGA забезпечують можливість зберігати до двох зображень конфігурації, що ще більше покращує функцію віддаленого оновлення системи.

Скорочення

Абревіатура опис
Авалон-ММ Флеш-пам'ять Avalon Memory-Mapped Configuration
CFM Графічний інтерфейс користувача
ICB Біт конфігурації ініціалізації
КАРТА/.map Карта пам'яті File
Ніос II EDS Підтримка Nios II Embedded Design Suite
ПФЛ IP-ядро Parallel Flash Loader
POF/.pof Об'єкт програміста File
QSPI Quad послідовний периферійний інтерфейс
RPD/.rpd Необроблені дані програмування
SBT Інструменти для створення програмного забезпечення
SOF/.sof Об'єкт SRAM File
КОЗИК Універсальний асинхронний приймач/передавач
УФМ Флеш-пам'ять користувача

Інструкція з використання продукту

Передумова

Застосування цього еталонного дизайну вимагає від вас зазначеного рівня знань або досвіду в таких сферах:

Вимоги:

Нижче наведено вимоги до апаратного та програмного забезпечення для еталонного дизайну:

Еталонний дизайн Files

File Ім'я опис
Factory_image У режимі конфігурації зображень подвійної конфігурації CFM1 і CFM2
об’єднані в одне сховище CFM.
app_image_1 Дизайн обладнання Quartus II file який замінює app_image_2
під час віддаленого оновлення системи.
app_image_2 Код прикладного програмного забезпечення Nios II діє як контролер для
дизайн системи віддаленого оновлення.
Remote_system_upgrade.c
заводське_застосування1.поф Програмування Quartus II file що складається з заводського зображення та
зображення програми 1, для програмування в CFM0, CFM1 і CFM2
відповідно на початковому stage.
заводська_програма1.rpd
application_image_1.rpd
application_image_2.rpd
Nios_application.pof

Еталонний дизайн забезпечує просту програму, яка реалізує базові функції віддаленої конфігурації в системах на базі Nios II для пристроїв MAX 10 FPGA. Інтерфейс UART, що входить до комплекту розробки MAX 10 FPGA, використовується разом із ядром Altera UART IP для забезпечення функції віддаленого налаштування.

Пов'язана інформація

Еталонний дизайн Files

Віддалене оновлення системи за допомогою MAX 10 FPGA Overview

Завдяки функції віддаленого оновлення системи вдосконалення та виправлення помилок для пристроїв FPGA можна виконувати віддалено. У середовищі вбудованої системи мікропрограмне забезпечення потрібно часто оновлювати через різні типи протоколів, наприклад UART, Ethernet та I2C. Якщо вбудована система містить FPGA, оновлення мікропрограми можуть включати оновлення образу обладнання на FPGA.
Пристрої MAX10 FPGA забезпечують можливість зберігати до двох зображень конфігурації, що ще більше покращує функцію віддаленого оновлення системи. Одне із зображень буде резервним зображенням, яке завантажуватиметься, якщо в поточному зображенні станеться помилка.

Скорочення

Таблиця 1: Список скорочень

Скорочення Опис
Авалон-ММ Avalon Memory-Mapped
CFM Флеш-пам'ять конфігурації
GUI Графічний інтерфейс користувача
ICB Біт конфігурації ініціалізації
КАРТА/.map Карта пам'яті File
Ніос II EDS Підтримка Nios II Embedded Design Suite
ПФЛ IP-ядро Parallel Flash Loader
POF/.pof Об'єкт програміста File
  • Корпорація Intel. Всі права захищені. Intel, логотип Intel, слова та логотипи Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus і Stratix є товарними знаками корпорації Intel або її дочірніх компаній у США та/або інших країнах. Intel гарантує роботу своїх FPGA та напівпровідникових продуктів відповідно до поточних специфікацій відповідно до стандартної гарантії Intel, але залишає за собою право вносити зміни в будь-які продукти та послуги в будь-який час без попередження. Корпорація Intel не бере на себе жодної відповідальності чи зобов’язань, що виникають у зв’язку із застосуванням або використанням будь-якої інформації, продукту чи послуги, описаних у цьому документі, за винятком випадків, чітко наданих корпорацією Intel у письмовій формі. Клієнтам Intel рекомендується отримати останню версію специфікацій пристрою, перш ніж покладатися на будь-яку опубліковану інформацію та перед тим, як розміщувати замовлення на продукти чи послуги.
  • Інші назви та бренди можуть бути визнані власністю інших осіб.

Передумова

Абревіатура

QSPI

опис

Quad послідовний периферійний інтерфейс

RPD/.rpd Необроблені дані програмування
SBT Інструменти для створення програмного забезпечення
SOF/.sof Об'єкт SRAM File
UART Універсальний асинхронний приймач/передавач
УФМ Флеш-пам'ять користувача

Передумова

  • Застосування цього еталонного дизайну вимагає від вас зазначеного рівня знань або досвіду в таких сферах:
  • Практичні знання систем Nios II та інструментів для їх створення. Ці системи та інструменти включають програмне забезпечення Quartus® II, Qsys і Nios II EDS.
  • Знання методологій та інструментів конфігурації Intel FPGA, таких як внутрішня конфігурація MAX 10 FPGA, функція віддаленого оновлення системи та PFL.

Вимоги

  • Нижче наведено вимоги до апаратного та програмного забезпечення для еталонного дизайну:
  • Набір для розробки ПЛІС MAX 10
  • Quartus II версії 15.0 з Nios II EDS
  • Комп’ютер із робочим драйвером та інтерфейсом UART
  • Будь-який двійковий/шістнадцятковий формат file редактор

Еталонний дизайн Files

Таблиця 2: Дизайн Files Включено в еталонний дизайн

File Ім'я

Factory_image

опис

• Дизайн обладнання Quartus II file зберігати в CFM0.

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

app_image_1 • Дизайн обладнання Quartus II file зберігати в CFM1 і CFM2.(1)

• Початкове зображення програми, завантажене на пристрій.

  1. У режимі конфігурації зображень подвійної конфігурації CFM1 і CFM2 об’єднуються в одне сховище CFM.
File Ім'я

app_image_2

опис

Дизайн обладнання Quartus II file який замінює app_image_2 під час віддаленого оновлення системи.

Remote_system_ upgrade.c Код прикладного програмного забезпечення Nios II, який діє як контролер для проектування системи віддаленого оновлення.
Remote Terminal.exe • Виконуваний файл file з графічним інтерфейсом користувача.

• Функціонує як термінал для хоста для взаємодії з комплектом розробки MAX 10 FPGA.

• Надсилає дані програмування через UART.

• Вихідний код для цього терміналу включено.

Таблиця 3: Майстер Files Включено в еталонний дизайн

Ви можете використовувати ці майстерні files для еталонного дизайну без компіляції дизайну files.

File Ім'я

 

factory_application1.pof factory_application1.rpd

опис

Програмування Quartus II file який складається з заводського образу та образу програми 1, які потрібно запрограмувати в CFM0 та CFM1 & CFM2 відповідно на початкових stage.

factory_application2.pof factory_application2.rpd • Програмування Quartus II file який складається з заводського зображення та образу програми 2.

• Зображення програми 2 буде витягнуто пізніше, щоб замінити зображення програми 1 під час віддаленого оновлення системи під назвою application_ image_2.rpd нижче.

application_image_1.rpd Необроблені дані програмування Quartus II file які містять лише зображення програми 1.
application_image_2.rpd Необроблені дані програмування Quartus II file який містить лише зображення програми 2.
Nios_application.pof • Програмування file який складається з програмного забезпечення процесора Nios II .hex file тільки.

• Для програмування на зовнішній спалах QSPI.

pfl.sof • Кварт II .sof містять ПФЛ.

• Запрограмований у флеш-пам’ять QSPI на комплекті розробки MAX 10 FPGA.

Еталонний дизайн, функціональний описintel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-1

Процесор Nios II Gen2

  • Процесор Nios II Gen2 у еталонному дизайні має такі функції:
  • Майстер шини, який обробляє всі операції інтерфейсу з IP-ядром Altera On-Chip Flash, включаючи читання, запис і стирання.
  • Надає алгоритм у програмному забезпеченні для отримання програмного потоку бітів від головного комп’ютера та ініціювання реконфігурації через IP-ядро подвійної конфігурації.
  • Вам потрібно відповідно встановити вектор скидання процесора. Це необхідно для того, щоб процесор завантажував правильний код програми з UFM або зовнішньої флеш-пам’яті QSPI.
  • Примітка: Якщо код програми Nios II великий, Intel рекомендує зберігати код програми на зовнішньому флеш-пам’яті QSPI. У цьому еталонному дизайні вектор скидання вказує на зовнішню флеш-пам’ять QSPI, де зберігається програмний код Nios II.

Пов'язана інформація

  • Підручник із розробки апаратного забезпечення Nios II Gen2
  • Надає більше інформації про розробку процесора Nios II Gen2.

Altera On-Chip Flash IP Core

  • Ядро Altera On-Chip Flash IP функціонує як інтерфейс для процесора Nios II для виконання операції читання, запису або стирання в CFM і UFM. Ядро Altera On-Chip Flash IP забезпечує доступ, видалення та оновлення CFM за допомогою нового потоку бітів конфігурації. Редактор параметрів Altera On-Chip Flash IP показує попередньо визначений діапазон адрес для кожного сектора пам'яті.

Пов'язана інформація

  • Altera On-Chip Flash IP Core
  • Надає більше інформації про Altera On-Chip Flash IP Core.

Altera Dual Configuration IP Core

  • Ви можете використовувати IP-ядро подвійної конфігурації Altera для доступу до блоку оновлення віддаленої системи в пристроях MAX 10 FPGA. IP-ядро подвійної конфігурації Altera дозволяє запускати повторну конфігурацію після завантаження нового образу.

Пов'язана інформація

  • Altera Dual Configuration IP Core
  • Надає більше інформації про Altera Dual Configuration IP Core

Altera UART IP Core

  • Ядро UART IP забезпечує передачу послідовних потоків символів між вбудованою системою в MAX 10 FPGA і зовнішнім пристроєм. Як ведучий Avalon-MM, процесор Nios II спілкується з IP-ядром UART, яке є підлеглим Avalon-MM. Цей зв'язок здійснюється за допомогою регістрів керування читанням і записом даних.
  • Ядро реалізує синхронізацію протоколу RS-232 і забезпечує наступні функції:
  • регульована швидкість передачі даних, парність, зупинка та біти даних
  • додаткові сигнали керування потоком RTS/CTS

Пов'язана інформація

  • Ядро UART
  • Надає більше інформації про UART Core.

Універсальний контролер Quad SPI IP Core

  • IP-ядро Generic Quad SPI Controller функціонує як інтерфейс між MAX 10 FPGA, зовнішньою флеш-пам’яттю та вбудованою флеш-пам’яттю QSPI. Ядро забезпечує доступ до флеш-пам’яті QSPI за допомогою операцій читання, запису та стирання.
    Коли додаток Nios II розширюється додатковими інструкціями, file розмір шестигранника file згенерований за допомогою програми Nios II, буде більшим. За межами певного обмеження розміру UFM не матиме достатньо місця для зберігання шістнадцяткового прикладу file. Щоб вирішити цю проблему, ви можете використовувати зовнішню флеш-пам’ять QSPI, доступну в наборі для розробки MAX 10 FPGA, для зберігання шістнадцяткового прикладу file.

Розробка програмного забезпечення Nios II EDS

  • Еталонний дизайн включає програмний код Nios II, який керує системою дистанційного оновлення. Код прикладної програми Nios II відповідає головному терміналу через UART, виконуючи певні інструкції.

Віддалене оновлення образів програми

  • Після того, як ви передали програмний бітовий потік file за допомогою віддаленого терміналу програмне забезпечення Nios II призначене для наступного:
  1. Встановіть контрольний регістр ядра IP-пам’яті Altera On-Chip Flash для зняття захисту з секторів CFM1 і 2.
  2. Виконайте операцію стирання сектора на CFM1 і CFM2. Програмне забезпечення опитує реєстр стану IP-ядра Altera On-Chip Flash, щоб переконатися, що видалення завершено.
  3. Отримувати 4 байти потоку бітів за раз від stdin. Стандартний вхід і вихід можна використовувати для отримання даних безпосередньо з головного терміналу та друку виведення на нього. Типи стандартних параметрів вводу та виводу можна встановити через редактор BSP у інструменті Nios II Eclipse Build.
  4. Змінює порядок бітів для кожного байта.
    • Примітка: Завдяки конфігурації Altera On-Chip Flash IP Core кожен байт даних потрібно сторнувати перед записом у CFM.
  5. Почніть записувати 4 байти даних одночасно в CFM1 і CFM2. Цей процес триває до кінця програмування бітового потоку.
  6. Опитує реєстр стану IP-адреси флеш-пам’яті Altera On-Chip для забезпечення успішного запису. Виводить повідомлення про завершення передачі.
    • Примітка: Якщо операція запису не вдається, термінал зупинить процес надсилання потоку бітів і згенерує повідомлення про помилку.
  7. Встановлює контрольний регістр для повторного захисту CFM1 і CFM2 для запобігання будь-якій небажаній операції запису.

Пов'язана інформація

  • Генерація pof через програмування перетворення Files on
  • Надає інформацію про створення rpd files під час програмування перетворення files.

Віддалений запуск реконфігурації

  • Після того, як ви виберете операцію переналаштування тригера у віддаленому терміналі хоста, програма Nios II виконає наступне:
  1. Отримати команду зі стандартного введення.
  2. Почніть реконфігурацію з таких двох операцій запису:
  • Запишіть 0x03 до адреси зсуву 0x01 у IP-ядрі подвійної конфігурації. Ця операція перезаписує фізичний контакт CONFIG_SEL і встановлює зображення 1 як наступне зображення конфігурації завантаження.
  • Запишіть 0x01 до адреси зсуву 0x00 у IP-ядрі подвійної конфігурації. Ця операція запускає реконфігурацію до образу програми в CFM1 і CFM2

Покрокове керівництво по еталонному дизайнуintel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-2

Генерація програмування Files

  • Ви повинні створити наступне програмування files до того, як ви зможете скористатися дистанційним оновленням системи на комплекті розробки MAX 10 FPGA:

Для програмування QSPI:

  • sof—користування pfl.sof, включений до еталонного дизайну, або ви можете створити інший .sof, що містить ваш власний дизайн PFL
  • pof—конфігурація file згенерований із .hex і запрограмований у флеш-пам’ять QSPI.
  • для віддалене оновлення системи:
  • pof—конфігурація file згенерований із .sof і запрограмований у внутрішню флеш-пам’ять.
  • rpd—містить дані для внутрішнього спалаху, які включають налаштування ICB, CFM0, CFM1 і UFM.
  • карта—тримає адреса для кожного сектора пам'яті налаштувань ICB, CFM0, CFM1 і UFM.

Генерація files для програмування QSPI

Щоб створити файл .pof file для програмування QSPI виконайте такі дії:

  1. Створіть проект Nios II і згенеруйте HEX file.
    • Примітка: Зверніться до AN730: Методи завантаження процесора Nios II у пристроях MAX 10, щоб отримати інформацію про створення проекту Nios II та генерування HEX file.
  2. На File у меню «Перетворити програмування». Files.
  3. У розділі Програмування виводу file, виберіть Об’єкт програматора File (.pof) у програмуванні file список типів.
  4. У списку Mode виберіть 1-bit Passive Serial.
  5. У списку пристроїв конфігурації виберіть CFI_512Mb.
  6. в File поле імені, вкажіть file назва для програмування file ви хочете створити.
  7. У Вхід files щоб конвертувати список, видаліть параметри та рядок даних SOF. Натисніть «Додати шістнадцяткові дані», і з’явиться діалогове вікно «Додати шістнадцяткові дані». У полі «Додати шістнадцяткові дані» виберіть «Абсолютна адресація» та вставте .hex file створено з Nios II EDS Build Tools.
  8. Після встановлення всіх параметрів натисніть «Створити», щоб створити пов’язане програмування file.

Пов'язана інформація

AN730: Методи завантаження процесора Nios II у MAX 10 пристроях FPGA
Генерація files для віддаленого оновлення системи

Для створення файлів .pof, .map і .rpd files для віддаленого оновлення системи виконайте такі дії:

  1. Відновіть Factory_image, application_image_1 і application_image_2 і скомпілюйте всі три дизайни.
  2. Створіть два .pof fileописано в наступній таблиці:
    • Примітка: Див. Генерація .pof за допомогою програмування перетворення Files для етапів створення .pof files.intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-3
  3. Відкрийте app2.rpd за допомогою будь-якого шістнадцяткового редактора.
  4. У шістнадцятковому редакторі виберіть двійковий блок даних на основі початкового та кінцевого зсуву, посилаючись на .map file. Початкове та кінцеве зміщення для пристрою 10M50 становлять 0x12000 та 0xB9FFF відповідно. Скопіюйте цей блок на новий file і збережіть його в іншому файлі .rpd file. Цей новий .rpd file містить лише зображення програми 2.intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-4

Генерація pof через програмування перетворення Files

Щоб конвертувати .sof files до .pof files, виконайте такі дії:

  1. На File у меню «Перетворити програмування». Files.
  2. У розділі Програмування виводу file, виберіть Об’єкт програматора File (.pof) у програмуванні file список типів.
  3. У списку Mode виберіть Internal Configuration.
  4. в File поле імені, вкажіть file назва для програмування file ви хочете створити.
  5. Щоб створити карту пам'яті File (.map), увімкніть «Створити карту пам’яті». File (Автоматично генерувати вихід_file.map). .map містить адресу CFM і UFM із параметром ICB, який ви встановили за допомогою параметра Option/Boot Info.
  6.  Щоб згенерувати вихідні дані програмування (.rpd), увімкніть опцію Create config data RPD (Generate output_file_auto.rpd).
    За допомогою карти пам'яті File, ви можете легко визначити дані для кожного функціонального блоку в .rpd file. Ви також можете отримати флеш-дані для програмних засобів сторонніх розробників або оновити конфігурацію або дані користувача через Altera On-Chip Flash IP.
  7. .sof можна додати через Input files для перетворення списку, і ви можете додати до двох .sof files.
    • Для цілей віддаленого оновлення системи ви можете зберегти оригінальні дані сторінки 0 у .pof і замінити дані сторінки 1 на нові .sof file. Для цього вам потрібно додати файл .pof file на сторінці 0, тоді
      додати сторінку .sof, а потім додати новий .sof file до
  8. Після встановлення всіх параметрів натисніть «Створити», щоб створити пов’язане програмування file.

Програмування QSPI

Щоб запрограмувати програмний код Nios II у флеш-пам’ять QSPI, виконайте такі дії:

  1. На комплекті розробки MAX 10 FPGA переведіть MAX10_BYPASSn на 0, щоб обійти вбудований пристрій VTAP (MAX II).
  2. Під’єднайте кабель завантаження Intel FPGA (раніше USB Blaster) до роз’єму JTAG заголовок.
  3. У вікні програматора клацніть Hardware Setup і виберіть USB Blaster.
  4. У списку Режим виберіть JTAG.
  5. Натисніть кнопку Auto Detect на лівій панелі.
  6. Виберіть пристрій для програмування та натисніть «Додати». File.
  7. Виберіть pfl.sof.
  8. Натисніть «Пуск», щоб почати програмування.
  9. Після успішного програмування, не вимикаючи плату, знову натисніть кнопку Auto Detect на лівій панелі. Ви побачите спалах QSPI_512Mb у вікні програматора.
  10. Виберіть пристрій QSPI і натисніть «Додати». File.
  11. Виберіть файл .pof file згенерований раніше з .hex file.
  12. Натисніть «Пуск», щоб розпочати програмування флеш-пам’яті QSPI.

Програмування FPGA з початковим зображенням за допомогою JTAG

Ви повинні запрограмувати app1.pof у FPGA як початковий образ пристрою. Щоб запрограмувати app1.pof у FPGA, виконайте такі дії:

  1. У вікні програматора клацніть Hardware Setup і виберіть USB Blaster.
  2. У списку Режим виберіть JTAG.
  3. Натисніть кнопку Auto Detect на лівій панелі.
  4. Виберіть пристрій для програмування та натисніть «Додати». File.
  5. Виберіть app1.pof.
  6. Натисніть «Пуск», щоб почати програмування.

Оновлення зображення та запуск реконфігурації за допомогою UART

Щоб віддалено налаштувати комплект розробки MAX10 FPGA, виконайте такі дії:

  1. Примітка: Перш ніж почати, переконайтеся, що:
    • висновок CONFIG_SEL на платі встановлено на 0
    • порт UART вашої плати підключено до вашого комп’ютера
    • Відкрийте Remote Terminal.exe, і відкриється інтерфейс віддаленого терміналу.
  2. Натисніть Налаштування, і з’явиться вікно налаштувань послідовного порту.
  3. Встановіть параметри віддаленого терміналу відповідно до параметрів UART, вибраних у Quartus II UART IP core. Після завершення налаштування натисніть OK.intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-5
  4. Натисніть кнопку nCONFIG на комплекті розробки або введіть 1 у текстовому полі «Надіслати», а потім натисніть «Enter».
    • На терміналі з’явиться список операцій, як показано нижче:intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-6
    • Примітка: Щоб вибрати операцію, введіть номер у текстовому полі Надіслати, а потім натисніть Enter.
  5. Щоб оновити образ програми 1 зображенням програми 2, виберіть операцію 2. Вам буде запропоновано вставити початкову та кінцеву адресу CFM1 і CFM2.
    • Примітка: Адреса, показана на карті file включає налаштування ICB, CFM і UFM, але Altera On-Chip
    • Flash IP може отримати доступ лише до CFM та UFM. Отже, існує зсув адреси між адресою, зображеною на карті file і вікно параметрів Altera On-Chip Flash IP.
  6. Введіть адресу на основі адреси, зазначеної у вікні параметрів Altera On-Chip Flash IP.intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-7
    • Стирання почнеться автоматично після введення кінцевої адреси.intel-MAX-10-FPGA-Devices-Over-UART-with-the-Nios-II-Processor-FIG-8
  7. Після успішного видалення вам буде запропоновано ввести файл програмування .rpd file для програми зображення 2.
    • Щоб завантажити зображення, натисніть «Надіслати».File а потім виберіть файл .rpd, що містить лише зображення програми 2, і натисніть «Відкрити».
    • Примітка: Крім зображення програми 2, ви можете використовувати будь-яке нове зображення, яке хочете оновити на пристрої.
    • Процес оновлення розпочнеться безпосередньо, і ви зможете стежити за прогресом через термінал. У меню операцій з’явиться запит «Готово», і тепер ви можете вибрати наступну операцію.
  8. Щоб запустити зміну конфігурації, виберіть операцію 4. Ви можете спостерігати за поведінкою світлодіода, що вказує на інше зображення, завантажене в пристрій.
Зображення Статус світлодіода (активний низький)
Заводське зображення 01010
Зображення програми 1 10101
Зображення програми 2 01110

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

Дата Версія Зміни
лютий 2017 р 2017.02.21 Перейменовано в Intel.
червень 2015 р 2015.06.15 Початковий випуск.

Документи / Ресурси

Пристрої intel MAX 10 FPGA через UART із процесором Nios II [pdfПосібник користувача
МАКС. 10 пристроїв FPGA через UART із процесором Nios II, МАКС. 10 пристроїв FPGA, через UART із процесором Nios II, через UART, UART процесора Nios II, Nios II, UART процесора

Список літератури

Залиште коментар

Ваша електронна адреса не буде опублікована. Обов'язкові поля позначені *