Fórum témák

» Több friss téma
Fórum » AM29F010B flash ROM programozása
Lapozás: OK   1 / 4
(#) SD hozzászólása Feb 12, 2010 /
 
Üdv.
A AM29F010B flash ROM programozásáról szeretnék többet megtudni. Az adatlapját itt találjátok: Adatlap
Előre is kösz.
(#) Hp41C válasza SD hozzászólására (») Feb 13, 2010 / 4
 
Szia!

Ez a memória egy párhuzamosan (8 adatvonal, 17 címvonal és vezérlések) programozható eszköz. A kiolvasáshoz a 17 címbitet kell beállítani, a CE# és OE# vezérlő jeleket alacsony, a WE# jelet magas szintre kell állítani.

A parancsok és adatok beírásához a címet be kell állítani a Command Definitions táblázata alapján, az OE# jelet magas, CE# jelet alacsonyra kell állítani és a WE# jelet is alacsonyra kell állítani twp időre.

Ha egy bit már 0 értékre van programozva, nem lehet 1-re programozni, csak szektor vagy a teljes tartalom törlése után.

A parancsok és paramétereinek leírása az adatlap Command Definitions fejezetében olvasható.

A parancsokhoz a táblázatban megadott címre a szintén megadott értéket kell beírni. PA a programozandó adat címe, PD a beírandó adat, SA a szektor címe.

A parancsok végrehajtásának figyelésére több lehetőség is van
- A D7 vonalon a beprogramozandó bit negáltja olvasható ki, ha a művelet még nem ért véget,
- A D6 vonal minden kiolvasáskor váltja az értékét mindaddig, míg a művelet még nem ért véget (a cím bármi lehet),
- A D5 vonal a sikertelen végrehajtást 1 értékkel jelzi - törléshez a reset parancsot kell kiadni.
- A D3 vonal (sector erase timer)

Szia
(#) SD válasza Hp41C hozzászólására (») Feb 13, 2010 /
 
Köszönöm szépen a kimerítő válszt most már értem. Mindjárt ki is próbálom az írását egy PIC-el.
(#) ColT hozzászólása Feb 22, 2011 /
 
Hello!

Hülye kérdés. AM29F010 flash memóriát kellene kiolvasnom, és egy másik ugyanilyenbe átírni a tartalmat. Valaki tud flasher rajzot ehhez (már ha emberi alkatrészekből megépíthető), vagy ajánlani programozó áramkört?

Esetleg elvállalja-e valaki a programozást? Egyszeri alkalom lenne, nem feltétlen adnék ki pénzt egy flasherre, amit többet nem nagyon használnék...
(#) sucuka válasza ColT hozzászólására (») Márc 9, 2011 /
 
Szia!

Ha még nem megoldott az AT29F010 átmásolása, én meg tudodm oldani neked. Viszont nem tudom, hogy a távolság mennyire akadály, én Zamárdi vagyok.

Üdv!
(#) ColT válasza sucuka hozzászólására (») Márc 9, 2011 /
 
Már tárgytalan, de azért köszi
(#) mazso1988 hozzászólása Júl 30, 2011 /
 
Sziasztok
Érdeklődnék hogy van nekem egy rossz műholdvevőm, amibe azt mondták hogy a flash memóriája szált el.
Kérdésem az lenne hogy egy ugyanilyen de működő készülék flash tartalmát, kilehet valahogyan olvasni és egy másik ujj memóriába beletölteni?

Flash memória típusa:Spanison s29gl064a90tfir4
(#) don_peter hozzászólása Jan 23, 2016 /
 
Uraim, tud valaki segíteni AM29F800BB típusú flash memória kezelésében?
Adatlap: Bővebben: Link
PIC18-as családdal akarom írni, olvasni, és full törölni.
C18-ban írom a programot.
Az adatlap segítőkész nem is kicsit, de számomra kicsit így is bonyolult.
Aki jártasabb a témában az ossza meg tapasztalatait velem.
Köszi előre is..
(#) Hp41C válasza don_peter hozzászólására (») Jan 24, 2016 /
 
Ki lehet cserélni a panelon az EPROM -ot? Más rendszer olvassa vagy írja a PIC által kezelt EPROM -ot?
(#) don_peter válasza Hp41C hozzászólására (») Jan 24, 2016 /
 
Nincs még hozzá használható programom.
Most akarok írni egyet, ha összejönne.
A hardvert is én fejlesztem hozzá.
(#) Hp41C válasza don_peter hozzászólására (») Jan 24, 2016 / 1
 
Válaszolj a kérdésre... Más rendszer által beírt tartalmat kell kezelni vagy csak a PIC jegyzetel bele saját magának?

Ha csak magának jegyzetel, az adatvezetékek összecserélhetők.
A hozzászólás módosítva: Jan 24, 2016
(#) don_peter válasza Hp41C hozzászólására (») Jan 24, 2016 /
 
Egy más rendszer által fogadott játék ROM tartalmát kell majd beírnia a PIC-nek.
De nyilván elsőnek a PIC saját logjait kell menteni, tesztelésnek.

De a cél majd az lesz, hogy régi játékokat lehessen feltölteni a memóriába..
(#) benjami válasza don_peter hozzászólására (») Jan 24, 2016 /
 
Gondolom azért lett feltéve ez a kérdés, mert ha csak ebben a hardverban használod a memóriát, nyugodtan összekeverheted a cím vezetékeket egymással (meg az adatvezetékeket is).
(#) don_peter válasza benjami hozzászólására (») Jan 24, 2016 /
 
A memória nem lesz kibontva, csak ehhez a hardverhez lesz használva.
A cím vezérlése már megoldott és az adatok is.

Tehát a memória megfelelő lábaihoz eljut az adat vagy a cím.
Tehát a bekötése az megvan.

A program megírásában kérek segítséget.
Memória írása, olvasása és teljes törlése illetve van egy rész amivel a parancsokat kell beírni.
+ nem igazán (nem teljesen) értem a byte és word, RY/BY, byte mód-ok használatát sem.
A hozzászólás módosítva: Jan 24, 2016
(#) Hp41C válasza don_peter hozzászólására (») Jan 24, 2016 /
 
Idézet:
„Illetve nem igazán értem a byte és word mód-ok használatát sem ami ügye a D15/A-1-es lábat változtatja.”

Az adatlapból:
Idézet:
„Word/Byte Configuration
The BYTE# pin controls whether the device data I/O pins DQ15–DQ0 operate in the byte or word configuration. If the BYTE# pin is set at logic ‘1’, the device is in word configuration, DQ15–DQ0 are active and controlled by CE# and OE#. If the BYTE# pin is set at logic ‘0’, the device is in byte configuration, and only data I/O pins DQ0–DQ7 are active and controlled by CE# and OE#. The data I/O pins DQ8–DQ14 are tri-stated, and the DQ15 pin is used as an input for the LSB (A-1) address function.”
(#) don_peter válasza Hp41C hozzászólására (») Jan 24, 2016 /
 
Igen ezt elolvastam, ezzel nincs baj.
A megértése már más kérdés.
Annyit hámoztam ki, hogy:
Byte/Word mód:
Ezzel lehet állítani, hogy 8bit vagy 16bit-es adatokat akarunk kérni.
Az 8bit-es módban 8x1M blokkok vannak 16bit-es módban pedig 16x512K blokkok vannak.
Ez sem teljesen világos.
Talán a lényege, ha Byte módban van, akkor a címzés megmarad 19bit, de az adatok byte-onként tárolódnak és byte-onként lehet kinyerni.
Word módban meg gondolom marad 19bit a címzés, de az adatok 16byteben tárolódnak és úgy is lehet kinyerni.

Byte módban a D15-ös láb egyben valamilyen címzés A-1-es lábat is jelől ami nem tudom hogy mit jelent.
Valami olyasmit is ír, hogy az A-1-es az az adatok alsó (LSB) bitjeit jelölik.
Ezt sem pontosan értem, hogy micsoda és miért is kell ez nekem.
A hozzászólás módosítva: Jan 24, 2016
(#) benjami válasza don_peter hozzászólására (») Jan 24, 2016 /
 
Akkor máshogy fogalmazok: ha csak ebben lesz használva, akkor a programodban teljesen mindegy, hogy pl. a memóriacím kiírásakor a cím 0.bitjét ténylegesen a 0.címvezetékre írod-e ki vagy egy másikra. Ezért sokkal jobban lehetne optimalizálni a kódot hozzá.
(#) don_peter válasza benjami hozzászólására (») Jan 24, 2016 /
 
Fontos, hogy a 0címre a 0-ás adat kerüljön és ne mondjuk bármelyik más.
A hardver egy kártya is egyben amit egy másik rendszer olvas be és az már a lábkiosztásnak megfelelő adatokat várja.
De hát itt nem is a bekötéssel van gond, hanem azzal, hogy megírjam a programot ami a memóriába beír vagy törli azt.
Minden mással már nem kell foglalkozni mert elvileg készen van.

Csak a programokat kellene megírni a kezeléshez, abban meg tudom, hogy segít az adatlap, de nem egy nyelven vagyunk
No ebben kérem a segítségeteket..
(#) Hp41C válasza don_peter hozzászólására (») Jan 24, 2016 / 1
 
Idézet:
„Talán a lényege, ha Byte módban van, akkor a címzés megmarad 19bit, de az adatok byte-onként tárolódnak és byte-onként lehet kinyerni.
Word módban meg gondolom marad 19bit a címzés, de az adatok 16byteben tárolódnak és úgy is lehet kinyerni.”

Ugyan úgy tárolódnak az adatok a byte és a word módban. Nézd meg a szektor adatokat, mindkét szervezésben ugyan annyi bit -re vonatkoznak. A mátrix 2^19 *16 bit szervezésű. Word módban egszerre egy szó olvasható, a címzés a A18 .. A0 vonalakkal lehetséges. Byte módban az A18..A0 vonalakkal egy szót választasz ki, de egyszerre csak 8 bitet szeretnél kezelni. Az Input / output Buffer az A-1 vonal állapota szerint a alsó (A-1 vonal 0) vagy a felső (A-1 vonal 1) byte jut ki/be a D0..D7 lábakon.
(#) don_peter válasza Hp41C hozzászólására (») Jan 24, 2016 /
 
Tehát akkor mindenképpen 16bit-es lesz a cucc, csak a beírás és olvasási módja változik meg.

Byte módban:
Tehát ha A-1 vonalon 0 jel érkezik, akkor a 16bit adat ki/be alsó 1 byte-ja érkezik illetve olvasható a D0..D7-en, ha pedig A-1 vonalon 1-es érkezik, akkor a 16bit felső 1 byte-ja olvasható vagy írható a D0---D7-en.
Jól értem?

Hogyan tudom ezt leprogramozni?
Mármint ennek a beállítását?

Vagy is most látom hogy a BYTE láb 0 vagy 1-esre való állításával választom ki a módot.
Idézet:
„BYTE# = Selects 8-bit or 16-bit mode”
A hozzászólás módosítva: Jan 24, 2016
(#) usane válasza don_peter hozzászólására (») Jan 25, 2016 /
 
Bár nem szoftveres segítség, csak megjegyezném, nincsenek azok az adatlábak annyira összekutyulva. Minden második a sorban következő. 0-7-ig kihúzod egyenesen, 8-15-ig pedig visszafelé, alóla kifordítva, vagy pedig ferde vonal mentén vezeted át minden másodikat a hátára aztán a végén vissza a 7. lb után sorban. De ha már megvan a nyák akkor m indegy, nem szóltam semmit, csak segíteni akartam, hogy könyebb legyen a leprogramozni.
(#) don_peter válasza usane hozzászólására (») Jan 25, 2016 /
 
A nyák kivitelezése miatt kissé bonyolultabb mint ahogyan le lehet írni..
Minden memória lábat két irányba kell elvinnem ezért duplázza a vezetők számát és így az elhelyezése sem annyira egyszerű, de ezt megoldottam, szóval már csak a meómra kezelését kellene megoldani és király lenne ez a része..
(#) don_peter válasza Hp41C hozzászólására (») Jan 26, 2016 /
 
Hp41C fórumtársunk reakciójára várnék #1895043-as témakörben.
És ha a továbbiakban tudnál segíteni az nagy öröm lenne számomra.
Előre is köszi..
(#) Hp41C válasza don_peter hozzászólására (») Jan 26, 2016 /
 
Saját magad megválaszoltad a kérdésedet: Ha a BYTE# láb alacsony szinten van, akkor a D15..8 nem szolgál adatátvitelre, így a D15 lábat felhasználhatták a byte kiválasztó jel (A-1) bekötésére.
(#) don_peter válasza Hp41C hozzászólására (») Jan 26, 2016 /
 
Köszi, vártam a megerősítésedre, hogy biztos legyen, hogy jól értettem meg a dolgot.

A memória írásában olvasásában tudsz segítséget adni?
Illetve a pancsok és a reset funkciók megírásában?

Elkezdtem, de szerintem nem jó amit eddig írtam: (pl: parancsok beírása)
  1. // Word/Byte Configuration
  2. unsigned int MemCommand(unsigned int addr, unsigned int data){
  3.         // Cím
  4.         // CE alacsonyra
  5.         // OE magasra
  6.         // WE alacsonyra
  7.         // ADAT
  8.         // WE magasra
  9. }

Próbálom figyelembe venni a wave diagramokat, de nem biztos, hogy jól értelmezem őket.
(#) Hp41C válasza don_peter hozzászólására (») Jan 26, 2016 /
 
Csak Te tudod megírni. Sem a kapcsolás sem más adat nem ismert másoknak.
(#) don_peter válasza Hp41C hozzászólására (») Jan 26, 2016 /
 
Ezt nem értem..
A meómra írása olvasásának a programjának elkészítésében kérek segítséget.
Ennek nincs köze a kapcsoláshoz.
Minden láb oda van bekötve ahová kell, csak a rutint kell megírni amivel a memóriát tudom használni.
Memória adatlapja: Bővebben: Link
(#) Hp41C válasza don_peter hozzászólására (») Jan 26, 2016 /
 
[off]Én nem értem: Milyen rendszeren kellene olvasni, írni? Hoigyan csatlakozik a ROM a rendeszerhez?
A hozzászólás módosítva: Jan 26, 2016
(#) don_peter válasza Hp41C hozzászólására (») Jan 26, 2016 /
 
Ja értem, nem követted végig a dolgot..
Egy PIC 18F442-vel akarom programozni a memóriát.
C18-ba próbálom megírni hozzá a kezelő függvényeket, úgy mint egy SPI memóriához, csak ugye itt közvetlen címzés és adatátadás van.

Mind a cím lábak, mind pedig az adatlábak be lesznek vezetve a PIC lábaira.
Tehát minden memória lábat PIC-el vezérlek.
Ehhez kellene most egy vezérlő program amit egyelőre nem tudok elkezdeni mert az adatlap bezavart.
Elkezdtem kihámozni, ennek eredményét osztottam meg feljebb, de szerintem az hibás lesz.
(#) Hp41C válasza don_peter hozzászólására (») Jan 26, 2016 / 1
 
Read:
PIC adatvonalak bemenetre, address és vezérlő vonalak kimenetre állítása.
Vezérlés: RESET =1, WE = 1, CS = 1, OE = 1, BYTE# = 0.
Cím kiadása a cím vonalakra, A-1 = 0
Vezérlés: CS = 0, OE = 0
Várakozás - szerintem a program lépései megoldják.
Adat alsó byte beolvasása.
Vezérlés: A-1 =1
Várakozás - szerintem a program lépései megoldják.
Adat felső byte beolvasása.
Vezérlés: OE =1, (CS = 1, ha nem kell több adatot olvasni.)

Byte írása:
PIC adatvonalak bemenetre, address és vezérlő vonalak kimenetre állítása.
Vezérlés: RESET =1, WE = 1, CS = 1, OE = 1, BYTE# = 0.
PIC adatvonalak kimenetre állítása,
CS = 0,
AAA címre AA adat beírása,
555 címre 55 adar beírása,
AAA címre A0 adat beírása,
A kiválasztott címre a kívánt adat beírása,
CS = 1.

Beírás:
Cím beállítása,
Adat beállítása,
Várakozás - szerintem a program lépései megoldják.
WE = 0,
Várakozás,
WE = 1,
Várakozás - szerintem a program lépései megoldják.
return

stb...
Következő: »»   1 / 4
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem