debian 0 26 марта, 2017 Опубликовано 26 марта, 2017 (изменено) · Жалоба Доброго времени суток Проблема такова, есть CPLD EPM240, внутри реализрван последоаательный сдвиговый регистр Имеем 2 входных сигнала clk, reset Один выход data Эти сигнал идут в микроконтроллер, ноги reset и clk контроллера имеют выход ОК и подтянуты к питанию 5в резисторами 5.1к Учитывая разные амплитуды логических ровней собран преобразователь уровней на полевых транзисторах . После подачи питания контроллер дергает ресет, затем подает на вывод clk 32 импульса, cpld выдает 4 байта. Ну как выдает, мусор выдает. В делал симуляцию в квартусе - там все нормально. Проверил амплитуды логических ровней - тоже все четко, вход 5 в выход 3.3 и наоборот, но не работает Для проверки пошел по другому пути, взял проц на 3.3 в сконфигурировал выводы clk, reset как PP и все заработало Выходит дело во времени нарастания сигнала на входах??? При OK Ton - 1.5мкс Toff - 200нс При РР Ton - 100нс Toff -100нс Частота clk 5кгц По приколу на тестовый проц который 3.3в поставил преобразователь уровней для проверки последнего -тоже все работает как часы Включал триггеры шмидта по входу CPLD эффекта не дало Не пойму в чем дело... Изменено 26 марта, 2017 пользователем debian Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 27 марта, 2017 Опубликовано 27 марта, 2017 · Жалоба еще может время распространения, то есть вы можете с микрухой видеть клок в разное время и как следствие вы щелкаете данные пока микруха их еще не выдала. ну или банально ножки перепутали и ничего не работает, потому что частота крайне низкая. Ну или фронты не достаточные крутые и триггера хватают дребезг или мету Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 27 марта, 2017 Опубликовано 27 марта, 2017 · Жалоба Учитывая разные амплитуды логических ровней собран преобразователь уровней на полевых транзисторах . После подачи питания контроллер дергает ресет, затем подает на вывод clk 32 импульса, cpld выдает 4 байта. Ну как выдает, мусор выдает. В делал симуляцию в квартусе - там все нормально. Проверил амплитуды логических ровней - тоже все четко, вход 5 в выход 3.3 и наоборот, но не работает Для проверки пошел по другому пути, взял проц на 3.3 в сконфигурировал выводы clk, reset как PP и все заработало По приколу на тестовый проц который 3.3в поставил преобразователь уровней для проверки последнего -тоже все работает как часы раз уж осцилл не упоминается, то сделайте простейшую цепь: выход EPM на вход канала левелшифтера, его вход завернуть через инвертор серии HC/HCT на второй канал и выход второго канала на контакт EPM в EPM сформировать 5кГц в сторону левелшифтера и принимать на делитель на 5000, сигнал с которого можно смотреть хоть светодиодом.. вероятно у вас проблемный узел левелшифтера - либо запитан нет так, либо повернут не так, либо транзисторы с большой емкостью - отсюда заваленные фронты и неработоспособность.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
debian 0 27 марта, 2017 Опубликовано 27 марта, 2017 · Жалоба Спасибо за ответы Вопрос, а почему сильно пологие фронты могут вызвать проблему? На входе ведь стоит триггер шмидта или я чего-то не понимаю? Сделано как, по переднему фронту reset происходит сброс, по переднему фронту clk плис выставляет на выходе данные, а контроллер опускает clk и принимает бит данных. Тоесть тут все надежно и пепехлеста нет Фронт/Спад -100нс проблем нет Фронт/Спад - 1.8мкс/200нс плис выдает мусор В обоих случаях длительность импульса порядка 40мкс Скорее всего я где-то лажанул, теперь найти бы где. ...сегодня проверю ваши советы, спасибо за подсказки! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 27 марта, 2017 Опубликовано 27 марта, 2017 · Жалоба Фронт/Спад - 1.8мкс/200нс плис выдает мусор Если в CPLD есть клоки и свободные ячейки, то можно в ней сделать небольшой фильтр по входному клоку... Либо уменьшить резистор и соотв. уменьшить 1.8мкс.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
debian 0 27 марта, 2017 Опубликовано 27 марта, 2017 · Жалоба Внешних клоков нет, но мысль я понял, сегодня проверю Толбкл не понимаю, как пологие фронты влияют на работу поиски? При пологом фронте можеь быть несколько сработок? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jury093 2 27 марта, 2017 Опубликовано 27 марта, 2017 · Жалоба Толбкл не понимаю, как пологие фронты влияют на работу поиски? При пологом фронте можеь быть несколько сработок? цифровая техника "не любит" пологие фронты и это оговаривается в параметрах на чипы, эффекты могут быть разнообразные.. в доках даже на самую примитивную логику прописаны параметры крутизны и длительности, несоблюдение которых выводит чип за границы штатной эксплуатации.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 27 марта, 2017 Опубликовано 27 марта, 2017 · Жалоба Толбкл не понимаю, как пологие фронты влияют на работу поиски? При пологом фронте можеь быть несколько сработок? На самом деле, пологий фронт - это на только плавно повышающееся напряжение. Но на него еще накладываются более высокие гармоники от помех и отражений в линии. И для ПЛИС все получается как "зазубренный" участок пилы-ножевки. И эти зубья возможно перекрывают гистерезис входного триггера.. Я не помню кто из производителей очень давно рисовал как после инвертора вытащить сигнал наружу и на резисторах сделать цепь гистерезиса для входного каскада... Но я обычно в ПЛИС делаю подавление в цифре. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
debian 0 27 марта, 2017 Опубликовано 27 марта, 2017 · Жалоба Понял, спасибо за разъяснения. А в каком документе можно ознакомится с таймингами входными? В Хендбуке по MAX II не нашел Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
debian 0 27 марта, 2017 Опубликовано 27 марта, 2017 (изменено) · Жалоба Господа, подключил сигналы RESET и CLK через 74HC08 и все стало работать нет, ну кто бы мог подумать :05: Для проверки решил вернуть все обратно как было, взял 2 регистра tR tC и сделал в местах обработчика инверсию: tR<=~tR; tC<=~tC; стало видно, что в некоторых случаях переключения вообще не было О.о магия, пологий фронт есть(1,8мкс), переключения нет Изучаю матчасть... Изменено 27 марта, 2017 пользователем debian Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться