Всем привет. Из-за ряда обстоятельств некоторое время проектом не занимался. Только недавно лапы дошли прошивку обновить.
- Код:
v0.17 - 16.06.2018
Добавлен генератор импульсной последовательности(DPATTERN)
Исправлен баг в алгоритме PULSE
Переделана инициализаци портов
Оптимизация кода
Основное нововведение - генератор цифровой последовательности(DPATTERN).
Генерирует последовательность цифровых импульсов на выходе D по заранее заданному шаблону. Данный генератор может пригодиться при тестировании различных однопроводных протоколов. Примерный аналог - генератор DPATTERN из симулятора PROTEUS. Активный уровень – лог.0, т.е. в выключенном состоянии выход D подтянут к питанию, для этого в схему добавлен резистор R47.
Настройка.
Сначала нужно задать T0 - время единичного значения периода. После установки T0 нужно повторно нажать кнопку УСТ.(SET), прибор перейдет в режим ввода шаблона.
В верхней строке дисплея выводится последовательность импульсов, в нижней строке - порядковый номер импульса и его период. Для перехода между импульсами используются кнопки +/-.
Каждый импульс задается двумя полупериодами, которые можно настроить по отдельности. Для этого нужно нажать кнопку РЕЖ. После этого на дисплее появиться символ '>' который указывает на настраиваемый полупериод, после чего кнопками +/- можно задать значение. Для переключения между полупериодами используется кнопка реж.
Длительность и полярность сигнала на выходе обозначается числом единичных периодов и буквами L или H соотвественно. Например, 1L5H означает, что в течении времени 1*T0 на выходе будет лог. 0, а затем 5*T0 лог 1.
Помимо цифровых значений в шаблоне может быть ещё 2 команды, которые всегда ставятся в конце последовательности: BRK и REP. Команда BRK - команда остановки генератора. Она используется, если шаблон необходимо воспроизвести 1 раз.
Команда REP обозначает повтор, т. е. при её выполнении генератор переходит на начало последовательности. В этом случае шаблон будет воспроизводится по кругу, отключение возможно вручную кнопкой ВКЛ.\ВЫКЛ.
Для выхода из режима настройки используется кнопка уст.
Пример. Нужно сгенерировать 1 импульс низкого уровня, длительностью 100мкс.
Устанавливаем Т0=100мкс. Шаблон будет иметь вид: 1LBRK.
Теперь сгенерируем 2 импульса - 100мкс и 500мкс с паузой в 600мкс. Т0=100мкс, шаблон будет иметь вид: 1L6H, 5LBRK
Задача чуть сложнее, имитируем отправку символа '@' (0x40) по протоколу UART. Для UART 9600/8-N-1, посылка будет состоять из 10бит, период одного бита равен 1с / 9600 = ~104мкс. Длительность посылки 1040мкс. В бинарном виде посылка будет иметь вид '0000000101'.
Устанавливаем Т0=104мкс, и вводим последовательность: 1L1L, 1L1L, 1L1L, 1L1H, 1L1H, BRK. Как видно, в начале последовательности идет 7 периодов низкого уровня подряд, поэтому её можно упростить до вида: 7L1H, 1L1H, BRK.
При обновлении прошивки нужно обязательно прошить eeprom, т.к. структуры с настройками несколько изменились.
- Вложения
-
- ndds.0.17.zip
- (19.72 KiB) Скачиваний: 1182