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

Serg_Sm

Свой
  • Постов

    183
  • Зарегистрирован

  • Посещение

Весь контент Serg_Sm


  1. Кто-нибудь реализовывал быстрое чтение (а может и запись) через GPIF FX3 в режиме мастера? Пытаюсь настроить проект в GPIF II Designer (прога не обновлялась с 2012г), но на диаграммах оказывается совсем не то, что ожидается увидеть. Например сигналы на линии данных смещены в "прошлое" относительно состояний чтения + сигнал готовности DMA обрывается задолго до расчетных значений. В итоге получается, что либо я что-то не понимаю, либо чтение на 100МГц там вообще недостижимо - нужны wait states (как и есть в единственном примере). Да и вообще толковых примеров по настройке GPIF в режиме мастера как-то не нашлось. Есть только AN87216, но его крайне маловато для понимания. А уж по GPIF II Designer вопросов множество. На официальном форуме кто-то задавал вопрос когда будет обновление (и 5 пунктов ради которых оно нужно) - в ответ "не в ближайшем квартале", т.е. никогда похоже.
  2. SDA разрывать как-то не красиво, достаточно изменить адрес. Т.е. ножку адреса микросхемы EEPROM соединить перемычкой с землей (в боевом режиме подтяжка к 3.3В). В моем случае физически не было возможности до платы добраться, чтобы что-нибудь разорвать. Ещё вариант (если есть доступ только к SCL/SDA) и если защита от записи EEPROM управляется контроллером (по умолчанию т.е. прошить не получится) - подсоединить параллельно внутренней EEPROM внешнюю с таким же адресом, но с зашитыми "0". По идее одновременный доступ к шине 2 EEPROM считаются "0", соответственно загрузка по I2C будет отменена.
  3. В общем получилось - просто подключился к SCL/SDA другим устройством (тоже на FX2, программатора I2C поблизости не было) и прошил EEPROM из вне))
  4. Связался с техподдержкой по нерабочему прибору - ответили, есть всё-таки SCL/SDA на внешнем разъёме. Алгоритм действий прислали - отключаете прибор, перемычку SDA к земле, подключаете к компу, перемычку убираете и шьёте нашей утилитой. Попробовал, не работает)) Посмотрел осциллографом - как только перемычка убирается (хоть через 10 секунд, хоть через минуту) сразу идет 500мс загрузка с EEPROM (судя по всему), т.е. сброса контроллера не происходит. Так как его правильно сбросить?
  5. На основе этого сообщения вопрос и появился
  6. Если только по первому байту, то про 0xC0, 0xC2 - это понятно. Сейчас там 0xC2 - загрузка из EEPROM. Просто здесь на форуме описывали чудесную программу CyConsole, с помощью которой можно перепрошивать FX2 и которая лучше EzMr (я ей всё прошивал). Вот я и интересуюсь.
  7. И как определяется её невалидность? Грубо говоря при обновлении прошивки вместо 16Кб данных записалось только 8, после этого работоспособность была утеряна (хотя до этого родная прошивка слетела по непонятным причинам).
  8. Подскажите, так можно ли очистить EEPROM без прямого доступа к ней. Т.е. есть закрытый прибор на FX2, в нем доступ возможен только к USB порту. Прошивка убита - при подсоединению к компу определяется как неизвестное устройство (VID/PID = 0).
  9. Подделка STM32F407?

    Не совсем в тему, но тоже про подделки. Долгое время использовали DS1086L Spread-Spectrum EconOscillator. Это 8-ногая микросхемка выдающая программируемую болтающуюся частоту. Программируется по I2C. В железе прошивается один раз. Так вот несколько лет было всё нормально и тут купили партейку. По виду выходная частота есть, но регулируется только предделителем, а точной настройки нет. Регистры считываются все, а вот пишутся только 2 (предделитель и еще какой-то). Регистр цапы (точная настройка) и диапазона не пишется. Теперь отсылаем поставщику - хорошо партия небольшая. Кстати эта партия чуть отличается дополнительной маркировкой. У нормальной что-то вроде XY443, у кривой 443XY. Причем это уже второй раз - год назад было так же.
  10. Всё, вроде разобрался)) Теперь работает везде где проверял с тестами и так (XP, 8.1 и 10). Причина была во флаге TXCOMP. У меня использовался переделанный пример из под FREERTOS, и есть там такая фича - сброс сразу кучи прерываний в обработчике (осталась у меня в проекте). А TXCOMP был задефайнен в эту кучу. Т.е. TXCOMP сбрасывался еще до обработки прерывания на него. Соответственно сделал сброс TXCOMP только в одном месте после полной обработки соответствующего прерывания - проблема ушла.
  11. Ошибка в том, что запрос SetAddress не проходит - SETUP пакет не принимается корректно. Что касается двух ссылок с проектами, то оба проекта не работают под искомой системой (в Windows XP на другой машине работают). Отличие только в том, что возвращается STALL на запрос SetAddress (в моем случае идет безответный сбой). Естественно после этого устройство не работоспособно. PS: Может у кого есть точно рабочий проект с USB на SAM7S64? Проверенный на 8-ке и без больших тормозящих навесок (с задержками более 1мс между обработкой прерываний скорее всего заработает), нужен только процесс энумерации. Хоть бинарник киньте - попробую проверить.
  12. RESET уже прошел - обработали и забыли. Далее идет обмен, вот картинка для наглядности: 8 байт отослали хосту, затем он рвет связь (что не удается отследить). В это время в очередь загружается последующие 8 байт и с приходом следующего SETUP получаем невосстанавливаемый сбой.
  13. RESET получен, SETUP с запросом GetDeviceDescriptor 18 байт length. После 8 байт передачи идет следующий SETUP без RESET и всё. В старых системах (на XP) после такого шел RESET, а на 8-ке SETUP. RESET убрали для повышения скорости.
  14. Так все-таки, подскажите - запрос GetDeviceDescriptor после сброса, есть система запрашивающая 18 байт и честно получающая все 18 байт, эта же система может запросить 8 байт и ждет 8 байт. Тут всё нормально. Но есть система запрашивающая 18 байт, которая после получения 8 байт разрывает обмен и тут же посылает следующий SETUP пакет. Вот здесь и начинается самое интересное - если до разрыва контроллер успел забить очередь следующими 8 байтами, то при получении SETUP получаем тотальный сбой с невозможностью что либо принять/передать по USB, если же очередь заполнить не успели, то всё проходит нормально. Как на такое реагировать?
  15. Всё-таки на самой кривой системе запрашивает именно 18 (Windows 8.1 Intel Core i5, чипсет 82801). На других бывает и 8. Так что не определить.
  16. Указано "at least". Т.е. отдать по крайней мере 8 байт одним пакетом, значит больше - не обязательно. И к тому же явно указано, что хост читает 8 байт, а не больше. И по другому я вообще без понятия как сделать, поскольку не нашел разницы в обмене полной транзакции и с обрывом. Т.е. ответные данные в FIFO загоняются и следующий пакет SETUP убивает весь обмен. Тесты USB2CV кстати проходятся без ошибок.
  17. 8-ка и 10-ка не производит BUS_RESET (после получения 8 байт дескриптора - скорость так подняли). В общем решил так - после BUS_RESET передаю только 8 байт дескриптора. Нашел про это в стандарте (п.5.5.3 USB2.0) - коряво написано: Но вроде так можно.
  18. Подскажите по очень похожему вопросу - в теме решение своей проблемы не нашел. Тоже SAM7S64. Процесс энумерации без прерываний. Проблема в сбое энумерации - возникает не всегда и не на каждой системе. Но нашел один комп, на котором такое постоянно происходит (на других все тесты USB2CV проходят без ошибок). 1) по ENDBUSRESET сброс EP и т.п.; 2) Получаю запрос на дескриптор устройства; 3) Первые 8 байт дескриптора загружаю в FIFO и поднимаю TXPKTRDY, сбрасываю TXCOMP; 4) Жду TXCOMP, посылаю следующие 8 байт (поднимая TXPKTRDY), сбрасываю TXCOMP. И вот здесь наблюдается затык, потому что хост прервал получение дескриптора и уже шлет "Set Address": В UDP_CSR0 выставляется RXSETUP, но данных нет (FIFO занял отправленный ранее запрос) - соответственно обмен остановлен. Признака по которому видно, что хост прервал транзакцию я не нашел - транзакции с обрывом и полной передачей данных идут одинаково (состояния UDP_ ISR и UDP_CSR0 идентичны до сбоя).
  19. Для длинных линий можно поставить дополнительный хаб - уже длина 10 метров. Минусы есть, но зато полное соответствие стандарту USB при минимальных затратах. Если требуется более длинная линия, то советую посмотреть продукты Icron. Есть под оптику и витую пару. Естественно будет не дешево, но тоже практически полное соответствие USB. Как минимум тайминги все в порядке. Возможны некоторые проблемы с экзотическими устройствами, но их продукты уже давно на рынке и фиксят баги оперативно. К примеру мы много их вещей используем (тысячи штук) - проблем не было. Минусы - цена, скорость передачи до 2 раз ниже (на запись кажется) ну и потенциальные проблемы с экзотикой.
  20. Всего лишь нужен ответ на этот запрос. Запрашивает ОС - в репорте (в моём сообщении выше) всё уже учтено. Достаточно ответить на запрос, отослав допустимое число нажатий.
  21. Как бы тоже весьма желательно сделать. На крайний случай конечно можно и так.
  22. Т.е. SI вычеркиваем - пытался как-то NDA с другой конторой заключить без эффекта (слишком многого хотят).
  23. Преобразование DVI-LVDS. К DVI подцепляется грубо говоря обычный комп. Так что разрешения там могут быть разные. Плюс управление настройками монитора (вывод меню и т.д.) нужно.
  24. За RTD2660 - спасибо, вроде инфа есть. Посмотрим можно ли их приобрести. По SI пока неясно - сходу описаний Sil9616/Sil9612 не нашел. Схемы стандартных мониторов смотрели и даже купили парочку NT68667, но без полного описания смысла в них мало. По разрешениям - на матрице одно разрешение, с другой стороны другие. Что за стандартный чип от TI?
  25. Есть задача - грубо говоря сделать монитор (интегрированный в оборудовние). Поскольку их нужно не один и не 10, а больше, но не десятки тысяч штук имеем проблему. Готовых мониторов одной модели найти проблематично даже пару сотен штук единовременно и не реально через год. Из-за этого придется сделать свой монитор. И вот тут встает проблема - одиноковые матрицы приобрести реально, достоточно стандартизированы, а вот со скалерами проблема. Информации по ним в свободном доступе практически нет - максимум убогий pdf с поддерживаемым разрешениями и возможностями. Т.е. купить то их может и можно, но запрограммировать без документации никак. Может кто сталкивался со скалерами? Т.е. нужен обычный мониторный скалер (как в бюджетных мониторах), который находится в производстве и вся документация к нему. Если такое где-то есть киньте ссылку (а то несколько человек искало безрезультатно). Или поделитесь контактами производителя который может выдать такую информацию для мелкосерийного производства. PS: К примеру есть скалер NT68667 Эти скалеры стоят в филипсах 19". Вроде бы подробный pdf. Но есть строчка: On-Chip Microcontroller - Reference NT68667 MCU Spec. Соответственно pdf с описанием 51-го набортного контроллера найти не получилось, а без него остальное не имеет смысла. А китайцы говорят "купите у нас 100 тыщ скалеров и прошивку мы напишем сами, а доки всё равно не отдадим".
×
×
  • Создать...