RFM01 RFM02

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

RFM01 RFM02

Hozzászólás Szerző: SanyiSay »

Már jó régi témának tűnik, meg lerágott csont de én nem jutok egyről a kettőre.

Kettő problema lenne.

Ha az adó vacakol (pld adás közben nyomok egy resetet), akkor lefagy a vevő. Amit már sikerült kiszűrnöm, hogy a VDI láb ekkor ad egy jelet aztán nyomban újra konfigurálom a vevőt és minden ok. Persze ez sem tökéletes mert megszakítás közben nem megy az SPI és így jelzőbittel kell mahinálni.

Másik hogy megszakításból kellene adatokat fogadni, mert a példaprogramban nem így van. FIFO nélküli adatfogadásra tippelek, de azt még nem néztem meg hogy akkor hogy jönnek az adatok. Most már van analizátorom jobban álok. :) Ám hátha küldtök valami jó ötletet és nem kell ezzel többet tökölnöm. RFM01_EVA -t nézegetem de annyi a beállítás mint égen a csillag. A leírásokból pedig nem értek semmit. :)

Valamint ha SW SPI-n veszem az adatokat egy bittel eltolva kapom az értékeket, HW SPI minden szépen megy.

Köszönettel Sanyi
Avatar
fenyvesi
Újonc
Újonc
Hozzászólások: 1
Csatlakozott: 2011. május 4. szerda, 6:00

Hozzászólás Szerző: fenyvesi »

Szia,
nem tudom, segít-e, sokat vergődtem vele, PIC-re CCS C-ben van működő kód.

Fenyvesi György
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Hozzászólás Szerző: SanyiSay »

Hát hoztamis ajádékot meg nem is esete. :)
PIC meg C

PIC megszakításai mások mint az AVR-nek meg sok minden, így nem jó de lenne pár kérdésem ha kened vágod a témát. :)

Minta programom nekem is van (Bascom) ami küldi az adatokat szépen de az nekem kevés lett. Egyszerű mint a faék.

Kicsit fel is adtam egy időre a cseszekedést vele, amég nem találok válaszokat.

De köszi.
Avatar
pakibec
Biztosítékgyilkos
Hozzászólások: 61
Csatlakozott: 2006. március 20. hétfő, 7:00

Hozzászólás Szerző: pakibec »

Sziasztok!

RFM01/02 modulpárt nem birom beszélgetésre csalogatni.
Átnetem a leirásaikat, spi-n tudok is kommunikálni az adó és a vevő modullal is (CLK frekvencia váltással ellenőriztem), de a 2 modul között a kommunikáció nem megy. Mega8-at használok mikrovezérlőnek, Basecom-ban irtam a progit.
Nem teljesen világos az adatküldés és fogadás folyamata. Beállitgattam a konfigurációs biteket, aztan nIRQ falling-nál FSK-ra hol 1-et, hol nullát küldtem, tesztként.
A vevőt szintén beállitottam, bekapcsoltam, majd nIRQ 0-szintnél olvastam az SDI-t, (a kapott értéket beirtam az EEPROM-ba), majd ezt szerettem volna elemezni, de csak FF-eket kapok.

Próbáltam adatot küldeni a "data transmitt command"-al (a parancs kiadását követően a küldendő byte-ot SDI-n keresztül küldtem), de semmi.

RF modulokkal még nem foglalkoztam, igazából hiába olvasgatom a forumot nem tudok elindulni helyes irányba.

Előre is köszönök minden segitséget.
Üdv:Pakibec
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Hozzászólás Szerző: SanyiSay »

Magyarul. :)

https://docs.google.com/leaf?id=0B9EhKT ... Y2Zi&hl=hu

Nekem így ment. Ez 4 számot küld és fogad. Teljesen alap.
Mega32 az adó. Mega8 a vevő. De mindegy mire töltöd fel csak az elejét írd át.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Hozzászólás Szerző: SanyiSay »

Antenna méretek

433MHz - 173mm
868Mhz - 87mm
915Mhz - 87mm

Modul beállító programokat innen tudod letölteni.

http://www.controller-designs.de/index. ... creenshots

Lehet velük izzadni. :D

Hirtelen ennyi.
Avatar
pakibec
Biztosítékgyilkos
Hozzászólások: 61
Csatlakozott: 2006. március 20. hétfő, 7:00

Hozzászólás Szerző: pakibec »

Sziasztok,

Köszönöm a segitséget, nagyon hasznosak az anyagok. Tegnap 3-ig csináltam, már némi életjelet mutatott a dolog, de az átküldött adat egyelőre elég falsnak tűnik, de legalább ne nulla :-)

Mégegyszer köszönöm, megirom a fejleményeket.

Üdv
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Hozzászólás Szerző: SanyiSay »

Valami nem tiszta kérdezz bátran.
Viszont ha beindul akkor a lefagyás problémám is megoldhatnád. :) Nekem szerencsére egyből küldte az adatokat. Miután sikerült beállítani egyformára a modulokat.
Avatar
pakibec
Biztosítékgyilkos
Hozzászólások: 61
Csatlakozott: 2006. március 20. hétfő, 7:00

Hozzászólás Szerző: pakibec »

Sziasztok!

Átnéztem a config beállitásokat, jónak tűnik. Átnéztem a hardvert, elvileg nem volt hiba. Kipróbáltam a progidat SanyiSay, volt némi gond a forditásnál, a vevő programjában az SPI confignál van SPI=0 paraméter, ezt nem ismeri fel a Basecom, kitöröltem, nem tudom fontos-e.

Tehát jelenleg sincs kommunikáció a két modul között. Az adó FSK-ján a szkop szépen mutatja jelet, bár azt nem tudom, hogy ki is sugározza-e, de ez biztató. A vevőnél nIRQ állandóan magas, igy el sem jut a FIFO olvasásához. A beállitásokat módositva, levettem a FIFO interrupt level-t (8-on volt), és elvileg egy frameben csak 4 hasznos byte van, ill. a FIFO startot átállitottam, hogy midig on legyen. Igy 1-2x az nIRQ lement 0-ba, de hasznos adat igazán nem érkezett.

Próbáltam olvasni a status reg-eket, de nem sikerült. Hogy szoktátok kiolvasni? Tudom, hogy a vevőnél 0-al kezdődő, az adónál &HCC00-t küldök az SPI-re, de hogy olvasom le az eredményt? Mi van a Status regiszerekben?

A data transmit (&Hc6) parancs mire jó? Mert nekem semmit nem küld.

Hülye kérdés, de nem kell semmilyen külső alkatrész a modulokhoz, ugye? Csak mert van rajta hely kristálynak. Az avr-el a leirás szerit kötöttem össze, a vevő data kimenetét 10k-val Vcc-re húztam.

Elvileg csak néhány bitet szeretnék küldeni ("be" és "ki") jelet, de kezdem azt hinni, hogy füstjelekkel egyszerübb lenne :-)

Gondoltam rá, hogy esetleg valamelyik modul rossz. De akkor az SPI parancskiadás sem müködne.

Van esetleg ötletetek mire nem gondoltam, hogy lehetne továbblépni?
Üdv: Pakibec
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Hozzászólás Szerző: SanyiSay »

Este összerakom a cuccot mert annó úgy felcseszte az agyam hogy nem jegyeztem fel semmit. Csak ment és kész. Persze voltak hiányosságai de az adatokat küldte.

"
SPI confignál van SPI=0 paraméter, ezt nem ismeri fel a Basecom, kitöröltem, nem tudom fontos-e.
"

Kód: Egész kijelölése

Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 64 , Noss = 0 , Spiin = 0
Ezt a sort nem fordítja le a fordítód?


"Mi van a Status regiszerekben?
"
Hát amit bele raktál. :)

Kód: Egész kijelölése

   Call Rf_cmd(&H0000)
   Call Rf_cmd(&H918b)                                      'Configuration: 868MHz, crystal oscillator, 12,5pF, 134KHz, clock out OFF
   Call Rf_cmd(&Ha640)                                      '868MHz (860 + 6 )
   Call Rf_cmd(&Hc847)                                      '4.8kbps
   Call Rf_cmd(&Hc69b)                                      'AFC
   Call Rf_cmd(&Hc42a)                                      'data filter
   Call Rf_cmd(&Hc2e0)                                      'low batt./ clock divider
   Call Rf_cmd(&Hc042)                                      'receiver setting:
   Call Rf_cmd(&He000)                                      'wake-up timer:
   Call Rf_cmd(&Hcc00)                                      'low duty cycle:
   Call Rf_cmd(&Hce88)                                      'fifo config
   Call Rf_cmd(&Hce8b)                                      'fifo enable
   Call Rf_cmd(&Hc043)                                      'enable receiver
Ezzel még nem foglalkoztam hogy mi volt a gyári beállítás. Úgyis magadnak állítod be a config részben sok mindennel együtt. Utána ezt más nem változtatja. Egy a lényeg hogy a frekik+FIFO egyezzen a párjáéval hogy egy nyelven beszéljenek.

"A data transmit (&Hc6) parancs mire jó? Mert nekem semmit nem küld.
"
Ilyent találtál a programomban? Hol?


"Hülye kérdés, de nem kell semmilyen külső alkatrész a modulokhoz, ugye?
"
Darab drót vagy rendes antenna az antenna forrszemre.


"
Elvileg csak néhány bitet szeretnék küldeni ("be" és "ki") jelet, de kezdem azt hinni, hogy füstjelekkel egyszerübb lenne :-)
"
Mocsok egy modul amúgy. Megszakításból nem sikerült jeleket fogadni tőle,(mondjuk ez lehet az én Bascom hiányosságom) és ha menet közben áramtalanítod az adót lefagy a vevő. Mondjuk ezt már sikerült megoldani. Amúgy stabilan küldi a jeleket.

Na a többit este.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Üdv pakibec!

Én is szívtam már a HW SPI-vel!

A tapasztalatom:
Ha Master SPI-nél nem az SS- kimenetet használod az Slave kiválasztásához!
Akkor is bekel állítani SS-t kimenetnek, és 1-be kapcsolni!

Hátha pont ez miatt nem megy neked sem?
8)
Avatar
pakibec
Biztosítékgyilkos
Hozzászólások: 61
Csatlakozott: 2006. március 20. hétfő, 7:00

Hozzászólás Szerző: pakibec »

Igen, erre a config sorra jelez hibát:

"Invalid parameter [SPIIN] , in File:..."

Basecom 1.11.8.7-et használok. Megnéztem a hlp-be, elvileg ott sem szerepel ilyen paraméter. Lehet, hogy régi a Basecom-om? De elvileg az SPI müködik.

A data transmit parancs nem szerepel a progidban, csak a dokumentációban ill. neten vannak példaprogik, abban. A RFM02 adalapja szerint a parancs kiadását követően az SPI-re küldött adatot elküldi. Vagyis én igy értettem.

A status regiszter egyezik a konfigurációs bitekkel? Úgy tünik a doc-ból, hogy ez az adó/vevő állapotról ad infót. Pl. Ha jól olvastam valahol, a 6. bit a low battery detect, de nem tudom hány bites s registrer, mi a
bitsorrend.

Én egyébként kommunikációs hibára tippelek... A frekvencia egyezik elvileg:
Adó: &H9381,&Ha640
Vevő: &H918a, &Ha640
Fifo beállitást most csináltam először, az általad írt módon:
Fifo start: VDI + Sync word (de az always-en sem megy)
IT level: 8 volt eredetileg, 4-re levettem, de egyikkel sem megy
Fifo fill+function először kikapcs, majd következő sorban bekapcs.

Arról fogalmam sincs az adó oldalon minek kell ezzel egyezni. Elvleg először elküldöm a preamble-t (3xFsk_send(&Haa)), aztán a frame azonosítót:
Fsk_send(&H2d)
Fsk_send(&Hd4)

majd 4 bájtot:
Call Fsk_send(&Ha)
Call Fsk_send(&Hb)
Call Fsk_send(&Hc)
Call Fsk_send(&Hd)
és végül a lezárás: Fsk_send(&Haa).

Várom az estét, addigis nyúzom a modulokat, hátha megunják, és elkezdenek végre működni :-)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Úristen. Az a Bascom már 4.5 éves!
Most a 2.0.7.1-nél jár.
A 2.0.0.0 volt egy váltás, előtte sokáig az 1.11.9.8 volt.
Avatar
pakibec
Biztosítékgyilkos
Hozzászólások: 61
Csatlakozott: 2006. március 20. hétfő, 7:00

Hozzászólás Szerző: pakibec »

Üdv Kapu48,

elvileg az SS-t használom a slave kiválasztásához. Ettől függetlenül kipróbálom, hogy külön konfigurálom kimentetnek, de szerintem nem ez a gond, mert SPI parancsokat fogad a modul,pl. clk-t tudom kapcsolgatni.

Elvileg a lábkosztás:

adó:
AVR ---- adómodul
pb.1 ---- FSK
MOSI ----- SDI
SCK ----- SCK
SS ---- nSEL
MISO + INT0 ---- nIRQ


vevő:
AVR ----- modul
MOSI ----- SDI
SS ----- nSel
INT0 ----- nIRQ
SCK ----- SCK
MISO ------ SDO
-- -------- DATA - 10k-val VCC-re húzva

Elvileg jónak kéne lenni, vagy tévedek?
Válasz küldése