kt368 Опубликовано 26 ноября, 2012 Поделиться Опубликовано 26 ноября, 2012 Здравствуйте! Нужно реализовать подсчёт длительности нахождения входного сигнала в '1' (в периодах тактовой частоты), а затем в этом же процессе реализовать задержку на такое же количество периодов тактовой частоты. Пробовал сделать подсчёт сделать так: if (CLK'event and CLK='0') then if RESET='1' then .............. else if CONVERT = '1' then sample_length := sample_length +1; end if; end if; end if; А задержку так: if (CLK'event and CLK='0') then if RESET='1' then .............. else if sample_length = 1 then sample_length := 0; state <= idle; else sample_length := sample_length - 1; end if; end if; end if; Весь процесс выглядит так: MAIN: process (CLK) variable clk_count : clk_count_type := 0; variable sample_length : natural := 0; begin if (CLK'event and CLK='0') then if RESET='1' then state <= idle; DATA_RDY <= '0'; DATA_OUT <= "0000000000"; else if CONVERT = '1' then state <= wiat_coorect_ADC_data; sample_length := sample_length +1; end if; case (state) is when idle => DATA_RDY <= '0'; DATA_OUT <= "0000000000"; when wiat_coorect_ADC_data => if clk_count < (adc_propagation - 2) then clk_count := clk_count+1; else clk_count := 0; state <= coorect_ADC_data; end if; when coorect_ADC_data => DATA_RDY <= '1'; DATA_OUT <= DATA_IN; if sample_length = 1 then sample_length := 0; state <= idle; else sample_length := sample_length - 1; end if; end case; end if; end if; end process; Но при этом схема приобретает устрашающе большие размеры, и при симуляции на Post-Translate уровне работа схемы неудовлетворительная, хотя на Behavioral уровне всё было супер. Мне нужно чтоб счётчик тактов успевал обработать как короткие входные импульсы на входе CONVERT, так и длинные, до 10000000 тактов. Как правильно сделать такую задержку? Если нужно, могу выложить весь проект или нужные скриншоты. Заранее спасибо. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Vascom Опубликовано 21 декабря, 2012 Поделиться Опубликовано 21 декабря, 2012 Можно уточнить? Есть входные данные (от АЦП?) и ещё одни бит RDY. После снятия ресета, пока RDY стоит в единице входные данные идут в линию задержки, на выход идёт 0. Как только RDY сбрасывается в 0, на выход начинают идти данные с линии задержки. Это требуется реализовать? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
Meteor77 Опубликовано 23 декабря, 2012 Поделиться Опубликовано 23 декабря, 2012 Такой вариант. Организуется несколько счетчиков, например считающих до сотни (длинные нельзя - большая задержка) Далее делается детектор фронтов сигнала RDY- всего три триггера. При значении 001 - обнуляются все счетчики. Далее счет. При значении 110 конец счета. Тогда синтез будет не много занимать логики и в то же время сможет отрабатывать RDY длительностью от двух периодов тактовой частоты. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.