TUSB3410 |
Написал microsin | |
17.12.2006 | |
1. Микросхема предназначена для построения high-скоростного периферийного USB-устройства (USB 2.0). В основу положен MSC51-совместимый (точнее, MCS52) микроконтроллер. От традиционной периферии MCS51 остались 4 ножки порта P3 (P3.0, P3.1, P3.3 и P3.4), C/T0 и C/T1, 256 ячеек ОЗУ IDATA. Добавились USB-контроллер, 10K CODE ROM (в ней записано заводское ПО, позволяющее загрузить программу для микроконтроллера как через аппаратный I2C, так и - с помощью специального драйвера - от USB-хоста), 16K CODE RAM (куда грузится управляющая программа для микроконтроллера), аппаратный порт I2C(предназначенный для загрузки управляющей программы микроконтроллера). Кварцевый резонатор обязательно должен быть 12 МГц (тактовая частота микроконтроллера при этом получается 24 МГц). TUSB3410 разработана для питания от шины USB, причем питается от напряжение питания 3.3 в - нужно применить в качестве стабилизатора питания микросхему, например, LP2980IM5-3.3 или TPS76933. Подробную справочную информацию по TUSB3410 можно найти на сайте Texas Instruments - ti.com. 2. TUSB3410 не имеет отладочных кристаллов, поддерживающих полноскоростную пошаговую отладку с применением точек останова. Отлаживают программу с помощью вывода через RS232 значений переменных и регистров, что, конечно, требует модификации программы (пример можно найти на сайте ti.com - TUSB2136, TUSB3210, TUSB3410, TUSB5052 Firmware Debugging Guide). Второй способ отладки, с применением IDE Keil (Keil’s 8051/8052 development tools), позволяет применить пошаговую отладку, однако и здесь значительные ограничения - в случае установки breakpoint происходит замедление выполнения примерно в 100 раз, и тоже задействован стандартный для MCS51-архитектуры RS232.
3. Для отладки программ удобен USB-драйвер - TI AppLoader Driver, который можно свободно скачать с сайта ti.com. После его установки можно загружать программу в кристалл TUSB3410 через шину USB, для чего достаточно положить исполняемый код (в бинарном формате) в файл %windir%\system32\drivers\TUSB3410.BIN и затем переподключить устройство с TUSB3410 к шине компьютера. При этом микросхема EEPROM должна быть отключена от I2C, иначе загрузка микроконтроллера произойдет по I2C, а не через USB (для этого можно просто разорвать провод SCL, или заземлить ножку SCL или SDA). Имя загружаемого файла прописано в реестре в разделе HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ USB \ Vid_0451&Pid_3410 \ TUSB3410________ \Device Parameters, параметр FWFileName (тип REG_SZ, значение по умолчанию TUSB3410.BIN). Таким образом, отладка по методике "заработало/не заработало" состоит из шагов:
4. Код firmware, записываемый в I2C EEPROM, имеет специальный формат (подробно описанный в доке по TUSB3410). Этот формат придуман для того, чтобы можно было в EEPROM разместить USB-дескрипторы вместе с программой микроконтроллера. Поскольку формат хоть и довольно прост, но требует для создания прошивки подсчета контрольных сумм для блоков дескрипторов и программного кода, Texas Instruments решила облегчить жизнь разработчикам и выпустила для компоновки кода EEPROM специальную утилиту (можно свободно скачать с ti.com) - Header.exe. Утилита представляет из себя консольную программу, генерирующую файл прошивки для I2C EEPROM. На входе у программы файл конфигурации и исполняемый бинарный код микроконтроллера, а на выходе - бинарный файл прошивки. Пример командной строки (берется конфигурационный файл text.cfg и генерируется прошивка EEPROM test.bin): В этом примере исполняемый код для микроконтроллера утилита header.exe берет из файла code.bin. [Ссылки] 1. Примеры использования чипа TUSB3410, апноуты - ti.com-examples-appnotes.zip. |
|
Последнее обновление ( 14.03.2010 ) |