Sida 1 av 1

Vad är en UART och vad har man den till?

Postat: 27 januari 2005, 23:06:26
av Greensilver
Jag har sett att en del använder sig av UART, en del vill tillochmed ha två. :) Av ren nyfikenhet gick jag in på Elfas hemsida och kikade i produktbladet. Vad jag förstår så är UARTEN en krets man sätter i en sändare/mottagare för att kunna använda ett protokoll och ta emot/sända data på ett effektivt sätt.

UARTen har inget eget minne mer än felkodsminne etc., eller?

Vilka manicker stoppar man in en UART i?
Fjärrkontroller? Radiostyrda bilar? Larmfjärrar?

Någon som har något tips om en superlätt krets som använder sig av en UART?

Postat: 27 januari 2005, 23:14:37
av Schnegelwerfer
En UART använder man om man vill kommunicera seriellt asynkront, exempelvis "vanlig" serieport till datorer. För att få äkta RS-232, RS422 eller något annan asynkront överföringsprotokoll måste man dock även ha en krets, ex. MAX232, som fixar till de fysiska spänningsnivåerna.

Huvudvitsen med en UART är att den ser till att skicka data i rätt hastighet (väldigt viktigt vid asynkron överföring).

Många uC:s idag har en inbyggd UART, och det är väl ganska sällan man behöver bekymra sig om att köpa en extern UART till små projekt.

Till billarmet kan du skippa UART:en i alla fall! :)

Postat: 27 januari 2005, 23:28:45
av Greensilver
Ok. Jag slog upp asynkron - "icke samtidig". Man kan alltså sända ta emot samtidigt, är väl det som kallas full duplex eller är det bara när det gäller komradio? :)

Ok. Ingen UART i larmet då! :D

Postat: 27 januari 2005, 23:34:22
av Schnegelwerfer
Nja, med asynkron i det här fallet menas mer att man skickar data utan att ha någon separat klocksignal som talar om när mottagaren ska mäta om han tog emot en 1:a eller 0:a

Det är därför det är viktigt att sändare och mottagare kommit överens om en hastighet som datat ska skickas med.

Hmm hoppas du förstod vad jag menade, det blev lite rörigt! :)

Postat: 28 januari 2005, 01:53:46
av pagge
Fundera över hur du själv skulle bära dig åt för att skicka över data.

Ett enkelt sätt som kräver två signalledare (plus jord) är att låta ena vara dataledare och andra klocka.

Lägg ut första data biten (1 eller 0) på dataledaren låt klockan gå en cykel på klockledaren.
Lägg ut andra databiten på dataledaren och låt klockan gå en cyckel på klockledaren. osv osv.

Detta är ett enkelt exempel på synkorn överföring, man får en klocka som säger när man skall läsa av.

I asynkron överföring har man ingen klocka, man har bara en ledare (plus jord). Uart är ett sånt asynkront protokoll som blivit standard. Det
använder en fiffig metod för att hålla syncen som baserar sig på det faktum att man vet ungefärliga dataöverföringshastigheten (+-nån procent).

fördelen med asynkron överföring är om inte annat att man sparar en ledare, finns säkert fler fördelar, nån annan får gärna fylla i här :).

Full duplex är när man kan skicka och ta emot samtidigt, med uart löser man det genom att lägga till en ledare som går åt andra hållet. Det går inte (med uart) att skicka åt bägge hållen samtidigt på bara en ledare, då måste man ha två, en åt varje håll. I datablad kallas dessa för Rx (= recieve, inkommande data) samt Tx (= transmit, utgående)