Cypress Wireless USB modul (CYWM6935)

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
pkedvessy
Tranzisztorgyógyász
Hozzászólások: 198
Csatlakozott: 2006. január 1. vasárnap, 7:00

Cypress Wireless USB modul (CYWM6935)

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

Sziasztok!

Gondoltam nyitok egy topicot a fent említett szerkezethez, mert eléggé megmozgatta a fantáziám, viszont sehogy sem sikerül életre keltenem a cuccot!
Először is Robert-hez lenne egy-két kérdésem, aki megosztotta velem a mintaprogiját a modulhoz! Miért van az, hogy az egyes kivezetések az AVR két különböző portjára vannak kötve? Miért nem lehetett mindet egy portra rakni?
Egy TINY2313 B-portjára kötöttem a modult, de a PA kódok kiolvasása után, mikor a terminállal küldök egy karaktert az adó-nak megáll minden (a karaktert még visszakapja a terminál)! Eddig sikerült jutnom!

Köszönöm a válaszod!
Robert-

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

Én is kaptam a programot, még bele sem tudtam nyúlni...

Egy kis kiegészítőpanelt készítek, amivel a M16 panel SPI kivezetésére lehet felrakni a modult. Erre a feszszabályzó (3v3), szintillesztő illetve a 2mm-es csatlakozósor is kiépítésre kerül....

Nálam egy központ - 6-7 alegység felépítésben kell ténykednem és ehhez kell majd a modul...
Robert-

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

A mintaprogi nincs most nálam, de ha jól rémlik, mintha IRQ-t is használna (INTx).
Avatar
pkedvessy
Tranzisztorgyógyász
Hozzászólások: 198
Csatlakozott: 2006. január 1. vasárnap, 7:00

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

IRQ-t valóban használ, de annak semmi köze a megszakításhoz az AVR-ben! Legalábbis én nem találtam nyomát a forrásban...
Itt vannal a források!

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

' Cypress CYWM6935 wireless (USB) modul Adás teszt
'2005.11.27 feladat:rs232 ről vett asc kód átküldése rf-n ellenállomástól visszaigazolás
' ha a vétel nem volt jó ujraadás amig nem jó a vétel !!
'Teszt OK
' MiCkey*Soft
   Dim Ido As Word
   Dim O As Byte
   Dim M As Byte
   Dim I As Byte
   Dim Ut As Byte
   Dim Cim(2) As Byte
   Dim A As Byte
   Dim Adat(2) As Byte
   Dim Hx As String * 1

   Config Portc.0 = Output
   Config Portc.1 = Output                                  '24-kék- Data out MOSI
   Config Pinc.2 = Input                                    '25- szürke- Data input MISO
   Config Portc.3 = Output                                  '26-rózsa- SPI CLK
   Config Portc.4 = Output                                  '27-zöld- rf /reseet
   Config Portc.5 = Output                                  '28-sárga- rf /powedown
   Config Pind.2 = Input                                    ' 4-lila- IRQ

   Irq Alias Pind.2
   Be Alias Pinc.2
   Clk Alias Portc.3
   Rfreset Alias Portc.4
   Rfpwr Alias Portc.5
   Cs Alias Portc.0                                         '23-fehér- /Chip select
   Config Spi = Soft , Din = Pinc.2 , Dout = Portc.1 , Ss = None , Clock = Portc.3
   Config Timer1 = Timer , Prescale = 1024
'---------------- Init ------------------------------
   Reset Rfreset
   Print "kezd"
   Spiinit
   Set Cs
   Set Rfpwr
   Set Rfreset
   Waitms 10
   For O = 24 To 17 Step -1
      Cim(1) = O                                            '<11-18> PA kódok 8 db hex
      Gosub Rx_olvas
      Print Hex(a) ; " ";
   Next
' -------- INIT TX reg ----------
   Gosub Tx_init
   Waitms 1
'---------------------------------
Kezd:
   If Irq = 1 Or Inkey() = " " Then
      Do
       Cim(2) = Inkey()
      Loop Until Cim(2) <> 0
      Print Chr(cim(2));
      Adat(1) = Cim(2)
Ir:
      Cim(1) = 15
      Gosub Rx_prog
   Else
      Goto Kezd
   End If
   Waitus 10
   Gosub Rx_init
   Waitus 1
   Timer1 = 0
   Start Timer1
Olvas:
   Ido = Timer1
      If Ido > 500 Then
         Gosub Tx_init
         Cim(2) = Adat(1)
         Goto Ir
      End If
   If Irq = 1 Or Inkey() = " " Then
      Cim(1) = 8
      Gosub Rx_olvas
      Cim(1) = 9
      Gosub Rx_olvas
'      Print " vett adat" ; A
      Adat(2) = A
      Cim(1) = 10
      Gosub Rx_olvas
      If Adat(1) = Adat(2) Then
'         Print " adás-vételOK"
      Else
         Goto Olvas
      End If
   Else
      Goto Olvas
   End If
   Gosub Tx_init
Goto Kezd
'------------- TX --------------------
Rx_prog:
      Cim(1) = Cim(1) + 128
      Reset Cs
      Spiout Cim(1) , 2
      Set Cs
Return
'----------- olvas-----------------
Rx_olvas:
      A = 0
      Reset Cs
      Spiout Cim(1) , 1
      Waitus 10
      For I = 7 To 0 Step -1
         Set Clk
         Waitus 1
         If Be = 1 Then
            Set A . I
         Else
            Reset A . I
         End If
         Reset Clk
         Waitus 1
      Next
      Set Cs
Return

Rx_init:
   Restore Rx1
   For O = 1 To 7
      Read Cim(1)
      Read Cim(2)
      Gosub Rx_prog
   Next
Return

Tx_init:
   Restore Tx1
   For O = 1 To 7
      Read Cim(1)
      Read Cim(2)
      Gosub Rx_prog
   Next
Return
      End
Tx1:
Data 35 , 6 , 33 , 4 , 16 , 255 , 6 , 11 , 13 , 1 , 7 , 0 , 3 , 64

Rx1:
Data 35 , 2 , 33 , 4 , 6 , 11 , 7 , 1 , 16 , 0 , 13 , 0 , 3 , 128

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

' Cypress CYWM6935 wireless (USB) modul Vevő teszt
' 2005.11.28 A vevő bytonként(karakter) veszi a jeleket, majd a vett byte-ot küldi vissza
' a byte-okat alakítja karakterré, írja rs232-őn egymás után ! Teszt OK
' MiCkey*Soft

   Dim O As Byte
   Dim M As Byte
   Dim I As Byte
   Dim Ut As Byte
   Dim Cim(2) As Byte
   Dim A As Byte
   Dim Adat As Byte
   Dim Hx As String * 2

   Config Portc.0 = Output
   Config Portc.1 = Output                                  '24-kék- Data out MOSI
   Config Pinc.2 = Input                                    '25- szürke- Data input MISO
   Config Portc.3 = Output                                  '26-rózsa- SPI CLK
   Config Portc.4 = Output                                  '27-zöld- rf /reseet
   Config Portc.5 = Output                                  '28-sárga- rf /powedown
   Config Pind.2 = Input                                    ' 4-lila- IRQ
   Irq Alias Pind.2
   Be Alias Pinc.2
   Clk Alias Portc.3
   Rfreset Alias Portc.4
   Rfpwr Alias Portc.5
   Cs Alias Portc.0                                         '23-fehér- /Chip select
   Config Spi = Soft , Din = Pinc.2 , Dout = Portc.1 , Ss = None , Clock = Portc.3

   Reset Rfreset
   Print "kezd"
   Set Rfreset
   Set Rfpwr
   Spiinit
   Set Cs
   Waitms 10                                                ' wait for run rf modul
   For O = 24 To 17 Step -1
      Cim(1) = O                                            '<11-18> PA kódok 8 db hex
      Gosub Rx_olvas
      Print Hex(a) ; " ";
   Next
   Print " "
' -------- INIT Rx reg ----------
Gosub Rx_init
'---------------------------------
   Waitms 1
Kezd:
   If Irq = 1 Or Inkey() = " " Then
      Cim(1) = 9
      Gosub Rx_olvas
      Adat = A
      Print Chr(adat);
   Else
      Goto Kezd
   End If
      Waitus 1
      Gosub Tx_init
All:
      If Irq = 1 Then
         Cim(1) = 15
         Cim(2) = Adat
         Gosub Rx_prog
         Waitms 1
      Else
         Goto All
      End If
      Gosub Rx_init
      Waitus 10
      Goto Kezd
Goto Kezd
'------------- TX --------------------
Rx_prog:
      Cim(1) = Cim(1) + 128
      Reset Cs
      Spiout Cim(1) , 2
      Set Cs
Return
'----------- olvas-----------------
Rx_olvas:
      A = 0
      Reset Cs
      Spiout Cim(1) , 1
      Waitus 1
      For I = 7 To 0 Step -1
         Set Clk
         Waitus 1
         If Be = 1 Then
            Set A . I
         Else
            Reset A . I
         End If
         Reset Clk
         Waitus 1
      Next
      Set Cs
Return
Rx_init:
   Restore Rx1
   For O = 1 To 7
      Read Cim(1)
      Read Cim(2)
      Gosub Rx_prog
   Next
Return
Tx_init:
   Restore Tx1
   For O = 1 To 7
      Read Cim(1)
      Read Cim(2)
      Gosub Rx_prog
   Next

Return


      End

Tx1:
Data 35 , 6 , 33 , 4 , 16 , 255 , 6 , 11 , 13 , 1 , 7 , 0 , 3 , 64

Rx1:
Data 35 , 2 , 33 , 4 , 6 , 11 , 7 , 1 , 16 , 0 , 13 , 0 , 3 , 128
Robert-

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

A config SPI sort átírtad?
Avatar
pkedvessy
Tranzisztorgyógyász
Hozzászólások: 198
Csatlakozott: 2006. január 1. vasárnap, 7:00

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

Jaja! Átírtam...
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

A progira ránézni (élesben) kb. 1 hét múlva tudok. Az 5V-os illesztőt (3v3 stabIC, labkonverzió) a hétvégén tervezem meg és megy nyákgyártásra. 1 hét alattvan itt 8hétvégére) és utána letesztelem. Minden panelem 5V-ról jár:)).

Igaz nem kötöttéla modulra (sem táp, sem I/O vonalak) 5V-t?

A program eredeti szerzője sem ment ennél tovább egyenlőre, de énnekem rendszert kell a cypress modulokból építeni... És határidős:).
Avatar
pkedvessy
Tranzisztorgyógyász
Hozzászólások: 198
Csatlakozott: 2006. január 1. vasárnap, 7:00

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

Nem vagyok benne egészen biztos, hogy nem kapott :oops:
Azt honnan tudom észrevenni, ha kapott és esetleg e miatt nem működik? A regisztereket ki tudom olvasni! Vagy az semmit nem jelent? Amúgy 3voltos az egész rendszerem, úgyhogy nem használok semmilyen illesztőt, csak egyszerűen rá van forrasztva a modul az AVR-re egy kb 10cm-es kábellal! Így működőképesnek kéne lennie?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Hat nem szereti az 5Vt es a ki/bemenetei sem toleraljak. Ha a regiszeterk mennek, akkor a chip magja tulelte. az anteennafokozat nem biztos.

Kb. 2 het mulva lesz teljesen tesztelt mintaprogom+5V-os illesztopanelem.

Amit tudok: A tapszuresre _nagyon_ erzekeny, azaz mindenutt 100nF kondik, esetleg zajszuro gyongy/tekercs...
Avatar
pkedvessy
Tranzisztorgyógyász
Hozzászólások: 198
Csatlakozott: 2006. január 1. vasárnap, 7:00

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

Az 5voltos illesztéshez milyen chip-et használsz a 3,3as stab ic-n kívül?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Ellenállásosztót.

Portláb--R1-+---modul
..................|
.................R2
..................|
................GND

A chip 5Vrol megy.
A Modul 3v3-ról.
R1=2k2
R2=3k3

A modul ponton - ha 5V van a portlábon - akkor 3V van.
Ha a modulon 3V van, akkor a Portlábra 3V jut, amit H szintnek (1v7 felett) lát a chip.
Az ellenállásaránnyal lehet játszani a terhelhetőséggel. De itt úgyis csak fesz szint van, áramerősség nem folyik...:).


Forrás egy SD kártya illesztő rajzából, amit a hétvégén építek meg...
Avatar
pkedvessy
Tranzisztorgyógyász
Hozzászólások: 198
Csatlakozott: 2006. január 1. vasárnap, 7:00

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

Sok sikert hozzá! Én egy 3V-os rendszerrel fogok kísérletezni a hétvégén! Majd írok ha van valami fejlemény!
Robert-

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

Készül egy demopanel (de ez inkább a klasszikus próbapad) amin dugasztápról 5V, 3V, (3v3) illetve 1,8V is terv előállítható és a chip van benne, egy "telelyuk panel" és mellette egy M16 M8 vagy Tiny Ic helye.
Soros ki/bemeneti illesztés és a karakteres LCD csatlakozóhelye... erre az ilyen "gyorsösszerakásokat" meg lehet hamar ejteni...
Avatar
pkedvessy
Tranzisztorgyógyász
Hozzászólások: 198
Csatlakozott: 2006. január 1. vasárnap, 7:00

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

Sikerült!
Összedrótoztam a modult egy ATMEGA8L chippel! Az egész rendszer 3 voltról jár egy próbapanelen, raktam rá a kísérletezgetéshez egy soros port, egy i2c, és egy NOKIA LCD csatlakozást! Holnap küldöm a kódot, amivel életre kelt a rendszer!
Avatar
pkedvessy
Tranzisztorgyógyász
Hozzászólások: 198
Csatlakozott: 2006. január 1. vasárnap, 7:00

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

Bocsi a késésért!

Itt van egy doksi, amiben van egy kapcsolási rajz, és egy forráskód Mega8-hoz! A programot kipróbáltam, tökéletesen működik! Annyit kell benne változtatni, hogy Pactl nevű portlábat törölni kell, a hozzá tartozó ellenőrzéseket együtt, mert ez a cypress modulon sincs rajta!

Remélem sikerült segítenem!

És a link: http://www.aurelwireless.com/wireless/n ... 915_an.pdf Szerintem elég korrekt kis leírás!!!
Válasz küldése