Usb till ttl d solapplikation. Seriell port - TTL och RS232

Nästan alla mikrokontroller har en seriell port ombord - UART. Det fungerar enligt det seriella standardprotokollet, vilket innebär att det utan problem kan anslutas till en dator på COM   port. Men det finns ett problem - faktum är att datorn RS232   han tar för logiska nivåer +/- 12   volt och UART   fungerar på fem volt nivåer. Hur man kombinerar dem? För detta finns det flera alternativ för nivåomvandlarkretsar, men det mest populära är fortfarande på en speciell omvandlare RS232-TTL. Det här är ett chip MAX232   och dess analoger.
  Nästan varje företag gör sin egen omvandlare, så det är bra ST232, och ADM232, och HIN232. Kretsen är så enkel som tre öre - ingång, utgång, effekt och rörledning för fem kondensatorer. Kondensatorer placeras vanligtvis 1uF   elektrolyter, men i vissa modifieringar 0.1uF   keramik. Jag lödde överallt 0.1uF   keramik och vanligtvis räckte det. :) Det fungerar som en klocka. Om det vid höga hastigheter kommer att misslyckas, kommer det att behövas öka kapaciteten.

Förresten, det finns också MAX3232   det är samma sak, men dess utgång är inte 5 volt TTL, utan 3,3 volt TTL. Det används för lågspänningsreglage.

Själv gjorde jag en sådan universell snörning, så att det skulle vara bekvämt att hålla sig fast vid kontrollerna UART. För allmän kompakthet fyllde jag hela kretsen direkt i kontakten, eftersom jag hade det ST232   i ett såiskt fall. Resultatet var en halsduk inte mer än ett rubelmynt. Eftersom det inte fanns några små SMD-kondensatorer till hands var det nödvändigt att lodda kondensorerna ovanifrån, vem var mycket till vad. Det viktigaste fungerar, även om det inte visade sig mycket vackert.


Om du tvivlar på att du kommer att få en så liten installation så sprider jag kortet till ett standard-PDIP-paket. Det kommer att vara storleken på en matchbox, men du behöver inte slipa den.


Efter montering kontrolleras det helt enkelt:
  Ansluts till kontakten COMport. 5 volt effekt appliceras på kretsen, och sedan stänger du Rx   på Tx   (Jag har det gröna och gula ledningar).

Sedan öppnar du valfri terminal, till och med Hyperterminal, du klamrar fast vid porten och börjar skicka byte, de ska omedelbart komma tillbaka. Om detta inte händer - kontrollera kretsen, någonstans ett skräp.

Om det fungerar, är allt enkelt. Tråden som kommer från stift 9 på chipet MAX232   det är det sändande utgånghans motvind RxD   styrenheten. Och den som kommer från ben 10 - värden, drog honom med frimodighet TxD   styrenheten.

Arduino-mikrokontroller (ATmega328, 168, 2560) använder bland annat gränssnitt ett hårdvarubaserat seriellt gränssnitt (UART). ATmega2560 MK (Arduino Mega) implementerar fyra UARTs på en gång. Gränssnittet använder två ledningar - RX (mottagning) och TX (transmission), där en digital signal kodar värdena på bitarna "0" och "1" med spänningen på tråden. Värdet "0" motsvarar 0V, och värdet "1" motsvarar driftspänningen för den integrerade kretsen (5V eller 3,3V, beroende på modell och driftsätt för MK). Denna typ av kodning kallas också transistor-transistor logic (TTL), eftersom spänningen på tråden påverkar direkt transistorns tillstånd (öppet / stängt) som tillhandahåller mottagning och överföring av en digital signal.

En dators seriella port (COM-port), som mindre och mindre ses i moderna modeller av kompakta datorer, fungerar enligt den gamla telekommunikationsstandarden RS232, där kodning av signalen är annorlunda: värdet "0" är kodat med spänning från + 3V till + 25V, och "1" - negativ spänning från -3V till -25V. I COM-portarna på persondatorer finns vanligtvis spänningen + 13V och -13V.

Den stora spänningsskillnaden gör RS232-anslutningen mer motståndskraftig mot störningar, men moderna digitala enheter använder ofta en TTL-kompatibel seriell port, eller USB - ett mycket modernare och snabbare gränssnitt.

I figuren nedan, för jämförelse, visas TTL-serien och RS 232-signalerna som visas under överföringen av en enda byte.

För att konvertera RS232-signalen till TTL och vice versa är det nödvändigt att invertera den (även om detta också kan göras programmatiskt) och konvertera spänningen. Vanligtvis används chips som MAX232 för detta. Ibland använder de förenklade hemgjorda kretsar som tillhandahåller signalinversion och spänningskonvertering, eller använder sig av mjukvaru- och hårdvarulösningar (programvaruversion, hårdvaruspänningsändring).

I fallet med Arduino (Uno, Mega, etc.) används en USB-TTL-seriekontroller som ger drift med MK via ett TTL-kompatibelt seriellt gränssnitt. I äldre modeller användes FTDI FT232-chip för detta, i nya - ATmega8U eller ATmega16U. De seriella gränssnittsstiften på MK finns också tillgängliga för direktanslutning. För Uno är detta slutsatserna från D0, D1, medan Mega-modellen har flera seriella gränssnitt samtidigt. Du kan inte ansluta RS232-porten till dessa stift - den kan inte fungera korrekt på grund av en annan typ av kodning, och högspänning kan skada MC.

Det är bekvämt att använda en USB-TTL seriell adapter för att ansluta till en TTL-kompatibel seriell port från en dator. Men generella USB-TTL seriella adaptrar säljs dock endast i specialbutiker och ofta till ett orimligt högt pris. Samtidigt är USB-RS232-adaptrar mycket populärare (och billigare). Vid närmare granskning innehåller alla USB-RS232-adapter två huvudkomponenter - mikrokretsar USB-TTL seriell adapter och RS232-TTL seriell omvandlare.

Jag hittade en USB-RS232-adapter, vars krets doldes i det lätt demonterade fodralet på DB9-anslutningen (ibland är höljet format och det är svårare att komma till kretsen). Adaptern visade sig vara byggd på de populära chips Prolific PL2303 (USB-TTL seriell adapter) och Zywyn ZT213 (RS232-TTL adapter). När jag tittade på specifikationen PL2303 fick jag reda på att jag behöver stift 1 (TX) och 5 (RX), till vilka jag löd trådarna utan att byta krets på något sätt (så RS232-delen förblev i drift). Jag tog jorden från den femte kontakten på DB9, för att inte röra den 7: e utgången från mikrokretsen.

Resultatet är en billig och arg USB-TTL seriell adapter. På skärmdumpen: Arduinos IDE-seriemonitor är ansluten via USB, och realterm är direkt ansluten till D0, D1 via USB-TTL seriell adapter.

Jag hörde att många datakablar för mobiltelefoner också innehåller USB-TTL-seriekontroller, även om ett ökande antal moderna modeller ansluter direkt till USB-gränssnittet utan att behöva specialadaptrar. Många mikrokontroller är utrustade med ett USB-gränssnitt, särskilt ATmega8U och ATmega16U, som används i Arduino som USB-TTL-seriekontroller, vilket ger åtkomst till ATmega328, som inte har ett USB-gränssnitt.

När man utvecklar olika typer av elektroniska enheter med hjälp av mikrokontroller är det ofta mycket användbart att kunna ansluta dem till en persondator via en seriell port. Detta kan emellertid inte göras direkt, eftersom enligt RS-232-standarden sänds signalen med nivåer av -3 ..- 15 V (logisk<1>) och +3 .. + 15V (logiskt<0>). För att konvertera RS-232-nivåer till vanliga TTL-logiska nivåer används vanliga specialomvandlare. Det är emellertid inte alltid vettigt att lägga nivåomvandlaren i kretsen för den konstruerade enheten, eftersom det ofta händer att kommunikation med datorn endast behövs vid tillverkning och felsökning av enheten, och det finns inget behov av det för slutprodukten. En logisk lösning i denna situation kan vara tillverkningen av en separat omvandlare av RS-232 till TTL nivåer, ett diagram över ett av de möjliga alternativen som anges nedan:

Grunden för den föreslagna omvandlaren är ett utbrett Maxim (U1) MAX232A nivåomvandlingschip, som också har många analoger från andra tillverkare (Analog Devices, LG, etc.). Denna mikrokrets är designad för 5V matningsspänning och har en inbyggd dubblare och en spänningsomvandlare för växlade kondensatorer för att få +10 V spänning som behövs för att arbeta med RS-232-signaler. Mikrokretsen kräver fyra externa kondensatorer (C1, C2, C3, C4) med en kapacitet på 0,1 μF som används i spänningsomvandlaren. För att förenkla användningen av denna omvandlare tillhandahåller den dessutom ett kraftschema direkt från serieporten, vilket eliminerar behovet av externa kraftkällor. Matningsspänningen på 5 V genereras av LM78L05 (U2) lågeffekt linjär spänningsregulator, vars ingång är ansluten till lagringskondensatorn C6. Kondensator C6 laddas via en diod från en Data Terminal Ready-signal (DTR, fjärde stift på 9-stifts RS-232-anslutningen). D1-diode kan vara av valfri typ (författaren använde en diod i ett ytmonterat hölje, lödat från ett utbränt moderkort). För normal drift av en sådan kraftomvandlare krävs att DTR-signalen har ett logiskt nollvärde större delen av tiden. Detta bör tillhandahållas av det använda terminalprogrammet eller användarprogrammet.

Att använda omvandlaren som beskrivs ovan är bekvämt i de fall när det under drift av enheten inte krävs för att kunna kommunicera med datorn, men det behövs i fasen av felsökning eller tillverkning av anordningen. Ett typiskt exempel på detta är till exempel en enhet med blixt eller EEPROM-minne som kräver initialisering. Dessutom är det ofta mycket bekvämt under utvecklingsprocessen att mata ut olika typer av felsökningsinformation till serieporten, vilket ibland eliminerar behovet av hårdvaraemulatorer.

Lista över radioelement

beteckning Typ Nominellt värde nummer anmärkningbutikMin anteckningsbok
U1 RS-232 gränssnitt IC

MAX232A

1 Till anteckningsboken
U2 Linjär regulator

LM78L05A

1 Till anteckningsboken
D1 diod 1 Till anteckningsboken
C1-C5 kondensator0,1 uF5 Till anteckningsboken
C6 Elektrolytisk kondensator4,7 uF1

(ArticleToC: aktiverad \u003d ja)

Den lilla USB-adaptern TTL PL 2303 är en typ av programmerare som används med kortet för att läsa information från olika sensorer:

  • fuktighet;
  • temperatur;
  • rörelse.

Detta är orsaken till den utbredda användningen av USB TTL PL2303-adapter i radiostyrda enheter. Programmerbar TTL USB-adapter i C ++, d.v.s. USB TTL-adaptern är en "universalbuss" för dataöverföring som används i datortekniken med låg och medelhastighet.

För att ansluta den till en USB RS232 TTL-adapter behöver du en fyrtråds-kabel. Ett tvinnat par behövs för differentiell anslutning vid mottagning och sändning (RX och TX), och de återstående paren behövs för att leverera ström till kringutrustning (GND och + 5V).

Förutsatt att den största strömstyrkan för sådana enheter inte överstiger 500 mA och USB - 900 mA) är de anslutna utan sin egen strömkälla.

Trots det faktum att för TTL-logik 0-5 V finns standardnivåer, som en USB TTL-adapter behövs inte.

Men på grund av att USB-gränssnittet / protokollet är tillräckligt komplex för att bygga en enhet på grundval av detta krävs djup kunskap och mikroprocessorer som bearbetar data.

För att hjälpa dig kan du ta ett annat protokoll - UART (UART), som idag är det vanligaste. Bland familjen med många protokoll som används oftast anses RS-232, i vardagen kallas det COM-porten. Han är den äldsta av alla, men ändå relevant idag.

Den har linjer:

  • sändning - TXD;
  • värd - RXD.

Om de används vid överföring av data, finns det inget behov av hårdvarukontroll. För hårdvara använder DTS och RTS.

Sändarens utgång är ansluten till mottagarens ingång och vice versa.

RS-232 från logiken (5-volt) standard skiljer sig från den elektriska driftsprincipen. I denna utföringsform ligger "0" inom intervallet +3 till +12 V, en enhet i området från -3 till -12.

Slutsats.   Syftet med UART USB TTL-adaptrar är att "docka" det mest komplexa gränssnittet

USB med enkelt och "kör" UART-protokoll, som stöds av mikrokontroller, och fungerar med logiknivåer 0-5V.

USB-adaptern RS232 TTL Pl 2303 monteras på ett PL2303-chip som skapar en virtuell COM-port på en PC. Används för blinkande enheter med mikrokontroller.

Kostnaden är 40,84 rubel.

För att leverera till Ukraina för att betala extra behöver du 149,74 rubel.

Nyckelfunktioner för PL2303 USB till TTL Converter Adapter Module:

  • typ av spänning - regelbunden;
  • strömförsörjning - 3,3 / 5 V;
  • möte - för datorn;
  • temperaturområde - -40 TILL +85;
  • tillverkare - Diymore.

USB 3.3V 5.5V till TTL adapter mini-port

översikt

  • Storlek - 36x17,5 mm (LxW);
  • Kontakter: GND, CTS, VCC, TXD, DTR, RXD, RXD;
  • Chipset FT232RL;
  • Stöd - 5V, 3,3V;
  • Pitch - 2,54 mm.

Utmärkta kvalitetsmoduler värda 100,24 rubel. erbjuds av onlinebutik https://ru.aliexpress.com/popular/ttl-adapter.html .

För att upptäcka en bil med GPS-USB-adapter TTL PL2303 HX-omvandlare RS232

Kostnaden är 42,7 rubel.

Funktioner inkluderar:

  • antistatisk förpackning som inte tillåter ansamling av statisk elektricitet,
  • negativt påverka arbetet;
  • hög tillförlitlighet, stabilitet;
  • stöd för WIN7.

En produkt som väger 5 gram (uppackad) används i studentproduktionsexperiment etc. Storleken är 50X15X7 mm. För USB PL2303 - RS232-omvandlare

TL har ett par gränssnitt för anslutning (stift med fem stift) och PC (USB-standard).

FT232RL USB 3.3V 5.5V till TTL mini-port

Kostnaden för den är 106, 43 rubel. Detta är ett billigt alternativ för att öka USB-mikrokontrollers förmåga. För skydd, en 500ma återställbar säkring för att skydda mot överströmmar.

egenskaper hos

  • färgen är röd;
  • uSB-kraft 5 eller 3,3 V;
  • vikt - 4 gram;
  • mått - 43x17 mm.

Den lilla storleken gör det möjligt att använda den i utvecklingar där storleken på gadgeten är kritisk.

USB till TTL för UART på PL2303-chipet

Används i Arduino-programmering.

Omvandlaren på Max3232-chipet konverterar portens RS-232-signaler till användbara i digitala kretsar baserade på TTL-teknologier.

Det kostar 76,11 rubel.

CP2102 USB 2.0 till TTL UART 6Pin

Den består av ett CP2102-kort, en inbyggd USB2.0 i full hastighet, en kristalloscillator, en UART-databuss och stöder signaler utan att behöva ett externt USB-modem.

  • Väger 4 gram;
  • LED-indikatorer på: ström, transmission och mottagning;
  • Arbetarstatus - 3,3 och 5 V.

Det kostar 82,3 rubel.

VTR-E / TTL
   - Miniatyrbräda utan hus
   - förmågan att leverera 5 V eller 7 ... 30 volt
   - har TTL-nivåingång och utgång Rx och Tx
   - TTL-nivå universell och kompatibel med 3.3V och 5V
   - transistorbuffertar används för att öka enhetens tillförlitlighet i ingångs- och utgångs-TTL-kretsarna

450 UAH

Stödda protokoll:
   - TCP / IP för anslutning via ett uttag och mottagande / överföring av data;
   - HTTP för inställningar via en webbläsare;
   - Ping för att kontrollera anslutningen.

egenskaper hos

parametervärde
Ethernet-gränssnittRJ-45
TTL-gränssnittTerminalblock
TTL-inställningar1 startbit, 8 databitar, ingen paritet, 1 stoppbit
TTL-portens hastighet300/600/1200/2400/4800/9600/19200/38400/57600/115200 bps
LED-indikering"PWR" - tillgång på ström
   "TCP" - upprätta en anslutning via TCP / IP
   "Rx" - ta emot TTL-data
   "Tx" - dataöverföring via TTL
Matningsspänning5V / 7 ... 30V DC
Maximal ström behandlad180 mA
Arbetstemperatur0 .. + 70 ° C
Lagringstemperatur-55 .. + 125 ° C
Mått BxHxD34x58x17 mm
vikt35g
BORDER\u003e
   Varje produkt testas efter produktion.

Relaterade produkter

Strömförsörjning 5V 1A eller 12V 1A

100 UAH    - 5V
120 UAH    - 12V

Arkiv med installation kan laddas ner från vår server:

Skapa en COM-port
   Installera programmet. Download. Gå till fliken "Virtual Serial Port". Ställ in numret på önskad COM-port, ange IP-adressen för omvandlaren och porten (som standard 9761).
   Klicka på Skapa COM-knappen. Efter några sekunder skapas en COM-port med det angivna numret och en anslutning till omvandlaren kommer att upprättas. Indikationen för anslutningen är tändningen på LED-omvandlaren "TCP".
   Därefter överförs allt som skrivits till COM-porten till TTL-utgången och mottas på TTL kommer att tas emot på COM-porten.

Överföring av stora mängder information
Eftersom omvandlaren har en begränsad minnesbuffert för lagring av överförd data, jämfört med en dator, kan överflöde på flera kilobyte uppstå. För att göra detta, ställ in alternativet "Strikt Baudrate-emulering" i portdrivrutinsinställningen. I detta fall kommer dataöverföringshastigheten över Ethernet-nätverket att minska till överföringshastigheten över TTL och det kommer inte att förlora överförd data.
   För att utesluta infogning av servicekommandon i den överförda informationen, inaktivera alternativet "NVT Enable".

Permanent COM-port
   För att den virtuella COM-porten ska skapas som en permanent, det vill säga, efter att Windows startats om, fortsätter den att fungera, gå till fliken "Inställningar" och ställ in alternativet "Skapa VSP-port när HW VSP-start".

anteckningar
   1) Kom ihåg att ställa in TTL-portens hastighet i omformaren (via en webbläsare).
   2) Frånkoppling av kommunikation med omvandlaren via TCP / IP kräver inte omstart eller någon åtgärd. Kommunikationen återställs automatiskt efter att data har överförts till COM-porten.

Ansluter egenutvecklad programvara

   Du kan arbeta med omvandlaren med din egen programvara. För att göra detta utvecklar du ett program som kommer att upprätta en socketanslutning och kommer att skriva / läsa data.
   Omvandlaren används med en styrenhet (dator) som implementerar TCP / IP-funktionen på Socket-servern eller Socket-klienten. I detta fall upprättar datorprogramvaran en anslutning eller svarar på en begäran om anslutningsinställning. Vidare överförs de data som mottas av omvandlaren på uttaget till TTL (Tx) -utgången, och data som tas emot från TTL (Rx) ingången överförs via en socketanslutning till datorn. Nedan finns länkarna för nedladdning av testprogramvara för en dator som implementerar en Socket-klient, om konverteraren är konfigurerad som en Socket-server. Den använda indikatorn indikerar närvaron av en socketanslutning och överföring / mottagning av TTL-data.
   Diagrammet visar ett exempel på anslutning av omvandlaren till en TTL-nivåenhet.

Dela detta