Usb контроллер своими руками


Usb контроллер своими руками

USB POST-контроллер своими рукамиПереезд POST-карты на шину USB, о котором так долго говорила компания Intel, состоялся. USB-диагностика из области предположений перешла в реальное состояние.

POST-коды на универсальной последовательной шине наблюдать уже теоретически можно, но практически это сделать нечем. «Сделай сам!» — с таким настроением взялись за дело неизвестные умельцы. Их пример — другим наука.

При обсуждении построения USB Debug Device на основе микросхемы CY7C68013A (FX2LP) внимательный читатель может заметить одно противоречие. Рекомендованное значение Debug Device Default Address =7Fh=127. А микросхема CY7C68013A (FX2LP) предназначенная для создания стандартного USB-устройства, после сброса устанавливает Default Address = 00h.

Теоретически, разработчик мог использовать одно из двух решений:

Версия 1. Так как требование "Debug Device Default Address=7Fh " не строгое, возможно, его проигнорировали. Значение 7Fh обязательно только в том случае, если устройство не поддерживает переназначение адреса. Микросхема CY7C68013A, как и все стандартные USB-устройства, поддерживает эту операцию.

Версия 2. Используется Debug Device Default Address=7Fh. Это достигается за счет того, что Firmware устройства за время USB-сброса успевает переписать регистр адреса, заменив 00h, на 7Fh. Хост, обращающийся к устройству после сброса, находит его по адресу 7Fh.

Аргумент в пользу версии (1).
Программная модель EHCI Debug порта допускает задание произвольного адреса. Аппаратных ограничений, заставляющих использовать адрес только 7Fh, нет. Наши эксперименты по общению с флешкой и другими устройствами через Debug Port доказывают возможность использования адреса, отличного от 7Fh.

Аргумент против версии (2).
Согласно CY7C68013A Technical Reference Manual, регистр USB-адреса FNADDR доступен для записи только со стороны USB-хоста и перезаписывается, когда USB-хост присваивает адрес USB-устройству стандартной операцией Set Address. При USB-сбросе он устанавливается в Default значение 00h. Программа, выполняемая внутренним контроллером (8051 firmware), может прочитать адрес, но не может его перезаписать.
Таким образом, приходим к выводу, что разработчики пошли по пути (1). Вместе с тем, нельзя полностью исключить существование других решений — недокументированных или неочевидных.

Вложение Размер usb_post-kontroller_svoimi_rukami.jpg 59.56 КБ


Usb контроллер своими руками

Usb контроллер своими руками

Usb контроллер своими руками

Usb контроллер своими руками

Usb контроллер своими руками

Usb контроллер своими руками

Usb контроллер своими руками

Usb контроллер своими руками

Похожие новости: