CH340G'yi ticari bir üründe kullanmak korkunç bir fikir midir? [kapalı]


12

Oldukça düşük bir hacimde (düşük yüzlerce) üretilecek bir niş ürün geliştiriyorum. Bir Atmega uC kullanıyorum ve gereksinimlerden biri, kullanıcı tarafından alan esnekliği yapabilme yeteneğidir. Planım Arduino bootloader'ı USB-UART IC ile kullanmak (tembel, biliyorum, ama bu hacimde muhtemelen en iyi seçenek).

Birçok seçenek var. Şu anda prototip kartım FTDI FT232RL kullanıyor, ancak tüm kartın fiyat noktası yaklaşık 20 $ olduğu için üretim için çok pahalı.

Düşündüğüm IC'ler şunları içerir:

  • CH340G
    • En ucuz seçenek, ancak OSX için imzalı sürücülerin durumu nedir? Bunun tamamen tak ve çalıştır olup olmayacağını belirleyemiyorum. Bunun durumunun ne olduğunu bilen var mı?
  • CP2102
    • Sağlam, imzalı sürücüler vb. Hakkında endişelenmeyin. Ama daha pahalıdır.
  • MCP2200
    • Ayrıca sağlam, imzalı sürücüler hakkında endişelenmeyin. CP2102'ye göre bunu nasıl seçerim? Neredeyse aynı fiyattadırlar.

İmzalı sürücüler dışında yukarıdaki seçeneklerle başka "gotchas" var mı? Kullanıcıyı imzasız sürücüler yüklemeye zorlamak / yeniden yanıp sönme prosedürüne potansiyel olarak acı verici bir süreç eklemek istemiyorum, ama aynı zamanda sadece kullanıcı esnekliği için BOM maliyetine 2 $ eklemek istemiyorum.

Herhangi bir genel rehberlik / tavsiye yararlı olacaktır. Teşekkürler.


3
Kullanıcı gerçekten yeniden yanıtlamak istiyorsa satın alınabilecek ayrı bir kablo sağlayabilir misiniz? Yoksa yeniden kullanım ürünün kullanımı için gerekli mi?
DKNguyen

Reflashing, ürünün kullanımı için çok önemlidir, çünkü birçok farklı senaryoda kullanılabilir ve farklı uygulamalar için gelecek bir tarihte müşteri tarafından tamamen yeniden yapılandırılabilir olması gerekir.
willem.hill

Bir müşterinin genellikle yalnızca bir veya birden fazla cihazı var mı? Müşteri başına çok sayıda karar varsa, Chetan Bhargava iyi bir seçenek olabilir: programlama arayüzünü cihazın kendisinden ayrı yapın.
jcaron

CH340 kullanan ve sorunları çözmek için CP2104'e geçmek zorunda olan bir ürün örneği: github.com/sqfmi/badgy#rev-2b
jcaron

Daha iyi bir soru bir CH340 çip satın alabilirsiniz? Son kontrol ettiğimde hiçbir ABD tedarikçisi yoktu.
CrossRoads

Yanıtlar:


26

En basit seçenek ve burada tavsiye edeceğim, USB'yi doğal olarak destekleyen ve bir USB DFU (Aygıt Ürün Yazılımı Güncellemesi) önyükleyici ile programlanabilen bir mikrodenetleyici kullanmak olacaktır. Böyle bir mikrodenetleyicinin bir örneği, Arduino Leonardo'da görüldüğü gibi ATmega32U4'tür; diğeri ST STM32F103. Bu mikrodenetleyiciler, aksi takdirde kullanacağınızdan biraz daha pahalı olsa bile, maliyetteki artış muhtemelen ayrı bir USB UART arabiriminin maliyetinden daha azdır. Tek bir parça kullanılması, cihazınızın toplam boyutunu ve güç tüketimini de azaltır.


16U2, OS X uyumlu olan Arduino Uno ve Mega'da - daha eski sürümlerde bile kullanılan yaygın bir seçenektir.
Greenonline

1
@Greenonline Bahsettiğim 32U4 ile aynı aile, sadece daha küçük bir versiyon.
duskwuff -inactive-

8

MacOS'un son sürümlerini içeren CH340 için Apple tarafından sağlanan bir sürücü var. "AppleUSBCHCOM".


2

Genel olarak, müşterilerinize cihazınızı yanıp sönme yeteneği verirseniz, onları tuğla yapmamalarını istersiniz.

Bu nedenle, ana öncelik sağlama, ana cihaza sağlam ve güvenli bir bağlantıdır. Deneyimlerime göre, tüm fişler hedeflediğinizi düşündüğüm kentsel ve laboratuvar ortamlarında oldukça iyi çalışıyor.

Ayrıca, bileşenin düzgün çalışması için gereken süreyi de göz önünde bulundurun - üretim sayınız düşük yüzlerce ve her birine 2 $ ekliyorsunuz. Bu "kayıp" (veya geliştiricinin) zamanınızdan daha değerli mi? İyi belgelenmiş bir yonga, daha pahalı olsa bile, aslında daha iyi bir seçim olabilir.

CH340

Evet, en azından Tak ve Çalıştır'ı kullanmak gerçekten kötü bir fikir. Benim için Win 8.1'de, CH340SER.exe(o zaman) İngilizce çevirisi olmayan (Çince) üreticinin web sitesinden indirmem gereken sürücüyü ( ) manuel olarak yüklemem gerekiyordu .

Güvenlik fikirli bireyler ve örgütsel ve / veya politik kurallara bağlı olanlar için bir sorun olabilecek Çin'de barındırıldı. Ayrıca şüpheli "Ücretsiz" sürücü indirme siteleri bir sürü tarafından bir arama sonucu olarak geçti.

Bu ciddi bir ekipman olsaydı ("sadece" bir Arduino'nun aksine), kaşlarımı tavana kaldırırdı. Müşterileriniz yanıp sönen özel bir ekipmana sahip değilse manuel kurulum da çok can sıkıcı olabilir.

Aksi takdirde, bu çip beklendiği gibi çalıştı.

CP2102

Hakkında söylenecek çok şey yok, kutunun dışında çalıştı ve herhangi bir sorun getirmedi. Muhtemelen ortalama bir tasarım için benim seçimim olurdu.

FTDI

Bunu bağımsız bir USB Seri dönüştürücü kartında var ve iyi performans gösteriyor. Yazdığınız gibi, oldukça pahalıdır, ancak zorlu ortamlarda daha iyi bir seçim olabileceğine inanıyorum (örneğin, konektörlerdeki aşınmış kontaklar, ayrıca EMI). Orijinal geliştiricileri desteklediğiniz için size sıcak bir bulanıklık hissi verebilir.

Diğer fikirler

ISS

@Chetan Bhargava'nın cevabına göre, bir seçenek SPI için bir konektöre sahip olmak ve daha sonra bağımsız bir USB Seri dönüştürücü kullanmak olacaktır.

Bu ayrıca ISS'nin bağlanması için güvenilir ve kullanımı güvenli bir konektör sağlamanızı gerektirir. Açıkçası burada pin başlıkları ile ucuza gidebilirsiniz, ancak doğru yapmak istiyorsanız (ve / veya müşterilerinize yeterince güvenmiyorsanız ), bu konektör ek çip ve stok USB konektöründen daha pahalı olabilir. Seri bağlantıların, müşterinin en azından USB cihazının çalışmadığı konusunda bilgilendirileceği USB'nin aksine, işe yaramazsa hata ayıklamak zordur.

Bağımsız bir dönüştürücüyü kartınızla paketlerseniz, dönüştürücü kartının fiyatını da ödemeniz gerekir. Bunun çipi entegre etmekten daha ucuz olmayacağını düşünürdüm. Bu, her müşterinin kartlarınızın çoğuna sahip olması durumunda işe yarayabilir, böylece dönüştürücü yeniden kullanılabilir veya programcıyı müşteri tarafına alma maliyetlerini karşılayabilirseniz.

Bu seçenek bir olasılıksa, bu noktada, Atmel'in biraz düzensiz olsa da düz USB-Seri yerine iyi bir seçim olan kendi AVRISP'si de var. Modern USB Seri dönüştürücülerin megabit aralığına girdiği yaklaşık 100 veya 200 kbps hızda olduğunu düşünüyorum. Ancak (yanlış) kullanım açısından çok sağlamdır.

Bir başka iyi seçenek de TC2030 konnektörü olabilir. Sadece çalışmak için PCB üzerindeki pedleri gerektirir, ancak biraz uzmanlık gerektirir (programlama bitene kadar yerinde tutmanız gerekir).

İletişim arayüzleri

Modern mikro denetleyiciler ayrıca bir dizi başka iletişim arabirimi (Ethernet, WiFi, Bluetooth) ile birlikte gelir ve genellikle bunlar kullanılarak yanıp sönebilir. Bir örnek , yaklaşık 6 USD maliyetle gelen ve bir wifi bağlantısı için gerekli tüm bileşenlere sahip bir SoC olan ESP32'dir . Ayrıca Arduino uyumludur (IDE'yi bile kullanabilirsiniz) ve bir WiFi OTA önyükleyici de dahil olmak üzere çok kapsamlı bir örnek sete sahiptir. Önyükleyicinin ilk dağıtımı için yalnızca bir İSS'ye ihtiyacınız olacaktır.

- Sorunuzda göründüğü gibi - projeniz çoğunlukla bitmişse, bu muhtemelen bir seçenek değildir.


-2

Ürününüzün sahada programlanabilir olması için / flaş resim açıklamasını buraya girinkablosu ortak bir başlık pimi kullanmaktır. Arduino pinout oldukça yaygındır. güncellemeleriniz haftalık değilse bir USB'den seri dönüştürücüye yerleştirmeye gerek yoktur. Saha kurulumu için, saha programlama kabiliyeti yerine saha programlama ekipmanının maliyetini


Daha az sıklıkta yanıp sönmeniz gerekiyorsa seri dönüştürücüyü yerleştirmenize gerek yoktur.

Bazı yaygın (ve düşük maliyetli) USB - seri dönüştürücüler aşağıdaki yonga setlerine dayanır.

FTDI - Windows ve Linux sürücüleri ancak kablolar tuğla olabilir -
CH340 önlemek - Windows ve Linux sürücüleri
PL2303 - Windows ve Linux sürücüsü

Sürücüler Windows ve Linux platformu için kolayca kullanılabilir. Bir elma dizüstü bilgisayarını karşılayamadığım için elma hakkında çok şey söyleyemem.

Alanda programlama olasılığı <% 50 ise USB Seriyi projemin dışında bırakmayı tercih ederim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.