Этот миниатюрный 4-канальный логический анализатор на микроконтроллере Atmega8 представляет собой инструмент для просмотра на ЖК-дисплее (LCD 5110) логических переходов 0 или 1 цифрового сигнала данных.

Характеристики логического анализатора
- Частота захвата: 400 кГц
- Напряжение логических входов: до + 5В
- Источник питания: максимум 4,8 В
- Жидкокристаллический дисплей: (LCD 5110) 84×48 пикселей
Введение
Цифровой сигнал данных можно найти на выходном контакте инфракрасного приемника TSOP-1730, на контактах передачи и приема микросхемы MAX-232 (RS-232), на контактах Clock и Data шины данных I2C и многих других электронных компонентах. Эта схема поддерживает захват цифровых сигналов до 400 кГц.
Описание
Рабочее напряжение схемы составляет 4,8 В от 4 аккумуляторных батарей по 1,2 В. Для начала работы включите переключатель S1. После начальных заставок на ЖК-дисплее вы увидите сообщение о том, что AVR ожидает изменения сигнала на входных контактах.

По всем 4 входам AVR имеются понижающие резисторы сопротивлением 33 кОм (R2-R5), позволяющие избежать ложного срабатывания из-за внешнего электромагнитного поля или случайного прикосновения руки к любому входному контакту.
ЖК-дисплей Nokia 3310/5110 работает от источника питания 3,3 — 5 В. Проблема в том, что подсветка ЖК-дисплея работает с максимальным напряжением 3,3 В постоянного тока. Поэтому я поставил диоды D1-D3, чтобы уменьшить напряжение с 4,8 В до 4,8 — (0,7 * 3) = 2,7 В, что является оптимальным напряжением питания ЖК-дисплея Nokia.
Когда вы подаете питание на схему, светодиод LED1 находиться в выключенном состоянии. После появления сигнала на любом из 4 входов этот светодиод включается, и микроконтроллер начинает запись данных во внутренний буфер RAM (290 выборок).
Печатная плата анализатора:
ВНИМАНИЕ!!!
Не используйте обычные щелочные батареи на 1,5 В вместо аккумуляторных, так как в этом случае общее напряжение будет составлять 4 х 1,5 = 6 В. Это напряжение, вероятно, выведет из строя ЖК-дисплей и микроконтроллер AVR.
Как вы можете видеть на рисунке выше, буфер данных состоит из 870 байтов (v1.00): 2 байта для счетчика и один для информации о входных контактах.
В версии 1.01 размер буфера данных был уменьшен до 256 * 3 = 768 байт для увеличения скорости захвата, потому что переменная размера буфера составляет 8 бит вместо 16 бит, которые я использовал раньше. Расчет следующего байта должен выполняться в соответствии с используемой версией прошивки.
Фьюзы которые необходимо выставить при программировании микроконтроллера Atmega8:
Как это работает? Очень просто. После включения питания AVR ожидает запускающего импульса на любом из 4 входных контактов. Если обнаружен запускающий импульс, AVR начинает отсчет времени, необходимого для следующего запуска на любом из 4 входных контактов.
Длина выборки хранится в 16-битной переменной с именем «counter». Когда эта переменная переполняется, состояние 4 входных контактов и значение счетчика сохраняются в буфере, а его адрес увеличивается на 3 (2 байта для счетчика и 1 байт для входных данных контактов).
Этот процесс выполняется до тех пор, пока AVR не заполнит все байты буфера (870/3 = 290 выборок или триггеров). Когда AVR заполняет буфер, все данные отображаются на ЖК-дисплее в виде графика. Вы можете переместить график влево (кнопка S3) или вправо (кнопка S4), чтобы просмотреть всю последовательность данных.
Скачать прошивку (121,6 KiB, скачано: 280)
