Чи є використання CH340G в комерційному продукті жахливою ідеєю? [зачинено]


12

Я розробляю нішевий продукт, який буде вироблятися на досить низькому обсязі (низькі сотні). Я використовую Atmega uC, і одна з вимог - це можливість користувачеві бути полегшеним полем. Мій план - використовувати завантажувач Arduino разом з USB-to-UART IC (лінивий, я знаю, але при такому обсязі це, мабуть, найкращий варіант).

Є багато варіантів. Моя прототипна плата зараз використовує FTDI FT232RL, але це занадто дорого для виробництва, оскільки ціна на всю плату становить близько 20 доларів.

ІС, які я розглядав, включають:

  • CH340G
    • Найдешевший варіант, але який статус підписаних драйверів для OSX? Я не можу визначити, чи буде це повністю підключення та відтворення. Хтось знає, який це статус?
  • CP2102
    • Надійна, не турбуйтеся про підписаних водіїв тощо. Але це дорожче.
  • MCP2200
    • Також надійний, не турбуйтеся про підписаних водіїв. Як я можу вибрати це порівняно з CP2102? Вони майже однакові за ціною.

Чи є якісь інші "готчі" з вищезазначеними варіантами, крім підписаних драйверів? Я не хочу примушувати користувача встановлювати неподписані драйвери / додавати потенційно болісний процес до процедури повторного мигання, але я також не хочу додати $ 2 до вартості BOM лише для простоти користувача.

Будь-які загальні рекомендації / поради будуть корисними. Дякую.


3
Чи можете ви просто надати окремий кабель, який можна придбати, якщо користувач насправді хоче переробити його? Або важливе значення має використання продукту?
DKNguyen

Переосмислення має важливе значення для використання продукту, оскільки воно може використовуватися в багатьох різних сценаріях і повинно бути повністю налаштоване замовником у майбутній день для різних застосувань.
willem.hill

У одного клієнта зазвичай є лише один із пристроїв чи багато? Якщо у клієнта багато рішень, Chetan Bhargava може бути хорошим варіантом: зробити інтерфейс програмування окремим від самого пристрою.
jcaron

Приклад продукту, який використовував CH340 і повинен був перейти на CP2104 для вирішення проблем: github.com/sqfmi/badgy#rev-2b
jcaron

Краще питання - чи можна придбати чіп CH340? Не було американських постачальників, які перевозили його востаннє, коли я перевіряв.
CrossRoads

Відповіді:


26

Найпростішим варіантом, який я б тут рекомендував, було б використання мікроконтролера, який підтримує USB, і він може програмуватися за допомогою завантажувача USB DFU (Device Firmware Update). Одним із прикладів такого мікроконтролера є ATmega32U4, як це видно на Arduino Leonardo; інший - ST STM32F103. Навіть якщо ці мікроконтролери трохи дорожчі, ніж ви б використали інакше, збільшення вартості, мабуть, менше, ніж вартість дискретного USB-інтерфейсу UART. Використання однієї частини також зменшить загальний розмір та енергоспоживання вашого пристрою.


16U2 - поширений варіант, який використовується для Arduino Uno та Mega, які сумісні з OS X - навіть більш старими версіями.
Greenonline

1
@Greenonline Та ж сім'я, що і 32U4, про яку я згадував, лише менша версія.
duskwuff -inactive-

8

Існує Apple, що постачається драйвером для CH340, що включає останні версії MacOS. "AppleUSBCHCOM".


2

Як правило, якщо ви даєте своїм клієнтам можливість спалахувати ваш пристрій, ви хочете, щоб вони не цеглили його.

Таким чином, головним пріоритетним забезпеченням є надійне та безпечне підключення до хост-пристрою. На мій досвід, всі мікросхеми працюють досить добре в міських та лабораторних умовах, на які я припускаю, що ви орієнтовані.

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

CH340

Так, це справді погана ідея, принаймні, якщо ви хочете Plug-And-Play. Для мене на програмі Win 8.1 мені потрібно було вручну встановити драйвер ( CH340SER.exe), який мені довелося завантажити з веб-сайту (китайського) виробника, який не мав (на той час) англійського перекладу.

Він проводився в Китаї, що може бути проблемою для людей, орієнтованих на безпеку, та осіб, пов'язаних з організаційними та / або політичними правилами. Крім того, це було перевершено як результат пошуку багатьох сумнівних сайтів для завантаження драйверів "Безкоштовно".

Якби це було якесь серйозне обладнання (на відміну від "просто" Ардуїно), це підніме мої брови до стелі. Установка вручну може також дуже дратувати, якщо ваші клієнти не мають спеціального обладнання для миготіння.

В іншому випадку ця мікросхема працювала як очікувалося.

CP2102

Не багато про що говорити, працювали поза коробкою і не викликали жодних питань. Можливо, мій вибір для середнього дизайну.

FTDI

У мене це є на самостійній платі USB-послідовного перетворювача, і він працює добре. Як ви писали, це досить дорого, але я вважаю, що це може бути кращим вибором у важких умовах (наприклад, роз’їдені контакти на роз’ємах, також EMI). Можливо, ви відчуєте тепле нечітке відчуття, оскільки ви підтримуєте оригінальних розробників.

Інші ідеї

ISP

Відповідно до відповіді @Chetan Bhargava, можливим було б мати роз'єм для SPI, а потім використовувати окремий USB-послідовний перетворювач.

Це також вимагає, щоб ви забезпечили надійний і безпечний у використанні роз'єм для підключення провайдера. Очевидно, що ви можете дешево придбати штифтові заголовки тут, але якщо ви хочете зробити це правильно (і / або недостатньо довіряти своїм клієнтам ), то цей роз'єм може бути дорожчим, ніж додаткова мікросхема та запасний USB-роз'єм. Послідовне підключення жорстоко налагоджувати, якщо вони не працюють, на відміну від USB, де клієнт принаймні отримає повідомлення про те, що USB-пристрій не працює.

Якщо ви з'єднаєте окремий перетворювач зі своєю дошкою, вам доведеться заплатити ціну і за плату перетворювача. Я припускаю, що це не буде дешевше, ніж інтегрувати чіп. Це може спрацювати, якщо кожен клієнт володіє багатьма вашими платами, тому перетворювач може повторно використовуватись, або якщо ви можете просто перенести витрати на придбання програміста на сторону замовника.

Якщо цей варіант є можливим, на даний момент також є власний AVRISP Atmel, який є хорошим вибором тут, а не звичайний USB-до-серійний, хоч трохи застарілий. Я думаю, що він скорочується зі швидкістю 100 або 200 кбіт / с, коли сучасні USB-послідовні перетворювачі переходять у мегабітний діапазон. Але це дуже надійно щодо (неправильного) використання.

Ще одним хорошим варіантом може стати роз'єм TC2030. Для роботи потрібні лише майданчики на друкованій платі, але потрібні певні знання (потрібно тримати її на місці, поки програмування не буде закінчено).

Комунікаційні інтерфейси

Сучасні мікроконтролери також поставляються з низкою інших комунікаційних інтерфейсів (Ethernet, WiFi, Bluetooth), і зазвичай їх можна прошивати за допомогою них. Прикладом може бути ESP32, який коштує близько 6 доларів США і являє собою SoC з усіма компонентами, необхідними для підключення до wifi. Крім того, він сумісний з Arduino (можна навіть використовувати IDE) і має дуже ретельний набір прикладів, включаючи завантажувач Wi-Fi OTA. Вам потрібен буде тільки провайдер для початкового розгортання завантажувача.

Якщо - як це звучить у вашому питанні - ваш проект в основному закінчений, це, мабуть, вже не є варіантом.


-2

Для того, щоб ваш продукт був програмованим / флеш- введіть тут опис зображеннякабелем на місцях, слід використовувати загальний штифт. Ардуїно розпирання досить поширене. немає необхідності вставляти USB в послідовний перетворювач, якщо оновлення не є щотижневими. Для налаштування поля я б збільшив вартість обладнання для програмування на місцях, а не можливість програмування польових програм


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

Деякі поширені (і недорогі) USB-послідовні перетворювачі засновані на наступних наборах чіпів.

FTDI - драйвери для Windows та Linux, але драйвери можуть
кинути ваш кабель - уникайте CH340 - драйвери для Windows та Linux
PL2303 - драйвер для Windows та Linux

Драйвери легко доступні для платформ Windows та Linux. Я не можу сказати багато про яблуко, оскільки я не можу дозволити собі яблучний ноутбук.

Я вважаю за краще залишити USB-серіал поза проектом, якщо ймовірність запрограмувати в полі <50%.

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