k155la3 26 20 ноября, 2017 Опубликовано 20 ноября, 2017 · Жалоба . . . . Бедаааа..... Мне бы кто подарил прошивочку бодрую/рабочую на этот cypress :crying: Прям Шура Балаганов с его "счастьем" :) Вы всетаки расталкиваете проект на синхронном режиме. Тактировка, теперь я понимаю, на верхней "линейке". То что Вы видите на диаграмме может быть "дезой", по той причине, что там отображаеся только "логика" изнути ПЛИС привязанная к ейным тактам. Если частота тактов 25 кГц - как Вы указывали в начале, то работать и не будет, тк это не соответствует требованиям DS по минимальной частоте - 5 МГц. Смотрите аппаратно (осцилографом или логическим анализатором) что творится на шине (данных и управления) Возможно ТАМ все и передается правильно. А так - гадание на черном ящике (и не одном). Это скорее всего. -------- То, что в приведенных листингах - это не макросы, а настроечные РЕГИСТРЫ FX2. Для запуска асинхронного режима - ключевые слова GATED (это как раз макрос) который "включает" блок кода, обеспечивающий настройку в асинхронный режим. Поищите по всему проекту этот литерал и наименования упомянутых регистров. Или шлите проект в личку - посмотрю. PS Да я бы понял, если бы вообще не работало ничего, значит косяк СИЛЬНЫЙ в кодах. Но здесь же, когда ПЛИС вычитывает ФИФО, то оно после чтения данных опустошается, количество считываемых данных, после которого ФИФО становится пустым, совпадает с количеством подаваемых с компа данных. Это как раз подтверждает, что фифо свою информацию выдает правильно (каким-то образом как-бы "понимая" чевой он него хочет ПЛИС). А вот с приемом внутрь ПЛИСа - возможно проблема. Надо провести его психоанализ. "Вы хотите об этом поговорить .... ?" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
billidean 0 22 ноября, 2017 Опубликовано 22 ноября, 2017 · Жалоба Тааак...вот, что нарыл еще: сделал запись тем же самым внутренним анализатором, но записывал на частоте 50 МГц. Т.е. верхняя шкала, это такты частоты 50 МГц. Данные должны чередоваться 0xA - 0x5 - 0xA - 0x5... всего 8 слов (четыре Ф, четыре 5) Два средних бита нормально ставятся, а вот два крайних (страший и младший) какие-то неуверенные. Старший вроде становится в 1, когда должно быть А, но только в самом конце удержания слова и то...на очень короткое время. Хотя может быть это просто наводки с проводов. Верхний сигнал - это тактовая, которую я подаю на EZ, она 50 МГц деленная на 4. Её я подаю инверсной по отношению к той на которой работает ПЛИСка. Кстати, пробовал и не инверсную подавать - результат тот же. З.Ы.: лучше пока не становится (( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба 1. проверяйте фазировку тактирующего синлала CLK которая подается на fifo из ПЛИС 2. учитывайте задержки выставления данных на шину fifo относительно тактов (то что на диаграмме в DS) 3. проверяйте момент защелки данных в ПЛИС относительно (1) и (2) (я на это в верхних постах уже намекал) 4. если 1-2-3 все правильно, то надо смотреть как настраивается fifo - программа инициализации и установки GPIF ps Вы серьезно работаете без аппаратного лог. анализатора ? Не траттье свое время, оно очень дорого. А потраттье 8-10 кваксов, будете иметь отличный инструмент и решите "проблему" за полдня, а может и за 5 минут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
billidean 0 23 ноября, 2017 Опубликовано 23 ноября, 2017 · Жалоба Я пока не захватываю данные внутрь ПЛИСки вообще. Пока просто выставляю управляющие сигналы на входы EZ, и снимаю картинку встроенным анализатором прям на ногах ПЛИС (ну почти на ногах, внутри ПЛИС рядом с ногами). Сегодня снял картинку, тактируя анализатор 150 МГц: Можно сказать, что это на ногах EZ. На EZ с компа записываю все 0хЕЕ, на ногах должно быть: cy_fd(7) = 0 cy_fd(6) = 1 cy_fd(5) = 1 cy_fd(4) = 1 ...но это не получается ( UPD: Если кто-нибудь сможет разобраться в проекте на эклипсе, будет клёвооо!!! SlaveFifoSync__MYYY__ECLIPSE.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 24 ноября, 2017 Опубликовано 24 ноября, 2017 · Жалоба см. cyfxslfifosync.h (название вроде для синхронного) а внути #ifndef _INCLUDED_CYFXSLFIFOASYNC_H_ #define _INCLUDED_CYFXSLFIFOASYNC_H_ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
billidean 0 25 ноября, 2017 Опубликовано 25 ноября, 2017 · Жалоба Да, увидел. Возможно это просто опечатка в названии... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
billidean 0 26 ноября, 2017 Опубликовано 26 ноября, 2017 · Жалоба Спасибо, что помогаете мне :a14: Вы еще что-нибудь обнаружили в проекте плохое? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
К.З. 0 3 февраля, 2021 Опубликовано 3 февраля, 2021 · Жалоба 09.11.2017 в 18:56, billidean сказал: 2. Полученный после компиляции файл cyfxgpif2config.h копирую в папку с фирменным примером "SlaveFifoSync" из того же архива. Что там где изменять в проекте под Еклипсом, я не знаю...поэтому просто компилю его. Кто что может сказать о правильности моих действий? Файл cyfxgpif2config.h нужно не просто скопировать но и добавить в сам проект Инклудом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 4 4 февраля, 2021 Опубликовано 4 февраля, 2021 · Жалоба Слегка запоздалый совет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
К.З. 0 5 февраля, 2021 Опубликовано 5 февраля, 2021 · Жалоба Поздно лучше чем никогда) Вдруг у кого похожая проблема Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться