Memória áramkör és annak illesztése, programozása

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
szabop
Újonc
Újonc
Hozzászólások: 1
Csatlakozott: 2006. március 6. hétfő, 7:00

Memória áramkör és annak illesztése, programozása

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

Kedves listatagok!
Az lenne a kérdésem, hogy lehet-e és ha igen milyen memória áramkört lehet illeszteni az AVR-hez.
kb 1 Mbájt adatot kellene összegyűjtenem, eltárolnom és később kiolvasnom. Tudtok rá jó megoldást?

Maga a project: analóg 0-24 V mérése, 0,01 V pontossággal másodpercenként, majd azt átlagolni. Ezt eltárolni, később kiolvasni.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Sebességtől függ:
Az AVRDOS projektet nézném meg először. Itt MMC/CF memóriakártyára megy a rögzítés. Ezen kártyák ára a béka feneke alatt van mostanában. (128 MB MMC ~3500-4000 Ft).

A Bascom súgójában is benne van (1.11.8.1), kapcsirajzzal. Ekkor a chip 3,3Vról jár, és MMC esetén ~6 szál vezeték a bekötése.
A kártyát kezelheted FAT módban, ekkor kártyaolvasóba rakva a file direktben látható is:).


Vagy SPI buszos memóriaként kezeled, ekkor AVRrel olvasod vissza és rakod át PC fele USB vagy Sorosporton. De az áttöltés ekkor időigényes (1Mbyte ~ 5 perc alatt megy a PCre 115kbps sebességgel.)



Akkor szóba jöhet I2C buszos EEPROM. Ebből ami beszerezhető az 24LC1024-es (1024 kbit: ~128kbyte), és ebből 8 fűzhető fel. Viszont ennek darabja ~1000 Ft. Néha lehet kapni 24LC2048 illetve 24LC4096-osat is. Ezek ára azomban már horror.


Háttértár lehet még maga a PC, ekkor sorosporton küldöd ki az adatokat és a PC menti őket. Ehhez viszont kell működő, bekapcsolt PC. Gondolom ez nem járható.


Így hírtelem.... Én a MMC kártyára szavazok. Ehhez kártyaolvasó helyett 2*14-es tüskesor is jó:) abba is bele lehet állítani a kártyát...:).



Ez utóbbi megoldás kevesebb memóriát igényel a processzoron. Az AVRDOS-hoz ATMega32 kell minimum.
Avatar
DavidMolnar
Biztosítékgyilkos
Hozzászólások: 50
Csatlakozott: 2005. december 6. kedd, 7:00

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

Apropó Roberto mester! A mmc kártyafoglalatot leműtöttem az alaplapról! Remélem nemsokára elérhető lesz az új panel, akkor úgyis talizunk és odaadom!
Robert-

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

Nagyon szépen köszönöm:). Az új panelt a hétvégén szeretném már élesíteni:), és ebből utána a következő sorozatot megrendelni is...

Meg a kis kiegészítő panelek (óra, IrDA, SPI olvasó a MMChez, stb) is készülnek...
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

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

Memóriának használhatsz még (a CF kártyához hasonlóan) Ide Hdd-t is:) laptopHdd preferrált...
Így van ~40 GB szabad helyed :lol:
Avatar
Masterfoxx
DrótVégénSzéndarab
Hozzászólások: 37
Csatlakozott: 2006. január 4. szerda, 7:00

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

Esetleg használhatod az Atmel gyártmányú DataFlash IC-ket, spi buszosak, olcsón lehet kapni 16Mbit ~1000 Ft (AT45DB161)
Igaz, ki kell hozzá fejleszteni a vezérlőprogramot :? mivel a Bascom nem ismeri meg nem is találtam hozzá alkalmazást amit Bascomban írtak.
Assembly-s megoldás van fennt az ATMEL honlapján, application notes>AVR335 Sound recorder, Ez egy diktafon amire ráfér ~4 perc hangfelvétel .
Avatar
Masterfoxx
DrótVégénSzéndarab
Hozzászólások: 37
Csatlakozott: 2006. január 4. szerda, 7:00

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

Ez az eddigiekkel nem túlságosab függ össze, de ez a topic memóriákról szól:
----------------
:arrow: Egy tipp:
Ha valahova olcsó(ingyé :D ) RAM kell (wav-,mp3 lejátszó), ami ráadásul gyors -15ns (!!!, ~66MHz), akkor ezeket 386-os vagy 486-os lapokból lehet bontani, ami úgy mindenkinél akad 1-2 darab. Ezekben 32kB*8bit-es SRAM-ok találhatóak, a típusszám : 61C256AH (pl.: IS61C256AH-15, vagy UM61C256). DIP28as foglalatban vannak, amúgy RET-ben be lehet szerezni őket SO foglalatban is (~350 HUF).
Az adatlap meg fenn van neten....
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Valaki esetleg foglalkozott már „Atmel dataflash AT45DB041B” memóriával?
Adatlapja: http://www.datasheetcatalog.org/datashe ... 323_DS.pdf
Bascomban HW-SPI buszon? Vagy tud ilyen projektről? Bármilyen help jól jönne!
:!:
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Adott az alábbi HW konfig:
AT45DB041 DATAFLASH, M128, HW-SPI
Az első utasítást végrehajtja és beolvassa a megfelelő adatot. (Lehet az bármelyik utasítás)
De nem megy tovább a következő utasításra, csak az előző adatot adja vissza folyamatosan! ???
Már többféle SPI beállítást kipróbáltam hiába!
Portb.4 -> CS, H -> L átmenetre indul az utasítás. L -> H átmenetre van vége.
A Program:

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

'M128DataFlash02.bas
'AT45DB041 DATAFLASH HW-SPI
'AVR-Stamp M128 F MMC
$regfile = "m128def.dat"                                    ' specify the used micro
$crystal = 11059200
$baud = 19200                                               ' USB use baud rate
'$baud1 = 19200                                              ' RS485 use baud rate
$hwstack = 64                                               ' default use 32 for the hardware stack
$swstack = 64                                               ' default use 10 for the SW stack
$framesize = 64                                             ' default use 40 for the frame space
'AT45DB041 DATAFLASH láb bekötése
'PORTB.4 - CS-   
'PORTB.1 - SCK
'PORTB.2 - MOSI
'PORTB.3 - MISO
'RESET - RESET-
'VCC - WP-

'$sim
'$include "AT45DB041_DATAFLASH.bas"                          'include file

'CONFIG SPI = HARD, INTERRUPT=ON|OFF, DATA ORDER = LSB|MSB , MASTER = YES|NO , POLARITY = HIGH|LOW , PHASE = 0|1, CLOCKRATE = 4|16|64|128 , NOSS=1|0 , SPIIN=value
'Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 64 , Noss = 1 , Spiin = 0
'                    Inerupt = ki      Adat irány -> Msb   Mester         SCK = H - L   Mintavétel=követö               SS = KI
' Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1       'No_SS



'                    Inerupt = ki      Adat irány -> Msb   Mester         SCK = H - L   Mintavétel=kezdö                  SS = KI
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 4 , Noss = 1 , Spiin = 0

Spiinit
Dim Parancs As Byte , Portb_0 As Byte
Dim Adat(6) As Byte
Dim S As String * 1

Config Portb.0 = Output
 Portb.0 = 1

Letöröltem, mert hibás volt!
Részletek pár Hsz-szel lejebb!
 :arrow:
A hozzászólást 2 alkalommal szerkesztették, utoljára kapu48 2009. augusztus 11. kedd, 20:33-kor.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

A könnyebb megértéshez itt 1:
Gyenge Web fordítás a CS működéséről :

CS-
Chip válogatott:
Kijelenteni a CS gombostűt kiválasztja az eszközt. Amikor a CS gombostű deasserted,, az eszközt törölni fogják és tegyenek a tartalék módba általában (nem Deep Power-Down mód), és az outputgombostű (SO) bent lesz egy nagyimpedanciájú állam.
Amikor az eszközt törlik, adatokat nem fognak elfogadni az inputgombostűn (SI).
Egy csúcsponttól mélypontig átmenet a CS gombostűtől megkövetelik, hogy indítson el egy operációt, és egy mélyponttól csúcspontig átmenet igénylik fejezz be egy operációt.
Mikor végződés egy belsőleg én-időzített operáció olyan programként vagy kitöröl ciklus, az eszköz nem fog belépni a tartalék módba amíg az operáció befejezése.
[/img]
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Úgy veszem észre Én, vagyok az úttörő, ebben a témában!
Pedig ezek a kisméretű DATAFLASH-ok belülről elég nagy tudásúak.
És könnyen beépíthetők. (Ezért válaszolok az előző kérdésemre.)
Kellett egy utasítás páros minden DF műveletindítás előtt:

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

Spi_cr = Spcr  ’Eltárolja az eredeti  SPCR-t
…..
Spcr = Spi_cr                                               ' Enable SPI  '
Portb.0 = 0                                                 'Enable DF-CS
Parancs = &HD7                                              'STATUS READ
Spiout Parancs , 1                                          'Write DF-parancs
….
Portb.0 = 1					'disable DF-CS
Spcr = &H00                                               'disable SPI
’És a végére.
Alakul a dolog! Még a memóriaírás – olvasáson kel dolgozni!
:)
Köszi! A minta jóól jönne! :D
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

AT45DB041B 4-megabit (0.5megabyte) 2.5-volt Only or 2.7-volt Only DataFlash – illesztése Mega128-hoz
Fontosabb Subrutinok és írás / olvasás teszt program.
Téves dokumentáció okozta kezdeti nehézségek ellenére, nagyon jól és gyorsan működik ez a kis Soic-8 memóriabővítő IC! Soros SPI illesztése miatt könnyen illeszthető az AVR procikhoz. És vannak ennél jóval nagyobb kapacitású testvérei is.
Mivel kevés alkalmazási példa található hozzá, felraktam a „File csere bere” oldalra
„AT45DB041_DATAFLASH.ZIP” címen,
amit összehoztam a témában.
Akit esetleg érdekel, elérheti!
:D :arrow:
Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00

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

Na és eagle libet nem csináltál hozzá véletlenül?
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

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

Nem volt rá szükségem, mert készen vettem a kártyát.
Van rajta M128, USB, FlashMem, MMC foglalat, 485 csatoló…
De ezt a kis 8lábút nem olyan nehéz odaragasztani valahova
Válasz küldése