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

. . . .

Бедаааа.....

Мне бы кто подарил прошивочку бодрую/рабочую на этот cypress :crying:

Прям Шура Балаганов с его "счастьем" :)

Вы всетаки расталкиваете проект на синхронном режиме.

Тактировка, теперь я понимаю, на верхней "линейке".

То что Вы видите на диаграмме может быть "дезой", по той причине, что там

отображаеся только "логика" изнути ПЛИС привязанная к ейным тактам.

Если частота тактов 25 кГц - как Вы указывали в начале, то работать и не будет, тк это

не соответствует требованиям DS по минимальной частоте - 5 МГц.

Смотрите аппаратно (осцилографом или логическим анализатором) что творится на шине (данных и управления)

Возможно ТАМ все и передается правильно. А так - гадание на черном ящике (и не одном).

Это скорее всего.

--------

То, что в приведенных листингах - это не макросы, а настроечные РЕГИСТРЫ FX2.

Для запуска асинхронного режима - ключевые слова GATED (это как раз макрос)

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

Поищите по всему проекту этот литерал и наименования упомянутых регистров.

Или шлите проект в личку - посмотрю.

 

PS

Да я бы понял, если бы вообще не работало ничего, значит косяк СИЛЬНЫЙ в кодах. Но здесь же, когда ПЛИС вычитывает ФИФО, то оно после чтения данных опустошается, количество считываемых данных, после которого ФИФО становится пустым, совпадает с количеством подаваемых с компа данных.

Это как раз подтверждает, что фифо свою информацию выдает правильно (каким-то образом как-бы "понимая" чевой он него

хочет ПЛИС). А вот с приемом внутрь ПЛИСа - возможно проблема. Надо провести его психоанализ.

"Вы хотите об этом поговорить .... ?" :biggrin:

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


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

Тааак...вот, что нарыл еще:

сделал запись тем же самым внутренним анализатором, но записывал на частоте 50 МГц. Т.е. верхняя шкала, это такты частоты 50 МГц.

post-59925-1511377988_thumb.png

Данные должны чередоваться 0xA - 0x5 - 0xA - 0x5... всего 8 слов (четыре Ф, четыре 5)

 

Два средних бита нормально ставятся, а вот два крайних (страший и младший) какие-то неуверенные. Старший вроде становится в 1, когда должно быть А, но только в самом конце удержания слова и то...на очень короткое время. Хотя может быть это просто наводки с проводов.

 

Верхний сигнал - это тактовая, которую я подаю на EZ, она 50 МГц деленная на 4. Её я подаю инверсной по отношению к той на которой работает ПЛИСка. Кстати, пробовал и не инверсную подавать - результат тот же.

 

З.Ы.: лучше пока не становится ((

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


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

1. проверяйте фазировку тактирующего синлала CLK которая подается на fifo из ПЛИС

2. учитывайте задержки выставления данных на шину fifo относительно тактов (то что на диаграмме в DS)

3. проверяйте момент защелки данных в ПЛИС относительно (1) и (2)

(я на это в верхних постах уже намекал)

4. если 1-2-3 все правильно, то надо смотреть как настраивается fifo - программа инициализации и установки GPIF

 

ps

Вы серьезно работаете без аппаратного лог. анализатора ?

Не траттье свое время, оно очень дорого. А потраттье 8-10 кваксов, будете иметь отличный инструмент

и решите "проблему" за полдня, а может и за 5 минут.

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


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

Я пока не захватываю данные внутрь ПЛИСки вообще. Пока просто выставляю управляющие сигналы на входы EZ, и снимаю картинку встроенным анализатором прям на ногах ПЛИС (ну почти на ногах, внутри ПЛИС рядом с ногами).

Сегодня снял картинку, тактируя анализатор 150 МГц:

post-59925-1511460364_thumb.png

Можно сказать, что это на ногах EZ.

 

На EZ с компа записываю все 0хЕЕ, на ногах должно быть:

cy_fd(7) = 0

cy_fd(6) = 1

cy_fd(5) = 1

cy_fd(4) = 1

...но это не получается (

 

 

UPD:

Если кто-нибудь сможет разобраться в проекте на эклипсе, будет клёвооо!!!

SlaveFifoSync__MYYY__ECLIPSE.rar

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


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

см. cyfxslfifosync.h (название вроде для синхронного)

а внути

#ifndef _INCLUDED_CYFXSLFIFOASYNC_H_

#define _INCLUDED_CYFXSLFIFOASYNC_H_

 

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


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

Спасибо, что помогаете мне :a14:

 

Вы еще что-нибудь обнаружили в проекте плохое?

 

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


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

09.11.2017 в 18:56, billidean сказал:

 

2. Полученный после компиляции файл cyfxgpif2config.h копирую в папку с фирменным примером "SlaveFifoSync" из того же архива.

Что там где изменять в проекте под Еклипсом, я не знаю...поэтому просто компилю его.

Кто что может сказать о правильности моих действий?

Файл cyfxgpif2config.h нужно не просто скопировать но и добавить в сам проект Инклудом

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


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

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

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

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

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

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

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

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

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

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