Программирование и управление микроконтроллерами и ПЛИС с помощью ноутбука (порт USB)

Раньше ноутбуки имели последовательный и параллельный порт, и было очень легко подключить ноутбук к микроконтроллерам и ПЛИС. Но USB имеет свой собственный протокол, и реализовать различные подключения не так просто, как через параллельный порт.

Есть несколько способов преобразовать USB в другие протоколы с помощью микроконтроллера.

Есть ли хороший способ упростить протоколы с помощью USB? Делают ли программисты специальный кабель и USB-конвертер для каждого отдельного протокола?

Обратите внимание на автобусного пирата .

Ответы (4)

Если вы ищете решение для подключения вашего встроенного контроллера к компьютеру только с портами USB, я настоятельно рекомендую микросхему моста USB-RS232. Я использую чип FT232 от FTDI в своих встраиваемых системах. FTDI предоставляет не только чип, но и драйвер для него. В вашем компьютере чип будет определяться как старый добрый COM-порт, точно так же, как и старые, со всеми подтверждениями связи и т. Д. На конце контроллера чип выводит TTL RS232, SPI или I2C в зависимости от вашего выбора чипа.

Если вам нужен параллельный доступ, у FTDI также есть USB-чип для параллельного доступа .

Драйвер можно настроить, если хотите, и он бесплатный. Он работает на Windows, MAC, Linux и Windows CE.

Теперь, если вы хотите иметь только традиционный 9-контактный COM-порт, есть несколько преобразователей USB в RS232 .

Что касается программирования, вы ограничены тем, что предлагает ваш поставщик или сторонний поставщик.

Когда вы думаете об управлении, USB дает вам большие новые возможности. Просто быстрый пример: используя контроллер AT32UC3B и его встроенные функции USB, я могу подключить это устройство к любому устройству Windows 8.1 (как X86, так и ARM, например Surface RT) без драйверов. Я использую протокол HID, для которого существует драйвер класса USB и который я могу легко использовать. Это предлагает такие вещи, как автоматическое исправление ошибок. Конечно, вы также можете использовать Linux со встроенным драйвером класса HID.

Пожалуйста, поймите, что приложения Магазина Windows больше не поддерживают последовательные порты (что я считаю хорошей вещью).

И да, и нет. Они поддерживают USB CDC при использовании в качестве конечной точки типа SerialPort. Тем не менее, для приложений Windows Store нет поддержки классического последовательного порта FT232. В настольных приложениях для Windows 8.0/8.1 ничего не изменилось, поэтому FT232 и аналогичные устройства будут работать как раньше. Или, другими словами: вы не можете использовать SerialPort sp = new SerialPort("COM4") в приложениях Магазина Windows.

Некоторые микросхемы от Atmel и Microchip ( PIC18F2550 ) имеют встроенные USB-порты. Так что просто подключи и играй.

На этом сайте есть несколько хороших примеров использования ATtiny с V USB, который является программной реализацией низкоскоростного USB-устройства для микроконтроллеров Atmel AVR®, что позволяет создавать USB-оборудование практически с любым микроконтроллером AVR®, не требуя никаких дополнительный чип.

А этот с PIC, используя HID (Human Interface Device).

У Atmel есть различные микроконтроллеры AVR с поддержкой USB, но ATtiny2313 не входит в их число.
@jippie Вы были правы, исправлено!

Для программирования FPGA через USB я настоятельно рекомендую купить на ebay подделку JTAG-кабеля. Вы можете получить совместимый с Xilinx примерно за 40 долларов. У меня у самого есть пара таких, и они отлично работают. Вы также должны быть в состоянии получить совместимые с Altera кабели.

Что касается связи с FPGA или микроконтроллером, есть несколько возможностей. Если все, что вам нужно, это связь с очень низкой пропускной способностью, вполне подойдет микросхема последовательного интерфейса к USB, например, производства FTDI или Exar. Тем не менее, вы не можете работать так быстро с последовательным портом.

Если вам нужна более высокая пропускная способность, вам следует приобрести микроконтроллер со встроенным контроллером USB. Для FPGA вы можете получить микросхемы USB PHY, которые принимают сигнал USB и преобразуют его в параллельную шину. С такой настройкой вы можете использовать всю пропускную способность, которую предоставляет USB.

Другая возможность заключается в использовании чипа FTDI FIFO. Это похоже на последовательный порт, но чип не содержит UART, он просто выводит данные на параллельную шину. Это гораздо более эффективно использует полосу пропускания канала, чем UART. Это может быть использовано либо с FPGA, либо с микроконтроллером.