USB-хост на RP2040
Ребята из [Adafruit] демонстрируют изящный хак — USB-хост на RP2040 с использованием теперь знаменитого периферийного устройства PIO. [Adafruit] производит множество плат RP2040, и, естественно, вам необходимо протестировать их, прежде чем отправлять клиентам. Для этого они использовали очень специфические Teensies, и в какой-то момент они стали unobtainium. Основываясь на работе [sekigon-gonnoc] и с помощью [Thach], они сделали свою библиотеку TinyUSB поддерживающей побитовую обработку USB через PIO и успешно портировали на нее свою тестовую прошивку!
Базовый репозиторий Pico-PIO-USB от [sekigon-gonnoc] демонстрирует довольно впечатляющее положение дел — с поддержкой режимов низкоскоростного и полноскоростного USB-хоста и полноскоростного USB-устройства, а также довольно много примеров для начала работы. . Работа [Adafruit] интегрирует этот код в свой стек TinyUSB, уделяя особое внимание функциям MST (запоминающее устройство большой емкости), поскольку это то, что вам нужно для программирования RP2040. Конечно, в придачу они также предоставляют пример запоминающего устройства!
Тестовые приспособления очень важны при изготовлении нескольких частей платы, а поскольку RP2040 поддерживает все больше и больше интерфейсов благодаря PIO, это выглядит как идеальный чип для вашей следующей печатной платы, предназначенной для промышленного тестирования. Позаботившись о приспособлениях, вы захотите заняться созданием не менее важной механической детали, и мы рассмотрели немало способов разобраться в этом — вот скрипт OpenSCAD, который генерирует файлы лазерной резки из плат KiCad, или приспособление, изготовленное из металлолома FR4, покрытого медью, и в придачу довольно обширное руководство по изготовлению собственных приспособлений для лазерной резки.