क्या व्यावसायिक उत्पाद पर CH340G का उपयोग एक भयानक विचार है? [बन्द है]


12

मैं एक आला उत्पाद विकसित कर रहा हूं जिसका उत्पादन काफी कम मात्रा (कम सैकड़ों) में किया जाएगा। मैं एक एटमेगा यूसी का उपयोग कर रहा हूं, और आवश्यकताओं में से एक उपयोगकर्ता द्वारा फ़ील्ड-फ्लैश करने की क्षमता है। मेरी योजना Arduino बूटलोडर को USB-to-UART IC (आलसी, मुझे पता है, का उपयोग करना है, लेकिन इस वॉल्यूम पर यह शायद सबसे अच्छा विकल्प है)।

कई विकल्प हैं। अभी मेरा प्रोटोटाइप बोर्ड FTDI FT232RL का उपयोग कर रहा है, लेकिन यह उत्पादन के लिए बहुत महंगा है, क्योंकि पूरे बोर्ड के लिए कीमत बिंदु लगभग $ 20 है।

जिन आईसी पर मैंने विचार किया है उनमें शामिल हैं:

  • CH340G
    • सबसे सस्ता विकल्प, लेकिन OSX के लिए हस्ताक्षरित ड्राइवरों की स्थिति क्या है? मैं यह निर्धारित नहीं कर सकता कि यह पूरी तरह से प्लग और प्ले होगा। क्या किसी को पता है कि इस की स्थिति क्या है?
  • CP2102
    • मजबूत, हस्ताक्षरित ड्राइवरों आदि के बारे में कोई चिंता नहीं है, लेकिन यह अधिक महंगा है।
  • MCP2200
    • इसके अलावा मजबूत, हस्ताक्षरित ड्राइवरों के बारे में कोई चिंता नहीं है। मैं इसे CP2102 बनाम कैसे चुनूं? वे लगभग एक ही कीमत हैं।

क्या हस्ताक्षरित ड्राइवरों के अलावा अन्य विकल्पों के साथ कोई अन्य "गोचैस" है? मैं उपयोगकर्ता को अहस्ताक्षरित ड्राइवरों को स्थापित करने या फिर से चमकती प्रक्रिया में एक संभावित दर्दनाक प्रक्रिया को जोड़ने के लिए मजबूर नहीं करना चाहता, लेकिन मैं वास्तव में उपयोगकर्ता-फ़्लशबिलिटी के लिए $ 2 को बीओएम लागत में जोड़ना नहीं चाहता।

कोई भी सामान्य मार्गदर्शन / सलाह उपयोगी होगी। धन्यवाद।


3
क्या आप केवल एक अलग केबल प्रदान कर सकते हैं जिसे खरीदा जा सकता है यदि उपयोगकर्ता वास्तव में इसे फिर से भरना चाहता है? या उत्पाद के उपयोग के लिए आवश्यक रीफ्लेशिंग आवश्यक है?
DKNguyen

उत्पाद का उपयोग करना आवश्यक है, क्योंकि यह कई अलग-अलग परिदृश्यों में उपयोग किया जा सकता है, और विभिन्न अनुप्रयोगों के लिए भविष्य की तारीख में ग्राहक द्वारा पूरी तरह से पुन: प्राप्य होना चाहिए।
विल्हेम।

क्या एक ग्राहक के पास आमतौर पर केवल एक उपकरण होता है, या कई? यदि प्रति ग्राहक कई निर्णय हैं, तो चेतन भार्गव एक अच्छा विकल्प हो सकते हैं: प्रोग्रामिंग इंटरफ़ेस को डिवाइस से अलग करें।
जैकर्न

एक उत्पाद का एक उदाहरण जिसने CH340 का उपयोग किया और मुद्दों को हल करने के लिए CP2104 पर स्विच करना पड़ा: github.com/sqfmi/badgy#rev-2b
jcaron

बेहतर सवाल यह है कि क्या आप CH340 चिप खरीद सकते हैं? कोई अमेरिकी आपूर्तिकर्ता नहीं था जो पिछली बार मैंने जाँच किया था।
क्रॉसरोड्स

जवाबों:


26

सबसे सरल विकल्प, और जो मैं यहाँ सुझाऊँगा, वह एक माइक्रोकंट्रोलर का उपयोग करना होगा जो USB को मूल रूप से समर्थन करता है और इसे USB DFU (डिवाइस फ़र्मवेयर अपडेट) बूटलोडर के साथ प्रोग्राम किया जा सकता है। इस तरह के एक माइक्रोकंट्रोलर का एक उदाहरण ATmega32U4 है, जैसा कि Arduino लियोनार्डो पर देखा गया है; एक और एसटी STM32F103 है। यहां तक ​​कि अगर ये माइक्रोकंट्रोलर आपके द्वारा उपयोग किए जाने वाले की तुलना में थोड़ा अधिक महंगा है, तो लागत में वृद्धि शायद एक असतत यूएसबी यूएआरटी इंटरफेस की लागत से कम है। एकल भाग का उपयोग करने से आपके डिवाइस के समग्र आकार और बिजली की खपत में भी कमी आएगी।


16U2 Arduino Uno और Mega पर उपयोग किया जाने वाला एक सामान्य विकल्प है, जो OS X संगत - पुराने संस्करण भी हैं।
ग्रीननलाइन

1
@Greenonline 32U4 के रूप में एक ही परिवार, मैंने उल्लेख किया है, बस एक छोटा संस्करण।
डस्कवफ-एक्टिव-

8

CH340 के लिए एक Apple आपूर्ति किया गया ड्राइवर है, जिसमें MacOS के हाल के संस्करण शामिल हैं। "AppleUSBCHCOM"।


2

आम तौर पर, यदि आप अपने ग्राहकों को अपने डिवाइस को फ्लैश करने की क्षमता देते हैं, तो आप चाहते हैं कि वे इसे ईंट न करें।

इस प्रकार, प्रदान करने वाली मुख्य प्राथमिकता मेजबान डिवाइस का एक मजबूत और सुरक्षित कनेक्शन है। मेरे अनुभव में सभी चिप्स शहरी और प्रयोगशाला सेटिंग्स में अच्छी तरह से काम करते हैं जो मुझे लगता है कि आप लक्षित कर रहे हैं।

उस समय पर भी विचार करें जिसके लिए घटक को सही काम करने की आवश्यकता होगी - आपकी उत्पादन संख्या कम सैकड़ों में है, और आप प्रत्येक में $ 2 जोड़ते हैं। क्या वह "हानि" आपके (या डेवलपर के) समय से अधिक मूल्य की है? एक अच्छी तरह से प्रलेखित चिप वास्तव में एक बेहतर विकल्प हो सकती है, भले ही इसकी लागत अधिक हो।

CH340

हां, यह वास्तव में एक बुरा विचार है, कम से कम यदि आप प्लग-एंड-प्ले चाहते हैं। मेरे लिए विन 8.1 पर, मुझे मैन्युअल रूप से ड्राइवर ( CH340SER.exe) स्थापित करने की आवश्यकता थी, जिसे मुझे (चीनी) निर्माता की वेबसाइट से डाउनलोड करना था, जिसमें (उस समय) कोई अंग्रेजी अनुवाद नहीं था।

यह चीन में आयोजित किया गया था, जो सुरक्षा-दिमाग वाले व्यक्तियों और संगठनात्मक और / या राजनीतिक नियमों से बंधे लोगों के लिए एक मुद्दा हो सकता है। इसके अलावा यह बहुत सारे संदिग्ध "नि: शुल्क" ड्राइवर डाउनलोड साइटों द्वारा एक खोज परिणाम के रूप में निकाला गया था।

अगर यह कोई गंभीर उपकरण था (एक अरुडिनो के "बस" के विपरीत), तो यह मेरी भौंहों को छत तक बढ़ा देगा। यदि आपके ग्राहक के पास चमकाने के लिए समर्पित उपकरण नहीं हैं, तो मैन्युअल रूप से स्थापित करना भी बहुत कष्टप्रद हो सकता है।

अन्यथा, इस चिप ने उम्मीद के मुताबिक काम किया।

CP2102

ज्यादा कुछ नहीं कहना है, बॉक्स के बाहर काम किया और किसी भी मुद्दे को नहीं उठाया। शायद एक औसत डिजाइन के लिए मेरी पसंद होगी।

FTDI

मैं एक स्वसंपूर्ण USB- सीरियल कनवर्टर बोर्ड पर यह एक है और यह अच्छा प्रदर्शन करता है। जैसा कि आपने लिखा है, यह महंगा है, लेकिन मेरा मानना ​​है कि यह किसी न किसी वातावरण में एक बेहतर विकल्प हो सकता है (उदाहरण के लिए कनेक्टर्स पर कॉरोडेड कॉन्टैक्ट्स, ईएमआई भी)। हो सकता है कि आप मूल डेवलपर्स का समर्थन करने के लिए आपको एक गर्म फजी एहसास दे सकते हैं।

अन्य विचार

आईएसपी

@ चेतन भार्गव के उत्तर के अनुसार, एक विकल्प के लिए SPI के लिए एक कनेक्टर होगा और फिर एक स्टैंडअलोन USB-सीरियल कनवर्टर का उपयोग किया जाएगा।

इसके लिए आपको ISP के लिए कनेक्टर का उपयोग करने के लिए एक विश्वसनीय और सुरक्षित स्थान प्रदान करना होगा। स्पष्ट रूप से आप यहां पिन हेडर के साथ सस्ते में जा सकते हैं, लेकिन यदि आप इसे सही करना चाहते हैं (और / या अपने ग्राहकों पर पर्याप्त भरोसा नहीं करते हैं ), तो यह कनेक्टर अतिरिक्त चिप और स्टॉक यूएसबी कनेक्टर की तुलना में अधिक महंगा हो सकता है। सीरियल कनेक्शन डीबग करना मुश्किल होता है अगर वे काम नहीं करते हैं, तो यूएसबी के खिलाफ जहां ग्राहक कम से कम यह नोट करेगा कि यूएसबी डिवाइस काम नहीं कर रहा है।

यदि आप अपने बोर्ड के साथ एक स्टैंडअलोन कनवर्टर बंडल करते हैं, तो आपको कनवर्टर बोर्ड के लिए भी कीमत चुकानी होगी। मुझे लगता है कि यह चिप को एकीकृत करने की तुलना में सस्ता नहीं होगा। यह काम कर सकता है यदि प्रत्येक ग्राहक आपके कई बोर्डों का मालिक है, इसलिए कनवर्टर का पुन: उपयोग किया जा सकता है, या यदि आप प्रोग्रामर को प्राप्त करने की लागत को ग्राहक के पक्ष में कर सकते हैं।

यदि यह विकल्प एक संभावना है, तो इस बिंदु पर, Atmel का अपना AVRISP भी है, जो सादे USB-to-Serial के बजाय यहाँ एक अच्छा विकल्प है, हालांकि थोड़ा पुराना है। मुझे लगता है कि यह लगभग 100 या 200 केबीपीएस पर है जहां आधुनिक यूएसबी-सीरियल कन्वर्टर्स मेगाबिट रेंज में जाते हैं। लेकिन यह (गलत) उपयोग के संबंध में बहुत मजबूत है।

एक और अच्छा विकल्प एक TC2030 कनेक्टर हो सकता है। इसके साथ काम करने के लिए केवल पीसीबी पर पैड की आवश्यकता होती है, लेकिन कुछ विशेषज्ञता की आवश्यकता होती है (आपको इसे तब तक पकड़ना होगा जब तक कि प्रोग्रामिंग समाप्त न हो जाए)।

संचार इंटरफेस

आधुनिक माइक्रोकंट्रोलर भी कई अन्य संचार इंटरफेस (ईथरनेट, वाईफाई, ब्लूटूथ) के साथ आते हैं और आमतौर पर इनका उपयोग करके फ्लैश किया जा सकता है। एक उदाहरण ESP32 होगा जो लगभग 6 USD की लागत पर आता है और एक SoC है जिसमें वाईफाई कनेक्शन के लिए आवश्यक सभी घटक हैं। इसके अलावा, यह Arduino- संगत है (आप आईडीई का उपयोग भी कर सकते हैं) और इसमें एक बहुत ही संपूर्ण उदाहरण सेट किया गया है, जिसमें एक वाईफाई ओटीए बूस्टर शामिल है। बूटलोडर की प्रारंभिक तैनाती के लिए आपको केवल ISP की आवश्यकता होगी।

यदि - जैसा कि यह आपके प्रश्न में लगता है - आपकी परियोजना ज्यादातर समाप्त हो गई है, यह शायद अब कोई विकल्प नहीं है।


-2

आपके उत्पाद के लिए प्रोग्राम प्रोग्रामेबल / फ्लैश यहाँ छवि विवरण दर्ज करेंकेबल होना एक सामान्य हेडर पिन आउट का उपयोग करना है। Arduino pinout बहुत आम है। यदि आपके अपडेट साप्ताहिक नहीं हैं, तो धारावाहिक कनवर्टर में USB एम्बेड करने की कोई आवश्यकता नहीं है। फील्ड सेटअप के लिए मैं फील्ड प्रोग्राम-क्षमता के बजाय फील्ड प्रोग्रामिंग उपकरण की लागत बढ़ाता हूं


यदि आपको कम बार फ्लैश करने की आवश्यकता है, तो एक सीरियल कनवर्टर एम्बेड करने की आवश्यकता नहीं है।

धारावाहिक कन्वर्टर्स के लिए कुछ सामान्य (और कम लागत) USB चिप-सेट के बाद आधारित होते हैं।

FTDI - विंडोज और लिनक्स ड्राइवर, लेकिन ड्राइवर आपकी केबल को बंद कर सकते हैं -
CH340 से बचें - विंडोज और लिनक्स ड्राइवर
PL2303 - विंडोज और लिनक्स ड्राइवर

ड्राइवर विंडोज और लिनक्स प्लेटफॉर्म के लिए आसानी से उपलब्ध हैं। मैं सेब के बारे में ज्यादा नहीं कह सकता क्योंकि मैं एक सेब लैपटॉप नहीं खरीद सकता।

यदि क्षेत्र में कार्यक्रम करने की संभावना <50% है तो मैं अपने प्रोजेक्ट से USB-सीरियल को छोड़ दूंगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.