artur 0 26 сентября, 2018 Опубликовано 26 сентября, 2018 · Жалоба Доброе время суток, Речь идет о бесступенчатом управлении частотой при помоши аналогового входа: 0в = 0гц, 3,3в = 140гц и это должно быть линеально. имеется аналоговый вход 0...3,3в (0...2047) идет на АЦП от туда на ПЛИС, в ПЛИСе я умножаю на 219 и заряжаю результат в счетчик, который считает наверх до 449488 ("потолок"), при достожении этого числа выдается короткий импульс. В зависимости как быстро достигается "потолок" зависит и частота выходящих импульсов. Функцию я написал но управлиние не линеально (см. рисунок). Подскажите как сделать эту функцию линеально??? Благодарю! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novikovfb 17 26 сентября, 2018 Опубликовано 26 сентября, 2018 · Жалоба Вместо счетчика сделать сумматор, который каждый такт будет прибавлять к аккумулятору заданное значение (код с АЦП). Переполнение сумматора будет строго пропорционально коду с АЦП. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 26 сентября, 2018 Опубликовано 26 сентября, 2018 · Жалоба Приветствую! Доброе время суток, Речь идет о бесступенчатом управлении частотой при помоши аналогового входа: 0в = 0гц, 3,3в = 140гц и это должно быть линеально. ... Эх молодежь ... "Линеально" не получится, ни как :( - это не известный науке закон управления ;) Если же вас устроит линейный закон то для начала надо вспомнить формулу частоты (что то типа F=1/T). А потом посмотреть куда попадает измеренное напряжение в эту формулу. И тогда стане ясно что делать чтобы получить требуемый закон. Хотя бесступенчато все равно не получится - увы мир изначально квантованный :) Успехов! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться