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

преобразователь КОД-ЧАСТОТА

рекомендуется все регистры сбрасывать по питанию именно в 0. Можно и в 1, но это требует дополнительных ресурсов. Это так, к слову.

Так, к слову, дополнительных ресурсов не требует. Альтера это делает инверсией входа и выхода триггера.

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


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

Так, к слову, дополнительных ресурсов не требует. Альтера это делает инверсией входа и выхода триггера.

Да, но это же дополнительные все-таки ресурсы :). По крайне мере я так понял. А их фитер мог бы для чего-нибудь другого использовать. Или нет?

Изменено пользователем barabek

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


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

Как можно И "моментально" среагировать И "не терять предыдущего". Разве это возможно? Вы привели пример : "Вот в случае если записан код для 1сек. то ЧПУ в этот момент может изменить 1000раз." Допустим такую ситуацию. Записан код на 1с. Прошло допустим 0,011 секунд. Пришел код на 10мс. Теперь возможны 2 ситуации. 1. Т.к. уже отсчитано более 10мс, перегружаемся и считаем заново (мое предложение - один из вариантов). 2. Досчитываем до 1 с, а затем переходим на новую частоту (например, Ваш вариант). Но И то И одновременно другое реализовать нельзя. ИЛИ-ИЛИ. Может я что-то не догоняю?

А на счет ресурсов - так их же много :). А если у Вас нужно предусмотреть reset, то у ALTERы, например, рекомендуется все регистры сбрасывать по питанию именно в 0. Можно и в 1, но это требует дополнительных ресурсов. Это так, к слову.

Я думал в таком плане. Когда приходит новый код то берется из счетчиков код и логически

складываем с новым кодом и опять в счетчик, а как мы знаем лог. 1+1=1 т.е. получается в счетчике

будет новый код + недосчитанный код. Наверное вот это и будет "моментальное" реагирование. Помоему должно работать, только как это аппаратно более гибко сделать?

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


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

Вот у меня такая блок-схема прорисовывается. Для примера нарисовал 4разрядный преобразователь

код-частота. Я конечно не симулировал эту схему, но вроде должно работать, только надо

выход тоже простробировать входной частотой. Здесь как бы получается "моментальное" реагирование

на входной код не теряя код в счетчике. Ваше мнение?

post-39936-1227091118_thumb.jpg

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


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

Согласен с Dopler.

 

Спасибо. Я так тоже думал, это один из вариантов.Но это тоже самое, когда код маленький счетчик

долго переполняется, а в случае пока он не переполнился код допустим поменялся(резко вырос)

нужно соответственно и код менять + тот код который не досчитал, а не ждать пока он досчитает.

Вот это будет наверное более реальное воздействие.

Это будет не реальное воздействие. Т.к. здесь используется не терминология счётчиков: досчитал и переполнился, а терминология мгновенной фазы и скорости её изменения. Соответственно быстрые изменения частоты (скорости изменения мгновенной фазы) не будут накапливать ошибку результирующей частоты. Выходным сигналом будет служить старший бит регистра сумматора.

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


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

Согласен с Dopler.

Это будет не реальное воздействие. Т.к. здесь используется не терминология счётчиков: досчитал и переполнился, а терминология мгновенной фазы и скорости её изменения. Соответственно быстрые изменения частоты (скорости изменения мгновенной фазы) не будут накапливать ошибку результирующей частоты. Выходным сигналом будет служить старший бит регистра сумматора.

Как я понял, Dopler описал принцип X = X+КОД до какого то максимального значения. Т.е. чем

больше код, тем быстрее досчитает до этого значения. Но мне кажется, что если по ресунку

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

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


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

Как я понял, Dopler описал принцип X = X+КОД до какого то максимального значения. Т.е. чем

больше код, тем быстрее досчитает до этого значения. Но мне кажется, что если по ресунку

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

Вы же сами говорили, что преобразователь должен "правильно" себя вести в случае когда скорость изменения частоты намного выше периода выходного сигнала. Для аккумулятора фазы это будет означать лишь быстрые изменения скорости перемещения выходного сигнала из одного состояния в противоположное.

Аппаратная реализация довольно проста: регистр для мгновенной фазы, регистр для кода частоты и сумматор, который синхронно с опорной частотой производит их суммирование, а результат опять сохраняет в регистре мгновенной фазы. Переполнение этого регистра не имеет значения, и эквивалентно переходу фазы с 2*Pi обратно на 0. Старший бит можно интерпретировать как знак косинуса текущей фазы:

от 0 до Pi -> +1 (для лог. "1")

от Pi до 2*Pi -> -1 (для лог. "0")

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


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

Вы же сами говорили, что преобразователь должен "правильно" себя вести в случае когда скорость изменения частоты намного выше периода выходного сигнала. Для аккумулятора фазы это будет означать лишь быстрые изменения скорости перемещения выходного сигнала из одного состояния в противоположное.

Аппаратная реализация довольно проста: регистр для мгновенной фазы, регистр для кода частоты и сумматор, который синхронно с опорной частотой производит их суммирование, а результат опять сохраняет в регистре мгновенной фазы. Переполнение этого регистра не имеет значения, и эквивалентно переходу фазы с 2*Pi обратно на 0. Старший бит можно интерпретировать как знак косинуса текущей фазы:

от 0 до Pi -> +1 (для лог. "1")

от Pi до 2*Pi -> -1 (для лог. "0")

Я всего лишь хочу сделать аналог ЦАПа, только здесь выход КОД-ЧАСТОТА, а в ЦАПе КОД-НАПРЯЖЕНИЕ или ТОК.

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


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

Я всего лишь хочу сделать аналог ЦАПа, только здесь выход КОД-ЧАСТОТА, а в ЦАПе КОД-НАПРЯЖЕНИЕ или ТОК.

Об этом и речь: код->частота.

Погугли Direct Digital Synthesis (DDS).

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


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

Об этом и речь: код->частота.

Погугли Direct Digital Synthesis (DDS).

Хорошо.

А по поводу блок-схемы что скажешь если я понятно нарисовал?

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


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

Хорошо.

А по поводу блок-схемы что скажешь если я понятно нарисовал?

Насчёт OR'ить. Посмотри что получится если производить запись одного и того же кода частоты.

Особо интересен случай, когда периодичность записи кода выше требуемой выходной частоты. В этом случае выход всегда будет в "1", т.е. никакой частоты вообще.

И ещё, что насчёт скваженности?

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


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

Насчёт OR'ить. Посмотри что получится если производить запись одного и того же кода частоты.

Особо интересен случай, когда периодичность записи кода выше требуемой выходной частоты. В этом случае выход всегда будет в "1", т.е. никакой частоты вообще.

И ещё, что насчёт скваженности?

Допустим КОД= 0001(bin) он и будет прописывать в младшем разряде 1 и все.Ну и конечно же

логический + вых. счетчика. Загрузка счетчика происходит стробом, а не статично.

Запись кода в основном будет выше вых. частоты. Я мысленно просимулировал эту схему, вроде накладок не должно быть.А, что на счет скваженности?. Выходной сигнал будет простробирован допустим вх. частотой.

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


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

Все, схемку собрал, просимулировал в QUARTUS, работает должным образом. Схему собрал на макрофункциях.

Сейчас посмотрим что в железе получится.

Изменено пользователем Iptash

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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