Не так давно, на сайте появилась версия программатора RH-0010. Это, по-сути, улучшенный вариант шлюза RH-0004 с расширенными возможностями и дополнительными модулями. Подробно про него можно почитать вот здесь.
Одной из особенностей программатора RH-0010 является значительно увеличенное количество GPIO (до 17 штук), что позволяет использовать его, например, в качестве анализатора микросхем стандартной логики. Всё, что для этого нужно — это удобное ПО для управления пинами. Можно конечно использовать для этого программу i2c_spi_1w_common (можно найти и скачать вот здесь), но она не очень удобная, поэтому я написал другую программу, специально под задачу управления пинами и сегодня об этой проге расскажу.
Главное окно программы:
В этом окне с помощью набора чекбоксов и выпадающих списков можно менять настройки и мониторить состояние для каждого из пинов GPIO. Настройки доступны следующие:
- Выбор пина (для настройки и мониторинга). Выбор осуществляется установкой галочки напротив соответствующего пина в столбике «USE». Далее, во-первых, программа начнёт мониторить настройки и состояние пина (направление работы, подтяжки, сигнал на входе и так далее) и, во-вторых, станут активными поля, позволяющие изменять все остальные настройки этого пина.
- Выбор направления работы пина. Желаемое направление работы выбирается из выпадающего списка в столбике «DIR»
- Включение/отключение подтягивающего резистора. Эта опция доступна только если для пина установлено направление работы на вход. Выбор осуществляется из выпадающего списка в столбике «PULL-UP».
- Мониторинг/изменение состояния. В чекбоксе из столбика «STATE» указывается состояние сигнала на входе/выходе (галочка установлена — высокий уровень, снята — низкий). Причём, если для пина установлено направление работы на вход, то изменение этого состояния недоступно.
Для управления выходами питания (+5/3.3 и +12 Вольт) предусмотрены чекбоксы в верхней части окна. Галочка устаовлена — питание включено, галочка снята — питание выключено.
Как видите, всё довольно просто.
Технически всё это устроено следующим образом: каждый раз при изменении в программе каких-либо настроек (когда вы устанавливаете/снимаете галочку или выбираете что-то в выпадающем списке) — программа посылает программатору команды, меняющие соответствующие настройки в программаторе. API для работы с программатором открыт, все команды можно найти вот по этой ссылке.
Как всегда, выкладываю не только саму программу, но и исходники:
7z-архив с программой (278 Кбайт)
7z-архив с исходниками на C++ Builder 6 (423 Кбайт)
P.S. Чуть не забыл самое главное, — для чего эту программу можно использовать? Использовать можно, например, для тестирования различных микросхем стандартной логики, — И / ИЛИ / НЕ в различных комбинациях.
Алгоритм здесь такой:
- Часть пинов программатора настраиваем на выход и подключаем ко входам тестируемой микросхемы (подключать нужно через резисторы на случай, если входы микрухи пробиты на землю или питание)
- Часть пинов программатора настраиваем на вход и подключаем к выходам тестируемой микросемы (тут резисторы не нужны, входы программатора и так высокоомные)
- Подключаем и подаём на тестируемую микросхему питание
- Меняем состояния на пинах, подключенных ко входам микросхемы, и смотрим, правильно ли меняются состояния на её выходах.