You are on page 1of 21

Міністерство освіти і науки України

Національний університет "Львівська політехніка"


Кафедра ЕОМ

Курсова робота
з дисципліни “Мікропроцесорних систем”
на тему:
“ Мікрокомп'ютер пристрою GPS”

Виконав:
ст. гр. КІ-42
Кончаківський Н.О.

Прийняв:
доц. каф. ЕОМ
Пуйда В.Я.

Львів – 2024
Анотація
У курсовій роботі розроблено програмне забезпечення для мікрокомп'ютера на
базі мікроконтролера STM32H747, що використовується для отримання геоданих з
GPS модуля та їх виведення на LCD дисплей. Вона включає опис внутрішньої
структури мікроконтролера, програмну модель, систему команд та інші
компоненти, а також схеми та UML діаграми. У науковій роботі проаналізовано
характеристики та функціонал мікрокомп'ютера GPS, використовуючи
різноманітні технічні інструменти, такі як програмні бібліотеки, датчики
температури та GPS-навігатори. Основна мета програмного забезпечення полягає в
автоматизації процесів та зниженні помилок, пов'язаних з людським фактором,
шляхом ефективного використання GPS-навігації та системи відеонагляду.
Використання дальноміра Lidar оптичного діапазону дозволяє підвищити точність
та надійність системи. У роботі також висвітлені проблеми та обмеження, що
можуть виникнути під час реалізації цих технологій.
ТЕХНІЧНЕ ЗАВДАННЯ
Створення мікрокомп'ютера для відображення геоданих на LCD дисплеї, що
базується на мікроконтролері STM32H747 з використанням інтерфейсу SPI, є
нашою головною метою.
Система має гарантувати передачу даних з мінімальною швидкістю 9600 біт/с.
Також важливо забезпечити правильне відображення значень довготи і широти на
LCD дисплеї.
ВСТУП
Розробка мікропроцесорів є значущим кроком у розвитку мікроелектроніки та
обчислювальної техніки. Мікропроцесори виконують важливі функції
електронних пристроїв та є основними компонентами обчислювальних систем,
виконуючи обробку цифрової інформації та керуючи роботою пристроїв.
Використання мікропроцесорів дозволяє стандартизувати структуру пристроїв, що
призводить до зменшення витрат часу та коштів на проектування.
Мета даної курсової роботи полягає у створенні програмного забезпечення для
мікрокомп'ютера з визначенням геоданих. Використовуючи мікроконтролер
STM32H747 та периферійний вузол SPI разом із GPS модулем, має бути
реалізовано завдання курсової роботи. Вказані дані повністю відповідають
вимогам системи.

РОЗДІЛ 1. ВСТУП ДО GPS З МІКРОКОМП‘ЮТЕРОМ.


1.1 Що таке GPS
GPS, або глобальна система позиціонування, виникла в результаті стратегічних
потреб американського уряду під час холодної війни. Початково спроектована для
забезпечення точності наведення міжконтинентальних балістичних ракет, вона в
подальшому стала доступною для цивільного використання в 90-х роках. Система
GPS забезпечує точне визначення місцезнаходження за допомогою супутникової
мережі, яка охоплює всю планету.Разом із системою GLONASS.GPS стала
важливим засобом навігації та позиціонування. Її сучасна мережа надає глобальне
покриття, що стало можливим лише в середині останнього десятиліття завдяки
стрімкому розвитку технологій. Незважаючи на існування інших супутникових
систем, GPS залишається однією з найпоширеніших та найбільш надійних.
Кожен супутник GPS має стабільний атомний годинник, який передає точний час.
Приймачі GPS отримують сигнали від принаймні чотирьох супутників для
визначення свого місцезнаходження. Робота приймача полягає у обробці
інформації про затримку сигналів та їх перетворенні у корисну інформацію для
користувача.GPS використовується в різних галузях, включаючи транспорт,
геологію, військову та цивільну авіацію, морський та річковий транспорт, а також
у повсякденному житті. Він забезпечує точність та надійність у визначенні
місцезнаходження, що робить його невід'ємною частиною сучасного світу.

1.2 GPS Модулі


У сучасних умовах на ринку існує великий вибір GPS-приймачів від різних
виробників, які часто пропонуються у компактному форм-факторі "все в одному",
включаючи основну керамічну антену. Які критерії слід враховувати під час
вибору модуля для вашого наступного електронного проекту? Ось кілька аспектів,
на які варто звернути увагу:
Вибір правильного приймача
Потужність :
Більшість сучасних модулів GPS-приймачів пристосовані для роботи при низькій
напрузі, яка зазвичай становить 3,3 В. Це відповідає стандартам багатьох
електронних компонентів і робить їх сумісними з більшістю проектів, що
використовують 3,3 або 5 В для логічного рівня. Багато приймачів GPS також
мають невисокий рівень споживаної енергії, зазвичай менше 100 мА при
стабільному прийомі. Це робить їх ефективними для застосувань з батареєю,
такими як мобільні пристрої або носимі пристрої. Для підключення модуля до
системи з напругою 5 В може знадобитися використання резистора з опором 1 кОм
на лінії від вашого процесора до лінії Rx модуля, щоб забезпечити сумісність
напруг.

Антена:
Часто зустрічаються модулі та плати з вбудованою керамічною патч-антеною. Ці
малі блоки кольору бежевого мають провідну крапку в центрі і зазвичай досить
для більшості GPS-проектів, особливо якщо важливий компактний розмір. Деякі
модулі вже мають роз'єми SMA, припаяні на платі, для з'єднання з зовнішньою
антеною, що особливо зручно, якщо ви плануєте вбудувати свій приймач у
жорсткий корпус.
Частота оновлення:
Зазвичай, модулі GPS мають стандартну частоту оновлення 1 Гц, яка забезпечує
стабільний потік даних для більшості повільних проектів. Однак, нові моделі
можуть надавати ще більшу швидкість передачі даних, таку як 5 Гц або 10 Гц і
більше. Ці високі швидкості оновлення, як правило, необхідні лише для швидких
проектів, наприклад, для квадрокоптерів або інших швидкоплинних об'єктів.
Важливо враховувати, що використання швидкості оновлення понад 1 Гц може
бути непрактичним для малих мікроконтролерів з обмеженою кількістю
оперативної пам'яті.
Розшифровка протоколів NMEA

1.3 Як ми отримуємо дані?


Більшість приймачів GPS, з якими ви маєте справу, використовують просте
послідовне з'єднання даних для передачі інформації. Зазвичай ці дані кодуються
символами ASCII, але деякі модулі також підтримують бінарні формати для
ефективнішої передачі. Використання ASCII полегшує інтерпретацію отриманих
даних. Інформація, що надходить від модуля GPS, відповідає стандарту NMEA
0183.
Протокол NMEA
Національна асоціація морської електроніки встановила стандарт NMEA 0183 для
багатьох різних бортових електричних пристроїв, що широко використовується
для обміну даними між ними, включаючи приймачі GPS. Цей стандарт дозволяє
різним електронним пристроям взаємодіяти та обмінюватися важливою
інформацією про місцезнаходження та інші параметри.
GPGSA - Цей рядок не лише повідомляє кількість активних супутників
глобального позиціонування та точність сигналу, але також надає інформацію про
тип фіксації: 2D (з використанням двох супутників) або 3D (з трьох і більше
супутників).

GPRMC - Ця частина даних містить не лише рекомендовані мінімальні


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

GPVTG - Покрім швидкості на землі у вузлах і кілометрах на годину, цей рядок


також може містити інформацію про курс (азимут) та допоміжні параметри для
навігації, такі як інформація про зміну швидкості та напрямок руху.

GPGGA - Даний рядок містить не лише повні координатні дані, але й деталізовані
дані про точність і висоту. Крім того, він надає інформацію про кількість
супутників, які приймаються, та час зйомки даних.

Розбір даних GPS вручну

Розберемо цю струну GPGGA:


Ідентифікатор пропозиції:$GPGGA (виправлені дані)
Час UTC: відформатовано як hhmmss.sss (години, хвилини, секунди та
мілісекунди) Широта: у форматі ddmm.mmmm (градуси, хвилини)
Показник N/S: N= північ, S = південь
Довгота: dddmm.mmmm
Виправлення позиції: 0 = недійсний, 1 = дійсний SPS, 2 = дійсний DGPS, 3 =
дійсний PPS Індикатор E/W: E= Схід, W=Захід
Використані супутники: використовуються супутники (0-12)
HDOP:

горизонтальне розведення точності (менші числа краще; значення більше 10


говорять про погані точність)
Висота:
Вказівка висоти за еліпсоїдом WGS-84 - це дещо складна концепція, оскільки вона
вимагає уточнень щодо того, яку висоту саме ви маєте на увазі. Земля, власне
кажучи, має форму еліпсоїда (схожого на стиснуту кулю), що вигиняється на
екваторі. В геодезії, цей еліпсоїд використовується як математична основа для
визначення середнього рівня моря по всій планеті. Однак, якщо ви прагнете до
більшої точності, вводиться поняття геоїда, який враховує нерівномірність
гравітаційного впливу Землі на її поверхню.
Одиниці висоти: M = метри
Розділення геоїдів: (Поділ геоїдів у метрах згідно з еліпсоїдом WGS-84)
DGPS Вік: вік даних DGPS в секундах
Ідентифікатор станції DGPS: базовий ідентифікаційний номер
Диференціальний GPS був створений, щоб покращити цілеспрямовано
погіршений цивільний сигнал GPS, який транслювався публічно в 1990-х роках.
Наземна мережа радіопередавачів виявилася дуже корисною для навігації для
невійськових користувачів, навіть після того, як не погіршений сигнал був
переданий на загальнодоступні в 2000 році, дозволяючи точність до <1 метра.
AdaGPS

Adafruit надає чудову бібліотеку для гри з даними GPS. За замовчуванням їхній
код покладається на спеціальні регістри AVR для виклику функції переривань для
збору даних із GPS, тому, якщо ви використовуєте плату Edison, вам потрібно
буде видалити це та опитувати вручну. Крім того, важливо зазначити, що UART
на Arduino Edison BoB — це Serial1 (Serial — це пряме COM-посилання до вашого
комп’ютера)

1.4 Структурна схема мікрокомп’ютера.

На (рис.1) представлена структурна схема мікрокомп’ютера, яка складається з


таких основних вузлів:
1) LCD дисплей WH1602B – дисплей для виводу довготи і широти.
2) Мікроконтролер STM32H747 призначений для керування різними
периферійними пристроями, такими як сенсори, актуатори, комунікаційні
інтерфейси тощо. На ньому виконується програмне забезпечення, яке
відповідає за обробку даних і керування різними функціями пристрою.
Крім того, він відповідає за передачу інформації на LCD дисплей, що
дозволяє відображати користувачу різноманітні дані та інформацію. GPS
модуль NEO-6M v2 – призначений для отримання геоданих, таких як
довгота та широта.

Рис. 1.1. Структyрна схема мікрокомп’ютера.

Мікрокомп’ютер складається з трьох основних вузлів: мікропроцесора, вузла


скиду та синхронізації, а також вузла периферії SPI. Вузол скиду призначений для
тимчасового затримання сигналу для того, щоб дозволити мікропроцесорним
пристроям правильно перезавантажитись та встановити початковий режим роботи.
Сигнал RESET активується на високому логічному рівні та використовується для
початкового скидання та ініціалізації процесора.Вузол синхронізації відповідає за
створення тактових сигналів, які необхідні для роботи всіх вузлів мікропроцесора.
Він з'єднується з мікропроцесором через виводи PC14 і PC15.
У цьому мікрокомп’ютері використовується оперативний запам’ятовуючий
пристрій з обсягом 64К та організацією. ОЗП підключається за допомогою
інтерфейсу I2C. Після запису даних у пам'ять, їх можна використовувати для
передачі через визначену периферію.
UART (універсальний асинхронний приймач/передавач) форма приймача-
передавача, що дозволяє обмін даними між пристроями у форматі послідовних
бітів. Він забезпечує зв'язок між паралельними та послідовними інтерфейсами,
зазвичай використовуючи стандарт RS-232.
Зазвичай UART відображає окрему мікросхему або частину мікросхеми, що
використовується для з'єднання з комп'ютером або периферійним пристроєм через
послідовний порт. В сучасних умовах багато мікроконтролерів вже включають в
себе функціональність UART. У випадку двох UART, які об'єднуються в одній
мікросхемі (DUART), можуть бути використані для здійснення двонаправленого
обміну даними. Багато сучасних мікросхем також мають можливість синхронного
обміну даними, в такому випадку вони відомі як USART.
1.5 Інтерфейс SPI.
Для з'єднання мікропроцесора (МП) з SPI портом використовується програмна
реалізація інтерфейсу SPI. Сигнали порту А мікроконтролера від А4 до А7
використовуються для цього, і вони відповідають сигналам SPI порту NSS, SCK,
MISO і MOSI відповідно.
Інтерфейс SPI дозволяє проводити високошвидкісну синхронну передачу даних
між МП та периферійними пристроями або між декількома МП. Взаємодія між
двома пристроями по SPI завжди відбувається між пристроєм, який працює в
режимі Master ("ведучий"), і пристроєм, який працює в режимі Slave ("ведений").
Інтерфейс SPI мікроконтролерів може бути налаштований як для роботи в режимі
Master, так і для роботи в режимі Slave.У цій системі активним є пристрій-мастер.
Він забезпечує тактовий сигнал, за яким здійснюється послідовна передача даних.
Пристрій-ведений не може генерувати тактовий сигнал і, відповідно, не може
самостійно ініціювати активність. SPI включає чотири сигнальні лінії: лінія
генератора зсуву (SCK), лінія "Вихід мастера, вхід веденого" (MOSI), лінія "Вхід
мастера, вихід веденого" (MISO) і лінія вибору веденого з низьким активним
рівнем (NSS). Під час активації SPI напрям передачі даних на виводах SCK,
MOSI,MISO і NSS змінюється відповідно до табл. 1.1.
Рис. 1.2. Схема підключення МП до SPI порту.

Таблиця 1.1. Виводи SPI.

Графіки сигналів на виводах SPI порту показані на рис. 1.3. Як видно з цих
графіків, сигнал NSS активний протягом усього часу обміну інформацією. Сигнал
тактової синхронізації SCK використовується як для передавання, так і для
отримання даних у цьому інтерфейсі.
Р
ис. 1.3. Діаграми сигналів на виводах синхронного послідовного інтерфейсу SPI
1.6 Технічні характеристики мікропроцесора.

Рис.1.4. Структурна схема мікроконтролера STM32H747


1.6.1 Опис основних функціональних вузлів
Зважаючи на багатофункціональність мікроконтролера STM32H747, додатковими
основними функціональними вузлами можуть бути:

 Апаратне забезпечення обробки сигналів: STM32H747 має можливість


обробки аудіо- та відеосигналів завдяки вбудованим апаратним модулям
обробки сигналів. Це робить його ідеальним для застосувань, де потрібна
обробка мультимедійних даних.

 Мережеві та комунікаційні інтерфейси: Мікроконтролер має можливість


взаємодії з різними мережевими пристроями через Ethernet, CAN, USB і інші
протоколи. Це дозволяє використовувати його в системах зв'язку та
мережевих додатках.

 Реальний час (Real-Time Clock): STM32H747 може використовуватися для


забезпечення точного відліку часу та керування реальним часом для різних
додатків, таких як системи контролю доступу або системи автоматизації
будинку.

 Апаратне шифрування і безпека даних: Мікроконтролер підтримує апаратне


шифрування даних та забезпечує різні заходи безпеки для захисту від
несанкціонованого доступу та зламу.

 Аналогові і цифрові периферійні пристрої: Вбудовані аналогово-цифрові та


цифро-аналогові периферійні пристрої дозволяють підключати й керувати
зовнішніми аналоговими та цифровими сенсорами, пристроями
введення/виведення тощо.
Ці функціональні вузли розширюють можливості мікроконтролера STM32H747 та
дозволяють використовувати його в різних застосуваннях, від вбудованих систем
до промислових проектів.
1.6.2 Структура пам’яті мікроконтролера.
Пам'ять мікроконтролера STM32H747 організована у вигляді кількох різних типів
блоків, які включають в себе програмну пам'ять, оперативну пам'ять, периферійні
реєстри та інші.
Основні типи пам'яті включають:
1) Flash-пам'ять: Вбудована програмна пам'ять для зберігання виконуваного
коду. Мікроконтролер STM32H747 може мати різний обсяг вбудованої
Flash-пам'яті, зазвичай від кількох сотень кілобайт до кількох мегабайт.
2) Оперативна пам'ять (SRAM): Вбудована оперативна пам'ять для
тимчасового зберігання даних під час виконання програми. Розмір
оперативної пам'яті також може варіюватися в залежності від конкретної
моделі мікроконтролера.
3) Периферійні реєстри: Це спеціальні регістри, які використовуються для
налаштування та керування різними периферійними пристроями, такими як
UART, SPI, I2C тощо.
4) Зовнішня пам'ять (External Memory Interface): Деякі мікроконтролери
STM32H747 мають можливість підключення зовнішньої пам'яті через
інтерфейс, що дозволяє розширити обсяг доступної пам'яті.
5) Інші резервовані області: Деякі частини пам'яті можуть бути зарезервовані
для системних потреб або для специфічних функцій, таких як заголовки
таблиць векторів переривань або EEPROM для збереження постійних даних.
Це загальна структура пам'яті мікроконтролера STM32H747, проте конкретні
параметри можуть відрізнятися в залежності від конфігурації та моделі пристрою.

1.6.3 Опис LCD дисплею WH1602B.


LCD дисплеї WH1602B виробництва компанії Winstar вже протягом тривалого
часу є невід'ємною частиною сучасної електронної апаратури. Вони відомі своєю
доступністю, широким розмаїттям параметрів, що дає розробникам можливість
вибирати дисплей відповідно до їхніх потреб. Особливості цих дисплеїв
включають великий діапазон робочих температур, різноманітність рядків для
відображення інформації, кількість символів у рядку (стандартні значення: 8, 12,
16, 20, 24 і 40 символів), а також розміри символів і самого дисплея.
Основні технічні характеристики WH1602B:
 Розмір: 16х2 символи (1602)
 Роздільна здатність: 5x8 точок (включаючи курсор)
 Робоча напруга: 5V (можливе використання при 3V)
 Можливість використання негативної напруги (при потребі) для +3V
 Duty cycle: 1/16
 Керування світлодіодом здійснюється через PIN1, PIN2, PIN15, PIN16
або A та K
 Модель WH1602B2: загальна товщина 10.0 мм
 Інтерфейс: 6800 (за допомогою чіпа ST7066 або еквівалентного),
також доступні варіанти SPI/I2C (за допомогою чіпа RW1063).

Рис. 1.5. LCD дисплей WH1602B

GPS модуль версії 2 з антеною і простим інтерфейсом комунікації відповідає


вимогам різноманітних проектів, де необхідно точно визначати місцезнаходження.
Він знадобиться у сферах авіаконструювання, виробництва мультикоптерів, а
також в устаткуванні для відстеження.

1.7 GPS модуль NEO-6M v2

Основні характеристики GPS модуля:

 Живлення: Модуль працює в діапазоні від 3 до 5 В, що робить його


сумісним з різноманітними джерелами живлення.
 Чіп: Вбудований чіп NEO-6M забезпечує надійну та точну роботу
модуля.
 Антена: Модуль комплектується керамічною антеною, яка забезпечує
стабільний прийом сигналу GPS.
 Енергонезалежна пам'ять EEPROM: Наявність EEPROM дозволяє
зберігати налаштування модуля навіть після вимкнення живлення.
 Сумісність: Модуль працює з більшістю контролерів польоту, які
підтримують GPS, що робить його універсальним рішенням для
різноманітних проектів.
 Розмір антени: Компактні розміри антени (25 х 25 мм) сприяють
простоті у встановленні та інтеграції.
 Інтерфейс: Основний інтерфейс комунікації -SPI, але також можливе
використання USB, SPI, I2C згідно з даташитом.
 Швидкість передачі даних: Стандартна швидкість передачі даних
становить 9600 біт/с, але може бути змінена відповідно до вимог
проекту.

Цей модуль забезпечить надійне та точне визначення географічного положення у


різних сценаріях застосування.
Рис.1.6 GPS модуль NEO-6M v2

GPS модуль NEO-6M v2 є високопродуктивним GPS-приймачем, призначеним


для точного визначення місцезнаходження в електронних пристроях. Він
використовує чіп NEO-6M із вбудованою керамічною антеною для надійного
прийому сигналів GPS. Модуль зазвичай працює з напругою від 3.3V до 5V і має
різноманітні інтерфейси, включаючи SPI. Швидкість передачі даних стандартно
становить 9600 біт/с, але може бути змінена залежно від потреб конкретного
застосування. Завдяки своїм компактним розмірам, модуль легко інтегрується в
різноманітні електронні пристрої і забезпечує надійний та точний вивід
географічних координат.
Рис. 1.7 Структурна схема модуля.
1.8 Схема електрична функціональна

Рис. 1.8 Схема електрична функціональна


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

You might also like