|
Работа с USB2.0 SX2, Ктонибуть использовал SX2 |
|
|
|
Oct 12 2007, 06:50
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 17-01-06
Пользователь №: 13 277

|
Цитата(-Al- @ Oct 11 2007, 17:20)  Мы сразу сделали п/п c SX2 56SSOP и ПЛИС под свой проект, на ней и отлаживались. Впоследствие оказалось, что SX2 с легкостью меняется на FX2LP без переделки п/п, отделались изменениями в программе ПЛИС (она стала ЗНАЧИТЕЛЬНО проще). А вы конфигурировали её с плиса? Нехило! Пришлось, поди, какое-нибудь мелко-процессорное ядро использовать? Имхо, значительно проще и дешевле было бы сразу внешний МК пристроить... Кстати, вопрос: как защитить от чтения программу этого 51го МК в FX2LP?
|
|
|
|
|
Oct 12 2007, 07:04
|

Местный
  
Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894

|
Цитата(qqqqqq @ Oct 12 2007, 10:50)  А вы конфигурировали её с плиса? Нехило! Пришлось, поди, какое-нибудь мелко-процессорное ядро использовать? Имхо, значительно проще и дешевле было бы сразу внешний МК пристроить...
Кстати, вопрос: как защитить от чтения программу этого 51го МК в FX2LP? Да просто все оказалось, т.к. конфигурация достаточно фиксированная то и дело закончилось конечным автоматом без всяких мелко-процессорных ядер :) В EPM1270 все это дело вместе с арбитром и буферными регистрами заняло 109 LC. Использовать еще и внешний МК вообще смысла не было. Только в SX2, если спользуется автоматическая выдача пакетов по заполнению FIFO, не стоит забывать о FullSpeed/HighSpeed, т.к. регистры надо будет перестраивать динамически под нужную длину (64/512), но и это все решается :) Защитить от чтения программу во встроенном 51ом МК нельзя, т.к. она в любом случае внешняя - грузится или из I2C EEPROM или с USB.
|
|
|
|
|
Oct 22 2007, 08:24
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 17-01-06
Пользователь №: 13 277

|
Warlord писал: Какова ширина шины фифо?? Разницы как работать с SX2 синхронно или асинхронно ИМХО нет. Дескриптор тоже рояли не играет. Попробуйте проект Streamer и поиграйте параметрами, какую скорость он покажет в Вашем случае??
А кому-нибудь удавалось запустить проект streamer на SX2? Ищу информацию на эту тему. У меня запускается и даже даёт нажать "Start", но измерений не происходит - скорость всегда 0. Может быть дело в прошивке МК или конфигурации SX2?
|
|
|
|
|
Oct 31 2007, 19:58
|
Группа: Новичок
Сообщений: 14
Регистрация: 21-10-07
Пользователь №: 31 567

|
Всем добрый вечер. Только начал работать с SX2 есть проблемы которые не могу понять.Плату собирал сам на ней SX2 подключен к ПЛИС, установлен микроконтроллер Atmega 64 то-же подключен к ПЛИС портами А,В и частично С, установлен отдельный высоко скоросной АЦП- подключен к ПЛИС и 3 канала гальванической развязки для отдельного АЦП и двух каналов АЦП Atmega 64.В SX2 дискриптор грузится через TWI микроконтроллера Atmega 64 с его флеш. Дискриптор гружу по умолчанию из тех. описания .SX2 нормально определяется, устанавливаю драйвер CyUSB. Дальше проблемы ....Нужен обмен около 3-х МГц по 16 бит ,в начале от РС настройки и старт а дальше в комп. Не могу разобратся с обменом.Прошу помочь. 1.Нужно ли загружать дополнительные настройки в регистры кипруса через командный интерфейс для моего обмена или можно обойтись по умолчанию ? 2.У меня состояние всех флагов FLAG(А,В,С) "1" и не меняется,Прошивка в ПЛИС устанавливает FIFOADR (2..0)- 001 ,с помощью EZ-USB Control Panel подаю данные в конечную точку EP4-буфер заполняется - флаги не меняются... Как же должно быть? 3.Может кто нибуть" просто" обьяснить особености обмена или какие и как менять-читать управляюшие сигналы для моего конкретно обмена (с английским туго ,из тех. описания много го не понимаю думаю, что в конце концов разберусь методом "научного тыка" но очень ограничен во времени).Очень прошу помочь,и подсказать,мне еще аналоговую часть настраивать....без ввода в РС никак! java script:emoticon(':unsure:', 'smid_24')Заранее спасибо!
|
|
|
|
|
Oct 31 2007, 21:10
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 17-01-06
Пользователь №: 13 277

|
Цитата(Glitko @ Nov 1 2007, 01:58)  проблемы ....Нужен обмен около 3-х МГц по 16 бит ,в начале от РС настройки и старт а дальше в комп. Не могу разобратся с обменом.Прошу помочь. 1.Нужно ли загружать дополнительные настройки в регистры кипруса через командный интерфейс для моего обмена или можно обойтись по умолчанию ? Да вроде бы можно и на дефолтных... Двух ендпайпов IN и OUT для почти любой задачи достаточно. Цитата 2.У меня состояние всех флагов FLAG(А,В,С) "1" и не меняется,Прошивка в ПЛИС устанавливает FIFOADR (2..0)- 001 ,с помощью EZ-USB Control Panel подаю данные в конечную точку EP4-буфер заполняется - флаги не меняются... Как же должно быть? Должны меняться. А откуда известно, что он заполняется? Цитата 3.Может кто нибуть" просто" обьяснить особености обмена или какие и как менять-читать управляюшие сигналы для моего конкретно обмена (с английским туго ,из тех. описания много го не понимаю думаю, что в конце концов разберусь методом "научного тыка" но очень ограничен во времени).Очень прошу помочь,и подсказать,мне еще аналоговую часть настраивать....без ввода в РС никак! java script:emoticon(':unsure:', 'smid_24')Заранее спасибо! Научный тык в данном случае больше времени потребует, нежели перевод и изучение описания.
|
|
|
|
|
Nov 1 2007, 08:48
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 17-01-06
Пользователь №: 13 277

|
[quote] По умолчанию буфер в SX2 - 1кБ (т.е. на два фрейма для HighSpeed USB) на каждый эндпоинт и пока он не заполнится флаг FIFO Full не выставится. [\quote]
Выставится, если отправить хотя бы 2 пакета длиной хотя бы 1 байт. 1кБ при этом, естественно, не заполнится. Кстати! Флаг FIFO-empty после енумерации и до всяких передач должен быть в нуле. Если такого нет - то может адрес всё же неправильно выставлен?
|
|
|
|
|
Nov 9 2007, 18:15
|
Группа: Новичок
Сообщений: 14
Регистрация: 21-10-07
Пользователь №: 31 567

|
Цитата(Glitko @ Oct 31 2007, 22:58)  Всем добрый вечер. Только начал работать с SX2 есть проблемы которые не могу понять.Плату собирал сам на ней SX2 подключен к ПЛИС, установлен микроконтроллер Atmega 64 то-же подключен к ПЛИС портами А,В и частично С, установлен отдельный высоко скоросной АЦП- подключен к ПЛИС и 3 канала гальванической развязки для отдельного АЦП и двух каналов АЦП Atmega 64.В SX2 дискриптор грузится через TWI микроконтроллера Atmega 64 с его флеш. Дискриптор гружу по умолчанию из тех. описания .SX2 нормально определяется, устанавливаю драйвер CyUSB. Дальше проблемы ....Нужен обмен около 3-х МГц по 16 бит ,в начале от РС настройки и старт а дальше в комп. Не могу разобратся с обменом.Прошу помочь. 1.Нужно ли загружать дополнительные настройки в регистры кипруса через командный интерфейс для моего обмена или можно обойтись по умолчанию ? 2.У меня состояние всех флагов FLAG(А,В,С) "1" и не меняется,Прошивка в ПЛИС устанавливает FIFOADR (2..0)- 001 ,с помощью EZ-USB Control Panel подаю данные в конечную точку EP4-буфер заполняется - флаги не меняются... Как же должно быть? 3.Может кто нибуть" просто" обьяснить особености обмена или какие и как менять-читать управляюшие сигналы для моего конкретно обмена (с английским туго ,из тех. описания много го не понимаю думаю, что в конце концов разберусь методом "научного тыка" но очень ограничен во времени).Очень прошу помочь,и подсказать,мне еще аналоговую часть настраивать....без ввода в РС никак! java script:emoticon(':unsure:', 'smid_24')Заранее спасибо! Обен запустил. Проблема была в WAKEUP: подал вместо нуля еденицу и еше промухал INCONFIG внес в него в ходе эксперементов изменения и забыл вернуть значение по умолчанию.Правда появилась другая проблема: загрузка в плату из компа идет нормально (пишу через EZ-USB Control Panel во вторую точку все выгружается без проблем,на ПЛИС прошит цикл чтения из SX2 длительностью по времени 8МГц) нажимаю клавишу Trancfer Data огромное количество раз- косяков нет,а при записи в комп(пишу в 6 точку)С через несколько нажатий в проге EZ-USB Control Panel клавиши Trancfer Data (количество считываемых байтов 65000 за одно нажатие) SX2 пропадает как устройство при этом микросхема очень горячая.Цикл записи в SX2 прошитый в ПЛИСЕ выгружает простой 16 битный счетчик и по времени равен 5,5 МГц,считаные данные без косяков. У меня на плате: -XTALOUT-24МГц от внешнего генератора; -READY-используется для запуска чтения (цикл записи запускается по передаче пятерки); -IN#-в воздухе; -RESET#-через резистор 100Ком на 3.3В и кондер 10 МФ на землю; -IFCLK-в воздухе; -Reserved-на землю; -WAKEUP-на землю; остальные сигнальные используются так как описано в документации и запаяны непосредственно на ПЛИС.Вся шина данных SX2 на прямую запаяна на ПЛИС. Питание на ПЛИСе 3.3В. МОЖЕТ надо поставить резисторы между ПЛИС и SX2 ? Или я всетаки что-то в цикле записи промухал? Стабилизаторы на плате IRU1010-33(1ампер),для ПЛИС и для SX2 отдельно. В чем проблема?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|