Автопортал || Авто - статьи

Сельскохозяйственная техника
Чтение RSS

Мініатюрний 4-канальний логічний аналізатор на AVR

Vassilis Serasidis

Логічний аналізатор - це інструмент, який дозволить побачити і проаналізувати послідовність логічних 0 та 1 в цифровому сигналі. Наприклад, можна вивчити цифровий сигнал з ІК приймача-демодулятора типу TSOP-1736 , Вихідні та вхідні сигнали мікросхеми MAX232 , А також шину I2C (лінія тактирования і лінія даних) у багатьох електронних пристроях.

У статті ми розглянемо конструкцію мініатюрного 4-канального логічного аналізатора з ЖК дисплеєм від мобільного телефону Nokia 5110/3110. Основою конструкції є мікроконтролер Atmel ATmega8 , Крім нього використовуються ще кілька дискретних компонентів.

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

  • 4-канальний логічний аналізатор;
  • можливість дослідження сигналів з частотою до 400 кГц;
  • вхідна напруга до +5 В;
  • ЖК дисплей з роздільною здатністю 84 × 48 точок;
  • живлення від 4 акумуляторів 1.2 В, максимальна напруга живлення 4.8 В;
  • пам'ять: від 3.7 мс для високошвидкісних сигналів до 36 с для низькошвидкісних сигналів;
  • кнопки управління;
  • проста конструкція.

Принципова схема

На рисунку 1 представлена ​​принципова схема приладу. Відразу слід зазначити, що прилад харчується від 4 акумуляторів з напругою 1.2 В кожен.

Натисніть для збільшення
Натисніть для збільшення

Увага!!!

Харчування від 4 батарейок з напругою 1.5 В неприпустимо, при такій схемі приладу, так як напруга 6 В може вивести з ладу мікроконтролер і ЖК дисплей.

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

У схемі використовується ЖК індикатор від мобільного телефону Nokia 3310/5510, він розрахований на роботу при напрузі живлення 3.3 В - 5.0 В, проте максимальна напруга для підсвічування дисплея - 3.3 В, тому в схемі установленo три послідовно включених діода 1N4007 (D1-D3) по лінії живлення підсвічування дисплея. Завдяки диодам напруга знизиться до 2.7 В і його цілком буде досить для харчування підсвічування.

Процес захоплення даних і програмне забезпечення

Слід зазначити, що автором підготовлені дві версії прошивки мікроконтролера. Спочатку, для версії 1.00 логічного аналізатора, використовувалася інтегрована середовище розробки AVR Studio 4.18, але потім автор перекомпіліровать вихідний код і для AVR Studio 5 - версія 1.01. Після перекомпіляції під 5 версію середовища розробки і подальшого тестування приладу, було помічено поліпшення стабільності захоплюваних сигналів.

Запис сигналів ведеться у внутрішній буфер пам'яті ОЗУ, який розрахований на 290 відліків. Буфер даних утворений 870 байтами (для 1 версії програми мікроконтролера) з яких 2 байта використовуються для лічильника і 1 байт для інформування про вхідному каналі. У версії 1.01 буфер даних був скорочений до 256 × 3 = 768 Байт з метою збільшення швидкості захоплення даних, тому що змінна розміру буфера є 8-бітної, замість 16-бітної, яка використовувалася в першій версії ПЗ.

01 буфер даних був скорочений до 256 × 3 = 768 Байт з метою збільшення швидкості захоплення даних, тому що  змінна розміру буфера є 8-бітної, замість 16-бітної, яка використовувалася в першій версії ПЗ

Після подачі живлення, мікроконтролер переходить в режим очікування імпульсу на будь-якому з 4 входів приладу. За визначенням вхідного імпульсу мікроконтролер починає підрахунок часу до надходження наступного імпульсу на будь-якому з 4 входів. Тривалість вибірки зберігається в 16-бітної змінної «counter». Після переповнення цієї змінної інформація про стан 4 входів і значення лічильника зберігаються в буфері і значення його адреси збільшується на три (2 байта для лічильника і 1 байт - інформація про вхідний лінії). Цей процес повторюється поки мікроконтролер не заповнить весь буфер (870/3 = 290 вибірок або імпульсів). Процес запису сигналів в пам'ять мікроконтролера зображено на малюнку 2.

Після заповнення буфера, всі накопичені дані відображаються на РК дисплеї у вигляді осцилограми. Користувач може управляти осцилограмою - пересувати вліво (кнопка S3) або вправо (кнопка S4), щоб переглянути всю збережену послідовність імпульсів. Якщо були записані низькошвидкісні сигнали, то користувач може змінити масштаб в пропорції 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 або 8192 натисканням на кнопку S2.

При програмуванні мікроконтролера необхідно встановити Fuse-біти відповідно до малюнком.

При програмуванні мікроконтролера необхідно встановити Fuse-біти відповідно до малюнком

Вид друкованої плати і розташування компонентів

Вид друкованої плати і розташування компонентів

Демонстрація роботи приладу

завантаження

Принципова схема, малюнок друкованої плати, вихідний код і файл для прошивки мікроконтролера (v1.0, AVR Studio 4.18) - завантажити

Вихідний код і файл для прошивки мікроконтролера (v1.01, AVR Studio 5) - завантажити

serasidis.gr

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

  • Як я зрозумів, ваш дисплей з "гумкою", встановлений він на саморобну хустці, тобто струмопровідна гумка стосується доріжок які ви нарізали на хустці. Якщо так, то майте на увазі - це найслабше місце конструкції ... Fuse-біти перевіряли (зчитували)? Правильно встановлені? Я не виключаю і проблему в самому дисплеї. Я ще вихідні гляну, може там щось можна налаштувати / змінити щодо дисплея ...
  • Vadzz, так, я це розумію, найвразливіше місце .. Я знайшов якийсь мобільний, з кроком контактів як у мого екрану. Як буде час спробую зробити .. Питання ще в тому, робочий чи екран, не спалив я його контролер (якщо це можливо). А поки закину цю ідею. Дуже складно дістати готовий екран цей і він коштує більше ніж цей пристрій потрібно .. Я краще зроблю такий же пристрій, тільки висновок даних на комп'ютер через usb. (За підручником http://eldigi.ru/site/comp/18.php). Все одно роблю за комп'ютером і все через usb роблю .. Або ж один робить диплом на тему мініатюрний осцилографи usb. Схема на єдиному елементі AtTiny і кварц. + Висновок даних в програму на комп'ютері у вигляді тимчасової діаграми \ лінії .. Візьму у нього .. ПО я зроблю .. Я цю штуковину почав робити тому що вона так красиво і пафосно виглядає з боку;) А особливо працює .. ну ниче, почну працювати з китайськими передавачами доведеться її зробити .. Там вже на імпульси потрібно дивитися і аналізувати .. А так спасибі за допомогу)
  • Хлопці, зацените) Все таки не втримався .. Передню панельку ще думаю дооформлю.
  • Радий що все вийшло і запрацювало, виглядає норм. Тільки розкажіть по-докладніше в чому була проблема (напевно, все ж дисплей не працював), для багатьох буде корисна ваша інформація (якщо не секрет, звичайно). Дякуємо.
  • Ну проблема була в дисплеї. І то я купив не червона, а синій, з цього ще контакти не зійшлися по розташуванню, і трохи в назві різняться. Підключення (на схемі \ синій дисплей): Vcc-Vcc GND-GND Rst-Rst SCE-CE D \ C-DC DN-Din SKLK-CLK LED-BL Якщо буде бажання-спробую вставити \ запустити свій старий дисплей. Подивлюсь, може він згорів .. а то стільки мучився з ним.
  • Невеликий тест приладу, пару багів. 1) При перемотуванні довго мотаємо вперед, потім назад і в якийсь момент воно відмовляється рухати назад і заклинює на якомусь значенні. Можна прокрутити ще вперед і знову назад і після цього клинить на іншому значенні .. Ось фото, хоча тут нічого не видно буде http://s017.radikal.ru/i433/1306/57/cf1dfbd2f106.jpg 2) При перемотування змащується тимчасова діаграма http://s60.radikal.ru/i169/1306/33/1c23e0d9815c.jpg http://i066.radikal.ru/1306/9f/c894839ca1fd.jpg 3) При зміні зума перемотування скидається в 0-ю позицію ( але не завжди). Потрібно пофиксить чтоле .. Думаю можна було б додати пару ласощів в проект: Сенсорні кнопки (реалізуються елементарно, всього три МОМ-них резистора) Вольтметр (GND постійно підключений, з цього непогано було б на АЦПшніке зробити чтоле бо кожен раз мультиметр підключати не те , а цей допоміг би. Вимірює в межах до 5в, як раз для ціфровухі). Осцилографи (не знаю як, але було б дуже непогано. Головна проблема думаю з відображенням буде). Підключення через USB до ПК. Відображення рвеменной діаграми в програмі- святе. Якщо робити осцилографи, то в програмі буде простіше відображати все .. Виглядати буде приблизно так (моя програма) http://s48.radikal.ru/i119/1306/eb/9c25ff0d3d7b.png Так само можна програмою щось змінювати в налаштуваннях приладу ..
  • До речі, в протеус дана штуковина непогано симулюється ..
  • Зібрав девайс. Чи включається, показує. Якщо без резисторів 33К (і без джерел сигналу), то при включенні всякі гребінки побачити можна. З резисторами і джерелом (TSOP ик і spi-девайс) - все лінії рівненькі. Ніякої реакції абсолютно. Куди рити щось?
  • Інпут замикаються на + а не на землю щоб показувало. Мені довелося інвертувати вихід TSOP.
  • Індикатор від телефону теж заробив. У мене спочатку не показував нічого, поставив резисторні подільники на входи дисплея від мк і все запрацювало. 1 кому від мк до дисплея і 3,3 кому від дисплея на землю
  • інвертування не допомагає
  • Прошивка з виправленими помилками і з додатками (UART, Частотомер, Редактор пропусків перед виміром, а також ще до нього програму для комп'ютера. Analizator.exe Опис: Analizator_PC V2.1 Analizator.exe 4_канальний логічний аналізатор.DSN Опис: Analizator_proteus http: // www.fayloobmennik.net/4274643 Analizator.hex Опис: Analizator_Atmega8 http://www.fayloobmennik.net/4291611 4_канальний логічний аналізатор Опис: Analizator_shema http://www.fayloobmennik.net/4285824 2й варіант http://radikal.ru / fp / d4a79d41ed074dc1a44ec03cacf87088 Вихідні тексти ДЛЯ аНАЛІЗАТОРА КОМУ ЦІКАВО. AnalizatorKSA.zip Не сумнівайтеся все працює так як треба! У вас тепер з'явиться можл ожность перевірити це в симуляторі, а також покопатися в ісходніке.Ізбавляю вас від рутинної роботи. Не судіть за мої там коментарі, у кожного вони свої. До того ж це чернетки, а не комерційний продукт. Моя поставлена ​​мета була досягнута, тому чернетки так і залишилися чернетками. Ви можете робити з ними все, навіть вирвати у них серце. А мета була одна - зробити його зручним, більш точним, надійним. Все, що я зробив ви можете прочитати в моїх 2х програмах для РС в розділі "Довідка" Для аналізу і порівняння отриманого результату я викладаю вихідний текст основної вимірювальної програми Vasilisa Serasidisa. Подивіться, і порівняйте скільки тактів витрачається на вимірювання у мене, і у нього. І переконайтеся, що кращі програмісти це р у з з до і е !!! Додам: З тих пір як сконструював 2 версії аналізаторів вирішив безліч проблем пов'язаних з цифровим обміном і по шині CAN і I2C пультів тощо. Варіант на ATmega48 навіть краще зі швидкісними протоколами. Наприклад, CAN в 140 Кбіт аналізував просто на ура! на відміну від не без відомого аналізатора Digan. Та й сам він завбільшки з флешку. Всім удачі! Izmerenie.txt викладають НОВУ ВЕРСІЮ (3йваріант) БІЛЬШЕ ПОТУЖНОГО АНАЛІЗАТОРА, А також попередні версії з додаванням І ФАЙЛОМ протеус ПОСИЛАННЯ НА АРХІВ http://www.fayloobmennik.net/5569369
  • 1. Хто повторив оригінальний варіант - від Seradis, чи немає серйозних багів, які роблять взагалі непридатність девайса - типу завжди пропускається перший байт і т.п.? Вище пишуть про "відображення епюр", але хотілося б, що вони саме були достовірні :). 2. Сергей7 не викладати исходник, що не дає оцінити його функціонал в повній мірі. Якщо виготовити спочатку оригінал, то будуть потрібні зміни в апаратке для подальшого розвитку девайса з доопрацювання Сергея7?
  • Відправляв вам повідомлення і ніякої реакції. Дійшло чи?
  • напевно ні. ... :( Дякую за вихідні! Счас подивлюся .....
  • Радий допомогти!: D
  • Прошивки з додатками (UART, Частотомер, Редактор пропусків перед вимірюванням в AnalizatorKSA.zip немає
  • може печатка в lay є у кого?
  • Подивіться новий варіант, я виклав. І попередній доопрацьований теж (з прошивкою, файлом протеуса і дороб.программой).
  • в чому писали і можна повну схему я так і не зрозумів по чому збирати і скільки іни проц пише в себе для передачі по Уарте

При передруці матеріалів з сайту пряме посилання на РадіоЛоцман обов'язкове.

Запрошуємо авторів статей та перекладів до публікації матеріалів на сторінках сайту.

Fuse-біти перевіряли (зчитували)?
Правильно встановлені?
Куди рити щось?
Якщо виготовити спочатку оригінал, то будуть потрібні зміни в апаратке для подальшого розвитку девайса з доопрацювання Сергея7?
Дійшло чи?