|
Вопрос про CY7C68013 EZ-USB FX2, Есть готовое устройство, нужно подключиться, не поломав. |
|
|
|
Aug 31 2010, 11:41
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 24-06-09
Пользователь №: 50 601

|
Добрый день. Систуация такая. Имеется готовое устройство от буржуйских разработчиков, построенное на базе CY7C68013. К нему прилагается программа под винду, которую мне нужно полностью заменить своей самопальной программой. При этом прошивку устройства требуется оставить нетронутой. Использует она драйвер ezusb.sys. Имеется также бумажка с описанием USB команд и формата пакетов для устройства. Никогда с данным чипом дела не имел. Сейчас скачал CY3681 EZ-USB FX2 Development Kit, запустил EZ-USB Control Panel. Устройство успешно определилось. Смотрю на все это, и возникают у меня вопросы, и не могу я удержаться и не задать их вам.
1. Как мне скопировать всю информацию из чипа (программу, EEPROM и.т.д.), и что вообще нужно копировать, чтобы в процессе изучения не испортить объект изучения?
2. Я правильно понимаю, что EZ-USB Control Panel позволяет мне вручную потестировать интерфейс взаимодействия с устройством, напрямую посылая байты в оконечные точки и принимая оттуда данные?
3. uVision2 - это программа для написания прошивки? Нужно ли мне вообще в ней что-то делать, если я прошивку менять не хочу?
4. Я скачал и установил Suite USB 3.4 for Visual Studio. В самой студии ничего не изменилось. Как мне ее найти? Умеет ли она работать с драйвером ezusb.sys? Если нет, то можно ли мне использовать новый драйвер cyusb.sys, если прошивка написана под старый?
5. Как узнать, в каком режиме девайс работает - full speed или high speed?
6. Сейчас сижу под вистой. Могут ли возникнуть проблемы из-за несовместимости с ней старого драйвера?
7. (пространный) Может ли в устройстве быть защита, которая не позволит ему работать не с родной программой? (догадываюсь, что может). Может ли быть защита, которая не позволит ему работать с инструментарием от cypress? Может ли быть защита, которая что-нибудь сломает, если "узнает", что я пытаюсь написать свою софтину?
8. Какой алгоритм дальнейшей работы посоветуете? Какие программы использовать? Какие вопросы у меня еще не возникли, но могут возникнуть в ближайшее время? На какие подводные камни я могу напороться?
На некоторые из этих вопросов на форуме в том или ином виде уже есть ответы, но меня они не совсем устроили. Большое спасибо всем, кто откликнется!
Сообщение отредактировал niktagor - Aug 31 2010, 11:44
|
|
|
|
|
 |
Ответов
|
Sep 20 2010, 14:38
|
Знающий
   
Группа: Свой
Сообщений: 549
Регистрация: 1-06-05
Пользователь №: 5 644

|
Цитата(niktagor @ Aug 31 2010, 14:41)  ...Имеется готовое устройство от буржуйских разработчиков, построенное на базе CY7C68013... Цитата(niktagor @ Sep 20 2010, 16:24)  Все сходится. Файл 17КБ. В начале - 0xC2. В конце - 0x80 0x01 0xE6 0x00 0x00... Значит, таки не CY7C68013 (FX2), а CY7C68013a (FX2LP). Цитата(niktagor @ Sep 13 2010, 10:32)  ... Код <ENDPOINT> Type="BULK" Direction="OUT" Address="01h" Attributes="02h" MaxPktSize="512" DescriptorType="5" DescriptorLength="7" Interval="0" </ENDPOINT> ... То есть, в таблице дескрипторов описание эндпоинта EP1OUT выглядит так: High-Speed Bulk Out Endpoint Descriptordb 07H ; Descriptor length db 05H ; Descriptor type: Endpoint db 01H ; Endpoint number, OUT direction db 02H ; Endpoint type: Bulk db 00H ; Maximun packet size (LSB) db 02H ; Max packect size (MSB) db 00H ; Polling interval А мы хотим получить такой эндпоинт EP1OUT: High-Speed Interrupt Out Endpoint Descriptordb 07H ; Descriptor length db 05H ; Descriptor type: Endpoint db 01H ; Endpoint number, OUT direction db 03H ; Endpoint type: Interrupt db 40H ; Maximun packet size (LSB) db 00H ; Max packect size (MSB) db 02H ; Polling interval = (2^(bInterval-1))*125us = 250us То есть, нужно в файле *.iic найти следующую последовательность байтов: 07 05 01 02 00 02 00 И заменить ее на такую: 07 05 01 03 40 00 02 Затем нужно научить Вашу программу загружать содержимое отредактированного файла *.iic в память FX2LP. Для C# библиотека CyUsb.dll имеет метод LoadRAM() в классе CyFX2Device (см. "Programmers Reference - C# Library" (файл CyUSB.NET.chm)). Для С++ эту функцию Вам придется писать самому. Если firmware для FX2LP содержит переподключение к шине USB, то смену типа EP1OUT с Bulk на Interrupt Вы сможете увидеть, например с помощью CyConsole, сразу после загрузки firmware в FX2LP и переподключения FX2LP к шине USB. Если firmware для FX2LP не содержит переподключение к шине USB, то потребуются дополнительные действия. Цитата(niktagor @ Sep 20 2010, 16:24)  Все сходится. Файл 17КБ. В начале - 0xC2. В конце - 0x80 0x01 0xE6 0x00 0x00... А все таки, Вы проверили, что структура считанного файла соответствует описанной в подразделе "3.4.3 Serial EEPROM Present, First Byte is 0xC2" EZ-USB® Technical Reference Manual ? То есть, перемещаясь по заголовкам каждой записи благополучно дошли до завершающей (0x80 0x01 0xE6 0x00 0x00) ???
|
|
|
|
|
Sep 20 2010, 18:34
|
Участник

Группа: Участник
Сообщений: 29
Регистрация: 24-06-09
Пользователь №: 50 601

|
Цитата(Konst_777 @ Sep 20 2010, 18:38)  А все таки, Вы проверили, что структура считанного файла соответствует описанной в подразделе "3.4.3 Serial EEPROM Present, First Byte is 0xC2" EZ-USB® Technical Reference Manual ? То есть, перемещаясь по заголовкам каждой записи благополучно дошли до завершающей (0x80 0x01 0xE6 0x00 0x00) ??? Проверил. Не соответствует. Самый первый байт - 0xС2. Потом идут судя по всему какие-то данные, совсем не то, что написано в мануале. Начиная с адреса примерно 0x2200 идет то, что должно быть с 0x01 (VID,PID...). Чуть подальше, с 0x2290 идет такая последовательность байт: Код 07 05 01 02 00 02 00 07 05 82 02 00 02 00 07 05 86 02 00 02 00 07 05 81 02 00 02 00 09 02 2E 00 01 01 00 80 32 09 04 00 00 04 FF 00 00 00 07 05 01 02 40 00 00 07 05 82 02 40 00 00 07 05 86 02 40 00 00 07 05 81 02 40 00 00 То есть что-то типа двух разных конфигураций эндпоинтов. Менять только самую первую? Это не повлияет на работу алгоритма считывания данных с прибора? Завершающая последовательность встречается только один раз, в конце файла. Самое забавное - то, что я считал всякие данные с адресов 0x4000 - 0x43FF, хотя в мануале написано: Цитата Note Serial EEPROM data can be loaded only into these three on-chip RAM spaces: ■ Program/Data RAM at 0x0000-0x3FFF ■ Data RAM at 0xE000-0xE1FF ■ The CPUCS register (at 0xE600 (only bit 0, 8051RES, is EEPROM loadable) Считываю 0xE000 - 0xEFFF, там совсем пусто. Чудеса!!! Так ведь я ж не стал сначала проверять. Я сразу давай загружать прошивку обратно, чтобы проверить возможность совершения этого действия. И вот парадокс - работает! Причем при изменении чего-нибудь, работать перестает. То есть оно реально загружает то, что я ему подсовываю. Цитата Значит, таки не CY7C68013 (FX2), а CY7C68013a (FX2LP). Как Вы определили? У меня TRM на них один и тот же, и про EEPROM там для них одинаково написано.
Сообщение отредактировал niktagor - Sep 20 2010, 18:35
|
|
|
|
Сообщений в этой теме
niktagor Вопрос про CY7C68013 EZ-USB FX2 Aug 31 2010, 11:41 niktagor При попытках понять работу примера BulkXfer, родил... Aug 31 2010, 17:30 Konst_777 Цитата(niktagor @ Aug 31 2010, 14:41) 1. ... Aug 31 2010, 18:11 niktagor ЦитатаМожно, нужно отредактировать cyusb.inf файл,... Sep 1 2010, 10:33  Konst_777 Цитата(niktagor @ Sep 1 2010, 13:33) На в... Sep 1 2010, 17:22 niktagor ЦитатаВ таком случае, почему есть уверенность, что... Sep 1 2010, 18:47 Konst_777 Цитата(niktagor @ Sep 1 2010, 21:47) ...М... Sep 1 2010, 18:58 niktagor Добрый день. Ситуация такая. Драйвер cyusb.sys нас... Sep 7 2010, 18:47 Mik174 Цитата(niktagor @ Sep 7 2010, 22:47) Или ... Sep 7 2010, 19:39 Serg_Sm Цитата(niktagor @ Sep 7 2010, 22:47) Добр... Sep 8 2010, 08:19  niktagor Цитата(Serg_Sm @ Sep 8 2010, 12:19) 40 МБ... Sep 8 2010, 08:32   Serg_Sm Цитата(niktagor @ Sep 8 2010, 12:32) Прот... Sep 8 2010, 09:27 Harbinger Оно же USBee нескольких модификаций, оно же LOGIC-... Sep 7 2010, 19:55 niktagor ЦитатаЧто значит "именно блоками по 4К"?... Sep 8 2010, 09:48 Konst_777 Цитата(niktagor @ Sep 8 2010, 12:48) ...В... Sep 8 2010, 10:14 Serg_Sm Цитата(niktagor @ Sep 8 2010, 13:48) Устр... Sep 8 2010, 10:21  Konst_777 Цитата(Serg_Sm @ Sep 8 2010, 13:21) ... и... Sep 8 2010, 11:29 -Al- Цитата(niktagor @ Sep 8 2010, 13:48) Устр... Sep 10 2010, 04:57  Седой Цитата(-Al- @ Sep 10 2010, 10:5... Sep 10 2010, 06:15   -Al- Цитата(Седой @ Sep 10 2010, 10:15) НИКОГД... Sep 10 2010, 18:59    Седой Цитата(-Al- @ Sep 11 2010, 00:5... Sep 11 2010, 07:52 niktagor Хорошо. Почему тогда этот другой процесс ВСЕГДА за... Sep 8 2010, 10:31 Serg_Sm Цитата(niktagor @ Sep 8 2010, 14:31) Хоро... Sep 8 2010, 11:19 niktagor Про 15 миллисекунд разобрался. Это точность систем... Sep 8 2010, 12:03 Konst_777 Цитата(niktagor @ Sep 8 2010, 13:31) Ситу... Sep 8 2010, 14:38 VladimirB Цитата(niktagor @ Sep 8 2010, 16:03) Про ... Sep 8 2010, 20:18 Konst_777 Цитата(niktagor @ Sep 8 2010, 12:48) ... ... Sep 9 2010, 11:54 Serg_Sm В FX2LP есть аппаратная буферизация - как минимум ... Sep 8 2010, 12:48 niktagor Прикрутил high-resolution timer. Выясняется, что м... Sep 9 2010, 17:24 VladimirB Цитата(niktagor @ Sep 9 2010, 21:24) Прик... Sep 9 2010, 20:02 niktagor По поводу моих 250мкс по Вашей ссылке нашел интере... Sep 10 2010, 08:30 Konst_777 Цитата(niktagor @ Sep 10 2010, 11:30) ...... Sep 10 2010, 19:23 niktagor Выкладываю всю информацию об эндпоинтах и приступа... Sep 13 2010, 07:32 Konst_777 Цитата(niktagor @ Sep 13 2010, 10:32) ...... Sep 13 2010, 08:30 niktagor Цитата1). Известно ли Вам как построена аппаратура... Sep 13 2010, 08:52 Konst_777 Цитата(niktagor @ Sep 13 2010, 11:52) ...... Sep 13 2010, 09:50  niktagor Цитата(Konst_777 @ Sep 13 2010, 13:50) ..... Sep 13 2010, 14:28   Konst_777 Цитата(niktagor @ Sep 13 2010, 17:28) Да,... Sep 13 2010, 16:53 niktagor ЦитатаВ FX2LP EP1OUT имеет буфер объемом 64 байта ... Sep 13 2010, 17:26 Konst_777 Цитата(niktagor @ Sep 13 2010, 20:26) Мой... Sep 15 2010, 18:35 Konst_777 Давайте, вначале Вы ответите на мои вопросы. А зат... Sep 13 2010, 17:30 niktagor Konst_777, прошу прощения за невнимательность.
Цит... Sep 14 2010, 14:43 Konst_777 Цитата(niktagor @ Sep 14 2010, 17:43) ...... Sep 14 2010, 19:49  niktagor Цитата(Konst_777 @ Sep 14 2010, 23:49) Ит... Sep 15 2010, 14:42 niktagor EEPROM скачал успешно! Всего 17КБ вышло. Гляну... Sep 19 2010, 18:50 Konst_777 Цитата(niktagor @ Sep 19 2010, 21:50) ...... Sep 19 2010, 19:02  niktagor Цитата(Konst_777 @ Sep 19 2010, 23:02) Ди... Sep 20 2010, 13:24 Serg_Sm Кипарисы с буковкой "A" имеют 16Кбайт па... Sep 20 2010, 05:06 niktagor Сегодня хотел попробовать загрузить обратно данные... Sep 20 2010, 08:47 Serg_Sm Цитата(niktagor @ Sep 20 2010, 12:47) Сег... Sep 20 2010, 10:42  Konst_777 Цитата(niktagor @ Sep 20 2010, 21:34) Про... Sep 20 2010, 21:55   niktagor ЦитатаТо есть, меняете строку строку "07 05 0... Sep 21 2010, 17:55    Konst_777 Цитата(niktagor @ Sep 21 2010, 20:55) ...... Sep 21 2010, 19:15     niktagor Цитата(Konst_777 @ Sep 21 2010, 23:15) Во... Sep 22 2010, 09:17      Konst_777 Цитата(niktagor @ Sep 22 2010, 12:17) Поч... Sep 22 2010, 17:39 MSM Здравствуйте Уважаемые форумчане.
Прочитал внимате... May 15 2014, 15:06 jcxz Вы уверены, что прошивка грузится именно из .sys, ... May 15 2014, 15:55 MSM Прошивка точно грузится из файла AD9957LD.sys
В 15... May 19 2014, 02:30 MSM Спасибо за советы. Прошивку вытащить удалось. Тепе... May 28 2014, 10:12 Dele Добрый день! Может немного не суда, но все же.... Jun 11 2014, 02:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|