Použití adaptéru usb-to-com pro připojení ECM automobilu k počítači. Instalace ovladače VCP CP210x USB to UART Bridge Připojení a instalace CP2102

Recenze převodníku USB na UART TTL na CP2102

Proč je to potřeba?

Programujte různé Arduino i neaduino řadiče, přijímejte informace do počítače ze všeho, co má sériové rozhraní s TTL logikou.
Používám jej ve svých projektech s , a .

Jak se liší od jiných podobných zařízení?

Další pin DTR, který lze přímo připojit ke vstupu RESET na ovladačích, které nemají USB na desce. Poté již není nutné během programování mačkat tlačítko RESET. To se mi velmi hodí, když je ovladač schovaný v hlubinách mého řemesla a přístup k tlačítku může být velmi obtížný.

Podpora výrobce, kompatibilita s originálními ovladači a softwarem, na rozdíl od falešných FTDI, které

Další piny (otvory pro kontakty) na desce, například, umožňují přepnout USB do režimu úspory energie.

Zajímavou příležitostí je změnit VID, PID a text, kterým se deska pozná, sestavit si vlastní driver s požadovanými parametry, což je u komerčních projektů docela zajímavé. Budu o tom mluvit dále.

Kdo má zájem, klikněte níže

Objednal jsem si spoustu drobností z Ebay za odměnu za recenzi, mimo jiné za 1,79 $

Zboží putovalo 54 dní. No, už jsem si zvykl na naši poštu, což se nedá říct o kurzu dolaru k rublu (((

Běžné žluté balení. Uvnitř jsou šátky v uzavřených průhledných sáčcích. Všechno je jako obvykle.

Deska má další otvory, kam lze připájet piny pro dodatečné ovládání modemu a přepínání USB do SUSPENDED režimu

Charakteristika

  • Čip CP2102 z
  • Rychlost výměny dat přes UART 300Bit/s - 1Mbit/sec
  • Čtecí vyrovnávací paměť 576 bajtů, zápis 640 bajtů
  • Podpora USB 2.0 12 Mbps
  • SUSPENDED podpora režimu USB
  • Vestavěný regulátor výkonu 3,3V 100mA
  • EEPROM s konfiguračními parametry 1024 bytů
  • Podporované OS Windows 8/7/Vista/Server 2003/XP/2000, Windows CE, Mac OS-X/OS-9, Linux, Android
  • Schopnost přizpůsobit parametry desky a ovladače pro vaše projekty
  • Rozměry desky 26,5 x 15,6 mm
Velikost desky se liší jen málo od
Na fotografii je srovnání s ostatními převodníky USB/UART



Před použitím desky musíte nainstalovat

Pro připojení k ovladači potřebujete 5 vodičů:
GND - GMD
VCC - V5.0 (V3.3) v závislosti na použité desce
TX - RX
RX - TX
RESET ovladač - DTE


Nyní lze ovladač naprogramovat bez stisknutí tlačítka RESET.

Deska je v systému rozpoznána jako
Silicon Labs CP210X USB to UART Bridge (COM35)

Někdy v komerčních projektech je nutné, aby zařízení mělo při programování svůj komerční název. Čip CP2102 a deska na něm k tomu poskytují skvělé příležitosti

Nejprve si stáhněte a spusťte "> (pro spuštění nástroje jsem si také potřeboval stáhnout Java Runtime)

Nyní můžete změnit následující nastavení:

  • ID dodavatele (VID). ID výrobce. Výchozí hodnota je 10С4 (hexadecimální formát). V tomto případě patří společnosti SiLabs.
  • ID produktu (PID). ID produktu. Výchozí hodnota je EA60 (hexadecimální formát). V tomto případě se vztahuje na všechny můstky CP210x. E
  • Maximální výkon. Maximální spotřeba proudu požadovaná můstkem na sběrnici USB. Výchozí hodnota je 32 (hexadecimální formát). Maximální hodnota 500mA
  • Atributy využití síly. Strava. Napájení ze sběrnice (napájení ze sběrnice USB) nebo s vlastním napájením (napájení z externího zdroje).
  • Verze vydání. Číslo vydání. Výchozí hodnota je 1,0. Pole mohou nabývat hodnot 1-99 v celých a zlomkových částech.
  • Sériové číslo. Sériové číslo. Výchozí hodnota je „0001“ (textový formát). Pole může přijmout jakoukoli textovou hodnotu o délce až 64 znaků. Potřebné pro připojení více zařízení k počítači
  • Řetězec produktu. Pole může přijmout jakoukoli textovou hodnotu o délce až 126 znaků. Tento identifikátor se zobrazí v operačním systému při prvním připojení můstku CP210x k počítači a pomáhá uživateli při výběru vhodného ovladače.
  • Vlastní zámek dat. Ochrana konfiguračních dat.

Při změně VID a PID je nutné povinné znovu sestavení ovladačů, protože standardní ovladač je nakonfigurován pro VID a PID Silicon Labs

A po jednoduchém dialogovém průvodci získáme distribuci ovladače s požadovanou sadou VID a PID a požadovaným názvem v systému

Sečteno a podtrženo

Tato deska je jedním z nejlevnějších převodníků USB/UART, které nepoužívají padělané čipy.
Má DTR pin, který vám umožňuje automaticky odeslat RESET pro načtení softwaru do ovladače
Umožňuje vám přizpůsobit VID, PID a ovladače pro vaše projekty
Doporučuji koupit

Adaptér portu RS232 pro univerzální sériovou sběrnici (USB to UART Bridge) je vysokorychlostní USB zařízení určené pro připojení periferních zařízení vyhovujících standardu TIA/EIA232.

Adaptér je založen na řadiči Silicon Labs CP2102 a je určen pro použití v systémech vybavených sběrnicí USB. Připojení periferních zařízení se provádí pomocí standardního konektoru DB9.

  • podpora specifikace USB 2.0;
  • úplná sada signálů rozhraní RS232;
  • Amplituda signálu RS232 není horší než ±5,5V;
  • Napájení ze sběrnice USB.

Instalace a připojení adaptéru

  1. Před instalací a připojením adaptéru CP2102 se ujistěte, že jsou externí zařízení odpojena od napětí a připojena k zemní smyčce.
  2. Poté připojte externí zařízení ke konektoru DB9.
  3. Nainstalujte adaptér do volného konektoru USB a vizuálně zkontrolujte usazení kontaktních podložek, dokud se nezastaví v konektoru.
  4. napájecí napětí do I/O zařízení, systém je připraven k provozu.

Při instalaci adaptéru CP2102 mějte na paměti, že specifikace USB je připojitelná za provozu, ale nevztahuje se na periferie se sériovými I/O. Při práci s adaptérem musíte připojovat pouze periferní zařízení bez napětí! Nedodržení těchto pravidel může mít za následek selhání součástí počítačového systému!

Instalace ovladače založeného na operačních systémech Windows

Po připojení adaptéru CP2102 ke konektoru USB v operačním systému Windows 2K/XP je detekován následovně:

Nyní si musíte stáhnout ovladač CP210x USB to UART. Začneme jej instalovat:

Během operace předinstalace může uživatel určit adresář, ve kterém budou uloženy ovladače zařízení CP210x:


Pokud operační systém požaduje informace o umístění ovladačů zařízení, bude uživatel požádán o zadání cesty k nim. Softwarový model adaptéru CP2102 se skládá z kompozitního zařízení a můstku USB na UART, z nichž každý je popsán svým vlastním inf-soubor.

Během procesu automatické detekce si proto operační systém vyžádá oba soubory postupně.

Ovladače adaptéru musí být systému nabídnuty k instalaci z adresáře určeného během procesu předinstalace, pokud uživatel nestanoví jinak. Zpočátku operační systém nainstaluje ovladače pro USB Composite Device:

Pokud aktuální verze ovladačů USB Composite Device není podporována digitálním certifikátem společnosti Microsoft, uživatel je upozorněn následující zprávou:

Cesta k souborům nezbytným pro složené zařízení je vybrána na základě podmínek před instalací:

Další fází instalace jsou ovladače mostu USB to UART. Stejně jako v předchozím kroku se doporučuje automatická instalace.

Pokud není aktuální verze ovladačů USB to UART Bridge Controller potvrzena digitálním certifikátem společnosti Microsoft, uživatel je na to upozorněn zprávou. Cesta k potřebným souborům se vybírá na základě podmínek před instalací:

Po instalaci se ve vlastnostech systému objeví řadič univerzální sériové sběrnice CP210x USB Composite Device a sériový port COM3 implementovaný pomocí CP210x USB to UART Bridge Controller a seznam zařízení má následující podobu:

To je vše, ovladač je nainstalován!

Tento materiál je publikován poprvé, společnost jej laskavě poskytla ke zveřejnění na našich webových stránkách IC Book Labs a je výhradním vlastnictvím této společnosti. Reprodukce bez písemného souhlasu držitele autorských práv je zakázána.


Jak je známo, pro diagnostiku a přeprogramování automobilových systémů, zejména ECM, se používá diagnostická linka K-Line 12 V (ISO 9141), elektricky kompatibilní se sériovým rozhraním RS232 používaným v osobních počítačích. Při párování automobilu a počítače však nastává problém, protože výměna s automobilovými systémy probíhá při rychlostech 200 a 10400 baudů, které nejsou typické pro počítače. Tento článek pojednává o jednoduchém řešení tohoto problému pro adaptéry USB-to-COM pomocí softwaru standardně dodávaného vývojáři.


Ovládání přenosové rychlosti

Přenosová rychlost pro sériové rozhraní závisí na instalovaném děliči. Hodnota dělitele je určena obsahem registru dělitel přenosové rychlosti. Analýza architektury regulátoru a jednoduché výpočty ukazují, že pro použití rychlostí 200 a 10400 baudů, které nás zajímají, neexistují žádné překážky. Tak co je za problém?


Při psaní operačních systémů, ovladačů a různých aplikačních programů pro obsluhu sériového rozhraní byl pro zjednodušení použit standardní rozsah rychlostí, který se stal tradičním pro osobní počítače: 300, 600, 1200, ..., 115200 baud. Rychlosti 200 a 10 400 baudů používané diagnostickou linkou vozidla nejsou zahrnuty v tomto rozsahu.

Naším úkolem je poskytovat podporu pro přenosové rychlosti, které jsou podporovány ovladači FT232 a CP2102, ale nejsou podporovány „klasickým“ softwarem. Cílem je předefinovat standardní rychlosti novými hodnotami, například nahradit 14400 baudů 10400 baudy. Po tomto přepsání bude mít požadavek na povolení režimu 14400 baudů za následek povolení režimu 10400 baudů. Jde o to, že přidáváme novou rychlost při zachování rozhraní, které je kompatibilní se stávajícím softwarem. V zásadě lze pro substituci použít jakoukoli rychlost z dané série.

Přepisovací rychlosti pro ovladač CP2102

Vezměme v úvahu skutečné provedení popsaného výše uvedené nápady pro kompatibilitu ovladačů USB-to-COM CP2102 s řídicí jednotkou elektronického řízení motoru (ECM) vozidla. Jak bylo uvedeno výše, pro diagnostickou linku K-Line 12 V jsou typické rychlosti 200 a 10400 baudů.

Naštěstí výrobce regulátoru CP2102 poskytl možnost flexibilního ovládání provozních režimů a vybavil své zařízení utilitou pro přeřazení směnných kurzů, takže dnes nepotřebujeme disassembler a debugger, naše akce budou velmi jednoduché a budou redukováno na použití standardního nástroje dodávaného společností Silicon Labs.

Všimněte si také, že výsledkem našich akcí bude změna obsahu tabulky, která ukládá hodnoty frekvenčních děličů pro podporované rychlosti. Tato tabulka je umístěna ve vnitřní energeticky nezávislé paměti čipu CP2102, takže při vypnutí napájení nebo přenesení přeprogramovaného zařízení do jiného počítače se změny uloží. Pro většinu aplikací je tato možnost pohodlnější než například provádění změn v ovladači. Aby byla zajištěna kompatibilita s diagnostickou linkou vozidla a softwarem používaným ke sledování stavu ECM, musíme provést následující přepisy: 14400 až 10400 a 300 až 200 baudů.

Pojďme tedy spustit utilitu CP210 xBaudRateAliasConfig.exe. Zobrazí se okno Konfigurace CP210 x Baud Rate. Pokud je připojeno více zařízení CP2102, v horním řádku Připojená zařízení je třeba vybrat zařízení, které přeprogramujeme. Pokud byla zařízení připojena po spuštění nástroje, měli byste pomocí tlačítka Obnovit aktualizovat seznam povolených adaptérů.

Klikněte na tlačítko Získat konfiguraci a získejte seznam podporovaných přenosových rychlostí pro vybrané zařízení.

Pokud je použit jeden adaptér USB-to-COM, seznam se generuje automaticky, pokud jich je několik, pak po výběru zařízení nezapomeňte kliknout na tlačítko Získat konfiguraci, jinak se zobrazí tabulka, která neodpovídá aktuálnímu, ale dříve zvolený adaptér!

Levý sloupec pod symbolem # označuje číslo podmíněného rychlostního limitu. Sloupce High a Low ve sloupci Application Requested Baud Rate Range obsahují horní a dolní hranici rozsahu rychlosti spojeného s tímto režimem. Pokud některý parametr požadovaný softwarem spadá do tohoto rozsahu, použije se v aktuálním režimu. Pro podporu rychlosti požadované softwarem se používá režim, do kterého tato rychlost spadá. Sloupce Desired a Actual ve sloupci Přenosová rychlost UART zobrazují přenosovou rychlost naprogramovanou pro tento režim. Požadovaná - ideální hodnota (obvykle ze standardního rozsahu otáček). Skutečná je skutečná hodnota, která se v důsledku charakteristik taktovacího schématu regulátoru ne vždy rovná ideální hodnotě.

Dvakrát klikněte na řádek odpovídající upravovanému režimu. Zadejte požadovanou hodnotu směnného kurzu - Požadovaná přenosová rychlost. Tím se automaticky aktualizuje aktuální přenosová rychlost. Z hlediska standardu sériového rozhraní je přijatelná odchylka ±3 %. Přesnost nastavení rychlosti regulátoru CP2102 tento požadavek splňuje. Editační řádek 19. Počáteční přenosová rychlost je 14400 baudů.


Zadejte novou hodnotu - 10400 baudů, klikněte na OK a přepsání je nastaveno!


Editační řádek 28. Počáteční přenosová rychlost je 300 baudů.


Zadejte novou hodnotu - 200 baudů, klikněte na OK a přepsání je nastaveno.

Po provedení všech změn nezapomeňte kliknout na tlačítko Nastavit konfiguraci v okně Konfigurace x přenosové rychlosti CP210 a zkontrolujte, zda se změnily požadované a skutečné hodnoty v upravených řádcích.

Pomocí diagnostických nástrojů sériového portu můžete zkontrolovat výsledky provedených akcí nastavením směnných kurzů, které odpovídají přepsaným, a porovnáním nastavených a naměřených kurzů.

Dále upozorňujeme, že tlačítko Pokročilé umožňuje doladit parametry. Chcete-li přepsat, musíte zaškrtnout políčko Přepsat doporučené.

Parametry Prescaler (dělicí faktor pro předděličku) a Reload (hodnota pro načtení do čítače hlavního děliče frekvence) určují přenosovou rychlost podle následujícího vzorce:

Přenosová rychlost = ( 24 000 000 /Předdělička) / (65536 - Znovu načíst)

Všimněte si, že řadič CP2102 podporuje rychlosti až 1 000 000 baudů v 7bitovém a 8bitovém datovém režimu a 921 600 baudů v 5 a 6bitovém datovém režimu pro plně duplexní výměnu. Pokud je rychlost nastavena nad specifikované limity, může dojít k poruše regulátoru.

Časový limit při výměně dat přes USB se ovládá úpravou parametru USB Receive Timeout. Hodnota časového limitu v sekundách je určena vzorcem:

Časový limit = ( 65536 – Znovu načíst) / 500 000

Zadaný časový limit se používá při přenosu dat přijatých přes sériové rozhraní přes USB do počítače. Definuje dobu, po kterou regulátor čeká na vstupní data. Pokud během stanovené doby nejsou přijata žádná data, ovladač ukončí přenos USB. Typická hodnota časového limitu je 1 ms. Správa časového limitu vám umožňuje vytvořit kompromis, když jsou splněna dvě vzájemně protichůdná kritéria:

1. Minimalizace prodlevy při obsluze USB zařízení počítačem, což v tomto případě zvyšuje rychlost odezvy diagnostického programu na události v diagnostikovaném objektu.

2. Minimalizace zatížení počítače přenosem prázdných datových paketů přes USB, ke kterému dochází, když nejsou přijímána žádná data přes sériové rozhraní. Na tom závisí celkový výkon.
Čím větší je časový limit, tím déle zařízení „neuspí“ při absenci dat, to znamená, že pro zlepšení prvního kritéria by měl být časový limit zvýšen a pro druhý snížen.

Přepisovací rychlosti pro ovladač FT232

Zvažme řešení podobného problému pro jeden z konkurenčních produktů - ovladač FT232 společnost FTDI. Na rozdíl od výše uvedeného příkladu zde budeme muset upravit konfigurační soubor ovladače sériového portu FTDIPORT.INF. Struktura tohoto souboru je popsána v, postup pro úpravu polí, která nastavují přenosovou rychlost pro sériový port, je popsán v. Z důvodu kompaktnosti prezentace je proto v našem popisu pozornost zaměřena pouze na ty parametry, které je třeba změnit. Všimněte si také, že tento příklad odpovídá jedné z několika možností pro reprezentaci parametrů, všechny možné možnosti jsou uvedeny v , .

V souboru FTDIPORT.INF najdeme následující položku:


HKR „"ConfigData", 1 .01 .00 .3 F.3 F.10 .27 .88 .13 .C4 .09 .E2 .04 .71 .02 .38 .41 .9 c.80 .4 E.C0 .34 .00 , 1 A.00 .0 D.00 .06 .40 .03 .80 .00 .00 , 0.80

Sekvence počínaje šestým parametrem obsahuje páry bajtů, z nichž každý nastavuje koeficient dělení frekvence pro dělič, který určuje směnný kurz přes sériové rozhraní. Každý pár odpovídá určité rychlosti. Podívejme se na první dvojici parametrů 10:00, 27:00.

1. Vzhledem k tomu, že dva sousední bajty 16bitového slova jsou zapsány počínaje nejméně významným bajtem, k získání 16bitového čísla je třeba je prohodit: 10 , 27 odpovídá 2710 hod, h - znamená, že číslo je zapsáno v hexadecimální číselné soustavě.

2. Šestnáctičlenné číslo 2710 h převedeme do dvojkové soustavy.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 0
2 7 1 0

3. Interpretujeme výslednou binární hodnotu. Dva nejvýznamnější bity 16bitového čísla, konkrétně bity 15, 14, určují zlomkovou část koeficientu frekvenčního dělení podle následující tabulky:

Bit 15 Bit 14 Zlomková část dělitele
0 0 0
0 1 0 .5
1 0 0 .25
1 1 0 .125

V našem případě je zlomková část dělitele nula. Bitové pole 13 –0 16bitového čísla se číselně rovná celé části dělitele, převedeme z hexadecimálního na desítkové 2710 h = 10 000.

4. Hodinová frekvence na vstupu děliče je 3 MHz = 3 000 000 Hz. Přenosová rychlost se bude rovnat vstupní frekvenci děliče dělené dělicím faktorem.

Přenosová rychlost = 3 000 000 / 10 000 = 300 baudů.

První dvojice hodnot tedy nastavuje rychlost na 300 baudů. Předpokládejme, že potřebujeme předefinovat tuto rychlost na 10400 baudů. Vypočítejme požadovaný dělicí faktor (Divisor):

Dělitel = 3 .000 .000 / 10 .400 = 288 ,46

Nejbližší dostupná hodnota je 288,5. Musíme nastavit celočíselnou část dělitele na hodnotu 288 , zlomkové rovné 0 ,5 . Podle tabulky 2 se bity 15,14 budou rovnat 01 b, b znamená, že číslo je zapsáno v binární číselné soustavě. Převedeme 288 na hexadecimální: 288 =120 h. Tato hodnota musí být umístěna v bitovém poli 13 –0. Zkombinujeme bity 15 –14 a 13 –0 a dostaneme 4120 h.

Chcete-li předefinovat rychlost 300 baudů na 10400 baudů, záznam by měl vypadat takto:


HKR „"ConfigData", 1 .01 .00 .3 F.3 F.20 .41 .88 .13 .C4 .09 .E2 .04 .71 .02 .38 .41 .9 c.80 .4 E.C0 .34 .00 , 1 A.00 .0 D.00 .06 .40 .03 .80 .00 .00 , d0.80

Připomeňme, že pokud je již nainstalován ovladač zařízení FT232, aby se změny projevily, musí být software zařízení zcela odinstalován a znovu nainstalován z adresáře, ve kterém se nachází upravený soubor INF. Vzhledem k povaze operačního systému nemusí funkce aktualizace ovladače nebo odstranění zařízení ve správci zařízení přinést výsledky.

Informační zdroje.

6,3 $ (aktuálně 1,43)

Arduino Pro Mini kompletní s USB-UART adaptérem na čipu CP2102 jsem si koupil před 1,5 rokem (ceny za ně od té doby výrazně klesly) a celou tu dobu mi leží na poličce. Všichni se nemohli dostat k tomu, aby na tomto ovladači něco dělali. Důležitou roli v tom sehrál fakt, že flashnout náčrtek v Arduino Pro Mini, ač není obtížné, je o něco obtížnější než v Arduinu UNO, Mega nebo Nano.

A tak jsem se rozhodl tento ovladač použít v jednom ze svých projektů, stále leží ladem.

PODROBNOSTI Arduino Pro Mini

ATmega168 nebo 328

Provozní napětí

3,35 -12 V (model 3,3 V) nebo 5 - 12 V (model 5 V)

Digitální I/O piny

14 (z toho 6 poskytuje PWM výstup)

Analogové vstupní piny

Stejnosměrný proud na I/O pin

16 kB (z toho 2 kB využívá bootloader)

8 MHz (3,3V model) nebo 16 MHz (5V model)

Náhodou jsem měl 16MHz 5voltový model na čipu ATmega 328 Jak se ukázalo při rozboru dat z internetu, existují desky řadičů, které nemají vedený signál DTR. V mém případě je vše správně zapojeno. Sada obsahovala převodník USB-UART.

Platforma obsahuje 14 digitálních vstupů a výstupů (6 z nich lze použít jako PWM výstupy), 6 analogových vstupů, rezonátor, resetovací tlačítko a otvory pro montáž kolíků. Blok šesti pinů lze připojit k desce převodníku USB-UART.

Arduino Pro Mini je svými technickými vlastnostmi a parametry velmi podobné Arduinu Nano. Na šířku jsou stejně velké, ale délka Arduino Pro Mini je asi o 1 cm kratší.

10 mm je hodně. Pokud ale do desky zapájete piny pro připojení USB-UART, všechny výhody této desky oproti Nano mizí. V současné době stojí Arduino Pro Mini o 0,25 $ méně než Arduino Nano. Je to nepodstatné. Neexistují žádné další výhody a nevýhody, pouze nevýhody.

A hlavním nedostatkem je složitější načítání skic.

Skicu lze flashovat několika způsoby.

Jedním ze způsobů je použít Arduino UNO jako USB-UART. Na internetu je spousta návodů, jak to udělat, takže se tím nebudu zdržovat.

Druhým způsobem je použití samotného adaptéru USB-UART. Mám ho a ten „správný“, tak jsem se rozhodl ho použít. Jak adaptér funguje? Arduino komunikuje s čipem převodníku přes běžný UART a k počítači se připojuje přes USB. Počítač rozpozná připojený adaptér jako COM port.

Nahrát skicu do Arduino Pro Mini, jak se později ukázalo, není vůbec těžké. Stačí připojit vodiče ze sady 5 pinů na adaptéru a Arduinu:

(Konvertor)<->(Arduino)

DTR<->GRN
TXD<->RXI
RXD<->TXO
GND<->GND
5V<->VCC

Na mém Arduino Pro Mini je signál DRT označen GRN. Nebylo snadné uhodnout, co je co, zvláště když na jednom ze stránek „laskavý“ poradce napsal, že GRN je třeba propojit s GND. Internet je velké smetiště a není to poprvé, co jsem se přesvědčil, že lidé, kteří jsou nejochotnější poradit na fórech, nejsou ti, kteří skutečně rozumějí diskutovanému tématu. GRN je tedy DTR.

Pro ty, kteří nevědí, co je DTR:
Datový terminál připraven (DTR) - řídicí signál v sériový datový protokol, přenášený z koncového zařízení (DTE) do přijímacího zařízeník označení, že terminál je připraven ke komunikaci.

V Arduinu signál DTR iniciuje signál Reset v okamžiku, kdy se začne přenášet skica.

Možné místo připojení DTR<->GRN připojte adaptér DTR přes kondenzátor 0,1 uF k Reset Arduino Pro Mini. Taky to tak funguje, vyzkoušeno. Je to přes kondenzátor. Navzdory skutečnosti, že na fórech a mnoha stránkách je napsáno, že potřebujete přímo propojit DTR a RESET, s přímým připojením se skica nepřenáší. Alespoň mi nic nefungovalo s přímým připojením.

Teoreticky, jak píšou na internetu, můžete nahrát náčrtek bez DTR stisknutím reset na desce ovladače přesně v okamžiku zahájení nahrávání. Několikrát jsem se snažil zachytit tento okamžik, ale nepodařilo se mi to. Necvičil jsem své dovednosti ve snaze resetovat ve správný čas, je snazší důvěřovat čipu převodníku CP2102, že dodá signál Reset.

Ale ne všechny CP2102 jsou si rovny. Na eBay a AliExpress se prodává spousta levných padělků, se kterými se lidé potýkají a často je musí upravovat, aby mohli nahrát skicu do Arduino Pro Mini. V těchto adaptérech není signál DTR z pinu 28 čipu CP2102 směrován. Některé mají označení Rx a Tx zaměněné. To je důvod, proč je na online fórech tolik návodů, které si vzájemně odporují a někdy jednoduše uvádějí čtenáře v omyl. Strávil jsem asi dvě hodiny čtením těchto nesmyslů (nechtěl jsem znovu vynalézat kolo, myslel jsem, že ušetřím čas) a snažil jsem se napsat náčrt do ovladače pomocí těchto pokynů. V důsledku toho se ukázalo, že všechny pokyny pro můj adaptér CP2102 nefungují. Ukázalo se, že je to ten „správný“, ve kterém bylo aplikováno správné značení a všechny signály byly správně směrovány.

Stačilo zapojit všechny vodiče a vše fungovalo.

Pokud tedy stojíte před nutností nahrát skicu v Arduino Pro Mini přes USB-UART, nejprve zkontrolujte, zda je signál DTR veden na desce Arduino Pro Mini. Četl jsem, že jsou desky, na kterých se to nevede. V tomto případě můžete využít možnost připojení DTR signálu z adaptérové ​​desky USB-UART k RESET pinu Arduino Pro Mini přes kondenzátor 0,1-0,15 µF.

Za druhé zkontrolujte, zda je signál DTR připojen k některému kolíku na desce adaptéru USB-UART. Pin může být a dokonce může být podepsán jako DTR, ale není připojen k pinu 28 čipu CP2102. Pokud není pin 28 tohoto mikroobvodu nikde zapojen, je třeba zajistit jeho připojení k pinu DTR. Pokud je někde v obvodu zapojen pin 28, je potřeba tuto stopu odříznout a připojit přímo k pinu DTR.

Správnost označení Rx a Tx na falešné desce CP2102 lze určit experimentálně, existují pouze 2 možnosti.

Na internetu jsem četl i návod, že je potřeba nahrát skicu pomocí USB-UART adaptéru CP2102 v režimu “Upload via programmer”, prý jedině tak vše funguje. Nevím, zda autor tohoto opusu záměrně klame čtenáře, nebo zda měl něco jiného než USB-UART adaptér CP2102, ale tato rada je MYLNÁ!

Prostřednictvím adaptéru USB-UART CP2102 počítač vidí Arduino Pro Mini, jako by bylo připojeno k portu COM, tedy stejně jako ostatní Arduina, která mají na desce adaptér USB-UART.

Proto se náčrtky nahrávají do Arduino Pro Mini stejným způsobem jako do jiných modelů Arduino. Stačí pouze vybrat model Pro Mini v programovacím prostředí Arduino, poté v další položce, která se objeví, vybrat jeden ze 4 možných typů procesoru (ATmega168 nebo 328, 3,3 nebo 5V) a virtuální COM port, který se objevil po instalaci Ovladače adaptéru USB-UART. Poté můžete použít tlačítko stahování nebo Ctrl-U. Pokud je vše správně zapojeno, na typu a modelu adaptéru nezáleží, skici se nahrávají přes UART. Jednoduše vybereme COM port, kterým je adaptér určen.

Po 2 hodinách čtení fór a stránek s „návody“ a „tipy“, které byly z 99 % nesprávné, alespoň nebyly vhodné pro mé konkrétní modely Arduino Pro Mini a USB-UART adaptér CP2102, se mi podařilo vše připojit a nahrát správně do ovladače mírně upravený náčrt blikání LED. Donutil jsem ho mrkat SOS v morseovce.

Tady je skica, kdyby to někoho zajímalo:

// funkce nastavení se spustí jednou, když stisknete reset nebo zapnete desku
void setup() (
// inicializuje digitální pin 13 jako výstup.
pinMode(13, OUTPUT);
}

// funkce smyčky běží stále znovu a znovu
void loop() (
zpoždění(100); // počkej
zpoždění(300); // počkej
digitalWrite(13, VYSOKÝ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(100); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tím, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÝ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(100); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tím, že snížíte napětí
zpoždění(300);
digitalWrite(13, VYSOKÝ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(300); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tím, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÝ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(300); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tím, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÝ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(300); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tím, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÝ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(100); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tím, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÝ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(100); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tím, že snížíte napětí
zpoždění(300); // počkej
digitalWrite(13, VYSOKÝ); // zapněte LED (HIGH je úroveň napětí)
zpoždění(100); // počkej
digitalWrite(13, NÍZKÁ); // vypněte LED tím, že snížíte napětí
zpoždění(300); // počkej
zpoždění(1500); // počkejte 1,5 sec.
}

Závěry:

Kdybych se nesnažil ušetřit čas „znovuobjevením kola“ a netrávil čas čtením zbytečných (dokonce škodlivých) tipů a návodů na fórech a webech, připojení a flashování Arduina Pro Mini by netrvalo 2 hodiny, ale maximálně 5-10 minut.

Koupil jsem si svou sadu Arduino Pro Mini a USB-UART adaptér CP2102, která byla na dnešní poměry docela drahá. Pravdou je, že mě utěšuje, že adaptér je správný a jsou na něj připojeny všechny signály.

Arduino Nano je parametry a funkcemi totožné s Arduino Pro Mini, stojí jen o něco málo více (maximálně 25-50 centů), ztrácí 1 cm na velikosti (a s pájenými kolíky neztrácí Arduino Pro Mini vůbec), ale je mnohem pohodlnější při použití díky vestavěnému USB-UART a společnému MicroUSB konektoru.

Arduino Pro Mini není nejoblíbenější deska, zadejte „Arduino Nano“ do vyhledávání na eBay a seřaďte vzestupně podle ceny a uvidíte, jak mazaní Číňané velmi levně prodávají spoustu Arduino Pro Mini v této sekci a míjejí pryč jako Nano? v naději, že na to kupující nepřijde a s využitím nízké ceny si tyto ovladače koupí. Veškerou svou naději vkládají pouze do zákazníků, kteří jsou hlupáci.

Doporučil bych koupit Arduino Pro Mini? Pro začátečníka - ne. Ano – člověku, který přesně ví, co to je, jaké to má nevýhody a zda stojí za ty mizivé úspory.

Znovu opakuji, že flashování Arduino Pro Mini není obtížné, ale stojí tento povyk s připojením kabeláže nebo Arduino UNO za cenový rozdíl 0,2 - 0,25 $. Zvláště pokud musíte ovladač připojit k počítači pro ladění mnohokrát, ale co když je v pouzdře? Pokud si myslíte, že připojení a odpojení 5 vodičů desetkrát až patnáctkrát je výhodnější než platit 20 centů, tento ovladač je pro vás.

To je vše. Podělil jsem se o své zkušenosti a vyjádřil svůj názor, je na vás, jak se rozhodnete.

P.S. Uplynulo trochu času a trochu jsem změnil názor na Arduino Pro Mini. I úspora 25-50 centů je hodně, zvláště pokud je sestavena malá dávka produktů využívajících tento ovladač. Je jasné, že pro malou dávku je lepší integrovat řadič přímo na desku, než používat hotové Arduino (stále se jedná spíše o ladicí desku). Možnosti jsou ale různé, někdy existují již hotové desky a můžete je upgradovat a rozšířit jejich funkčnost integrací Arduina. Bude to levnější než stavět nové desky.

A přítomnost USB-UART adaptéru na palubě produktu předávaného uživateli je zcela zbytečná a dokonce škodlivá. Arduino Pro Mini má tedy právo na život.

Rozhraní UART je podporováno téměř všemi mikrokontroléry a je velmi pohodlné při vývoji a ladění všech druhů zařízení s mikrokontroléry: nahrajte firmware přes bootloader a prohlédněte si protokoly ladění zařízení na počítači. Ale bohužel, v moderních počítačích port COM postupně mizí ze seznamu dostupných rozhraní, je nahrazen sběrnicí USB, a to ještě více u notebooků. Tím jsem si lámal hlavu nad otázkou výroby USB -> COM adaptéru. Obvykle jsou takové adaptéry vyráběny na základě populárního mikroobvodu řady FT232, ale má několik nevýhod: 1) cena mikroobvodu je ~ 150 rublů 2) mikroskopické rozměry se všemi z toho vyplývajícími obtížemi při pájení a výrobě tištěného obvodová deska.

Jako alternativa k FT232 byla objevena méně známá CP2102, která stojí o polovinu méně, má poloviční velikost a dokonce má tělo QFN-28 (5mm x 5mm). Tento čip je kompletně hotový USB-UART převodník, který nevyžaduje žádnou externí kabeláž (pár filtračních kondenzátorů na napájecí sběrnici se nepočítá) a má následující možnosti:

  • Kompatibilita se specifikací USB 2.0, plná rychlost (12 Mbps)
  • integrovaná 1024bajtová EEPROM pro uložení ID výrobce, ID produktu, sériového čísla, popisu zařízení atd.
  • rychlost virtuálního RS232 od 300 bps do 1 Mbit
  • podpora formátů přenosu dat 5, 6, 7 a 8 bajtů dat; 1, 1,5 a 2 stop bity, různé kontroly parity
  • vyrovnávací paměť přijímače - 576 bajtů, vyrovnávací paměť vysílače - 640 bajtů
  • vestavěné zdroje referenční frekvence, vestavěný stabilizátor 3,3V
  • Ovladače pro Windows Vista/XP/Server 2003/2000, Linux, Mac OS-X / OS-9

Systém

Obvod adaptéru je převzat z datového listu, volitelné periferie byly vyřazeny a byla přidána LED dioda indikující přítomnost napájení.

Zástrčka DB9 je zapojena podobně jako výstup COM portu počítače, zde je její zapojení (směr signálů je indikován vzhledem k počítači).

Hlavní problém návrhu adaptéru - problém plošného spoje a instalace QFN-28 byl vyřešen přilepením mikroobvodu obráceně k plošnému spoji a připájením jeho pinů 0,1mm PEV drátem. Poněkud ponuré, ale miniaturní. Výsledkem je následující:


A v případě DB-9 vše vypadá takto:

Řidiči

Nyní, po pečlivé kontrole instalace, můžete testovat. Zařízení bylo detekováno systémem, ale ovladače Windows nebyly nalezeny. Stáhl jsem si je. Poté se v mém systému objevil nový port - COM5 ve Windows a /dev/ttyUSB0 v Linuxu. Nyní připojením RXD k TXD (2. a 3. kolík adaptéru) a spuštěním libovolného COM terminálu se můžete ujistit, že bajty jsou odesílány... a přijímány... a ty se shodují s prvním..

Jeden důležitý bod: úrovně signálu na výstupu adaptéru jsou TTL a liší se od úrovní signálu standardního rozhraní RS232, takže běžná zařízení pro port COM nelze připojit přímo k adaptéru, navíc může dojít k poškození adaptéru . Pro připojení standardních COM zařízení je potřeba přidat převodník úrovní na čip rodiny MAX232.

Níže si můžete stáhnout projekt v Eagle a také hotový výkres plošného spoje pro laserovou žehličku (pro zažehlení oboustranného plošného spoje doporučuji vytisknout výkres na pauzovací papír).