Який мікроконтролер може підключитися безпосередньо до порту USB?


9

По суті, мені просто потрібно надіслати деякі дані до мікроконтролера через USB, тоді мікропроцесор декодує дані і керує світлодіодною світловою смугою, яка працює на 5В. У мене виникають проблеми з пошуком потрібного мікроконтролера для роботи.

Мікроконтролеру просто необхідно мати 2 послідовних порти для зв'язку через USB, два послідовних порти для зв'язку зі світлодіодною стрічкою та мати можливість працювати на 5В. Мабуть, непотрібно мати спеціальний ІС для зв'язку через USB, коли все, що мені потрібно, - це встановлений послідовний порт COM.

Наприклад, ось фрагмент коду Arduino, який пише байт у смужку LPD8806:

void write8(uint8_t d) {
  for (uint8_t i=0; i<8; i++) {
    if (d & _BV(7-i))
      digitalWrite(dataPin, HIGH);
    else
      digitalWrite(dataPin, LOW);
   digitalWrite(clockPin, HIGH);
   digitalWrite(clockPin, LOW); 
  }
}

Для фіксації даних ви надсилаєте нулі до смуги.


Я думаю, ви маєте на увазі один USB-з'єднання (вони двосторонні) та одне послідовне з'єднання (також двосторонній). Якщо ви перебираєтесь, сім'я 18f4550 зробить цю роботу.
Скотт Сейдман

1
Який протокол для світлодіодної смуги? Чи можете ви додати посилання на таблицю даних або веб-сайт смужки?
Rocketmagnet

@Rocketmagnet Це його світлодіодна смуга . Лист даних китайською мовою, однак є просто серійний і вхідний годинник, і ви фіксуєте, відправляючи нулі вниз по лінії.
Стів Барна

Відповіді:


7

Я здогадуюсь, що під "двома послідовними портами" ви маєте на увазі один UART (оскільки ви також описуєте USB як 2 порти). Rocketmagmet вказує на те, що багато / більшість світлодіодних струн використовують SPI, але для цього знадобиться щонайменше 3 дроти. Чи можете ви вказати, який протокол вам потрібен?

Загалом, Microchip має мікроконтролери з найнижчою вартістю, також цього разу. У Microchip також є багато мікроконтролерів у пакеті DIL, тоді як багато інших зробили це. Може бути важливим для Зробіть сам. PIC18F13K50

  • існує в обох пакетах DIL-20 та SMT
  • працює на 5 В (для взаємодії зі світлодіодною стрічкою)
  • низька вартість на $ 2,5 (OK, це відносне, але USB , здатні контролери є трохи дорожче , ніж більш основних типів)
  • покращив USART для інтерфейсу UART
  • має інтерфейс SPI у випадку, якщо ви це мали на увазі
  • має джерело 25 мА і мийку вводу / виводу, тому при необхідності ви можете безпосередньо керувати парою світлодіодних індикаторів

Подальше зчитування
універсальної функції USB на вбудованому пристрої , примітка мікрочіпа AN1166


Він згадує світлодіодні смужки, тому я припускаю, що це синхронний протокол (в основному SPI без повернення даних). Цей PIC має лише 1 SPI-порт, тому він не підходить. Хоча він міг би багнути протокол.
Rocketmagnet

@Rocket - де він каже, що це SPI? І йому не знадобляться два шини SPI: SPI - це багатомовні. І як прокоментував Скотт, і я також сказав на початку своєї відповіді, я думаю, що під двома портами він має на увазі два шпильки, тому я спершу подумав про UART.
stevenvh

Можливо, PIC18F24J50? Але це частина 3,3 В, тому я не знаю, чи буде він інтерфейс до світлодіодної смуги.
Rocketmagnet

1
Він не каже, що це SPI, але я раніше використовував світлодіодні стрічки, і вони завжди були синхронними. Я можу помилитися. Він може означати інший тип світлодіодної стрічки, якого я ніколи не бачив. Я думаю, він має на увазі два штифти для годинника та даних.
Rocketmagnet

Власне, я неправильно прочитав питання і подумав, що він сказав дві світлодіодні смужки! Він фактично сказав два штифти для однієї світлодіодної смуги. Так що, як ви були з оригінальною пропозицією.
Rocketmagnet

4

Ваша світлодіодна смуга має простий послідовний інтерфейс. Якщо ви просто намагаєтесь керувати ним за допомогою комп’ютера, ви можете використовувати мікросхему FTDI для розмахування штифтів: http://www.ftdichip.com/Products/ICs/FT232R.htm

Тоді складність знаходиться на стороні ПК за допомогою бібліотек libftdi або D2XX . Але це не надто погано, схожі складності з вашим прикладом Arduino.

Якщо ви не хочете виготовляти обладнання, ви можете придбати попередньо виготовлені кабелі з мікросхемою FTDI у дистриб'юторів FTDI, таких як Mouser, або від Sparkfun тощо. Кабелі доступні в різних конфігураціях напруги, тому ретельно замовляйте

Звичайно, якщо ви хочете, щоб проект якимось чином був автономним або автономним, вам знадобиться повноцінне рішення мікроконтролера.


Я повинен розглянути можливість надсилання необроблених даних SPI на світлодіодну смугу через USB-контролер. Microchip створює USB-SPI, який встановлює себе як HID-пристрій, тоді як мікросхеми FTDI або VCOM, або D2XX, і я не впевнений, що найкраще підійде для запуску світлової смуги програми c ++.
Стів Барна

Мені невідомо про USB-мост SPI SPI, який відображається як віртуальний послідовний порт, як це роблять USB <-> мікросхеми UART. Натомість вам доведеться написати код розбиття бітів, що легко для SPI.
відбитки

3

Подумайте про використання PSoC3 .

PSoc3

Вони доступні через USB та майже будь-яку периферійну мережу, яку ви хочете. (Вони налаштовані програмно) Ви, безумовно, зможете мати два послідовних порти для світлодіодних смужок. Ймовірно, ви зможете мати 20, якщо захочете.

Середовище розробки також радість використовувати.

PSoC Creator


3
Добре, що здається трохи зайвим. Але я погляну на це.
Стів Барна

8
@Rocket - на Digikey я бачу, що PSOC коштує вдвічі більше, ніж я згадував PIC. Я не сумніваюся, що вони вартують ваги золота (як фігури мови), якщо вам потрібні всі ті, що настроюються периферійні пристрої, для рішень, яких ви не знайдете на жодному іншому мікроконтролері, як-от 16 UART або близько того. Але ОП, здається, потребує лише USB-порту та послідовного порту (UART, SPI або I2C), тоді набагато дешевше вибрати контролер низького рівня, який має саме це.
stevenvh

@stevenvh - Я згоден, PSoC можуть бути болісно дорогими. Вони справді того варті лише для виробництва, коли ви можете скористатися їх багатьма функціями. Але для складання прототипів вони абсолютно того варті. Вам ніколи не потрібно їхати на полювання за тим спеціальним PIC, який має правильну комбінацію периферійних пристроїв, і ви можете впроваджувати апаратні зміни одним натисканням кнопки!
Rocketmagnet

@Rocket - "впровадити зміни апаратного забезпечення одним натисканням кнопки". Так, це мені говорили кипариси. Я цього не розумію (я обговорював це широко з колегами, а вони теж не знають): Якщо мені потрібен, наприклад, таймер, у моїй програмі є ймовірність того, що мені це потрібно весь час, а не викидати його на деякий час тому що я хочу зробити щось інше з обладнанням. Я дуже ціную інструменти конфігурації, як на екрані екрана, і я благав Motorola (до того, як вони стали Freescale) кілька разів додавати невелику FPGA до своїх контролерів HC05, але це не було ...
stevenvh

@Rocket - (продовжується) ... для перенастроювання додатків, це було мати більш гнучкий контролер під час розробки . У той час ми були великим клієнтом Motorola, і вони консультувалися з нами щодо ідей, як почистити безлад HC05; було сотні різних типів, деякі більш успішні, ніж інші. Тому я запропонував 1) FPGA та / або 2) масив комутаторів перехресних точок, щоб дозволити вам підключати вибрані периферійні пристрої до (обмеженого) вводу / виводу; апаратне забезпечення все одно було на штампі.
Нічого

0

Це не може бути простішим за це: ATmega8U2 .

Щоб доповнити це, ви навіть можете використовувати це з завантажувачем Arduino ...

Лист даних: http://www.atmel.com/Images/doc7799.pdf

(вибачте за те, що я трохи лаконічний, я друкую з телефону)


2
Коли ви знову за комп’ютером (чи не повинно це бути "попереду"?), Чи можете ви уточнити: як це найпростіше рішення? Це має бути гарною історією :-), оскільки ATmega8U2 на 50% дорожче, ніж PIC.
stevenvh

1
Я віддаю перевагу лінії AVR (особливо ATmega), тому що можна використовувати середовище Arduino для швидкого складання прототипів (плакат це добре знайомий!) І дозволяє швидко циклу тестування-фіксації. Тоді я оптимізую код вручну, або навіть використовую менший AVR uC, наприклад Tiny2313 (BTW, є м'які USB-ліфти для AVR). Мені хотілося сподобатися PIC, але коли я подивився на них (якраз перед тим, як Ардуїно зняв), я вибрав AVR: я знайшов їхні документи кращими, а громада - сильнішою - незважаючи на те, що тут, в Угорщині, PIC історично більше підтримують. Я вибрав би коротший цикл розробки, щоб знизити собівартість при низькому обсязі виробництва.
ppeterka

1
Точно чому потік? Хочете пояснити?
ppeterka
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.