Forth http://fforum.winglion.ru/ |
|
AHDL(VHDL): Цифровой фильтр для однобитного сигнала http://fforum.winglion.ru/viewtopic.php?f=11&t=2748 |
Страница 2 из 2 |
Автор: | dynamic-wind [ Чт авг 11, 2011 22:08 ] |
Заголовок сообщения: | Re: AHDL: Цифровой фильтр для однобитного сигнала |
WingLion писал(а): "больше" - это как? Цифровой фильтр - это 1/1000 от ПЛИС-а, а аналоговый - два компонента рядом с ним... В азиках, кондер--это обратно смещенный диод, или затвор увеличенного полевика. И т.п. В ПЛИСах таких ячеек нет, понял. |
Автор: | Hishnik [ Чт авг 11, 2011 22:30 ] |
Заголовок сообщения: | Re: AHDL: Цифровой фильтр для однобитного сигнала |
dynamic-wind писал(а): В азиках, кондер--это обратно смещенный диод, или затвор увеличенного полевика. И т.п. В ПЛИСах таких ячеек нет, понял. В ПЛИС такие решения абсолютно противопоказаны. В цифровой электронике, в принципе, тоже - чем меньше норма техпроцесса, тем более противопоказаны. Это же все плывет over PVT. |
Автор: | mOleg [ Пт авг 12, 2011 14:56 ] |
Заголовок сообщения: | Re: AHDL: Цифровой фильтр для однобитного сигнала |
WingLion писал(а): mOleg писал(а): будет, т.к. на выходе стоит RS триггер Ага, а теперь представим, что пришел сигнал с помехами, так что схемы сравнения не совпадают всегда, т.е. RS-триггер просто не получает сигналы сброса и установки. ну, так вроде как так быть и должно, сигнал длиной меньше какого-то заданного числа клоков не должен проваливаться сквозь фильтр |
Автор: | WingLion [ Пт авг 12, 2011 18:26 ] |
Заголовок сообщения: | Re: AHDL: Цифровой фильтр для однобитного сигнала |
mOleg писал(а): ну, так вроде как так быть и должно, сигнал длиной меньше какого-то заданного числа клоков не должен проваливаться сквозь фильтр Именно. И поэтому, если полезный сигнал сильно зашумлен - он не пройдет на выход вообще, хотя правильный фильтр должен подобные шумы давить, если только они сам сигнал окончательно не перебивают. Вот, представим, что сигнал единицы содержит короткие провалы в нуль, а сигнал нуля короткие всплески в единицу. Ни тот ни другой не пройдет, потому что в регистре сдвига будут постоянно присутствовать и нули и единицы. |
Автор: | WingLion [ Вс июн 24, 2012 05:38 ] |
Заголовок сообщения: | Re: AHDL: Цифровой фильтр для однобитного сигнала |
Понадобилось нечто подобное, но при условии, что период дискретизации лишь в 4-6 раз выше периода "единиц" и "нулей" в последовательном коде, который надо принять. выделение фронтов и подавление помех делаю так: Код: VHDL: -- шапку с заданием библиотек/входов/выходов опускаю signal reg : nibble; -- четырехбитный регистр begin process (clk) begin if clk'event and clk = vcc then reg <= reg(2 downto 0)&data_in; if reg = "0011" or reg = "1100" then front_detected <= vcc; else front_detected <= gnd; end if; if reg(3 downto 1) = "111" or reg = "1101" then data_out <= vcc; elsif reg(3 downto 1) = "000" or reg = "0010" then data_out <= gnd; end if; end if; end; end; Выделеные фронты подаются на цифровую фапч, которая формирует строб-импульсы, нацеленые на середины передаваемых периодов, чтобы зафиксировать данные. Работает такая штука при передаче данных со скоростью ~41мегабит/сек (250/6) по одному сигнальному проводу. Применяется для передачи тестовой информации из исследуемой схемы на визуализатор, который эти данные на VGA выводит в нужном виде. Для передачи данных используется кусок обычного плоского кабеля длиной 0.5 метра. Интересно, что при передачи с Альтеры на Альтеру скорость 41мегабит/сек плучилась нормально, а вот, при передачи с Xilinx на Альтеру пришлось скорость в 2 раза снизить (схема подавления помех и выделения фронтов осталась прежней) |
Страница 2 из 2 | Часовой пояс: UTC + 3 часа [ Летнее время ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |