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'?
Kommunikation mellan microprocessorer?
-
ny börjare
- Inlägg: 109
- Blev medlem: 1 november 2005, 15:31:18
- Ort: Hemma
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.
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
-
ny börjare
- Inlägg: 109
- Blev medlem: 1 november 2005, 15:31:18
- Ort: Hemma
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
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
> 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.
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
-
ny börjare
- Inlägg: 109
- Blev medlem: 1 november 2005, 15:31:18
- Ort: Hemma
-
ny börjare
- Inlägg: 109
- Blev medlem: 1 november 2005, 15:31:18
- Ort: Hemma
