Hemkontrollnät

Planering och tankar kring eventuella framtida projekt.
danielr112
Inlägg: 8092
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: Hemkontrollnät

Inlägg av danielr112 »

Ska du bara skicka ascii tecken så måste du oavsett fundera ut ditt egna protokoll för att det ska fungera. Hur man gör för fel som blir. Återskickning o.s.v
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

Om man tänker sig ett system där Mastern frågar noderna efter data. Mastern vill tex ha info från en nod som har adressen "AA". Mastern skickar då ut "AA". De olika noderna läser av vad som kommer in på Uarten, och noden med adress "AA" är den enda som går vidare med att läsa sin sensor och sedan svara. Blir det fel när Mastern frågar kommer ingen nod att svara. Noden "AA" skickar sedan de data som hämtats från sensorn följt av "AA", och Mastern jämför den önskade adressen med den som kom från noden. Blir något fel här kommer det inte att stämma och Mastern gör ett nytt försök. Samma sak om det inte kommer något svar inom en viss tid, då görs ett nytt försök. Blir det för många misslyckanden på rad så får man kanske avbryta programmet och skriva ut nått felmeddelande.
Det behöver väl eg inte vara mer avancerat än så?
danielr112
Inlägg: 8092
Blev medlem: 18 januari 2009, 00:48:24
Ort: Alvesta, Småland

Re: Hemkontrollnät

Inlägg av danielr112 »

Nee det bör ju funka. Men det är ju ett protokoll ;) Glöm inte att ha någon crc koll på värdet du hämtar också.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

Det är ju det :) Men långt mycket enklare och resurssnålare än de som föreslagits tidigare i tråden.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

Note to self: De två versionerna av Remote Sensor-projekten med V-USB har en del bra kod för att läsa sensorer:

http://www.obdev.at/products/vusb/remotesensor-de.html
http://www.tahina.priv.at/electronics.html

Funderar bara på vad för fuktsensor som används i första länken? Hittar ingen info det?
Användarvisningsbild
rickardg
Inlägg: 195
Blev medlem: 5 november 2008, 07:37:09
Ort: Rönninge
Kontakt:

Re: Hemkontrollnät

Inlägg av rickardg »

MEGA88 mfl har en smidig 9-bitars uart, där den 9e biten kan indikera adressbyte och generera interrupt på alla noderna så de kan kolla om adressen är den rätta varefter data skickas utan biten satt och då blir det inga interrupts på de oadresserade noderna som sover tills nästa gång en nod skall adresseras och endast den adresserade noden som hamnar i dataläge får interupts på inkommande bytes under tiden data skickas.. riktigt smidigt, men sen måste man även ha crc-kontroller och omsändningar osv.. blir rätt mycket att tänka på även med ett pollat master-slave-system, fel nod som svarar pga crc-fel, meddelanden som går fram men acken får crc-fel så det blir omsändning fastän meddelandet gått fram osv, specialfallen blir lätt många, sen löser inte crc alla problem med korrupta paket, om man får tillräckligt många fel (tex pga okalibrerad oscillator :doh: ) kan det slinka igenom 8-bitars crc ganska lätt och då kan man inte bara lita på crc för att aktivera kritiska funktioner..
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Hemkontrollnät

Inlägg av blueint »

CRC-16 får ses som minimum. Sen är asynkron överföring sannolikt mer känslig för störningar än t.ex DCC.

Hur mycket resurser tar CRC-16 på en MCU?
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Hemkontrollnät

Inlägg av Micke_s »

blueint: http://www.avrfreaks.net/index.php?name ... 80&start=0
17 instruktioner för avr-gcc inbyggda och 14 för deras...

rickardg: problemet med 9bitar är att det är svårt att felsöka direkt med pc, t.ex. med ftdichip. Då måste man bygga en gateway...
Användarvisningsbild
rickardg
Inlägg: 195
Blev medlem: 5 november 2008, 07:37:09
Ort: Rönninge
Kontakt:

Re: Hemkontrollnät

Inlägg av rickardg »

en gateway är inte så komplicerad, MCU med dubbla uarter och en RS485-drivare typ, sen mjukvaran men det mesta av den är bara att kopiera från protokollimplementationen som man ändå har i sina noder, gjorde själv på det viset i mitt jobbprojekt, vinsten med 9 bitar är helt klart värd det lilla extrajobbet att fixa en gateway
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

Och vinsten är alltså att de noder som inte adresseras inte reagerar på när den nod som är aktiv skickar data?
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Hemkontrollnät

Inlägg av blueint »

PH, Korrekt om jag minns det rätt. Vinsten är väl sparad energi.

Tycker dock asynkront är väldigt beroende av stabil klocka i motsats till DCC.
Användarvisningsbild
rickardg
Inlägg: 195
Blev medlem: 5 november 2008, 07:37:09
Ort: Rönninge
Kontakt:

Re: Hemkontrollnät

Inlägg av rickardg »

Lägre belastning på CPU:erna i noderrna som slipper ligga och lyssna på allt som sägs hela tiden och analysera hurivida det är en ny adress som skickas osv så då kan man antingen använda den tiden för att göra något annat med processorkraften eller låta processorn gå in i sparläge tills nästa adressering för att få ner strömförbrukningen.
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

Jo det kan ju vara relevant i högre belastade system. Men här tänker jag mig kanske 10 noder och avläsning 1 gång/30 minuter, så det blir ju mest sova för noderna i alla fall.
Jag tycker att det här projektet innehåller en del utmaningar som det är, och försöker därför hålla det så enkelt som möjligt. Samtidigt så ska noderna vara små och billiga, därför ligger fokus just nu på att testa mjukvaru-Uart med Tiny-processorer (förutom 2313 som har hårdvaru-Uart men inga A/D).
Ska det bli mer avancerat på något sätt är det nog att slippa kablarna som är mest intressant, mao funderar på hur det skulle fungera med en kombination av RS485-baserat och RF-baserat.
Användarvisningsbild
rickardg
Inlägg: 195
Blev medlem: 5 november 2008, 07:37:09
Ort: Rönninge
Kontakt:

Re: Hemkontrollnät

Inlägg av rickardg »

Var inne på det spåret själv först i mina funderingar kring hemmanät, men jag har dåliga erfarenheter av mjukvaruuart, tar rätt mycket CPU-kraft även för 9k6 så kör man annat parallellt kan man lätt missa nån bit pga försenade interrupts, så när det är så liten kostnad att gå upp till en MEGA88 eller liknande och det då går att köra samma protokollimplementation på alla noder, och utvecklingsjobbet går fortare om man kan implementera mjuvaruuppdateringar via RS485-linan :) Vet man att det aldrig kommer finnas behov av mer kraft i noderna så kan det ju ha sin charm med rikigt små CPU:er, men det blir lite mer utmaning men det är ju bara kul :wink:
Användarvisningsbild
PHermansson
EF Sponsor
Inlägg: 4340
Blev medlem: 22 december 2004, 00:46:38
Ort: Särestad Grästorp
Kontakt:

Re: Hemkontrollnät

Inlägg av PHermansson »

Jo upptäckte just att prisskillnaden på tex Tiny45 och Mega88 hos Futurlec är knappt en dollar, så det är ju eg inget att bråka om. Har nu beställt några Mega88 för att testa med, har även några MAX485 på G in.
Skriv svar