Kommunikation mellan microprocessorer?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ny börjare
Inlägg: 109
Blev medlem: 1 november 2005, 15:31:18
Ort: Hemma

Inlägg av ny börjare »

Tack så mycket: :)

Men hur ska man göra för att sända dom där byten mellan microprocessorerna då? Någon som har någon ide'?
Användarvisningsbild
karlstedt
EF Sponsor
Inlägg: 966
Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:

Inlägg av karlstedt »

du har ju fått förslag... använd UART/USART.
testa att köra USART i över 1Mbps ;)
Användarvisningsbild
Icecap
Inlägg: 26612
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

UART är bra grejor till detta!

1: Kom på ett protokoll som gör att du kan adressera ett antal underenheter. Om du kan tänka dig att antalet underenheter blir färre än 255 duger det bra med 1 byte.
2: Kom på vilka kommandon som kan vara aktuella, beskriva dom. Det kommer att bli en enorm hjälp när du ska göra program osv. till underenheterna.
3: Att centralen skickar kommandon ut till alla är väl enkelt...men hur ska underenheterna svara? Ska de svara öht? Man kan ganska enkelt göra en multidrop-lina men behövs det?

Bena ut dessa grejor och du har kommit långt.
ny börjare
Inlägg: 109
Blev medlem: 1 november 2005, 15:31:18
Ort: Hemma

Inlägg av ny börjare »

okej, jag får väl snacka med google om UART/USART...

edit>>Tack Icecap, för lite mer info än bara en förkortning :)
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Google ???
Vad är det Google vet som inte står i databladet ?
ny börjare
Inlägg: 109
Blev medlem: 1 november 2005, 15:31:18
Ort: Hemma

Inlägg av ny börjare »

då kollar jag väl inte på google då...
man får ibland svaret "SÖK PÅ GOOGLE!!" när man frågar för mycket, det var så jag tänkte.
Användarvisningsbild
Icecap
Inlägg: 26612
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

UART = Universal Asyncron Reciever/Transmitter = serieport
Kaggen
Inlägg: 432
Blev medlem: 29 januari 2005, 03:06:02

Inlägg av Kaggen »

ny börjare: Om du vill ha en PIC med inbyggd UART/USART skall du inte använda 16F676 (som du nämnde i början av denna tråd). Den har inget hårdvarustöd för det. Skall du köra med 16F676 får du själv programmera rutiner för seriell överföring bit-för-bit, vilket är bökigt.

Väljer du en PIC med inbyggd USART behöver du bara ställa in lämplig baudrate och lägga in en byte som skall skickas i ett register och sätta en bit, så skickas den automagiskt och ditt program kan fortsätta med annat.

För en PIC med inbyggd USART kan du t.ex. välja 16F870 som även har A/D eller 16F627 (som *inte* har A/D), annars har säkert sodjan någon att föreslå.

En hårdvaru USART använder två pinnar på din PIC krets som kallas TX och RX. RX står för Recive (ta emot) och TX står för Transmit (Sänd). Data som skickas från din PIC till en annan uP klockas alltså ut bit-för-bit på TX pinnen som följaktligen bör vara kopplad till RX pinnen på uP som skall ta emot, och vise värsa.

En hårdvaru USART kan också programmeras att generera ett interrupt när en byte (8 bitar) har tagits emot och är klara att hämtas. Din uP kan alltså pyssla med helt andra grejor och blir påkallad uppmärksamhet när en byte anlänt på porten. Perfekt!

Ett tips är, som sodjan påpekade, att läsa databladen för PIC-kretsarna. Där står precis hur USART:en skall konfigureras för dina önskemål. Titta t.ex. på kapitel 9.0 "ADDRESSABLE UNIVERSAL SYNCHRONOUS ASYNCHRONOUS RECEIVER TRANSMITTER (USART)" sida 63 i nedanstående datablad.

Läs och begrunda.

http://ww1.microchip.com/downloads/en/D ... 30569b.pdf

mvh Mats
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> annars har säkert sodjan någon att föreslå.

He he, det är mycket bättre att var och en kör parametersökningen på www.microchip.com. Om man skall ha en USART eller inte är ju bara en av 10-20 parametrar för val av processor...

Eller så gör man det enkelt (eftersom det ändå handlar om one-off projekt och kostnaden knappast är avgörande) för sig och väljer en "maxad" processor i respektive storlek (=antal ben i detta fall)

8-pin : 12F683
14-pin : 16F688
18-pin : 16F88 eller en 18Fxxxx
28-pin : En 18Fxxxx
40-pin : En 18Fxxxx
Störrre är väll inte aktuellt om man vill köra DIP.

Då får man en processor som inte saknar något i sin klass.
ny börjare
Inlägg: 109
Blev medlem: 1 november 2005, 15:31:18
Ort: Hemma

Inlägg av ny börjare »

tack så hemst mycket

vilken av dom där µp har inbyggd kristall?
Användarvisningsbild
Icecap
Inlägg: 26612
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Ingen!

Efter vad jag vet finns det INGEN PIC med inbyggd kristall! Men det finns en del med inbyggd oscillator....
ny börjare
Inlägg: 109
Blev medlem: 1 november 2005, 15:31:18
Ort: Hemma

Inlägg av ny börjare »

Jag trodde det var samma sak, det sa en kompis till mej.
Förklara gärna skillnaden.
Användarvisningsbild
karlstedt
EF Sponsor
Inlägg: 966
Blev medlem: 14 oktober 2003, 16:55:23
Ort: Lund
Kontakt:

Inlägg av karlstedt »

Nu har jag aldrig varit i kontakt med PIC men det tog mig ca 1 minut att luska fram att åtminståne 12F683, 16F688 och 16F88 har interna oscillator på 8 MHz

jag tycker att du borde engagera dig lite om du vill ha hjälp??
ny börjare
Inlägg: 109
Blev medlem: 1 november 2005, 15:31:18
Ort: Hemma

Inlägg av ny börjare »

jo det borde jag, men jag har läxor att göra :(

om jag köper en pic med inbyggd oscillator behöver jag inte köpa en oscillator, men vilken kristall ska man ha då?
Användarvisningsbild
Hedis
Inlägg: 2492
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

Gör läxorna först och läs sedan databladet.

Den frågan får du nog lösa själv.
Skriv svar