XMega

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

HozzászólásSzerző: CsendesJ » 2012. február 16. csütörtök, 18:36

Hali,

Mivel még nem találtam konkrét tapasztalatokat xmega ügyben, arra gondoltam, hogy leírom a sajátomat (még nem sok van):

A tesztelt példány: Atxmega128A1

Amire figyelni kell:
- max 3.3 V (vagyis szintillesztés sok esetben szükséges lehet, ráadásul az rs232-es illesztő elég drága a 3.3v-os rendszerre)
- A programozó láb ugyanaz mint a reset. Én csak akkor tudok programozni (MKII-vel,PDI), ha ezen a lábon nincs semmi, azaz a reset-hez szükséges kondit + ellenállást ideiglenesen le kell ilyenkor választani. (az MKII nekem csak AVR-Studio alól megy)
- Érdemes minden tápra (sok van neki) külön-külön 100-100n-os kondikat tenni.
- Meglepően sok (8db!) soros portja van, eddig itt nem találtam problémát.(Nekem ez volt a fő szempont)
- A beépített kristály is használható de jobb/pontosabb a külső...
(itt még vannak homályos pontok, mert pl a külső 32Mhz-est nem tudtam elindítani, csak a 32khz-est, és úgy látom, hogy "csak" 16MHz-es külsőt lehet használni)
- Timer eddig ok.
- SD kártya kezelése állítólag megy, nekem még nem (a kártyát látja, jellemzőit kiolvassa de nem ír-olvas)
- 1Wire ok.
- a biztosíték biteken nem kellett állítanom semmit, alapon hagytam.

Érdemes megnézni:
http://www.mcselec.com/index.php?option ... &Itemid=57

Üdv, Joe

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3231
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2012. február 17. péntek, 8:36

Javaslom, tedd fel ide az SD kezelő rutinodat. Hátha tudunk segíteni!
A DMA SD mem. kezelést jó lenne letesztelni! Vajon milyen gyorsan mozgatja az adat blokkokat?
Tetszik hogy a SPIt is sorsportként kezeli És van belőle 4 is -:))
Using Dynamic Channels with XMEGA SPI
To use a Variable as Dynamic Channel you must DIM a byte which start with BSPI.
Bspivar = 0 ----> SPI Port C
Bspivar = 1 ----> SPI PortD
Bspivar = 2 ----> SPI Port E
Bspivar = 3 ----> SPI Port F
In case of Bspivar = 1 it is SPI of Port D.

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

Dim Bspivar As Byte , Ar(4) As Byte , W As Word
Bspivar = 1
Config Spic = Hard , Master = Yes , Mode = 0 , Clockdiv = Clk2 , Data_order = Msb
Config Spid = Hard , Master = Yes , Mode = 1 , Clockdiv = Clk8 , Data_order = Lsb
Config Spie = Hard , Master = Yes , Mode = 2 , Clockdiv = Clk4 , Data_order = Msb
Config Spif = Hard , Master = Yes , Mode = 3 , Clockdiv = Clk32 , Data_order = Msb
Open "SPIC" For Binary As #10
Open "SPID" For Binary As #11
Open "SPIE" For Binary As #12
Open "SPIF" For Binary As #13
Open "SPI" For Binary As #bspivar ' use a dynamic channel
'SPI channel only suppor PRINT and INPUT
Print #10 , "to spi" ; W
Input #10 , Ar(1) , W
Print #bspivar , W
Input #bspivar , W

:lol:


Ezt Pl. szivesen kipróbálnám:
AVI Soft
http://www.six1.net/bascom/___AVI.zip
:wink:
A hozzászólást 2 alkalommal szerkesztették, utoljára kapu48 2012. február 17. péntek, 9:48-kor.

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

HozzászólásSzerző: CsendesJ » 2012. február 17. péntek, 9:25

Update:

Tegnap éjszaka (azaz inkább ma hajnalban) hardveres SPI-n elindult az SD kezelés. :)
Egyenlőre tökéletesen megy, de így elfoglalt egy soros portot :(
Következő lépés a szoftveres SPI lesz....

Köszi a felajánlott segítséget. Ja amúgy nekem most avr-dos alapon megy....


A csatolást nem értem. Biztosan trailert akartál linkelni ???
Joe

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3231
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

HozzászólásSzerző: kapu48 » 2012. február 17. péntek, 9:56

Ja miután kibontottam kiderült, hogy csak bemutató!
De annak jó nem látszik benne semmi akadás.
( Már amennyiben Xmegával játszották le?!)


Pl.: Itt van DOSos SD Card kezelésre példa:
TFT Display 240x320 65536 Colors with Controller ILI9320 or SPFD5408
By user SIX1
http://www.koecher-web.de/media/12-Display_320x240.zip
Csak a Display kezelést ki kel gyomlálni belőle!

Akkor hajrá!
Várjuk a beszámolókat!
Főleg ha már DMA-s adatmozgatást is tudsz!
Ja nem javaslom az SW SPI-t! Amennyiben a sebesség is számít nálad?!
Főleg mert úgy kiesik a DMAs adatmozgatás, ami itt a legfőbb újdonság!
Vétek nem kihasználni! Hiszen a gyors animációknak az a fő motorja.


8)

Avatar
CsendesJ
Biztosítékgyilkos
Hozzászólások: 57
Csatlakozott: 2008. augusztus 31. vasárnap, 6:00

HozzászólásSzerző: CsendesJ » 2012. február 20. hétfő, 16:13

El kell hogy keserítselek: :(
Nem szándékozom ilyen mélységekben beleásni magam a témába.
Ami a konkrét célom volt:
-Soros port kezelés
-1Wire
-SD

Ennyi. Egyszerűen nincs rá több időm :(

Avatar
macsek
Bitmanipulátor
Hozzászólások: 121
Csatlakozott: 2008. december 4. csütörtök, 7:00
Tartózkodási hely: Bp

HozzászólásSzerző: macsek » 2012. augusztus 21. kedd, 12:04

Komi írta:Köszi.

Ezt pedig észben tartom ==>
Robert írta:Programozóból az MKII teljesen OK:)

Az Atmel AVR ISP mkII is tudja: Supports target voltages from 1.8V to 5.5V

:idea: A TavIR MKII olcsóbb és hazai
A hozzászólást 1 alkalommal szerkesztették, utoljára macsek 2012. augusztus 21. kedd, 12:45-kor.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9906
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2012. augusztus 21. kedd, 12:44

Igen, azért lett elkészítve az MKII Clone.
Nagyon sok utángyártás nem tudja a feszültségeket lekezelni olymódon, hogy terhelhető is maradjon. Nálam ez megoldott :)

Avatar
zb83
Biztosítékgyilkos
Hozzászólások: 69
Csatlakozott: 2008. október 24. péntek, 6:00

HozzászólásSzerző: zb83 » 2012. szeptember 13. csütörtök, 13:41

Sziasztok,
Szemezgetek én is az xMegákkal,engem leginkább a 32Mhz-es frekvencia és az esetenkénti 8k sram az, ami izgat a leginkább.

Ami esetleg gond lehet, hogy a 32MHz az egy belső oszcillátor, kristályt csak 16MHz-ig kezel. Van valakinek esetleg tapasztalata azzal kapcsolatban, hogy mennyire stabil ez a 32MHz? Az UART miatt érdekelne, hogy mennyire stabil (vagy éppen nem) a kommunikáció.

Üdv:
Zoli

Avatar
z1z9z9z2
SzínkódFestő
Hozzászólások: 92
Csatlakozott: 2006. szeptember 19. kedd, 6:00
Tartózkodási hely: Pécs
Kapcsolat:

Re: XMega

HozzászólásSzerző: z1z9z9z2 » 2013. március 6. szerda, 9:34

Sziasztok!
Egy xmega-t szertnék használni soft i2c-vel, és kifagy, ha azt mondom neki, hogy i2cwbyte, a program:

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

$regfile = "xm32a4def.dat"
$crystal = 32000000

$hwstack = 64
$swstack = 40
$framesize = 64

$lib "xmega.lib"
$external _xmegafix_clear
$external _xmegafix_rol_r1014
Config Osc = Enabled , 32mhzosc = Enabled
Config Sysclock = 32mhz , Prescalea = 1 , Prescalebc = 1_1
Dim Temp As Byte
Dim Twi_start As Bit
Config Com1 = 9600 , Mode = Asynchroneous , Parity = None , Stopbits = 1 , Databits = 8
Open "COM1:" For Binary As #3

Config Twi = 1000
Config Scl = Porte.3
Config Sda = Porte.2
$forcesofti2c
I2cinit

Waitms 100
Const Mpu6050wr = &B11010000
Const Mpu6050rd = &B11010001


 I2cstart


  I2cwbyte Mpu6050wr
   I2cwbyte &H3D
   I2cstart

    I2cwbyte Mpu6050rd
   I2crbyte Temp , Nack                                     'value to write

I2cstop
    Two:
 Print #3 , "szia"
 Waitms 100
Goto Two

Az a $forcesofti2c nem biztos, hogy kell oda. Próbáltam azzal/nélküle is.

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3231
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: XMega

HozzászólásSzerző: kapu48 » 2013. március 6. szerda, 10:51

Mikor fagy le az első I2cwbyte, vagy a másodiknál?

Mért van 2* I2cstart?
:?:

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9906
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: XMega

HozzászólásSzerző: Robert » 2013. március 6. szerda, 13:49

Az I2C felhúzóellenállások értéke (1k5...4k7 illik)?
Mind a 2 eszközöd 3.3V-os?
PortE-n nincs pl. JTAG vagy egyéb tiltandó eszköz?

Avatar
z1z9z9z2
SzínkódFestő
Hozzászólások: 92
Csatlakozott: 2006. szeptember 19. kedd, 6:00
Tartózkodási hely: Pécs
Kapcsolat:

Re: XMega

HozzászólásSzerző: z1z9z9z2 » 2013. március 6. szerda, 17:31

A legelső után kifagy. Ezt onnan látom, hogy elhelyeztem a egy ilyet:

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

 Two:
 Print #3 , "szia"
 Waitms 100
Goto Two

előtte, és ez működne, ha előtte volna...
A felhúzó ellenállás 2k2, egyébként az mpu6050 gyorsulásérzékelőt szeretném éleszteni. Semmi más zavaró tag nincsen ott véleményem szerint. egyébként áttettem portd-re és ott is ugyanez a baj

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9906
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: XMega

HozzászólásSzerző: Robert » 2013. március 6. szerda, 19:31

Config TWI= mit csinál? Az nem csak a slave-hez kell?
i2cdelay=1...10 hiányzik (pl. i2cdelay=5)
Ez a késleltetés. Lehet, hogy 0 és el is készült a cipben a fekete lyuk (=> 0-val való osztás, ahogy Isten készítette a fekete lyukat)

Avatar
z1z9z9z2
SzínkódFestő
Hozzászólások: 92
Csatlakozott: 2006. szeptember 19. kedd, 6:00
Tartózkodási hely: Pécs
Kapcsolat:

Re: XMega

HozzászólásSzerző: z1z9z9z2 » 2013. március 8. péntek, 8:54

Huh, config two nélkul is lefagy. I2delay valoban nincsen ott. Átraktam hw-re, es ott megy.

Avatar
doncarlos
Bitmanipulátor
Hozzászólások: 131
Csatlakozott: 2007. október 14. vasárnap, 6:00

Re: XMega

HozzászólásSzerző: doncarlos » 2013. május 23. csütörtök, 15:28

Sziasztok!

Lassan elkészülni látszik a tqfp100-dip100 adapterem, így kipróbálnám a már régóta pihenő xmega128a1-t. A fentieken kívül, újabb vagy eddig fel nem merült tapasztalatokat, tanácsokat tudnátok írni, ha vannak? A tavir mkII már megvéve, bascom 2.0.7.5 van fent most. Köszi!


Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég