Перейти к содержанию
    

Какой интерфейс, размер ОЗУ или размер таблицы если нужно, частоты, какие ещё фенечки и т.п.

Например:

Интерфейс - параллельный, в ПЗУ зашита четверь периода синуса, не менее 1024 отсчета, слово 12 бит. Структура - с использованием накапливающего сумматора. С логикой восстановления целого периода из четвертинок. Максимальная скорость выдачи кодов - 100нс. Питание 5В. Настройка кода частоты - по SPI. Входы включения и старт/стоп.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Например:

Интерфейс - параллельный, в ПЗУ зашита четверь периода синуса, не менее 1024 отсчета, слово 12 бит. Структура - с использованием накапливающего сумматора. С логикой восстановления целого периода из четвертинок. Максимальная скорость выдачи кодов - 100нс. Питание 5В. Настройка кода частоты - по SPI. Входы включения и старт/стоп.

Мерси, psygash.

Можно было бы подумать о компактной реализации. Но:

4096 дискретов по х умножить на 100 нс = 0.4 мс -> 2.5 кГц максимально.

Кому-то нужен такой низкочастотный синус?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мерси, psygash.

Можно было бы подумать о компактной реализации. Но:

4096 дискретов по х умножить на 100 нс = 0.4 мс -> 2.5 кГц максимально.

Кому-то нужен такой низкочастотный синус?

Да, нужен именно такой. Может несколько больше 2-6кГц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4096 дискретов по х умножить на 100 нс = 0.4 мс -> 2.5 кГц максимально.

Кому-то нужен такой низкочастотный синус?

Не, вы не понимаете гениальную сущность DDS :)

Размер таблицы определяет максимальное разрешение по частоте и фазе, а максимальная частота синуса может быть вплоть до половины тактовой, согласно теореме Котельникова

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Размер таблицы определяет максимальное разрешение по частоте и фазе, а максимальная частота синуса может быть вплоть до половины тактовой, согласно теореме Котельникова

Может, но фильтр нужен крутой. Лучше ограничиться 1/8 от тактовой...

Для таблицы на 1/4 синуса нужно много памяти.

 

4096 дискретов по х умножить на 100 нс = 0.4 мс -> 2.5 кГц максимально.

Кому-то нужен такой низкочастотный синус?

Это вы минимальную частоту посчитали, при заданной тактовой. Максимальная - когда из таблицы берется несколько точек (в пределе больше 2, в реальности - пусть, 8). 1 / 100 ns / 8 = 1.25 MHz. Тоже мало, надо бы тактовую частоту поднять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Звиняйте, господа. Прикинул потребные ресурсы - в этот кристалл такая задача не влезет. Несмотря на ухищрения с минимизацией и заменой SIN ROM на жёсткую логику (получилось около 800 двухвходовок) . Да еще PLL городить и быстрый сумматор ...

 

В ожидании других интересных предложений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ваши микросхемы ориентированы на промышленность и гражданских или на милитари? )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ваши микросхемы ориентированы на промышленность и гражданских или на милитари? )
На востребованность.

Но, видите как - либо многое уже есть из импорта, либо технологии не позволяют составить конкуренцию.

Получается, что разработчиков и так неплохо кормят комплектацией. Раз интереса маловато даже на предлагаемых условиях. Ну, или это не та площадка для таких вопросов. А другой-то и нет. Не рассылкой же по конторам заниматься.

 

Раз такое дело, - можно переформулировать задачу под небольшой ASIC. Отброшу универсальность.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Раз такое дело, - можно переформулировать задачу под небольшой ASIC. Отброшу универсальность.

 

А он же, в общем, как я понимаю, просто стойкий gate array? Куча предразведенных транзисторов без слоев металла, соединяй, не хочу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А он же, в общем, как я понимаю, просто стойкий gate array? Куча предразведенных транзисторов без слоев металла, соединяй, не хочу?
Да, типа того. Плюс заготовка под универсальный ПАД, который металлом можно превращать почти в любой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет. Тему решил оживить.

По причине того, что в минуты расслабленного созерцания энтропии придумал компактную реализацию преобразователя кода в код синуса.

 

Но, возник вопрос - а это кому-то нужно вообще?

И если нужно, то что именно?

Имеет ли это какую-то перспективу в виде ASIC?

 

Вот, например, уважаемый psygash.

Да, нужен именно такой. Может несколько больше 2-6кГц.

Составил вводную.

Вы такое хотели или что-то другое:

Постановка задачи для цифрового генератора функции синуса.

 

1. Дискретизация по Х.

13-ти разрядное число, 13-ый разряд зарезервирован под знак.

12-й и 11-й разряды определяют квадранты функции (по четверти периода).

00 – первый; 01 – второй; 10 – третий; 11 – четвёртый квадрант.

В каждом квадранте 10 разрядов дискретизации.

Диапазон значений аргумента в этих 10 разрядах - от 0 до (210 -1) =1023.

Количество значений аргумента 1023*4-1=(212-1) =4095 для полного периода функции.

По значению 212 начинается новый период, эквивалентно x=1

Число занимает 12+1 разрядов данных полностью,

от bin S 0000 0000 0000 до bin S 1111 1111 1111. S – знак.

Длительность одной дискреты по Х:

α = 360/4095 = 0,08791208791208791208791208791209 градусов.

Или dX= 2pi/4095 = 0,00153435538636864138630654133494 радиан

α[рад] = a[°] : (180° / pi)

 

2. Стандартная функция со знаком, без смещения по Y.

Сигнал симметричен относительно оси Х, имеет значение 0 при Y=0.

13-ти разрядное число, 13-ый разряд – знак. Единица соответствует минусу.

Минимальное значение функции равно –213+1 = – 8191.

Максимальное значение функции равно 213-1 = 8191.

Число занимает 12+1 разрядов данных полностью, от

bin S 0000 0000 0000 до bin S 1111 1111 1111. S – знак.

 

Реализуется функция Y=8191*sin(F),

где F=dX*N, N-входное 13-ти разрядное целое число со знаком (см. п.1)

Y округляется до целого по математическим правилам.

 

Или нужен совсем другой синус. Например, 16-ти разрядный. Или в виде, например, 100 000 *sin(x) ?

С добавленной функцией cos(x), sin(x)/x и т.п.

Вычисление таких функций по разложению в ряды требует неслабых ресурсов железа.

И внешняя "тригонометрическая ASIC" могла бы быть востребована?

Какие, вообще, синусы в "ходу"? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По причине того, что в минуты расслабленного созерцания энтропии придумал компактную реализацию преобразователя кода в код синуса.

компактную реализацию - это вообще без умножителей?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

компактную реализацию - это вообще без умножителей?
Да, только микроскопические сумматоры и полусумматоры. Чистая комбинаторика.

Не, умножение как бы есть местами, на константы. Но, такое нежное, почти незаметное. :)

 

см. Direct Digital Synthesis
Век бы на них не смотреть. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...