Найти тему

Функциональный генератор на ПЗУ

Пример использования для генерации ШИМ
Пример использования для генерации ШИМ

Как-то раз для одной учебной работы понадобилось генерировать синус и треугольник. На МК и ОУ уже делала, решила попробовать сделать с использованием ПЗУ.

Схема совершенно сферичная в вакууме, собиралась только в симуляторе Proteus. В нее входят:

  • микросхема памяти EPROM, на которую записаны 4 таблицы по 63 значений сигнала пилы, треугольника, синуса и сложносочиненной функции sin(2.5cos(x)). Переключение типа сигнала происходит добавлением сдвига адреса (на входах A6, A7). Значений 63, т.к. изначально в работе надо было сделать трехфазный синус, а 63 отлично делится на 3.
  • генератора импульсов и счетчика с ограничением модуля счета 62 (адреса-то с 0 считаются)
  • ЦАП для преобразования кодов с памяти в аналоговый сигнал
  • Преобразователь ток-напряжение на ОУ для преобразования токового выхода ЦАП в напряжение, позволяет регулировать амплитуду сигнала и смещение нуля
  • RC-фильтр для сглаживания формы напряжения
Схема в Proteus
Схема в Proteus

Сгенерированные сигналы:

HEX-файл сгенерирован с помощью небольшой самописной утилитки на Python (вот статья про нее), значения сигналов подсчитаны и запиханы в текстовый файл с помощью numpy.