|
USB, EZ-USB FX2 |
|
|
|
Jul 1 2004, 11:04
|
Группа: Свой
Сообщений: 7
Регистрация: 30-06-04
Пользователь №: 222

|
Точка Опоры продает эти микросхемы http://www.fulcrum.ru
|
|
|
|
|
Jul 2 2004, 05:50
|
Местный
  
Группа: Свой
Сообщений: 224
Регистрация: 22-06-04
Из: Новосибирск
Пользователь №: 87

|
Цитата(Panych @ Jun 17 2004, 05:17 PM) Реализую проект на CY7C68013 от CYPRESS. Интересна ли эта тема? Может, кто-то уже использовал её? Предлагаю обмен информацией и советами. Я делал проект на CY7C68013 от CYPRESS и железо и софт на контроллер. Что интересует? Если смогу отвечу.
|
|
|
|
|
Jul 3 2004, 02:09
|
Участник

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

|
http://www.quickusb.comочень приятная вещица для разработки.
--------------------
-- Никогда не говори "никогда" --
|
|
|
|
|
Jul 5 2004, 08:31
|
Участник

Группа: Свой
Сообщений: 33
Регистрация: 5-07-04
Пользователь №: 255

|
А этот quickusb кто нибудь использовал или толькь теоретически приятен?
|
|
|
|
|
Jul 21 2004, 13:14
|
Группа: Свой
Сообщений: 14
Регистрация: 21-07-04
Из: Moscow
Пользователь №: 347

|
Цитата(Panych @ Jun 17 2004, 06:17 PM) Реализую проект на CY7C68013 от CYPRESS. Интересна ли эта тема? Я участвовал в разработке устройства, использующего CY7C68013-100AC в slave режиме. С GPIF не разбирались. Устройство self-powered. Писал для нее софт на основе сишного frameworks, и писал драйвер устройства под Win2000/XP опять же используя как основу исходники ezusb.sys. Если вдруг чем-то смогу помочь - пишите.
|
|
|
|
|
Jul 22 2004, 11:18
|
Группа: Свой
Сообщений: 14
Регистрация: 21-07-04
Из: Moscow
Пользователь №: 347

|
Цитата(lamerok @ Jul 22 2004, 07:44 AM) А можно мне исходники примера драйвера... на мыло EZ-USB Development Tools V2.61.700 лежат здесь: http://www.cypress.com/cfuploads/support/d...sion_261700.zipАрхив весит 61 метр. Внутри документация для FX, FX2 и SX2, примеры прошивок, "Anchor Firmware FrameWorks" писанная на Keil C51 C, схемы , pcb-шки development boards от Cypress, исходники драйверов под винду и.т.д. Кстати Cypress видимо скоро выпустит EZ-USB FX2LP (CY7C68013A), которая судя по preliminary datasheet будет совместима с FX2, иметь на борту 16KB под код и данные и "кушать" не более 85 mA. Хотя все что касается потребления энергии пока TBD  Datasheet живет здесь: http://cypress.com/cfuploads/img/products/cy7c68013a.pdf
|
|
|
|
|
Sep 3 2004, 02:41
|

Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 3-09-04
Пользователь №: 586

|
Столкнулся с проблемой при сопровождении устройства на CY7C68013. Бывает неопознанный глюк: флаг переполнения FIFO уходит в 0 (FIFO full) и FPGA перестает качать данные в USB-чип. Причем глюк носит случайный характер. То он всплывает, когда писишная программа только инициализирует устройство и никаких данных со стороны FPGA еще не идет, то выскакивает в момент передачи данных. Конфигурация чипа следующая: FIFO в режиме Slave, AUTO IN mode, размер пакета 1024 байта, буферизация quad, режим передачи данных bulk. Используется только Endpoint2, остальные отключены. Если кто-нибудь сталкивался с подобным глюком - поделитесь информацией. Я в долгу не останусь Заранее спасибо
|
|
|
|
|
Sep 16 2004, 15:09
|
Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 27-08-04
Из: Минск
Пользователь №: 556

|
Цитата(udofun @ Jun 17 2004, 06:26 PM) Итересен переходник с USB на RS232. Самый простой и дешевый вариант такого переходника - Cygnal CP2101 USB to UART Bridge Controller. Если для FTDI надо внешний кварц, EEPROM и еще горсть мелочевки, то для CP2101 не нужно НИЧЕГО (ну кроме пары фильтрующих кондеров :D ). И все это в корпусе MLP-28 5x5 мм! И еще стабилизатор 3,3 В 80 мА впридачу! И по цене меньше чем FTDI (~ $3). Правда драйвера Cygnal (сорри, теперь уже Silicon Labs) просто так не дает, надо кит за баксов 50 купить. Но это небольшая проблема - если кому драйвера надо, могу куда-нибудь залить/намылить. Единственное, правды ради хочу сказать, чип несколько менее гибкий, чем FTDI.
|
|
|
|
|
Sep 17 2004, 08:27
|

Участник

Группа: Свой
Сообщений: 44
Регистрация: 13-09-04
Из: Екатеринбург
Пользователь №: 654

|
Подскажите кто знает... Мне нужно написать программку на CY7C67хх, EZ-USB Development Tools V2.61.700 потдетживает эту серию контроллеров? И вообще что поддерживыает серию контроллеров enCoRe и M8? Игде можно найти? Знаю что некоторые контроллеры с архитектурой 51 поддерживаются uVisio. Зарание Спасибо!!!
|
|
|
|
|
Oct 5 2004, 10:27
|
Группа: Свой
Сообщений: 14
Регистрация: 21-07-04
Из: Moscow
Пользователь №: 347

|
Цитата(левша @ Oct 4 2004, 10:18 PM) Ктонибудь делал на CY7C68013 что нибудь? Если да то интересно какую скорость удалось достичь, и какая при этом была загрузка процессора? Про изохронную передачу не знаю, а вот про Bulk могу сказать вот что. На сайте Cypress есть такая информация: Using Bulk endpoints Fx2 can perform a data rate of 20 MBps on PCI Host Controllers 5 packets per microframe 5 packet *512 Bytes/Packet per microframe 2.5 Kbytes per microframe 8 microframe * 2.5 K Bytes per Frame 20,000 KB per second 20 MBps (about twice this speed on Motherboard based Host Controllers such as ICH4) Конечно не все так хорошо, но это похоже на правду. Я как-то пробовал такую штуку: FX2 (без внешней периферии), EP2 - IN, 512 byte, quad buffering. Внутренний 8051 - тупо крутил цикл проверяя не свободно ли EP2 FIFO и если оно оказывалось вычитанным, то снова "взводил" его записью в регистры EP2BCH и EP2BCH. Могу сейчас наврать но было что-то вроде: if(!(EP2468STAT & bmEP2FULL)) { SYNCDELAY; EP2BCH = 0x02; SYNCDELAY; EP2BCL = 0x00; } В свою очередь на PC программа + синхронный драйвер (аналогичный ezusb.sys) опять же тупо в цикле вычитывали данные. Приоритет потока я не поднимал, драйвер за один раз запрашивал передачу 32 Kбайт. Дело было давно но получилось что-то вроде: P3 900 MHz + PCI USB2.0 Host (Tekram) в районе 15 MByte/sec P4 2.4 GHz + ICH4 на маме - чуть ли не 30 MByte/sec Загрузка процессора, если мне не изменяет память была в районе 30% (Тут могу наврать, но помню что я сильно обрадовался  Видимо если написать нормальный драйвер то можно скорость передачи FX2->PC несколько увеличить.
|
|
|
|
|
Oct 6 2004, 16:53
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789

|
Цитата(grumbler @ Oct 6 2004, 12:45 AM) Использую CY7C68001 - то же но без встроенного процессорного ядра. Получается без напряга 15 Мбайт/с при загрузке ЦП PENTIUM-M 1.5 несколько процентов. Думаю можно больше, просто мне не надо.
Лучше пользуйте USBIO . 1,5% это внушает, но мне необходима импульсная передача (передача-пауза-передача...). А что такое USBIO? Если имеется ввиду работать напрямую с портами ввода вывода то я думую это лишнее, а если есть драйвер с помощью которого можно обратиться к USB то хотелосьбы получить подробную справку. Пока мне известен только один такой общий драйвер это драйвер HID учтройств, но он мне подходит по скорости.
|
|
|
|
|
Oct 6 2004, 17:43
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 10-07-04
Из: Зеленоград
Пользователь №: 310

|
Цитата(левша @ Oct 6 2004, 08:53 PM) А что такое USBIO? Если имеется ввиду работать напрямую с портами ввода вывода то я думую это лишнее, а если есть драйвер с помощью которого можно обратиться к USB то хотелосьбы получить подробную справку. http://www.thesycon.decrack искатить в конфе на телесистемах.
|
|
|
|
|
Oct 6 2004, 20:53
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789

|
Цитата(grumbler @ Oct 6 2004, 09:43 PM) http://www.thesycon.decrack искатить в конфе на телесистемах. Спасибо, возьму на заметку.
|
|
|
|
|
Oct 16 2004, 07:10
|
Участник

Группа: Свой
Сообщений: 74
Регистрация: 16-10-04
Из: Москва
Пользователь №: 889

|
2 qlock17 Цитата Столкнулся с проблемой при сопровождении устройства на CY7C68013. Бывает неопознанный глюк: флаг переполнения FIFO уходит в 0 (FIFO full) и FPGA перестает качать данные в USB-чип. Причем глюк носит случайный характер. То он всплывает, когда писишная программа только инициализирует устройство и никаких данных со стороны FPGA еще не идет, то выскакивает в момент передачи данных. Конфигурация чипа следующая: FIFO в режиме Slave, AUTO IN mode, размер пакета 1024 байта, буферизация quad, режим передачи данных bulk. Используется только Endpoint2, остальные отключены. Если кто-нибудь сталкивался с подобным глюком - поделитесь информацией. Я в долгу не останусь Заранее спасибо А как это вам удалось сделать размер пакета 1024 в BULK режиме? В мануале написано что такое возможно только в ISOCHRONOUS. Что касается вашего глюка, то очень похоже на сбои по питанию или наводки по IFCLK (или по SLWR - если асинхронный режим). Еще полезно перед началом работы ресетить FIFO столько раз, чему равна буферизация, т.е. в вашем случае 4. Вы каким драйвером пользуетесь. С новым драйвером от Cypress - CyUsb.sys не работали? Не могу с его помощью засатавить свой девайс заснуть, хотя вроде средства для этого есть. Может кто еще сталкивался?
|
|
|
|
|
Oct 17 2004, 16:08
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789

|
Цитата(Al Jumper @ Oct 16 2004, 11:10 AM) 2 qlock17 Цитата Столкнулся с проблемой при сопровождении устройства на CY7C68013. Бывает неопознанный глюк: флаг переполнения FIFO уходит в 0 (FIFO full) и FPGA перестает качать данные в USB-чип. Причем глюк носит случайный характер. То он всплывает, когда писишная программа только инициализирует устройство и никаких данных со стороны FPGA еще не идет, то выскакивает в момент передачи данных. Конфигурация чипа следующая: FIFO в режиме Slave, AUTO IN mode, размер пакета 1024 байта, буферизация quad, режим передачи данных bulk. Используется только Endpoint2, остальные отключены. Если кто-нибудь сталкивался с подобным глюком - поделитесь информацией. Я в долгу не останусь Заранее спасибо А как это вам удалось сделать размер пакета 1024 в BULK режиме? В мануале написано что такое возможно только в ISOCHRONOUS. Что касается вашего глюка, то очень похоже на сбои по питанию или наводки по IFCLK (или по SLWR - если асинхронный режим). Еще полезно перед началом работы ресетить FIFO столько раз, чему равна буферизация, т.е. в вашем случае 4. Вы каким драйвером пользуетесь. С новым драйвером от Cypress - CyUsb.sys не работали? Не могу с его помощью засатавить свой девайс заснуть, хотя вроде средства для этого есть. Может кто еще сталкивался? Несмотря на то что я отказался от использования изохрона мне былобы интересно увидеть пример работы с этим типом конечнойт точки драйвера CyUSB.sys. Когда драйвер жрёт 60-70% процессорного времени на скорости 3,3 МБ/сек и передаёт испорченые данные на остальное можно уже не смотретть. Возможно это изза некорректной передачи данных но в чём лаг я так и не понял. Если ктото что делал под этот драйвер для изохрона пожайлуста поделитесь опытом в том что косается особенностей этого типа передачи под этот драйвер.
|
|
|
|
|
Nov 15 2004, 10:02
|
Участник

Группа: Новичок
Сообщений: 23
Регистрация: 13-11-04
Из: Нижний Новгород
Пользователь №: 1 120

|
Цитата(glock17 @ Sep 3 2004, 06:41 AM) Столкнулся с проблемой при сопровождении устройства на CY7C68013. Бывает неопознанный глюк: флаг переполнения FIFO уходит в 0 (FIFO full) и FPGA перестает качать данные в USB-чип. Причем глюк носит случайный характер. То он всплывает, когда писишная программа только инициализирует устройство и никаких данных со стороны FPGA еще не идет, то выскакивает в момент передачи данных. Конфигурация чипа следующая: FIFO в режиме Slave, AUTO IN mode, размер пакета 1024 байта, буферизация quad, режим передачи данных bulk. Используется только Endpoint2, остальные отключены. Если кто-нибудь сталкивался с подобным глюком - поделитесь информацией. Я в долгу не останусь Заранее спасибо Добрый день. Такой глю кнаблюдаеьтся сразу после инициализации, пока от внешнего хоста не придет информация, что устройство подхвачено драйвером ОС. у самого на CY7C680001 флаги стоят в состоянии, как попало.
|
|
|
|
|
Nov 20 2004, 11:42
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789

|
Цитата(glock17 @ Sep 3 2004, 05:41 AM) Столкнулся с проблемой при сопровождении устройства на CY7C68013. Бывает неопознанный глюк: флаг переполнения FIFO уходит в 0 (FIFO full) и FPGA перестает качать данные в USB-чип. Причем глюк носит случайный характер. То он всплывает, когда писишная программа только инициализирует устройство и никаких данных со стороны FPGA еще не идет, то выскакивает в момент передачи данных. Конфигурация чипа следующая: FIFO в режиме Slave, AUTO IN mode, размер пакета 1024 байта, буферизация quad, режим передачи данных bulk. Используется только Endpoint2, остальные отключены. Если кто-нибудь сталкивался с подобным глюком - поделитесь информацией. Я в долгу не останусь Заранее спасибо У меня тоже были какието проблемы с началом передачи, поэтому я ввёл дополнительный сигнал включения выключения сеанса передачи. При неактивном уровне у меня происходит сброс моего синхронного автомата плиски и прочищается канал передачи данных от данных прошлого сеанса передачи(это изза драйвера наверно). Конечно можно обойтись и без него при более тщательном изучении контроллера, но мне так проще. Интересно а кто нибудь делал одноврменно с каналом передачи данных Slave FIFO <-> FPGA интерфейс заливки прошивки ПЛИС от CY7C68XXX к FPGA? И вообще возможно ли это?
|
|
|
|
|
Dec 6 2004, 18:20
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 4-12-04
Пользователь №: 1 322

|
Если кто еще использует чипы от FTDI (после такой рекламы CP2101 и CY7C68013), скажите: их драйвера можно как-то устанавливать автоматически (ну, к примеру из своего дистрибутива, так, чтобы они уже прописывались в Windows)? Куда что в реестре надо записать, что кинуть в Windows/System и так далее? Вообще, это в принципе возможно? А то не солидно всем потребителям объяснять: "Когда воткнете кабель, запустится мастер установки нового оборудования, поставьте галочку там-то и там-то и укажите путь к драйверам, а если мастер у вас почему-то не запустился, то возможно несколько вариантов...". Не все пользователи от этого в восторге.
|
|
|
|
|
Dec 9 2004, 07:05
|
Участник

Группа: Свой
Сообщений: 72
Регистрация: 4-12-04
Пользователь №: 1 322

|
Цитата(Stas @ Dec 7 2004, 16:58) Как воткнул в первый раз железяку в USB порт, появляется сообщение "обнаружено новое устройство", подсовываешь дрова, они укладываются и об них больше не вспоминаешь. Все красиво и солидно. Это с драйвером PNP, есть еще драйвер не PNP, но с ним мы не работали. Спасибо, конечно, за объяснение, но меня интересовал вопрос, как от этого подсовывания дров вручную избавиться, куда в Виндоусе кинуть sys-файлы, что прописать в реестре?
|
|
|
|
|
Dec 16 2004, 11:30
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Млин, да что же такой с сайтом Cypress, а? Не могу добраться до Development Kit ни по сайту ни по ссылке с первой страницы http://www.cypress.com/cfuploads/support/d...sion_261700.zipПодскажите, pls, откуда его выкачать, а то проект застопорился... Спасибо.
|
|
|
|
|
Dec 16 2004, 15:13
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789

|
Цитата(Eugene_P @ Dec 16 2004, 14:30) Млин, да что же такой с сайтом Cypress, а? Не могу добраться до Development Kit ни по сайту ни по ссылке с первой страницы http://www.cypress.com/cfuploads/support/d...sion_261700.zipПодскажите, pls, откуда его выкачать, а то проект застопорился... Спасибо. Я уже свыкся с глюками на сайте Cypress пока раз 10-20 не кликнешь не начинает грузиться.
|
|
|
|
|
Jan 6 2005, 09:34
|
Участник

Группа: Свой
Сообщений: 45
Регистрация: 3-01-05
Пользователь №: 1 784

|
Кто работает с Cypress 68013 подскажите как снять ограничения с Кайла. В демо версии софт грузится во внешнюю память.
Кто умеет писать полноценные драйверы - дайте совет. У меня есть драйвер, поставленный вместе с китом. Можно ли им реально пользоваться или необходимо писать свой? В чем могут быть проблемы?
|
|
|
|
|
Jan 14 2005, 07:47
|
Группа: Новичок
Сообщений: 2
Регистрация: 14-01-05
Пользователь №: 1 942

|
C Cypress 68013 работаю недавно, возникли непонятки с драйвером ezusb.sys. Под W2000 забираются данные из устройства порциями по несколько кБ, режим BULK.
1) Забираю данные из устройства и смотрю время, которое затрачивает драйвер на выкачивание (дельта времени между заходом в функцию и выходом). Выкачиваю по 12 кБ - около 200 мс, по 24 кб - опять около 200 мс. В чём дело? Почему время не пропорционально? Что это - кривость драйвера, кванты времени, выделяемые Windows или причина в чём-то ином? (генетические ошибки драйвера brain.sys?) Как добиться пропорциональности, для задачи было бы лучше выкачивать часто небольшими порциями, а не редко большими.
2) Встречал упоминания о новом драйвере cyusb.sys, но не смог найти его в И-нете. Поделитесь, пожалуйста, кто-нибудь драйвером и документацией. Адрес yurigz (а) yandex ru.
|
|
|
|
|
Jan 14 2005, 18:30
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789

|
Цитата(YurGinz @ Jan 14 2005, 10:47) C Cypress 68013 работаю недавно, возникли непонятки с драйвером ezusb.sys. Под W2000 забираются данные из устройства порциями по несколько кБ, режим BULK. 1) Забираю данные из устройства и смотрю время, которое затрачивает драйвер на выкачивание (дельта времени между заходом в функцию и выходом). Выкачиваю по 12 кБ - около 200 мс, по 24 кб - опять около 200 мс. В чём дело? Почему время не пропорционально? Что это - кривость драйвера, кванты времени, выделяемые Windows или причина в чём-то ином? (генетические ошибки драйвера brain.sys?) Как добиться пропорциональности, для задачи было бы лучше выкачивать часто небольшими порциями, а не редко большими. 2)Встречал упоминания о новом драйвере cyusb.sys, но не смог найти его в И-нете. Поделитесь, пожалуйста, кто-нибудь драйвером и документацией. Адрес yurigz (а) yandex ru. 1) Если быстро и по немногу то это не по адресу т.к. Windows не ОСРВ. Но 200 мс это чёто многовато даже для виндов. Попробуйте сделать передачу SETUP пакетов ннулевой длинны. 2)http://www.cypress.com/portal/server.pt?space=CommunityPage&parentname=CommunityPage&in_hi_userid=2&control=SetCommunity&CommunityID=209&PageID=418&r_folder=Reference%20Designs&r_title=CY4604%20-%20USB%20Developer's%20uStudio
|
|
|
|
|
Jan 19 2005, 06:40
|
Группа: Новичок
Сообщений: 2
Регистрация: 14-01-05
Пользователь №: 1 942

|
Большое спасибо всем откликнувшимся. похоже, я погорячился насчет 200 мс, кое-что поправил и получилось более пропорциональное время. С указанного адреса uStudio скачать не смог, но, может быть, не очень старался. Мне уже прислал добрый человек usb_dev_uStudio_1031. Ещё раз, большо спасибо!
|
|
|
|
|
Jan 25 2005, 09:30
|
Группа: Новичок
Сообщений: 1
Регистрация: 25-01-05
Пользователь №: 2 165

|
А реально ли добиться скорости на CY68013 480 Mb/s ?????
|
|
|
|
|
Jan 25 2005, 09:58
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(shurik @ Jan 25 2005, 12:30) А реально ли добиться скорости на CY68013 480 Mb/s ????? Нет. Так же как и на любом другом контроллере. Протокол перенасыщен контрольными и синхронизирующими пакетами... LowPower вариан обещают до 53 мегабайт. Цитата(shurik @ Jan 25 2005, 12:30) А реально ли добиться скорости на CY68013 480 Mb/s ????? Вчера не напрягаясь 650мегабайт за 24 секунды выплюнул... Это через один эндпоинт! Без какой либо оптимизации.
|
|
|
|
|
Jan 31 2005, 13:22
|
Участник

Группа: Новичок
Сообщений: 43
Регистрация: 28-01-05
Пользователь №: 2 279

|
Цитата(Apast @ Jul 2 2004, 09:50) Цитата(Panych @ Jun 17 2004, 05:17 PM) Реализую проект на CY7C68013 от CYPRESS. Интересна ли эта тема? Может, кто-то уже использовал её? Предлагаю обмен информацией и советами. Я делал проект на CY7C68013 от CYPRESS и железо и софт на контроллер. Что интересует? Если смогу отвечу. Напиши плиз последовательность (в общих чертах) создания устройства на CY7C68013. Чем отличаеться SX2 от FX2?
|
|
|
|
|
Feb 21 2005, 12:11
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Первый запуск платы с чипом CY7C68013 (128AC). Установлен пакет EZ-USB Development Tools. Никаким образом Win2K не видит оборудование из-за отсутствия драйвера. ezusb.sys никак не хочет ставиться. Подскажите, pls, как разрешить проблему.
Спасибо.
|
|
|
|
|
Feb 21 2005, 14:18
|
Частый гость
 
Группа: Свой
Сообщений: 135
Регистрация: 10-07-04
Из: Зеленоград
Пользователь №: 310

|
Цитата(Eugene_P @ Feb 21 2005, 15:11) Первый запуск платы с чипом CY7C68013 (128AC). Установлен пакет EZ-USB Development Tools. Никаким образом Win2K не видит оборудование из-за отсутствия драйвера. ezusb.sys никак не хочет ставиться. Подскажите, pls, как разрешить проблему. Спасибо. Должно определиться как не опознанное устройство. Если этого нет ищите косяки.
|
|
|
|
|
Feb 21 2005, 14:44
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Eugene_P @ Feb 21 2005, 15:11) Никаким образом Win2K не видит оборудование из-за отсутствия драйвера. ezusb.sys никак не хочет ставиться. нужно определиться в терминах! Под "не видит оборудование" - вы что понимаете? Вы подключили устройство и винда сказала "давай драйвер" или же винда промолчала и вообще ни как не отреагировала?
|
|
|
|
|
Feb 22 2005, 11:48
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Цитата(Димыч @ Feb 21 2005, 16:05) Была такая "беда". Уж не помню, почему все так сложилось, но вылечилось изменением вручную путей копирования драйвера в inf файле. Ничего не получается что-то. Пробую указывать в качестве устройства Cypress EZ-USB FX2 Development Board и Cypress EZ-USB FX2 (68613) - EEPROM missing и Cypress EZ-USB Sample Device и другие разные - после установки драйвера комп самоперезагружается. Какие VID и PID должны быть у самопального устройства? Нужно ли прописывать EEPROM? Я так понимаю, что пока не надо, чип должен сам иметь какие-то определенные идентификаторы. Пробую еще ставить драйвер CyUSB от USB DevStudio - там уже не такая болезненная реакция - драйвер ставится, но сообщает, что устройство функционировать не может. В inf'е пишу %VID_04B4&PID_0081.DeviceDesc%=CyUsb, USB\VID_04B4&PID_0081 и VID_04B4&PID_0081.DeviceDesc="Cypress EZ-USB FX2 Development Board" Самое главное, наверное, что устройство без драйверов не отдает идентификаторы, так?  Похоже, проблемы в плате, а не в драйвере. Можно мне на мыло выслать inf, который вы правили? И кусочек схемы, где включен сам кристалл, если можно. evgen@zfs.lg.ua Спасибо.
|
|
|
|
|
Feb 22 2005, 11:51
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Цитата(Trashy @ Feb 21 2005, 16:44) нужно определиться в терминах! Под "не видит оборудование" - вы что понимаете? Вы подключили устройство и винда сказала "давай драйвер" или же винда промолчала и вообще ни как не отреагировала? Да, да, сорри, неясно выразился. Появляется "USB Device" и "для устройства не установлены драйверы". Это нормальная ситуация?
|
|
|
|
|
Feb 22 2005, 12:08
|
Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 1-02-05
Из: the Earth
Пользователь №: 2 331

|
USB Device и "не установлены драйверы" - нормально. Пока у Вас МК не загружен с EEPROM или к нему не прикручен EEPROM с вашими VID/PID, он будет отдавать цупресовские VID/PID. Посмотреть оные можно с помощью USBView, например. При установке драйвера нужно выбирать все-таки то устройство, которое у Вас. А вот про правку путей копирования файлов драйвера я навскидку не подскажу. Сейчас уже не работаю с EZ-USB, и следов не осталось
|
|
|
|
|
Feb 22 2005, 12:58
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Цитата(Димыч @ Feb 22 2005, 14:08) USB Device и "не установлены драйверы" - нормально. Пока у Вас МК не загружен с EEPROM или к нему не прикручен EEPROM с вашими VID/PID, он будет отдавать цупресовские VID/PID. Посмотреть оные можно с помощью USBView, например. При установке драйвера нужно выбирать все-таки то устройство, которое у Вас. А вот про правку путей копирования файлов драйвера я навскидку не подскажу. Сейчас уже не работаю с EZ-USB, и следов не осталось  В том то и дело, что никаких идентификаторов девайс не отдает Вообще. Еще одна фишка: не вижу частоты на XTALOUT. Стоит кварц на 24МГц с кондерами 22 пФ. Пробовал ставить другие кварцы - ни в какую.
|
|
|
|
|
Feb 23 2005, 05:44
|
Частый гость
 
Группа: Свой
Сообщений: 156
Регистрация: 1-02-05
Из: the Earth
Пользователь №: 2 331

|
Странно тогда, что вообще появляется "USB Device". Но мастер установки оборудования в винде, значит, не должен появляться, так? тупой вопрос  AVCC, AGND в норме?
|
|
|
|
|
Feb 23 2005, 07:17
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Цитата(Димыч @ Feb 23 2005, 07:44) Странно тогда, что вообще появляется "USB Device". Но мастер установки оборудования в винде, значит, не должен появляться, так? тупой вопрос  AVCC, AGND в норме? Подключены к цифровым +3.3V и земле (пара конденсаторов еще висят - электролит и керамика). Также кроме USB шины подключены: цепочка на сброс - сброс формируется нормально; IFCLK, WAKEUP - лог. 1. EA - GND; EEPROMка 24LC65 (с подтяжкой по SDA, SCL); на GPIF линиях висит ATMega16 (5 вольтовый); USBview не видит устройства (Win2K+SP4). Хотя на другом компе (Win2K без сервис паков) - видит. Но как неизвестное устройство (не идентификаторов, ничего вообще нет). Попробую подойти с другого бока к чипу. Зашить что-нибудь тестовое в EEPROM и посмотреть, дышит ли кристалл или нет.
|
|
|
|
|
Feb 23 2005, 09:12
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Eugene_P @ Feb 22 2005, 15:58) Еще одна фишка: не вижу частоты на XTALOUT. Стоит кварц на 24МГц с кондерами 22 пФ. Пробовал ставить другие кварцы - ни в какую. Я же по русски в каком-то из постов писал: ёмкости на 12пФарад! Ты должен видеть генерацию. Проверь питание на AVСС! Правильность работы железа проверяется так: не устанавливая драйверов и не зашивая EEPROM(можно вообще без него но с резисторами подтяжки!) При подключении, виндовоз должен начать установку драйвера. Винде говоришь, что драйверов нет и ни чего не ставишь. После этого лезешь в реестр по этому пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB В нём находишь либо: VID_04B4&PID_8613 либо, если EEPROM установлен, то то что прописано в ЕЕПРОМ! Всё! Если это есть, то железо пашет! Если этого нет, железо не пашет! Кстати, если в реестре найдёшь VID_0000&PID_0000 , то это скорее всего твоё кривое устройство. Поудаляй из реестра все VID_0000&PID_0000 и снова подключи девайс. Если эта херня - VID_0000&PID_0000 опять всплывёт, то лечи железо!!! И ещё! Нахрена тебе там нужна Атмега??? В микрухе свой контроллер есть, который ни на много хуже атмеги. И вообще, с этой микрухой целесообразно подключать только FIFO, DSP или PLIC. А для Атмег пользуй cy7c68001 Кстати, мне cy7c68001 - больше понравился. Он проще.
|
|
|
|
|
Feb 24 2005, 12:25
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Спасибо за дельные рекомендации! Цитата(Trashy @ Feb 23 2005, 11:12) Я же по русски в каком-то из постов писал: ёмкости на 12пФарад! Ты должен видеть генерацию. Проверь питание на AVСС! Уже пробовал и 12 пФ. Не пашет. Подключал также и генератор на 24 МГц - на XTALOUT появились импульсы - но чип также не определяется (см.ниже). На CLKOUT нет ничего. Аналоговое питание в норме. Цитата Правильность работы железа проверяется так: не устанавливая драйверов и не зашивая EEPROM(можно вообще без него но с резисторами подтяжки!) При подключении, виндовоз должен начать установку драйвера. Винде говоришь, что драйверов нет и ни чего не ставишь. После этого лезешь в реестр по этому пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB
В нём находишь либо: VID_04B4&PID_8613 либо, если EEPROM установлен, то то что прописано в ЕЕПРОМ! Всё! Если это есть, то железо пашет! Если этого нет, железо не пашет!
Кстати, если в реестре найдёшь VID_0000&PID_0000 , то это скорее всего твоё кривое устройство. Поудаляй из реестра все VID_0000&PID_0000 и снова подключи девайс. Если эта херня - VID_0000&PID_0000 опять всплывёт, то лечи железо!!! Все так и сделал. Да, при подключении появляется девайс с нулевыми идентификаторами. Отслеживать можно только по реестру. USBview нифига не видит. Теперь понятно, что что-то не то с платой. Вопросы тогда такие (сорри, что тупые и понятно, что все написано в PDF на чип, но все же): EA=0 - внешняя память не используется. WAKEUP=1 - чип постоянно "разбужен". IFCLK=1 - наверное, роли не играет, я пока GPIF не использую. #RESET - RC цепочка 0,1 мкФ/100 кОм кварц на 24 МГц + кондеры на 12 пФ SCL/SDA стоят подтяжки D+, D- вроде бы не перепутаны  , проверил с питанием все в порядке - прощупал все ноги Все верно? Цитата И ещё! Нахрена тебе там нужна Атмега??? В микрухе свой контроллер есть, который ни на много хуже атмеги. И вообще, с этой микрухой целесообразно подключать только FIFO, DSP или PLIC. А для Атмег пользуй cy7c68001 Кстати, мне cy7c68001 - больше понравился. Он проще. Все понятно, что можно пользовать чип без процессорного ядра, но плата пока отладочная. Задачи - 1) мост USB 2.0 - другие процессоры; 2) быстрая читалка/писалка микросхем флеш-памяти. В первом случае ясно, что хватит 68001, второй случай - наверное все-таки 68013. Пока, в общем 68013.
|
|
|
|
|
Feb 24 2005, 12:54
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Eugene_P @ Feb 24 2005, 15:25) EA=0 - внешняя память не используется. WAKEUP=1 - чип постоянно "разбужен". IFCLK=1 - наверное, роли не играет, я пока GPIF не использую. #RESET - RC цепочка 0,1 мкФ/100 кОм кварц на 24 МГц + кондеры на 12 пФ SCL/SDA стоят подтяжки D+, D- вроде бы не перепутаны  , проверил с питанием все в порядке - прощупал все ноги Все верно? У меня на плате: EA через 9килоом на GND. WAKEUP - висит в воздухе. IFCLK - висит в воздухе. 33пин - так же как и EA(у немцев в схеме было, но мож и без него пашет)!!! #RESET - RC цепочка 10 мкФ(тантал)/9 кОм (это вообще пинцетиком покоротить можно) SCL/SDA стоят подтяжки 2.2кОм D+ на одной оси с лапой GND (на разъёме) D- на одной оси с лапой VCC = 5 вольт. Кварц должен генерить даже без подключения к ЮСБ (от внешнего БП). 24lс16 в твоём случае лучше еепром вообще отключить. Хе-хе... Попробуй в еепром зашить код для контроллера (диодиками на портах помигать). Потом от внешнего генератора протактируй и посмотри - пашет или нет само ядро(без ЮСБ). Шить бинарник, а не хекс!
|
|
|
|
|
Feb 24 2005, 14:38
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Цитата(Trashy @ Feb 24 2005, 14:54) У меня на плате: EA через 9килоом на GND. WAKEUP - висит в воздухе. IFCLK - висит в воздухе. 33пин - так же как и EA(у немцев в схеме было, но мож и без него пашет)!!! #RESET - RC цепочка 10 мкФ(тантал)/9 кОм (это вообще пинцетиком покоротить можно) SCL/SDA стоят подтяжки 2.2кОм D+ на одной оси с лапой GND (на разъёме) D- на одной оси с лапой VCC = 5 вольт. Кварц должен генерить даже без подключения к ЮСБ (от внешнего БП). 24lс16 в твоём случае лучше еепром вообще отключить. Хе-хе... Попробуй в еепром зашить код для контроллера (диодиками на портах помигать). Потом от внешнего генератора протактируй и посмотри - пашет или нет само ядро(без ЮСБ). Шить бинарник, а не хекс! Так, увиделся нормально мой девайс. Правда, еще до прочтения твоего поста.  Млин, все дело было в 33-й ноге. Она должна быть на земле. В доке про это написано, но я проморгал. Под 98-й виндой без установки драйверов USBview опознал устройство Cypress Semiconductor с идентификаторами 04B4 и 8613. Под Win2K увиделся сразу (поскольку я драйвера пытался ему подсунуть до этого) как FX2 blah-blah-blah EEPROM missing. И USBview его опознал тоже. Генерация на XTALIN, XTALOUT, CLKOUT присутствует. Теперь буду пробовать шить EEPROM и пускать процессорное ядро. Спасибо за советы еще раз. Кстати, почему USBview пишет что устройство full speed а не high speed? Точно так же и с флешками USB 2.0. Дело похоже в какой-то кривости USBview?
|
|
|
|
|
Feb 25 2005, 12:56
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Eugene_P @ Feb 24 2005, 17:38) Кстати, почему USBview пишет что устройство full speed а не high speed? Точно так же и с флешками USB 2.0. Дело похоже в какой-то кривости USBview? Всё правильно! Ты же ещё не сконфигурил устройство. Он конфигурится только после заброса Alt_Settings. Вот тогда, он станет "крутым"... USBview по пакетам труб определяет. А у сайпреса в нерабочем состоянии труб нету вообще! Только нулевой эндпоинт.
|
|
|
|
|
Feb 28 2005, 16:36
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Это снова я Начал запускать процессор. Использую CyConsole для загрузки в ОЗУ моих прог в связке с драйвером CyUSB. Чего-то не хотят мои программы стартовать. Например, такая: #include "Fx2.h" #include "Fx2regs.h" main() { OEA = 0xff; while(TRUE) { IOA = 0x0; EZUSB_Delay(20); IOA = 0xff; EZUSB_Delay(20); } } Нифига не меняется состояние выводов порта. Смотрю в асме: ; FUNCTION main (BEGIN) ; SOURCE LINE # 4 ; SOURCE LINE # 5 ; SOURCE LINE # 6 0000 75B2FF MOV OEA,#0FFH 0003 ?C0001: ; SOURCE LINE # 7 ; SOURCE LINE # 8 ; SOURCE LINE # 9 0003 E4 CLR A 0004 F580 MOV IOA,A ; SOURCE LINE # 10 0006 7F14 MOV R7,#014H 0008 FE MOV R6,A 0009 120000 E LCALL _EZUSB_Delay ; SOURCE LINE # 11 000C 7580FF MOV IOA,#0FFH ; SOURCE LINE # 12 000F 7F14 MOV R7,#014H 0011 7E00 MOV R6,#00H 0013 120000 E LCALL _EZUSB_Delay ; SOURCE LINE # 13 0016 80EB SJMP ?C0001 0018 22 RET ; FUNCTION main (END) Все вроде бы в порядке. В чем могут быть проблемы? еепром внешний я запустил, шью PonyProg'ом. Добрался то того, что подсунул чипу другие идентификаторы. Бинарник для прошивки сделал руками, а вот как в Кейле задать константы в теле программы - не знаю, поэтому не могу сгенерить файл для прошивки в еепром. Поскажите, как это сделать? И еще: где бы взять кряк на полную версию кейла? Все облазил уже - нигде нет
|
|
|
|
|
Mar 1 2005, 03:22
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Eugene_P @ Feb 28 2005, 19:36) Это снова я  C CyUSB я не работал. EEPROM что бы зашить - программатор не нужен. Всё делается через USB. Если в EZUSB с этим гемора нет и вся подгрузка кода осуществляется драйвером, то в CyUSB , что бы работали запросы отличные от 0xA0, нужно подгружать код... "This directory contains the 8051 firmware Vend_Ax source code for the Anchor Chips EZ-USB chip. NOTE: The Full Version of Keil Tools is required to build this example. The purpose of this software is to demonstrate how to implement vendor specific commands. The following vendor specific commands are implemented: A0 Anchor Download A2 EEProm Load A3 External Ram Load A4 Set I2C Addr A5 Get IIC Type (1 Byte or 2 Byte EEPROM) A6 Get Chip Rev A8 Renumerate То есть, прогрузив этот код в озу контроллера, ты сможешь поиметь доступ к EEPROM. А на тему не рабочего софта, могу предположить,(кстати чем прогу загружаешь?) что ты не делаешь такие запросы: Код void usb_halt(HANDLE hf,byte half_data) { _VENDOR_REQUEST_IN vreq; vreq.bRequest = 0xA0; vreq.wValue = 0xE600; vreq.wIndex = 0x00; vreq.wLength = 0x01; vreq.bData = half_data; vreq.direction = 0x00; ret = DeviceIoControl (hf, Get_Ctl_Code((0x800)+5,m_buffer,a_any), &vreq, sizeof(VENDOR_REQUEST_IN), NULL, 0, &nbyte, NULL); if(ret==False) { ShowMessage("i8051 halt err.\n"); } } То есть, перед заливкой кода нужно контроллер усыпить, а потом вновь его разбудить.
|
|
|
|
|
Mar 1 2005, 08:26
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Цитата(Trashy @ Mar 1 2005, 05:22) C CyUSB я не работал. EEPROM что бы зашить - программатор не нужен. Всё делается через USB. Если в EZUSB с этим гемора нет и вся подгрузка кода осуществляется драйвером, то в CyUSB , что бы работали запросы отличные от 0xA0, нужно подгружать код... То есть, перед заливкой кода нужно контроллер усыпить, а потом вновь его разбудить. Фиг с ним, с тем CyUSB. Нет смысла его мне сейчас использовать, я это уже понял. Гружу прошивку с помощью EZ-USB Control Panel. Пробовал посылать запрос, который ты указал. Что-то видать я не так делаю, поскольку ситуация остается неизменной. Кстати, в доках где-то сказано, что Control Panel сам засыпает чип перед загрузкой кода и будит после. Еще вопрос такой: насколько я понял, в evaluation Keil'е мой код должен располагаться с адреса 0x4000 ? Т.е., вне встроенного в чип ОЗУ. Куда в таком случае загружается код ? И где и какие давать указания Кейлу?
|
|
|
|
|
Mar 1 2005, 09:21
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Так, на свой вопрос отвечаю сам: поменяв в опциях линкера адреса с 4000 на 0 (Code) и на всяк случай 5000 на 2000 (XData), получил требуемый результат: программа грузится с нулевого адреса и даже работает Правда, вижу меандр только на нагруженных выводах порта, на свободных - глухо (лог.0). Почему? Еще надо разобраться, как генерить файл для еепрома, а то чего-то hex2bix никак не выдает мне требуемое.
|
|
|
|
|
Mar 1 2005, 15:01
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Eugene_P @ Mar 1 2005, 12:21) Правда, вижу меандр только на нагруженных выводах порта, на свободных - глухо (лог.0). Почему? Еще надо разобраться, как генерить файл для еепрома, а то чего-то hex2bix никак не выдает мне требуемое. Гы-гы, так с открытым коллектром! Видима какуюто лапу пропустил - не припаял... hex2bin работает из командной строки. Я интеловским пользуюсь. Кстати, разве кейл в начало хекса виды с пидом прописывает? Не знаю, нахрена тебе генератор, там из фара или хиева прописать десять байт, а следом бинарник без изменений воткнуть... Кароче, геморой себе делаешь. Я на асме всё накарябал и не глючился... Там самый геморой не в железе а в софте при работе с дривером. Конечно можно пойтить по пути пользования класса от CyUSB, но изучишь то что тебе в жизни больше не понадобится к тому же, ни хрена изменений внести не сможешь...
|
|
|
|
|
Mar 1 2005, 15:49
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Цитата(Trashy @ Mar 1 2005, 17:01) Гы-гы, так с открытым коллектром! Видима какуюто лапу пропустил - не припаял... Угу, наверное. Ничего я не увидел в доке про открытый коллектор. Да они и остались незадействованными. Это неважно, главное - работает. Цитата hex2bin работает из командной строки. Я интеловским пользуюсь. Кстати, разве кейл в начало хекса виды с пидом прописывает? Не, не прописывает, поэтому и взял hex2bix. Цитата Не знаю, нахрена тебе генератор, там из фара или хиева прописать десять байт, а следом бинарник без изменений воткнуть... Кароче, геморой себе делаешь. Я на асме всё накарябал и не глючился... Там самый геморой не в железе а в софте при работе с дривером. Конечно можно пойтить по пути пользования класса от CyUSB, но изучишь то что тебе в жизни больше не понадобится к тому же, ни хрена изменений внести не сможешь... Геморрой - согласен, просто хочется разобраться с еепромом до конца. Хотя он мне и не нужен, прошивка все равно льется и будет литься по USB. hex2bix добавляет VID, PID и все остальное. И получается файл для заливки в еепром. Единственное - программа после перезапуска работает, а девайс - не виден. Смотрю по структуре файла - вроде бы все правильно. Где-то уже проскакивала рекомендация использовать драйвер USBIO. По какому пути пойти? Пользовать драйвер от сайпресса или его? В каком софте будут проблемы - в firmware или в прикладной программе?
|
|
|
|
|
Mar 1 2005, 15:58
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Eugene_P @ Mar 1 2005, 18:49) в еепром. Единственное - программа после перезапуска работает, а девайс - не виден. Смотрю по структуре файла - вроде бы все правильно. Первый байт 0xC2, затем младший VID, старший Вид, младший Пид... Ещё рекомендую проверить бит ENUM, так как ты пишешь на сях, то какая-нить "умная" функция может установить его в ненадлежащее состояние. Прямо принудительно выстави в режим "фирмварная обработка запросов"... И посмотри опять в реестре чё происходит, мож low/high где перепутал...
|
|
|
|
|
Mar 1 2005, 17:54
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789

|
Цитата(Eugene_P @ Mar 1 2005, 18:49) Цитата hex2bin работает из командной строки. Я интеловским пользуюсь. Кстати, разве кейл в начало хекса виды с пидом прописывает? Не, не прописывает, поэтому и взял hex2bix. Цитата Не знаю, нахрена тебе генератор, там из фара или хиева прописать десять байт, а следом бинарник без изменений воткнуть... Кароче, геморой себе делаешь. Я на асме всё накарябал и не глючился... Там самый геморой не в железе а в софте при работе с дривером. Конечно можно пойтить по пути пользования класса от CyUSB, но изучишь то что тебе в жизни больше не понадобится к тому же, ни хрена изменений внести не сможешь... Геморрой - согласен, просто хочется разобраться с еепромом до конца. Хотя он мне и не нужен, прошивка все равно льется и будет литься по USB. hex2bix добавляет VID, PID и все остальное. И получается файл для заливки в еепром. Единственное - программа после перезапуска работает, а девайс - не виден. Смотрю по структуре файла - вроде бы все правильно. Где-то уже проскакивала рекомендация использовать драйвер USBIO. По какому пути пойти? Пользовать драйвер от сайпресса или его? В каком софте будут проблемы - в firmware или в прикладной программе? Отвечу по порядку: Для того чтобы программа грузилось из EEPROM нужно только: KEIL, Control Panel. Всё работает прекрасно и никаких гвоздей. hex2bix не добавляет никаких VID и PID(откуда ему о них знать), а просто генерит бинарник. VID и PID и всё остальное что относиться к особенностям программирования должно содержаться в файлах: USBJmpTb.OBJ и EzUSB.LIB. Драйвер CyUSB нужен для тогочтобы небыло лишнего гемороя при передачи данных на высоких скоростях, иначе можете юзать HID интерфейс и будет вам счастье. Если вы пишете программу, где одновременно с приемом/передачей данных будет происходить их обработка , то вам может понадобиться многопоточное программирование, а у Cypress уже есть загатовка для этого. Лично мне хватило CyUSB.sys поэтому насчёт USBIO даже незаморачивался.
|
|
|
|
|
Mar 2 2005, 10:05
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Цитата(левша @ Mar 1 2005, 19:54) Отвечу по порядку: Для того чтобы программа грузилось из EEPROM нужно только: KEIL, Control Panel. Всё работает прекрасно и никаких гвоздей. hex2bix не добавляет никаких VID и PID(откуда ему о них знать), а просто генерит бинарник. VID и PID и всё остальное что относиться к особенностям программирования должно содержаться в файлах: USBJmpTb.OBJ и EzUSB.LIB. Правильно, генерит читый бинарник, но я еще делаю так: hex2bix.exe -I -F 194 -P 34323 -V 1204 -C 0 Test.hex Trashy все верно сказал, дело в бите ENUM. Пока мой firmware не обрабатывает USB запросы, пусть этим занимается дефолтное устройство. Кто мне этот бит устанавливал, я правда не понял.  Но теперь кристалл работает с прошивкой в еепроме и видится контрол-панелью. Цитата Драйвер CyUSB нужен для тогочтобы небыло лишнего гемороя при передачи данных на высоких скоростях, иначе можете юзать HID интерфейс и будет вам счастье. Если вы пишете программу, где одновременно с приемом/передачей данных будет происходить их обработка , то вам может понадобиться многопоточное программирование, а у Cypress уже есть загатовка для этого. Лично мне хватило CyUSB.sys поэтому насчёт USBIO даже заморачивался. Спасибо за совет. Да, конечно, будет обработка. Не буду пока исключать CyUSB из своих планов. Ну что, ни у кого нет что-ли кряка на кейл?
|
|
|
|
|
Mar 2 2005, 10:15
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Eugene_P @ Mar 2 2005, 13:05) Пока мой firmware не обрабатывает USB запросы, пусть этим занимается дефолтное устройство. А зачем эти запросы обрабатывать софтварно? Если конечно не собираешься масссторадж писать...
|
|
|
|
|
Mar 2 2005, 14:30
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Цитата(Trashy @ Mar 2 2005, 12:13) Кряка? Это что такое? Вообсче, это называют "лекарством" и ищут его на телесистемах. Вообщето у меня есть. Но нада переться через всё здание в другой отдел... Сегодня я уже не пойду. Набери в гугле "Keil лекарство" и будет тебе счастье. Нет счастья...  Не один час уже потратил на поиски. Вышли, пожалуйста, на evgen(at)zfs.lg.ua На ту версию, которая идет в составе EZ-USB Dev. Tools. Или со ссылкой на версию, на которую есть кряк
|
|
|
|
|
Mar 2 2005, 18:00
|
Частый гость
 
Группа: Свой
Сообщений: 151
Регистрация: 4-10-04
Из: Москва
Пользователь №: 789

|
Цитата(Eugene_P @ Mar 2 2005, 17:30) Нет счастья...  Не один час уже потратил на поиски. Вышли, пожалуйста, на evgen(at)zfs.lg.ua На ту версию, которая идет в составе EZ-USB Dev. Tools. Или со ссылкой на версию, на которую есть кряк Вообщето это оффтоп, но отвечу здесь. А какой для какой версии Keilа тебе кряк нужен? У меня есть но для старой 7й версии Keil С51. P.S. просьба модераторам не казнить и миловать а просто перенести это обсуждение в отдельную тему.
|
|
|
|
|
Mar 2 2005, 19:25
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Цитата(левша @ Mar 2 2005, 20:00) Вообщето это оффтоп, но отвечу здесь. А какой для какой версии Keilа тебе кряк нужен? У меня есть но для старой 7й версии Keil С51. Насколько я понимаю, нужно снять ограничение размера кода, это наверное C51.exe и A51.exe - V6.10 Стартовый адрес - с 0x0000, это BL51.exe - V4.03 сам uVision - V2.10
|
|
|
|
|
Mar 2 2005, 20:17
|
Местный
  
Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804

|
Chego-to mne kazetsya, chto gruzit' proshivku v EEPROM dlya togo, chtobi ona potom sama podimalas' pri vklyuchenii device ne tak prosto. Kogda ya zanimalsya etoy problemoy, to prishlos' napisat' spetsial'nuyu programmu formatirovschik  Vozmozno kontrol'naya panel' beret na sebya vse eti hlopoti po pravil'nomu formatirovaniyu bin-file i vse rabotaet i tak. Softwerno obrabativat' zaprosi nado esli hochetsya ispol'zovat' EZ USB kak normal'noe USB ustroystvo i upravlyat' im. Driver k EZ USB nado pisat' svoy kogda s nego nado poluchit' prilichnuyu skorost' s USB. Standartniy driver moget prokachat' poryadka 30MB/s, samopisniy - 43-45MB/s - no eto uze ekstremal'noe programmirovanie
--------------------
WBR, V. Mirgorodsky
|
|
|
|
|
Mar 3 2005, 07:26
|
Участник

Группа: Новичок
Сообщений: 17
Регистрация: 16-12-04
Пользователь №: 1 501

|
Цитата(v_mirgorodsky @ Mar 2 2005, 22:17) Chego-to mne kazetsya, chto gruzit' proshivku v EEPROM dlya togo, chtobi ona potom sama podimalas' pri vklyuchenii device ne tak prosto. Kogda ya zanimalsya etoy problemoy, to prishlos' napisat' spetsial'nuyu programmu formatirovschik  Vozmozno kontrol'naya panel' beret na sebya vse eti hlopoti po pravil'nomu formatirovaniyu bin-file i vse rabotaet i tak. Ну я вот так еще обрабатываю хекс после кейла hex2bix.exe -I -F 194 -P 34323 -V 1204 -C 0 Test.hex а потом контрольной панелью гружу в еепром. Но это так, ради интереса. Мне все равно не нужно чтобы блок запускался до подключения к USB. Пусть прошивка грузится при подключении из управляющей программы. Цитата Softwerno obrabativat' zaprosi nado esli hochetsya ispol'zovat' EZ USB kak normal'noe USB ustroystvo i upravlyat' im. Driver k EZ USB nado pisat' svoy kogda s nego nado poluchit' prilichnuyu skorost' s USB. Standartniy driver moget prokachat' poryadka 30MB/s, samopisniy - 43-45MB/s - no eto uze ekstremal'noe programmirovanie  Понятно. Спасибо. Ну что, никто не поделится лекарством к кейлу?
|
|
|
|
|
Mar 3 2005, 07:32
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(Eugene_P @ Mar 3 2005, 10:26) Ну что, никто не поделится лекарством к кейлу? А у тебя, прям свет клином на этих двух килобайтах сошёлся? Я сколько работаю с этой микрухой, ещё ни разу желания апдэйтить кейл не было. Причём текст проги достигал 27килобайт! Он же только машинный код ограничивает.
|
|
|
|
|
Apr 26 2005, 05:37
|
Группа: Новичок
Сообщений: 3
Регистрация: 26-04-05
Пользователь №: 4 496

|
джентельмены, добрый день. интересует мнение специалистов по поводу вот этого: http://rf.atnn.ru/s7/usb-ide.htmlна правду похоже или туфта? стоит ли пробовать это собирать?..
|
|
|
|
|
Apr 26 2005, 05:37
|
Группа: Новичок
Сообщений: 3
Регистрация: 26-04-05
Пользователь №: 4 496

|
джентельмены, добрый день. интересует мнение специалистов по поводу вот этого: http://rf.atnn.ru/s7/usb-ide.htmlна правду похоже или туфта? стоит ли пробовать это собирать?..
|
|
|
|
|
Apr 26 2005, 05:47
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(mrborman @ Apr 26 2005, 08:37) джентельмены, добрый день. интересует мнение специалистов по поводу вот этого: http://rf.atnn.ru/s7/usb-ide.htmlна правду похоже или туфта? стоит ли пробовать это собирать?.. Этот контроллер заточен под работу с IDE. Собрать железо, это не проблемма. Главное, это всё с виндой согласовать... Вся трудность в программировании. Но, CYPRESS это всё разрешил, и тебе там указана ссылка...
|
|
|
|
|
Apr 26 2005, 10:03
|
Группа: Новичок
Сообщений: 3
Регистрация: 26-04-05
Пользователь №: 4 496

|
Цитата(Trashy @ Apr 26 2005, 08:47) Этот контроллер заточен под работу с IDE. Собрать железо, это не проблемма. Главное, это всё с виндой согласовать... Вся трудность в программировании. Но, CYPRESS это всё разрешил, и тебе там указана ссылка... ясно, это уже радует.. правда ссылка на софт там не рабочая
|
|
|
|
|
Apr 26 2005, 10:31
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(mrborman @ Apr 26 2005, 13:03) ясно, это уже радует.. правда ссылка на софт там не рабочая  тути тутВ самом низу...
|
|
|
|
|
Apr 29 2005, 21:19
|
Участник

Группа: Свой
Сообщений: 63
Регистрация: 1-03-05
Из: г.Ростов-на-Дону
Пользователь №: 2 988

|
Цитата(mrborman @ Apr 26 2005, 09:37) джентельмены, добрый день. интересует мнение специалистов по поводу вот этого: http://rf.atnn.ru/s7/usb-ide.htmlна правду похоже или туфта? стоит ли пробовать это собирать?.. Смотря что хотелось назвать туфтой. Касательно ссылки - схема скорее всего содрана из фирменной документации на Mass Storage with USB 2.0 support (Reference Designs CY4610 & CY4611). Насчет EZ-USB FX2 (aka CY7C68013) - вполне приличный контроллер, у которого имеется GPIF, provides an easy and glueless interface to popular interfaces such as ATA, UTOPIA, EPP,PCMCIA, and most DSP/processors.
|
|
|
|
|
Jun 20 2005, 09:22
|
Участник

Группа: Свой
Сообщений: 50
Регистрация: 13-03-05
Из: Минск
Пользователь №: 3 309

|
tusb3210 tusb3410 - микроконтроллер с USB за 3$
|
|
|
|
|
Jun 20 2005, 19:13
|
Участник

Группа: Свой
Сообщений: 63
Регистрация: 1-03-05
Из: г.Ростов-на-Дону
Пользователь №: 2 988

|
Цитата(Trashy @ Jun 20 2005, 09:01) Как на 68013 определить подключение/отключение ЮСБ кабеля? Есть какой-нить битик? А то, "Start Of Frame" по таймеру лень вылавливать... И ещё как принудительно ПЛЛ перевести в режим USB1.1... Только, у меня всё обрабатывается железом. По сему нет возможности дескрипторами сконфигурить. There is another way. Here's an 8051 procedure for controlling FS / HS mode: Set bit7 in the I2C Configuration Byte and leave it (8051 always controls mode) At the top of periph.c file make it, xdata volatile unsigned char force_mode _at_ 0xE6FB Set up an event to switch between modes, perhaps a vend_cmd Assuming you use two separate vend_cmd's then do this: case VX_A2: // full speed { // doing a discon does affect some EZ-USB FX2 register, check TRM to see // ...if this will impact your applicaton USBCS |= 0x80; // Discon EZUSB_Delay(1500); // ...you may need more delay here for the host to see this.... force_mode = 0x02; // set to FS mode //...you may want to clear interrupts or whatever else here... USBCS &= 0xF7; // Connect break; } case VX_A3: // high speed { // doing a discon does affect some EZ-USB FX2 register, check TRM to see //...if this will impact your applicaton USBCS |= 0x80; // Discon EZUSB_Delay(1500); // you may need more delay here for the host to see this.... force_mode = 0x00; // set to HS mode // ...you may want to clear interrupts or whatever else here.... USBCS &= 0xF7; // Connect break; } I'm assuming this will be self powered. If so, then you might want to come up "Disconnect", set bit6 of I2C Configuration Byte, and sense the presence of VBus with a port pin.... as well... The above allows the PC to send vend_cmds down to the device in order to enumerate in FS or HS mode, your choice. Since the 8051 is in control you should also include one of the above procedures in TD_Init( ); as the POR default... so the PC can "talk" to the device using the vend_cmds.&
|
|
|
|
|
Jun 21 2005, 02:39
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(gammanoid @ Jun 20 2005, 22:13) At the top of periph.c file make it, xdata volatile unsigned char force_mode _at_ 0xE6FB Это что за регистр? Или это таблица дескрипторов? Если да, то повлияет ли если все запросы FX2 обрабатывает в автоматическом режиме? Ну и ещё вопрос: откуда эта выписка? Ну и, если это второй вариант, то где первый?
|
|
|
|
|
Jun 22 2005, 19:54
|
Участник

Группа: Свой
Сообщений: 63
Регистрация: 1-03-05
Из: г.Ростов-на-Дону
Пользователь №: 2 988

|
Цитата(Trashy @ Jun 21 2005, 06:39) Ну и, если это второй вариант, то где первый? You can force FX2 to stay in full speed mode via bit7 of configuration byte 0 in the serial EEPROM. От первого Вы отказались при постановке задачи : Цитата(Trashy @ Jun 20 2005, 09:01) И ещё как принудительно ПЛЛ перевести в режим USB1.1... Только, у меня всё обрабатывается железом. По сему нет возможности дескрипторами сконфигурить. , т. к. этот вариант касается EEPROM. Цитата приведена из Web Case : http://tightlink.cypress.com/TLService/XKB...577&from=searchПримечание: надо регистрироваться. Цитата(Trashy @ Jun 21 2005, 06:39) Цитата(gammanoid @ Jun 20 2005, 22:13) At the top of periph.c file make it, xdata volatile unsigned char force_mode _at_ 0xE6FB Это что за регистр? Это один из недокументированных служебных регистров, про который Cypress Tech Support не стесняется рассказывать всем желающим удушить их высокоскоростной USB-SIE до full speed'а. Честно говоря ИМХО могли бы и описать в мануале его - никому бы плохо не стало. Сам вставал на подобные грабли - по ТЗ хотят high speed, а по факту сделай чтоб хоть кое как full speed...
|
|
|
|
|
Jun 23 2005, 04:09
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(gammanoid @ Jun 22 2005, 22:54) You can force FX2 to stay in full speed mode via bit7 of configuration byte 0 in the serial EEPROM. У меня он просто не конектился с этим битом...
|
|
|
|
|
Jun 23 2005, 18:20
|
Участник

Группа: Свой
Сообщений: 63
Регистрация: 1-03-05
Из: г.Ростов-на-Дону
Пользователь №: 2 988

|
Цитата(Trashy @ Jun 23 2005, 08:09) Цитата(gammanoid @ Jun 22 2005, 22:54) You can force FX2 to stay in full speed mode via bit7 of configuration byte 0 in the serial EEPROM. У меня он просто не конектился с этим битом... Странно у меня получалось затормозить FX2 на high-speed host'е, Windows при этом ругалась на медленное устройство. Может что-то не там прописано? Бит 7 в конфиг. слове насколько я помню надо прописывать в батнике для генерации .IIC-файла с помощью hex2bix. Вообще- то надо быть очень осторожным с процедурой TD_Init(). Малейшая задержка - устройство не опознано.
|
|
|
|
|
Aug 9 2005, 14:24
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Добрый день господа! помогите не проходите мимо, уже неделю бьюсь .. Есть 013а в 100 ногом корпусе и фпга, стоят на эвалюшн борде(т.е. ошибок монтажа быть не должно, собирал не я, да и обычным паяльником 0403 паять не сахар  ). сайпрес определяеться, примеры из дев.тулса работают (те что не требуют внешних устройств), но вот обмен с фпга в режиме слейв фифо нет. Сделал в фпга внутренний bulkloop (2 фифо и выход одного, нагружен на вход другого), сделал модель контроллера со временными задержками, а в железе не выходит каменный цветок Точнее в балке пишет все 64 байта (усб 1.1), а читает только 2 байта. да и не те что были записанны (смотрю EZ монитором, режим bulkloop). в качестве реф.дезайна под сайпрес использовал сампл FX2 Slave FIFO, посмотрите на функцию инициализации все ли я делаю правильно (режим Avto in/out, bulk, EP4 out, EP8 in) Код CPUCS = 0x10; // CLKSPD[1:0]=10, for 48MHz operation IFCONFIG = (1<<IFCLKSRC) | (0<<s3048MHZ) | (1<<IFCLKOE) | (0<<ASYNC) | (1<<IFCFG1) | (1<<IFCFG0); // IFCLKSRC=1 , FIFOs executes on internal clk source // IFCLKOE=0 , drive IFCLK pin signal at 30MHz // IFCLKPOL=0 , Don't invert IFCLK pin signal from internal clk // ASYNC=0 , master samples synchronous // GSTATE=0 , Don't drive GPIF states out on PORTE[2:0], debug WF // IFCFG[1:0]=11, FX2 in slave FIFO mode
SYNCDELAY; REVCTL = (1<<DYN_OUT) | (1<<ENH_PKT); // EP4 is DIR=OUT, TYPE=BULK, SIZE=512, BUF= as is 2x SYNCDELAY; EP4CFG = (1<<VALID) | (0<<DIR) | (1<<TYPE1) | (0 << TYPE0); // EP8 is DIR=IN, TYPE=BULK, SIZE=512, BUF= as is 2x SYNCDELAY; EP8CFG = (1<<VALID) | (1<<DIR) | (1<<TYPE1) | (0 << TYPE0); // EP2, EP6 off SYNCDELAY; EP2CFG = (0<<VALID) | (0<<DIR) | (1<<TYPE1) | (0 << TYPE0); SYNCDELAY; EP6CFG = (0<<VALID) | (1<<DIR) | (1<<TYPE1) | (0 << TYPE0); // reset fifo 4 times for (i = 0; i < 4; i++) { SYNCDELAY; FIFORESET = 0x80; // activate NAK-ALL to avoid race conditions SYNCDELAY; FIFORESET = 0x02; // reset, FIFO 2 SYNCDELAY; // FIFORESET = 0x04; // reset, FIFO 4 SYNCDELAY; // FIFORESET = 0x06; // reset, FIFO 6 SYNCDELAY; // FIFORESET = 0x08; // reset, FIFO 8 SYNCDELAY; // FIFORESET = 0x00; // deactivate NAK-ALL } SYNCDELAY; PINFLAGSAB = 0xD9; // FLAGA - fixed EP4EF, FLAGB - fixed EP4FF // FLAGC - fixed EP8FF, FLAGD - n.u. SYNCDELAY; PINFLAGSCD = 0x0F; SYNCDELAY; PORTACFG = (0<<FLAGD) | (0<<SLCS); // FLAGD, set alt. func. of PA7 pin SYNCDELAY; FIFOPINPOLAR = 0x00; // all signals active low // use auto out mode SYNCDELAY; EP4FIFOCFG = 0x00; // AUTOOUT=0, WORDWIDE=1 // EP4 fifo is AUTOOUT=1, AUTOIN=0, ZEROLEN=0, WORDWIDE=1 SYNCDELAY; EP4FIFOCFG = (0<<INFM1) | (0<<OEP1) | (1<<AUTOOUT) | (0<<AUTOIN) | (0<<ZEROLENIN) | (0<<WORDWIDE); // 8 bit
// use auto in mode SYNCDELAY; EP8FIFOCFG = 0x00;
// AUTOIN=1, ZEROLENIN=1, WORDWIDE=0 SYNCDELAY; EP8FIFOCFG = (0<<INFM1) | (0<<OEP1) | (0<<AUTOOUT) | (1<<AUTOIN) | (1<<ZEROLENIN) | (0<<WORDWIDE); SYNCDELAY; EP8AUTOINLENH = 0x02; // Auto-commit 512-byte packets SYNCDELAY; EP8AUTOINLENL = 0x00; Все ли правильно в данном коде ? Если да, то может быть есть другие варианты почему происходит так ? Заранее спасибо за ответ.
--------------------
|
|
|
|
|
Aug 12 2005, 01:44
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Косяк номер рас: Цитата(des00 @ Aug 9 2005, 17:24) SYNCDELAY; EP8AUTOINLENH = 0x02; // Auto-commit 512-byte packets SYNCDELAY; EP8AUTOINLENL = 0x00; У тебя труба 64 байтная. То есть, с такой записью AUTOIN пахать не может. Делай так: Код mov PacketSizeLow,#0x00 mov PacketSizeHigh,#0x02 mov dptr,#USBCS ; bit7 - Mode jf PLL (480/12) movx a,@dptr ANL a,#10000000b JNZ PLL480 ; branch if HCM != 0
mov PacketSizeLow,#0x40 mov PacketSizeHigh,#0x00 PLL480: _nop WriteX #EP8AUTOINLENH,PacketSizeHigh; _nop WriteX #EP8AUTOINLENL,PacketSizeLow;
|
|
|
|
|
Aug 12 2005, 04:10
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Trashy @ Aug 11 2005, 20:53) Ещё ПИН-полярности нужно включать до включения режима FIFO!!! Иначе могут произойти неприятности. Так же очень вредный регистр REVCTL = (1<<DYN_OUT) | (1<<ENH_PKT); Если один раз не правильно им воспользоваться, то бывают ситуации, когда даже ресет не помогает вывести ядро из ступора. Кстати у меня он по нулям. Ну и ещё вопрос: Кто у тебя трубы переключает? И переключает ли? Спасибо за ответы, сегодня проверю (пока усб отложил, другим занимался). насчет размеров буферов, как я понял после того как камень будет прошит, происзоди перенумерация, а дальше в коде есть следующее (dispatcher взял из примера ) Код BOOL DR_SetConfiguration( void ) { // Called when a Set Configuration command is received if( EZUSB_HIGHSPEED( ) ) { // ...FX2 in high speed mode SYNCDELAY; EP8AUTOINLENH = 0x02; // set core AUTO commit len = 512 bytes SYNCDELAY; EP8AUTOINLENL = 0x00; } else { // ...FX2 in full speed mode SYNCDELAY; EP8AUTOINLENH = 0x00; // set core AUTO commit len = 64 bytes SYNCDELAY; EP8AUTOINLENL = 0x40; } Configuration = SETUPDAT[ 2 ]; return( TRUE ); // Handled by user code } поэтому я и посчитал что можно проинитить буфер любым кодом. насчет переключения труб, я написал в внешнего мастера для фпга, на ВХДЛе, при записи/чтении он выставляет адрес фифо за 1 такт до любых транзакция (как по доке) . Насчет стороны ПК, то CyConsole/EZmonitor переключает же пайпы, или там тоже есть косяки ?
--------------------
|
|
|
|
|
Aug 12 2005, 04:33
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 19-01-05
Пользователь №: 2 049

|
Цитата(des00 @ Aug 12 2005, 07:10) Спасибо за ответы, сегодня проверю (пока усб отложил, другим занимался). насчет размеров буферов, как я понял после того как камень будет прошит, происзоди перенумерация, а дальше в коде есть следующее (dispatcher взял из примера ) Если у тебя USB1.1 ни какая ренумерация не поможет. Ты вообще, прогой пайпы видишь? GetPipeInfo чё говорит? Код Get PipeInfo Interface Size 136 Pipe: 0 Type: BLK Endpoint: 1 OUT MaxPktSize: 0x200 Pipe: 1 Type: BLK Endpoint: 1 IN MaxPktSize: 0x200 Pipe: 2 Type: BLK Endpoint: 2 OUT MaxPktSize: 0x200 Pipe: 3 Type: BLK Endpoint: 4 OUT MaxPktSize: 0x200 Pipe: 4 Type: BLK Endpoint: 6 IN MaxPktSize: 0x200 Pipe: 5 Type: BLK Endpoint: 8 IN MaxPktSize: 0x200 или такую: Код Get PipeInfo Interface Size 136
Pipe: 0 Type: BLK Endpoint: 1 OUT MaxPktSize: 0x40 Pipe: 1 Type: BLK Endpoint: 1 IN MaxPktSize: 0x40 Pipe: 2 Type: BLK Endpoint: 2 OUT MaxPktSize: 0x40 Pipe: 3 Type: BLK Endpoint: 4 OUT MaxPktSize: 0x40 Pipe: 4 Type: BLK Endpoint: 6 IN MaxPktSize: 0x40 Pipe: 5 Type: BLK Endpoint: 8 IN MaxPktSize: 0x40 Цитата(des00 @ Aug 12 2005, 07:10) поэтому я и посчитал что можно проинитить буфер любым кодом. насчет переключения труб, я написал в внешнего мастера для фпга, на ВХДЛе, при записи/чтении он выставляет адрес фифо за 1 такт до любых транзакция (как по доке) . Насчет стороны ПК, то CyConsole/EZmonitor переключает же пайпы, или там тоже есть косяки ? Ыгы... Буквально месяц назад дла нашего измерителя КСВН точно такую же шнягу сотворил... Тока она вся на асме. А Циклон в графике. Кароче! Принцип отладки: 1. Циклоном нюхаешь состояние влага EF8, if(true) адрес пайпы, начинаешь заливать в супрес инфу, до появления флага FF8. EF8 - должен быть false. Для уверенности дёрни PACKETEND. Увидил все флаги тестером. if true, then Next 2.Запускаешь чтение приложением(предварительно сделав SetInterface).
|
|
|
|
|
Aug 12 2005, 04:44
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(Trashy @ Aug 11 2005, 23:33) 1. Циклоном нюхаешь состояние влага EF8, if(true) адрес пайпы, начинаешь заливать в супрес инфу, до появления флага FF8. EF8 - должен быть false. Для уверенности дёрни PACKETEND. Увидил все флаги тестером. if true, then Next 2.Запускаешь чтение приложением(предварительно сделав SetInterface). в том то и дело что делаю один в один аналогично, только на виртексе 4, но ...... CyConsole у меня выводит вот что Type: BLK Endpoint: 4 OUT MaxPktSize: 0x40 Type: BLK Endpoint: 8 IN MaxPktSize: 0x40 т.к. другие ендпоинты не инитил. Сегодня еще раз проверю все, благо опять желание появилось УСБ добить Вы не против если я к вам мылом обращусь, если что не так пойдет ?
--------------------
|
|
|
|
|
Aug 12 2005, 11:55
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Блин что то тут не так Цитата 1. Циклоном нюхаешь состояние влага EF8, if(true) адрес пайпы, начинаешь заливать в супрес инфу, до появления флага FF8. EF8 - должен быть false. все работает аналогично, смотрю флаги по осцилу все ок. Цитата Запускаешь чтение приложением(предварительно сделав SetInterface) Запускаю монитор, прошиваю смотрю что выдает дивайс конфигурация девайса Цитата Device Descriptor: bLength: 18 bDescriptorType: 1 bcdUSB: 512 bDeviceClass: 0x0 bDeviceSubClass: 0x0 bDeviceProtocol: 0x0 bMaxPacketSize0: 0x40 idVendor: 0x547 idProduct: 0x1002 bcdDevice: 0x0 iManufacturer: 0x1 iProduct: 0x2 iSerialNumber: 0x0 bNumConfigurations: 0x1 ********************************* Config Descriptor: bLength: 0x9 bDescriptorType: 2 wTotalLength: 32 (0x20) bNumInterfaces: 1 bConfigurationValue: 1 iConfiguration: 0 bmAttributes: 0x20 MaxPower: 50 ********************************* Interface Descriptor: -------------------------------- bLength: 0x9 bDescriptorType: 4 bInterfaceNumber: 0 bAlternateSetting: 0 bNumEndpoints: 2 bInterfaceClass: 255 (0xff) bInterfaceSubClass: 0 (0x0) bInterfaceProtocol: 0 (0x0) iInterface: 0 ********************************* Endpoint Descriptor 0 -------------------------------- bLength: 0x7 bDescriptorType: 5 bEndpointAddress: 0x4 bmAttributes: 0x2 wMaxPacketSize: 64 bInterval: 0 ********************************* Endpoint Descriptor 1 -------------------------------- bLength: 0x7 bDescriptorType: 5 bEndpointAddress: 0x88 bmAttributes: 0x2 wMaxPacketSize: 64 bInterval: 0 ********************************* Get PipeInfo Interface Size 56 Pipe: 0 Type: BLK Endpoint: 4 OUT MaxPktSize: 0x40 Pipe: 1 Type: BLK Endpoint: 8 IN MaxPktSize: 0x40 пишу в фифо 2*64 байта (вижу по осцилу) фпгой Выбираю в in bulk 64 байта длинна, прочиать консоль ловит только Read IOCTL passed 0000 04 10 Read IOCTL passed 0000 29 C5 Read IOCTL passed 0000 04 10 Read IOCTL passed 0000 29 C5 Глупый вопрос а что такое SetInterface, я пробывал с ним и без него все едино
--------------------
|
|
|
|
|
Aug 13 2005, 15:12
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Господа спасибо всем за участие, проблема разрешилась. Я не знаю почему, но на моем чипе EP8 со своим фифо не работатет. для выяснения этого я подал на вход чипа (на шину данных) фиксированный код, стрбами рулила фпга, пакеты шли, но с полоной ахинеей. когда сделал EP6 все стало нормально. При этом EP8 в режиме не slave fifo работала(пример bulk loop из dev tools). Почему так не знаю, erata на этот чип я не нашел. Уфф ну и мозги потрепал мне этот чип
--------------------
|
|
|
|
5 чел. читают эту тему (гостей: 5, скрытых пользователей: 0)
Пользователей: 0
|
|
|