andreichk 0 27 августа, 2015 Опубликовано 27 августа, 2015 · Жалоба ну вот и проверьте Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 21 января, 2021 Опубликовано 21 января, 2021 · Жалоба Подниму тему. Пробую делать обмен с PC через Slave FIFO 8бит Асинхронный CY7C68013A. Помучился уже нормально, не работает... Не понимаю как прочитать данные из fifo. Флаг EP2_Full поднимается по приходу первого байта. Читаю как описано в даташите для Auto Mode: Synchronous FIFO OUT Data Transfers. Но флаг не сбрасывается обратно, и данные не считываются. Пара вопросов. 1. Обязательно ли надо управлять пинами FIFOADR[1:0] при чтениие, или чип выбирает FIFO автоматически? 2. Нужно ли обязательно использовать сигнал SLOEnanle или достаточно SLRD? как строб чтения и вывод данных Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dinam 1 22 января, 2021 Опубликовано 22 января, 2021 · Жалоба Все это мы с проходили лет 10 назад, поэтому что помню, могу ошибаться. 1. FIFOADR[1:0] с помощью этих пинов вы выбираете с каким FIFO вы будет производить обмен. Соответственно это надо задать одинаково в прошивке и снаружи. 2. С помощью sloe мы разрешаем CY7C68013A выводить данные, т.е. шина данных выходит из высокоимпедансного состояния и становится выходами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 22 января, 2021 Опубликовано 22 января, 2021 · Жалоба За 10 лет никто ничего более толкового не сделал, чип актуален и ныне. Да, затык был в SLOE. Я его посчитал избыточным, не подключил и удалил из сигналов в GPIF Designer. Но это наверно аппаратная функция, из без него не прочитать буфер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 22 января, 2021 Опубликовано 22 января, 2021 · Жалоба Следующий вопрос. Как только я ставлю строб считывания SLRD, флаг FULL переходит в не активное состояние. Теперь надо читать флаг EMPTY. Это совместить нельзя? Например, если данные в буфере есть - флаг активен, нет - сбрасывается. Пинов на проце не хватает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 1 22 января, 2021 Опубликовано 22 января, 2021 · Жалоба 3 hours ago, Gradient said: За 10 лет никто ничего более толкового не сделал, чип актуален и ныне. Да, затык был в SLOE. Я его посчитал избыточным, не подключил и удалил из сигналов в GPIF Designer. Но это наверно аппаратная функция, из без него не прочитать буфер. Ну не знаю. ИМХО FTDI более интересны в этом плане. И проще и поддержка ОС гораздо лучше. Какой-нибудь FT2322H Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 22 января, 2021 Опубликовано 22 января, 2021 · Жалоба FTDI High Speed позволяют из подключенного контроллера оперативно менять vid pid? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 1 22 января, 2021 Опубликовано 22 января, 2021 · Жалоба 22 minutes ago, Gradient said: FTDI High Speed позволяют из подключенного контроллера оперативно менять vid pid? Опуская кучу вопросов, начиная от "зачем?" до степени "оперативности", отвечу: надо курить доки, подсказать не могу Я рассматриваю FTDI с точки зрения стыка с устройствами (в моему случае это ПЛИС-ПК). Работал и с cypress и с FTDI. FTDI оставил гораздо более положительное впечатление по простоте реализации с обоих сторон. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 22 января, 2021 Опубликовано 22 января, 2021 · Жалоба Заказал на пробу FT232H, посмотрим. Кипарис меня полностью устраивает, он очень гибкий и не дорогой. Надо решить непонятку с чтением в Асинхронном режиме. Дока - редкостное говно как и индусские примеры. Там например в Manual на странице 110 про флаги ничего! Не понятно что с этим делать. https://www.cypress.com/file/126446/download Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 1 22 января, 2021 Опубликовано 22 января, 2021 · Жалоба 10 minutes ago, Gradient said: Заказал на пробу FT232H, посмотрим. Кипарис меня полностью устраивает, он очень гибкий и не дорогой. Надо решить непонятку с чтением в Асинхронном режиме. Дока - редкостное говно как и индусские примеры. Там например в Manual на странице 110 про флаги ничего! Не понятно что с этим делать. https://www.cypress.com/file/126446/download О, так у вас fx2. Попробуйте мануалы вот этих ребят: https://github.com/BitwiseSystems/QuickUSB/tree/master/Documentation У них на гите куча всяких док и примеров. Правда, это для их кастомной поделки под названием QuickUSB. Но основным чипом там используется как cypress. Так что временные диаграмы и их описание, я думаю, будут применительны к вашему случаю. Начать рекомендую с: https://github.com/BitwiseSystems/QuickUSB/blob/master/Documentation/QuickUSB_User_Guide_2.15.2.pdf ЗЫ. Там же есть примеры драйверов для вин и для линукс. Тоже, думаю, будет полезно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 22 января, 2021 Опубликовано 22 января, 2021 · Жалоба Да.. это намного лучше. Спасибо за подсказку, изучаю. :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dinam 1 25 января, 2021 Опубликовано 25 января, 2021 · Жалоба 22.01.2021 в 16:11, Gradient сказал: Следующий вопрос. Как только я ставлю строб считывания SLRD, флаг FULL переходит в не активное состояние. Теперь надо читать флаг EMPTY. Это совместить нельзя? Например, если данные в буфере есть - флаг активен, нет - сбрасывается. Пинов на проце не хватает. full : in std_logic; -- =0 - значит FIFO EP6 полностью наполнилось, не используется empty : in std_logic; -- =0 - значит FIFO EP2 пустое, иначе пришла команда с компьютера pause : in std_logic; -- 0 - значит FIFO EP6 почти наполнилось Вот что, я вижу у себя в FPGA. Флаг Empty становится 1, когда пришла команда с компьютера и надо её прочесть. Для приостановки выдачи данных на компьютер я использую флаг pause. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Gradient 1 25 января, 2021 Опубликовано 25 января, 2021 · Жалоба Пока slave FIFO отложил, очень много пинов нужно а их почти нет. Написал на асме эмуляцию SPI и это работает, но есть непонятка. Если данные приходят в конечную точку, срабатывает прерывание ISR_Ep2inout(). Их надо сразу перекидывать в свой кольцевой буфер или можно потихоньку побайтно вычитывать как из FIFO? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dinam 1 25 января, 2021 Опубликовано 25 января, 2021 · Жалоба По программной части не подскажу, эту часть делал другой человек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться