реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Непонятки с EPM240
debian
сообщение Mar 26 2017, 22:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 3-03-08
Пользователь №: 35 610



Доброго времени суток
Проблема такова, есть 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 эффекта не дало


Не пойму в чем дело... wacko.gif

Сообщение отредактировал debian - Mar 26 2017, 22:44
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Mar 27 2017, 07:30
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 232
Регистрация: 17-02-06
Пользователь №: 14 454



еще может время распространения, то есть вы можете с микрухой видеть клок в разное время и как следствие вы щелкаете данные пока микруха их еще не выдала. ну или банально ножки перепутали и ничего не работает, потому что частота крайне низкая. Ну или фронты не достаточные крутые и триггера хватают дребезг или мету
Go to the top of the page
 
+Quote Post
Jury093
сообщение Mar 27 2017, 08:36
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 827
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(debian @ Mar 27 2017, 01:41) *
Учитывая разные амплитуды логических ровней собран преобразователь уровней на полевых транзисторах .
После подачи питания контроллер дергает ресет, затем подает на вывод clk 32 импульса, cpld выдает 4 байта. Ну как выдает, мусор выдает. В делал симуляцию в квартусе - там все нормально.
Проверил амплитуды логических ровней - тоже все четко, вход 5 в выход 3.3 и наоборот, но не работает
Для проверки пошел по другому пути, взял проц на 3.3 в сконфигурировал выводы clk, reset как PP и все заработало
По приколу на тестовый проц который 3.3в поставил преобразователь уровней для проверки последнего -тоже все работает как часы

раз уж осцилл не упоминается, то сделайте простейшую цепь:
выход EPM на вход канала левелшифтера, его вход завернуть через инвертор серии HC/HCT на второй канал и выход второго канала на контакт EPM
в EPM сформировать 5кГц в сторону левелшифтера и принимать на делитель на 5000, сигнал с которого можно смотреть хоть светодиодом..

вероятно у вас проблемный узел левелшифтера - либо запитан нет так, либо повернут не так, либо транзисторы с большой емкостью - отсюда заваленные фронты и неработоспособность..
Go to the top of the page
 
+Quote Post
debian
сообщение Mar 27 2017, 09:39
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 3-03-08
Пользователь №: 35 610



Спасибо за ответы
Вопрос, а почему сильно пологие фронты могут вызвать проблему? На входе ведь стоит триггер шмидта или я чего-то не понимаю?
Сделано как, по переднему фронту reset происходит сброс, по переднему фронту clk плис выставляет на выходе данные, а контроллер опускает clk и принимает бит данных. Тоесть тут все надежно и пепехлеста нет

Фронт/Спад -100нс проблем нет
Фронт/Спад - 1.8мкс/200нс плис выдает мусор

В обоих случаях длительность импульса порядка 40мкс

Скорее всего я где-то лажанул, теперь найти бы где. ...сегодня проверю ваши советы, спасибо за подсказки! sm.gif

Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 27 2017, 10:21
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 3 679
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(debian @ Mar 27 2017, 13:39) *
Фронт/Спад - 1.8мкс/200нс плис выдает мусор

Если в CPLD есть клоки и свободные ячейки, то можно в ней сделать небольшой фильтр по входному клоку...
Либо уменьшить резистор и соотв. уменьшить 1.8мкс....


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
debian
сообщение Mar 27 2017, 11:35
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 3-03-08
Пользователь №: 35 610



Внешних клоков нет, но мысль я понял, сегодня проверю

Толбкл не понимаю, как пологие фронты влияют на работу поиски? При пологом фронте можеь быть несколько сработок?
Go to the top of the page
 
+Quote Post
Jury093
сообщение Mar 27 2017, 11:54
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 827
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(debian @ Mar 27 2017, 14:35) *
Толбкл не понимаю, как пологие фронты влияют на работу поиски? При пологом фронте можеь быть несколько сработок?

цифровая техника "не любит" пологие фронты и это оговаривается в параметрах на чипы, эффекты могут быть разнообразные..
в доках даже на самую примитивную логику прописаны параметры крутизны и длительности, несоблюдение которых выводит чип за границы штатной эксплуатации..
Go to the top of the page
 
+Quote Post
iosifk
сообщение Mar 27 2017, 12:29
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 3 679
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(debian @ Mar 27 2017, 15:35) *
Толбкл не понимаю, как пологие фронты влияют на работу поиски? При пологом фронте можеь быть несколько сработок?

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


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
debian
сообщение Mar 27 2017, 13:11
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 3-03-08
Пользователь №: 35 610



Понял, спасибо за разъяснения.
А в каком документе можно ознакомится с таймингами входными? В Хендбуке по MAX II не нашел
Go to the top of the page
 
+Quote Post
debian
сообщение Mar 27 2017, 17:49
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 3-03-08
Пользователь №: 35 610



Господа, подключил сигналы RESET и CLK через 74HC08 и все стало работать
нет, ну кто бы мог подумать 05.gif

Для проверки решил вернуть все обратно как было, взял 2 регистра tR tC
и сделал в местах обработчика инверсию:
tR<=~tR;
tC<=~tC;

стало видно, что в некоторых случаях переключения вообще не было О.о магия, пологий фронт есть(1,8мкс), переключения нет
Изучаю матчасть...

Сообщение отредактировал debian - Mar 27 2017, 17:50
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th November 2017 - 15:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.01267 секунд с 7
ELECTRONIX ©2004-2016