ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
981267 Топик полностью
my504 (24.02.2020 18:26 - 18:31, просмотров: 249) ответил Ксения на Про аккумулятор-накопитель расскажите, если можно, подробнее. А то мне бы вообще хотелось генерить частоты ЦАПом (встроенным в МК) на манер DDS, но его едва ли заставишь работать быстрее, чем 100 МГц. Тогда как при 100 МГц длина буфера получатся
Алгоритм синтеза в МК любого количества частот будет выглядеть следующим образом: Имеем на каждую синтезируемую частоту по одному аккумулятору фазы (пусть будет 32 разряда) и по одному регистру шага фазы (регистр частоты DDS, пусть будет 16 разрядов). Создаем тактовую частоту DDS с помощью любого таймера, отсчитывая им события (моменты) загрузки DAC-ов. То есть переполнение таймера должно приводить к загрузке всех DAC, одновременно генерируя прерывание, где в обработчике к текущим значениям аккумуляторов прибавляются значения регистров частоты (переполнения игнорируются) и старшие 10...12 разрядов результата преобразуются через ROM синуса в значения для загрузки DAC-ов. Эти значения грузятся в буферы DAC-ов и при следующем событии от таймера они будут проталкиваться на аналоговый выход (или в ШИМ, если нет DAC-в). Вот и все. Для 100 МИПСов МК вполне реально генерировать 5 МГц накачки DDS. Но только если писать на АСМе. И этим будет занят весь МК. Ни на что другое времени уже не останется. Зато параллельно можно вести два...три синтезатора. Качество синтеза будет для Ваших 160 кГц очень пристойным. Шаг частоты будет составлять 1 ТЫСЯЧНАЯ Герца. (частота накачки деленная на 2^32, где 32 - разрядность аккумулятора фазы)