Protokoll för LPRS Easy-Radio ER400TRS

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Protokoll för LPRS Easy-Radio ER400TRS

Inlägg av ankan »

Okey då var några ER400TRS beställda.

Nu är det protokollet jag måste börja kolla på.
Kommer ha en master som ska samla in data trådlöst från några olika 1-wire temperatursensorer.

De trådlösa enheterna kommer sitta på batteri och kommer sova större delen av tiden för att spara så mycket kräm som möjligt.
1 mätning/min skulle räcka.

Vad skulle man kunna använda för något enkelt protokoll för att få en säker överföring av datat. Någon med bra länk till något projekt där Easy-Radio moduler används i liknande situation?
Användarvisningsbild
oJsan
EF Sponsor
Inlägg: 1541
Blev medlem: 11 november 2005, 21:36:51
Ort: Umeå
Kontakt:

Inlägg av oJsan »

Den här appnoten hade jag mycket nytta av då jag skrev uC-kod för radioöverföring via 433Mhz ASK (visserligen bara envägskommunikation, men det är alltid en början!)
http://www.radiotronix.com/support/clic ... /an401.pdf
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

I detta fall ärdet tvåvägs kommunikation och modulen som används är en Easy-radio modul så någon pre-amble eller liknande behövs inte.

Är ute efter nästa nivå på protokoll som gör så att krockar hanteras med adressering osv.

Dock har jag visserligen en ARF05 som är en enkel RF-modul men den hade jag inte tänk använda pga komplexiteten att få en tillförlitlig dataöverföring. Det som talade för var att strömåtgången var väldigt låg dock.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Det blir väl att se till att formatera paket med en bra CRC och väldefinierat start och stopp samt att ha time-out på paket.
74
Inlägg: 52
Blev medlem: 29 augusti 2006, 12:06:37
Ort: Skåne

Inlägg av 74 »

Har aldrig provat det själv men det verkar vara relativt enkelt att använda. Om inte annat så kan du kanske få några ideer..........

http://www.hth.com/snap/
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Hittade precis S.N.A.P. innan jag kollade vad ni hade skrivit här. Ska kolla upp det protokollet.

Några fler tips?
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

SNAP är bara ett överföringsprotokoll och omhandlar inte omsändning, kollision och annat viktigt. Det som är viktigt är att data överförs på ett säkert sätt, alltså att ett paket är "helt" och inte delvis förstörd.

Vad jag vet har LPRS en hel del sånt i deras ER400TRS-2 modul, det kan vara värd att kolla datablad ordentligt och kanske fråga dom om ytterligare information.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Jo som du säger Icecap så har de en hel del inbyggt. CRC, manchesterkodning mm har jag för mig. Det jag syftade på var ett protokoll för att få dem att inte prata i mun på varandra och utan att de behöver vara vakna mer än nödvändigt för att sända ut en viss mängd information.

Det som är trevligt med ER400TRS-2 är att den har 10 kanaler också. Jag tänkte använda dem i första hand till att kunna köra flera "nätverk" i närheten av varandra utan att störa men om det skulle förbättra trafiken mycket så är det klart att man skulle kunna använda 2 kanaler tex för varje plats.

1 kanal där klienterna säger att de vill sända info där mastern sedan svarar vem som får sända och då sänder den sin trafik på en annan kanal.

Var kan jag hitta protokoll i denna nivå? Modbus är väll typ ett sådan protokoll fast för trådfast koppling med flera noder.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

RF600T är en intressant krets annars som har mycket av det jag söker i sig. Någon typ av LEARN som gör att de lär känna varandra. Adressering mm. Men det är som sagt bara en krets som igentligen är en PIC16F628 som är tänkt att kopplas till en vanlig RF-modul.
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Microchip har ett ZigBee-liknande protokoll som man kan använda gratis om man använder deras kretsar enbart: MiWi

Men annars är det hela en fråga om att tänka en hel del och kan man vore det bra om man använder processorn till att ta hand om timingen i slaverna.

Detta medför att man kan göra en "synk" i tid av slaverna, så att om man har 10 slaver som ska rapportera var 60 sek kan de få var deras tidslucka och då "vakna" när det är deras minut. En grej kan vara att använda en extra tidslucka till att fråga om det finns nya enheter, slår man då på 1 åt gången har man ett självexpanderande nätverk eller alternativt ger alla slaver egna adresser. I den extra tidslucka stegas det då genom de "tomma" adressor och trimmas i tabellen sedan.

Allt detta går att göra när man vet maximalt antal slavenheter, uppdateringstid, maximalt strömförbruk och dylikt.

Det säkraste sätt att säkra att enheterna inte "pratar i munnen på varandra" är ju att använda tiden som en kanaldelare om det finns rikligt.... så gör man ju i GSM.

Vad man egentligen behöver då är att man i varje slav har en skaplig korrekt timer som kan tima 60 sek och sedan är resten mjukvara. Ett viktigt led i detta är att kunna ge en kommando som betyder "om-synkronisera!" och som medger att man kan ge alla slaver besked om att synkronisera ytterligare an gång, då kan man addera alla de slaver man vill och allt trimmas in automatisk.

Blir lite programmerande men sedan kör det som på räls.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Hur mycket diffar microchips klockor? eller ska man kanske använda en extern realtidsklocka som skickar en inpuls med ett programmerat intervall för att väcka PICen.

Har inte jobbat med sleepmode på PICar men det verkar inte särskillt svårt. Det stog något om att man kunde ha timer1 som interupt för att väcka PICen om man kör den asynkront, men vad betyder det? Oscillatorn stoppas ju när picen sover.

Eller ska jag kanske bara tagga ner frekvensen till 32 khz någonting i stället? Picen drar visserligen något mer, typ 75uA i stället för 0,1uA som sleepmode gör.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Hur mycket diffar microchips klockor?

Tro det eller ej, men det finns faktiskt specat i databladen ! :-)

Om jag inte tar fel kan timer1 "väcka" PICen ur sleep om den klockas med
en egen kristall. Huvudoscillatorn stoppas.

> Eller ska jag kanske bara tagga ner frekvensen till 32 khz någonting i stället?

Tja, svårt att svara på, det är din strömförbrukning. :-)

För övrigt verkar F88 vara populär just när man vill kunna snabbt växla
ner hastigheten för low-power applikationer. Även 16F688 (som kom lite
senare) borde fungera bra. Eller 12F683 om man klarar sig med en
DIP-8 kapsel. De har samma intowc med programvarustyrd "växellåda...
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Men i sleep-mode måste jag väll ha någon extern krets som väcker PICen antar jag eller kan man säga till picen att sova en viss tid för att sedan vakna?

Det där med Timer1, är det bara att använda en vanlig klockkristall med 32,7680 kHz ? Om picen sover, hur vet den att den ska vakna efter en viss tid då?

Eller ska man använda någon strömsnål timer annars?
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

RF600T är ju bara vad som redan är inbyggd i LPRS-modulen, alltså ett radio-interface, dock ska man lägger till en adressering, sedan är det allt.

Det medger t.ex. inte att många moduler kan sända till samma master och vice versa.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Men om jag går vidare på ideen att dela upp trafiken med tiden så varje nod får ett visst tidsintervall. Hur får jag PICarna att vakna vid ett visst intervall om jag låter den gå ner i sleepmode?

Kan man säga att den ska vakna efter 1 min eller måste någon extern krets väcka ned?
Skriv svar