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