Memória áramkör és annak illesztése, programozása
Memória áramkör és annak illesztése, programozása
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.
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.
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.
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.
- DavidMolnar
- Biztosítékgyilkos
- Hozzászólások: 50
- Csatlakozott: 2005. december 6. kedd, 7:00
- Masterfoxx
- DrótVégénSzéndarab
- Hozzászólások: 37
- Csatlakozott: 2006. január 4. szerda, 7:00
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 .
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 .
- Masterfoxx
- DrótVégénSzéndarab
- Hozzászólások: 37
- Csatlakozott: 2006. január 4. szerda, 7:00
Ez az eddigiekkel nem túlságosab függ össze, de ez a topic memóriákról szól:
----------------
Egy tipp:
Ha valahova olcsó(ingyé ) 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....
----------------
Egy tipp:
Ha valahova olcsó(ingyé ) 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....
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!
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!
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:
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.
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]
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]
Ú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:
Alakul a dolog! Még a memóriaírás – olvasáson kel dolgozni!
Köszi! A minta jóól jönne!
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.
Köszi! A minta jóól jönne!
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!
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!