Перейти к содержанию
    

Детская проблема

Который день бьемся, результат - ноль. Наверное от незнания каких нибудь особенностей или просто тупит.

 

Простейший проект - бегущая строка. Altera EPM3256 144 ноги, плата двухсторонняя, но везде земляной полигон.

Входы: 8 бит данных; строб; начало строки.

Начало строки сбрасывает счетчик столбца на начало.

Стробируемые данные записываются синхронно, каждое в свой последующий столбец.

Выходы для каскадирования те же, только строб на выходе появляется когда полностью заполнена предыдущая строка.

 

В качестве экперимента, попробовали гнать данные с ARM AT91RM9200 - 66мгц на шине, вся строка сразу заработала без калих либо косяков, вне зависимости от наличия тактов задержки на успокоение силналов. Да хоть в пошаговом режиме.

 

Стоило перенести передачу данных на ATtiny2313 и правильной работы больше добиться не удается.

Сначала думали, что альтера плохо понимает сигналы с пятивольтовым размахом - снизили питание Тини до 3.3в. Подтягивающие резисторы на входе альтеры перепробовали и в землю и в 3.3. Пробовали диоды поставить на входе в землю и 3.3. Пробовали резисторы последовательно с шиной. Емкости фильтрующие. Какие то действия небольшое влияние оказывают, но необходимого результата даже близко на дают.

Пробовали активные уровнии сигналов менять - мало помогает. Такты задержки ставили разные...

В пошаговом режиме замечено, что при одной активной смене фронта строба, альтера умудряется записать 2-3 байта данных. Фронт какой-то не такой? Электрически вытянуть его не получается.

 

Может для кого-нибудь причина наглядно ясна?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может у ATtiny2313 фронты намного длинее, чем необходимо для Alterы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Который день бьемся, результат - ноль. Наверное от незнания каких нибудь особенностей или просто тупит.

 

Простейший проект - бегущая строка. Altera EPM3256 144 ноги, плата двухсторонняя, но везде земляной полигон.

Входы: 8 бит данных; строб; начало строки.

Начало строки сбрасывает счетчик столбца на начало.

Стробируемые данные записываются синхронно, каждое в свой последующий столбец.

Выходы для каскадирования те же, только строб на выходе появляется когда полностью заполнена предыдущая строка.

 

В качестве экперимента, попробовали гнать данные с ARM AT91RM9200 - 66мгц на шине, вся строка сразу заработала без калих либо косяков, вне зависимости от наличия тактов задержки на успокоение силналов. Да хоть в пошаговом режиме.

 

Стоило перенести передачу данных на ATtiny2313 и правильной работы больше добиться не удается.

Сначала думали, что альтера плохо понимает сигналы с пятивольтовым размахом - снизили питание Тини до 3.3в. Подтягивающие резисторы на входе альтеры перепробовали и в землю и в 3.3. Пробовали диоды поставить на входе в землю и 3.3. Пробовали резисторы последовательно с шиной. Емкости фильтрующие. Какие то действия небольшое влияние оказывают, но необходимого результата даже близко на дают.

Пробовали активные уровнии сигналов менять - мало помогает. Такты задержки ставили разные...

В пошаговом режиме замечено, что при одной активной смене фронта строба, альтера умудряется записать 2-3 байта данных. Фронт какой-то не такой? Электрически вытянуть его не получается.

 

Может для кого-нибудь причина наглядно ясна?

 

Хммм непонятно следующее

вы гнали данные напрямую с МК в ФПГА ??

фпга и МК как синхронизированы ? клок фпга ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

//В пошаговом режиме замечено, что при одной активной смене фронта строба, альтера умудряется записать 2-3 байта данных. Фронт какой-то не такой? Электрически вытянуть его не получается.//

Может так оно и есть. логическим анализатором посмотреть на этот пошаговый режим.

Во всяком случае проект один, а контроллеров два.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня нечто подобное было с LPC2106: временами в ПЛИС записывалось два-три слова вместо одного. Запись стробировалась с GPIO контакта LPC.

 

Выяснилось, что иногда на выходе наблюдается "дребезг", который не связан с параметрами проводника, а является нехорошим свойством GPIO контакта LPC. После этого я добавил в проект ПЛИС схемку подавления дребезга (усложнил схему обнаружения фронта) и все стало на свои места.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скорее всего дребезг фронтов. Помочь может согласование линии клока (по выходу - 33 Ом последовательно линии, у входа альтеры - 200 Ом к земле). Можно еще триггером шмидта (74xx14) проложится по клоку. Ну, и о чем уже говорилось, можно простробировать входной клок более высокой частотой (если она есть) и принимать решение о том что был фронт по нескольким отсчетам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем спасибо. Вроде проблема решилась интеграцией антидребезговой схемы на строб. Все заработало. Только на это ушло все оставшееся место и теперь нет возможности ноги расставить так как надо.

Может сущуествуют методы борьбы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я имею в виду, что все в Альтеру запихнули, снаружи ничего не изменилось. Если интересует подробнее, могу человека, который этим непосредственно занимался написать подробнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а самый простой, пусть и не совсем корректный способ, поставить не большой конденсатор на клок на землю, не пробывали?, может еще 30 Ом последовательно до него, глядиш и заработает :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а самый простой, пусть и не совсем корректный способ, поставить не большой конденсатор на клок на землю, не пробывали?, может еще 30 Ом последовательно до него, глядиш и заработает :)

Это все танцы с бубуном,

афтору а что 3 тригера + 2люта так сильно лишили вас запаса по русурсу ?? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а самый простой, пусть и не совсем корректный способ, поставить не большой конденсатор на клок на землю, не пробывали?, может еще 30 Ом последовательно до него, глядиш и заработает :)

Это все танцы с бубуном,

афтору а что 3 тригера + 2люта так сильно лишили вас запаса по русурсу ?? :)

 

Мне кажется, что тут все-таки не все так просто. Размер схемы подавления дребезга зависит от частоты ее тактирования. Так что при высокой частоте тактирования и большом периоде импульсов "дребезга" 3 триггера и 2 люта будет явно маловато.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а самый простой, пусть и не совсем корректный способ, поставить не большой конденсатор на клок на землю, не пробывали?, может еще 30 Ом последовательно до него, глядиш и заработает :)

Это все танцы с бубуном,

афтору а что 3 тригера + 2люта так сильно лишили вас запаса по русурсу ?? :)

 

На счет бубна согласен.

По поводу всего остального, не знаю точно, скоро человек ,который это непосредвтвенно делал притопает, напрягу здесь описать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...