реклама на сайте
подробности

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


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Konst_777
сообщение Sep 20 2010, 14:38
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 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 Descriptor
db 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 Descriptor
db 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) ???
Go to the top of the page
 
+Quote Post
niktagor
сообщение Sep 20 2010, 18:34
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st June 2025 - 01:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01465 секунд с 7
ELECTRONIX ©2004-2016