Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не работает как надо ALTERA
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
PICNICK
Привет Всем!
Собираю проект (тестер для проверки оборудования, всего 20 тестов) Сердце PIC контроллер, чтобы не вешать кучи логики решил использовать ALTERA MAX 7128. До этого опыта работы с ПЛИСами не имел. С контроллера поступают на альтеру импульсы для перебора тестов, а матрица в свою очередь, в зависимости от теста, меняет логику работы вход-выход, подключает счётчики и т.д. В симуляторе тесты нормально отрабатывают запустил в железе нормально не пашет. Тоесть нажал на кнопку, контроллер переходит на след. тест на дисплей выводит соотв. инфу и даёт на альтеру импульс чтобы и она проключилась на след.тест (на входе в альтере нарисовал счетчик реверсивный "тест+"тест -"), а плисина не хочет перебирать тесты. Хотя иногда может нормально сработать. Вот это ИНОГДА мне непонятно. Подскажите куда копать, два дня уже сижу туплю.
Шил фирменным JTAGом питание 5в.
des00
Цитата(PICNICK @ Aug 7 2008, 22:13) *
С контроллера поступают на альтеру импульсы для перебора тестов, а матрица в свою очередь, в зависимости от теста, меняет логику работы вход-выход, подключает счётчики и т.д. В симуляторе тесты нормально отрабатывают запустил в железе нормально не пашет. Тоесть нажал на кнопку, контроллер переходит на след. тест на дисплей выводит соотв. инфу и даёт на альтеру импульс чтобы и она проключилась на след.тест (на входе в альтере нарисовал счетчик реверсивный "тест+"тест -"), а плисина не хочет перебирать тесты. Хотя иногда может нормально сработать. Вот это ИНОГДА мне непонятно.


а что непонятного ?

ваши тесты учитывают наводки, пички и прочее на импульсах управления цплдешкой ?

ваши тесты сделаны в графике ? если да то не факт что вы набросали вейвформы корректно, рекомендую проверить.

Если опыта нет, то скорее всего делали на ~100МГц альтере как на 1МГц к155 ? вот она и чувствует всякую дрянь, особено если вы подавали сигнал управления на тактовые входы тригеров.

лучше всего код в студию, на 128 плиток он должен быть мизерный.
PICNICK
ПЛИСину я не тактирую, когда нужно (в зависимости от теста) подаю с контроллера (ШИМ) 200кГц на счётчики ПЛИС. Половину файла рисовал графическим методом, половину писАл на AHDL.
Куда зацепить болтающийся в воздухе глобальный ОЕ?
Куда код сбросить?
Спасибо.
yura-w
Цитата(PICNICK @ Aug 8 2008, 08:15) *
Куда зацепить болтающийся в воздухе глобальный ОЕ?

oe1 и oe2 надо подключить к gnd
EvgenyNik
Без изучения проекта сказать нечего. Разве что глобальные ОЕ являются таковыми только если ими назначены и используются по назначению.
des00
Цитата(PICNICK @ Aug 7 2008, 23:15) *
ПЛИСину я не тактирую, когда нужно (в зависимости от теста) подаю с контроллера (ШИМ) 200кГц на счётчики ПЛИС. Половину файла рисовал графическим методом, половину писАл на AHDL.
Куда зацепить болтающийся в воздухе глобальный ОЕ?
Куда код сбросить?
Спасибо.


код прямо сюда кидайте, посмотрим что у вас и как. ИМХО где то асинхра лезет, тем более что клок на счетчики постоянно не подается.
PICNICK
Цитата(des00 @ Aug 8 2008, 15:02) *
код прямо сюда кидайте, посмотрим что у вас и как. ИМХО где то асинхра лезет, тем более что клок на счетчики постоянно не подается.

Выкладываю код, ИМХО проблема в реверсивном счётчике (UP/Doun). сильно не пинайте, первый проект на ПЛИС. smile.gif
rv3dll(lex)
Цитата(yura-w @ Aug 8 2008, 09:07) *
oe1 и oe2 надо подключить к gnd


а это лишнее!!!!!

GOE GCLK GRST это обычные линии ввода вывода и если они не назначены как эти доп функции ничем от них не отличаются и никуда их сажать не надо.
toweroff
Вообще- то Quartus сам даст рекомендации по неиспользуемым пинам... 07.gif

Или есть некие другие методики?

Кстати, PICNICK, попробуйте отключить опцию Slow Slew Rate на используемых пинах, поможет снизить звон на линиях, все равно PIC на таких скоростях не работает
des00
Цитата(PICNICK @ Aug 8 2008, 07:10) *
Выкладываю код, ИМХО проблема в реверсивном счётчике (UP/Doun). сильно не пинайте, первый проект на ПЛИС. smile.gif


На мой ламерский взгляд все нормально, кроме двух мест. любая иголка на входе Uptest, Up, Down может привести к лишнему переключению счетчиков.

Наиболее надежный, с точки зрения помех, это переделать этот узел на синхронный вариант. У вас вроде как есть клок (пусть даже и отключаемый).

Либо почистить эти сигналы: поставить по небольшой RC цепи на них.

Кстати посмотрите на задачу с другой стороны. По коду видно что счетчики у вас только выбирают вид теста и если сигналы Uptest, Up, Down идут с проца то ничего не мешает реализовать SPI интерфейс.

ИМХО будет проще выбирать номер теста, а логики будет ненамного больше.

Удачи!!!



Цитата(toweroff @ Aug 8 2008, 12:51) *
Кстати, PICNICK, попробуйте отключить опцию Slow Slew Rate на используемых пинах, поможет снизить звон на линиях, все равно PIC на таких скоростях не работает



Скажите пожалуйста, как отключение уменьшения крутизны наростания выходных сигналов (за счет тока) может снизить звон в линиях?

Спасибо.
iosifk
Цитата(des00 @ Aug 8 2008, 10:02) *
ИМХО где то асинхра лезет, тем более что клок на счетчики постоянно не подается.


Попробуйте сделать хендшейк:
Из процессора сигнал "запрос" в ПЛИС. В ПЛИСЕ по синхротактам проверяйте, что запрос стоит как минимум 2-3 такта... Из ПЛИС - "Ответ". По появлению "Ответа" - снимайте "Запрос". По снятию "Запрос" - фиксируйте данные, которые передаются в счетчики...
Таким образом от фронтов перейдете к уровням. И это поможет профильтровать помеху... А ресурсов для этого много не требуется...
Удачи.
PICNICK
ВСЕМ Большое СПАСИБО за помощь. Разобрался с проблемой. С помощью мегафункции создал тактируемый реверсивный счётчик. Использовал clock & updoun, проблема решилась в железе пашет, всё ОК.
2 des00, по SPI это вообще хорошая мысль, только в следующем проекте попробую. smile.gif
dvladim
Цитата(des00 @ Aug 11 2008, 07:39) *
Скажите пожалуйста, как отключение уменьшения крутизны наростания выходных сигналов (за счет тока) может снизить звон в линиях?

Емкость линии остается тойже, а скорость нарастания ухудшается. Отсюда и звон меньше.

В выходном буфере 2 n транзистора и 2 p. При "медленном" буфере, скажем, n транзисторы переключаются не одновременно, а с задержкой. Это приводит к увеличению времени переключения, уменьшению пиковых токов, уменьшению скорости нарастания напряжения, уменьшению помехи.
toweroff
Цитата(dvladim @ Aug 12 2008, 21:55) *
Емкость линии остается тойже, а скорость нарастания ухудшается. Отсюда и звон меньше.

В выходном буфере 2 n транзистора и 2 p. При "медленном" буфере, скажем, n транзисторы переключаются не одновременно, а с задержкой. Это приводит к увеличению времени переключения, уменьшению пиковых токов, уменьшению скорости нарастания напряжения, уменьшению помехи.


Спасибо, что ответили, я несколько дней тут не появлялся smile.gif
des00
Цитата(dvladim @ Aug 12 2008, 12:55) *
Емкость линии остается тойже, а скорость нарастания ухудшается. Отсюда и звон меньше.


Спасибо, но позвольте.

Вы рекомендуете ОТКЛЮЧИТЬ уменьшение скорости нарастания. Т.е. вы предложили автору УВЕЛИЧИТЬ
Цитата
попробуйте отключить опцию Slow Slew Rate
скорость нарастания, мотивируя тем, что это уменьшит звон.

Я всегда считал что должно быть наоборот, нужно ВКЛЮЧИТЬ опцию Slow Slew Rate, что бы уменьшить звон %))

ЗЫ. и хелп ква говорит о том же

Цитата
pins that use the Slow Slew Rate option help reduce switching noise.
toweroff
Цитата(des00 @ Aug 13 2008, 06:36) *
Спасибо, но позвольте.

Вы рекомендуете ОТКЛЮЧИТЬ уменьшение скорости нарастания. Т.е. вы предложили автору УВЕЛИЧИТЬ скорость нарастания, мотивируя тем, что это уменьшит звон.

Я всегда считал что должно быть наоборот, нужно ВКЛЮЧИТЬ опцию Slow Slew Rate, что бы уменьшить звон %))

ЗЫ. и хелп ква говорит о том же


ух.. действительно опечатался, прошу прощения 07.gif
dvladim
Цитата(des00 @ Aug 13 2008, 06:36) *
Спасибо, но позвольте.

Вы рекомендуете ОТКЛЮЧИТЬ уменьшение скорости нарастания. Т.е. вы предложили автору УВЕЛИЧИТЬ скорость нарастания, мотивируя тем, что это уменьшит звон.

Я всегда считал что должно быть наоборот, нужно ВКЛЮЧИТЬ опцию Slow Slew Rate, что бы уменьшить звон %))

ЗЫ. и хелп ква говорит о том же

Не надо передергивать. Я вообще ничего не советовал. Я пытался объяснить как в Альтеровских схемах типа FLEX или ACEX сделан Slew Rate.

Понятное дело, что может быть только 2 значения опции. Какое конкретно значение on или off приводит к замедлению буфера я не знаю. Это надо смотреть по хелпам.
А как изменение этой опции может повлиять на форму выходного сигнала я объяснил.
des00
Цитата(dvladim @ Aug 13 2008, 12:41) *
Не надо передергивать. Я вообще ничего не советовал.


Сыплю голову пеплом, не туда посмотрел. Искренне извиняюсь. beer.gif
dvladim
Проехали. beer.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.