Прост любителски логически анализатор
Понеже нямам такъв и снощи ме прихвана една идея. Реших да направя анализатор работещ през UART (RS232) в случая преобразувател UART<->USB
CP2104 или CH340 (341) преобразувателите могат да работят до 2 000 000 бода в сек. Това са 2 MHz.
Принципно UART комуникацията стандартно се състои от 10 бита :
START бит, 8 бита данни и STOP бит.
Тук съм направил схема която генерира 2 MHz BAUD рейт.
Използвал съм подръчни TTL схеми. Вземам 5V направо от USB. Отдолу е брояч до 10 и формирователя дешифратор.
Тук съм начертал подробно формирователя:
Крайният резултат е диаграмата в началото. Тъй като един UART символ е 10 бита, реалната честота на семплиране е 200 kHz. Десетичният дешифратор превключва изходите, на които могат да се задават ръчно нивата.
Kлючовият транзистор в схемата превключва бит 7 който е старшият бит. Другите 0-6 съм ги свързал към (S) там те заедно със START бита се генерират като 0 (ниско ниво) при което по UART се изпращат символи 0x80 или 0x00 в зависимост от лог. състояние на входа на транзистора. Данните UART се получават в точката (S) която се свързва към Rx на CP2104. Ипулсите са с TTL ниво 5V. Резистора е 1kOm добре се държи при 1MHz.
Честотата на семплиране може да се направи и по-ниска ако се раздели допълнително 2 MHz до 1 или 500 kHz и т.н. Може да се използва направо кварц на 2 MHz.
Снощи я тествах на 1 MHz със CP2104 . Записът на потока от данни записах със програмата Secure CRT. Това е безплатна терминална програма. Записах файл proba.wav
Файлът отворих със програмата COOL edit, която също се намира безплатно. Програмата пита как да се отвори файла: Файлът се отваря като Raw data 8 bit mono, звуков файл, честотата на семплиране е 100 kHz 1/10 от тактова (BAUD rate)
Програмата изобразява записаните данни.
Засега е това, доста набързо го скалъпих 2-3 часа.
Оказва се, че ще ми върши работа за някои нещица.
Допълнителни идеи са да се семплират другите битове като други входове, но засега е това, все пак използвах готов софтуер за нещата...